diff --git a/Assets/CRTEffects.meta b/Assets/CRTEffects.meta new file mode 100644 index 000000000..8aaf379f0 --- /dev/null +++ b/Assets/CRTEffects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9dacdaf115722e49ac782c609f8d8ac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/README.md b/Assets/CRTEffects/README.md new file mode 100644 index 000000000..5667110e6 --- /dev/null +++ b/Assets/CRTEffects/README.md @@ -0,0 +1,19 @@ +# CRTEffects +post processing stack v2 にて使えるブラウン管風のエフェクトです。 + +## 使い方 +このファイルをAssetに追加し、Post Processing Stack Volumeで"Custom/CRT"を追加すると適応されます。 +Unity2019.1.1f1にて動作を確認しています。 + +## パラメータ +- Distort - レンズ歪みの強さ +- RGB Blend - 0だとRGBが完全に分離、1だと通常のRGB +- Bottom Collapse - 画面下部の映像が圧縮された部分の大きさ +- Noise Amount - 画面下部のノイズの量 + +## 参考にさせていただいたサイト樣 +[notargs.com "ブラウン管風シェーダーを作った"](http://wordpress.notargs.com/blog/blog/2016/01/09/unity3d%e3%83%96%e3%83%a9%e3%82%a6%e3%83%b3%e7%ae%a1%e9%a2%a8%e3%82%b7%e3%82%a7%e3%83%bc%e3%83%80%e3%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%9f/) + +[おもちゃラボ "シェーダで作るノイズ5種盛り"](http://nn-hokuson.hatenablog.com/entry/2017/01/27/195659#fBm%E3%83%8E%E3%82%A4%E3%82%BA) + +[LIGHT11 "Post Processingで自作のポストエフェクトを実装する"](http://light11.hatenadiary.com/entry/2019/03/31/225111#FXAA%E3%82%92%E4%BD%BF%E3%81%86%E5%A0%B4%E5%90%88%E3%81%AF%E6%9B%B8%E3%81%8D%E6%96%B9%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%99%E3%82%8B) diff --git a/Assets/CRTEffects/README.md.meta b/Assets/CRTEffects/README.md.meta new file mode 100644 index 000000000..cc7c53afd --- /dev/null +++ b/Assets/CRTEffects/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d7a1f7ab598644c748b17d0cfad3b4a8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Scripts.meta b/Assets/CRTEffects/Scripts.meta new file mode 100644 index 000000000..580038d0a --- /dev/null +++ b/Assets/CRTEffects/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d34496d654254aef8731c965c783f91 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Scripts/CRT.cs b/Assets/CRTEffects/Scripts/CRT.cs new file mode 100644 index 000000000..24ca5c40e --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRT.cs @@ -0,0 +1,28 @@ +using System; +using UnityEngine; +// UnityEngine.Rendering.PostProcessingをusing +using UnityEngine.Rendering.PostProcessing; + + +[Serializable] // 必ずSerializableアトリビュートを付ける +[PostProcess(typeof(CRTRenderer), PostProcessEvent.AfterStack, "Custom/CRT", true)] +public sealed class CRT : PostProcessEffectSettings +{ + [Range(0f, 1f)] + public FloatParameter distort = new FloatParameter { value = 0.0f }; + [Range(0f, 1f)] + public FloatParameter RGBBlend = new FloatParameter { value = 1f }; + [Range(0f, 1f)] + public FloatParameter BottomCollapse = new FloatParameter { value = 0f }; + [Range(0f, 1f)] + public FloatParameter NoiseAmount = new FloatParameter { value = 0f }; + + + /*// 有効化する条件はこうやって指定する(ちゃんとやっておいたほうがパフォーマンスにつながりそう) + public override bool IsEnabledAndSupported(PostProcessRenderContext context) + { + //Debug.Log(base.IsEnabledAndSupported(context)); + return base.IsEnabledAndSupported(context) || distort != 0; + //return true; + }*/ +} \ No newline at end of file diff --git a/Assets/CRTEffects/Scripts/CRT.cs.meta b/Assets/CRTEffects/Scripts/CRT.cs.meta new file mode 100644 index 000000000..2355571a9 --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRT.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 901667e98588d4b23a60fa932445374b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Scripts/CRTRenderer.cs b/Assets/CRTEffects/Scripts/CRTRenderer.cs new file mode 100644 index 000000000..725b07be1 --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRTRenderer.cs @@ -0,0 +1,34 @@ +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + +public sealed class CRTRenderer : PostProcessEffectRenderer +{ + // 初期化時の処理 + public override void Init() + { + base.Init(); + } + + public override void Render(PostProcessRenderContext context) + { + // 内部的にプールされているMaterialPropertyBlockが保存されているPropertySheetを取得 + var sheet = context.propertySheets.Get(Shader.Find("Hidden/Custom/CRT")); + + // MaterialPropertyBlockに対してプロパティをセット + sheet.properties.SetFloat("_Distort", settings.distort); + sheet.properties.SetFloat("_RGBBlend", settings.RGBBlend); + sheet.properties.SetFloat("_BottomCollapse", settings.BottomCollapse); + sheet.properties.SetFloat("_NoiseAmount", settings.NoiseAmount); + sheet.properties.SetFloat("_ScreenWidth", Screen.width); + sheet.properties.SetFloat("_ScreenHeight", Screen.height); + + // CommandBufferのBlitFullscreenTriangleを使って描画 + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + // 破棄時の処理 + public override void Release() + { + base.Release(); + } +} \ No newline at end of file diff --git a/Assets/CRTEffects/Scripts/CRTRenderer.cs.meta b/Assets/CRTEffects/Scripts/CRTRenderer.cs.meta new file mode 100644 index 000000000..5ed63c935 --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRTRenderer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: df42bae3b4fab496daaeb3d941474589 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Shader.meta b/Assets/CRTEffects/Shader.meta new file mode 100644 index 000000000..789fc926f --- /dev/null +++ b/Assets/CRTEffects/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df9d6013930104811a0868c4e68405ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Shader/CRTShader.shader b/Assets/CRTEffects/Shader/CRTShader.shader new file mode 100644 index 000000000..db83a2671 --- /dev/null +++ b/Assets/CRTEffects/Shader/CRTShader.shader @@ -0,0 +1,100 @@ +Shader "Hidden/Custom/CRT" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + const float PI = 3.14159265; + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "Packages/com.unity.postprocessing/PostProcessing/Shaders/StdLib.hlsl" + + float rand(float2 st) { + return frac(sin(dot(st.xy, float2(12.9898, 78.233))) * 43758.5453); + } + float2 random2(float2 st){ + st = float2( dot(st,float2(127.1,311.7)), + dot(st,float2(269.5,183.3)) ); + return -1.0 + 2.0*frac(sin(st)*43758.5453123); + } + float perlinNoise(float2 st) + { + float2 p = floor(st); + float2 f = frac(st); + float2 u = f*f*(3.0-2.0*f); + + float v00 = random2(p+float2(0,0)); + float v10 = random2(p+float2(1,0)); + float v01 = random2(p+float2(0,1)); + float v11 = random2(p+float2(1,1)); + + return lerp( lerp( dot( v00, f - float2(0,0) ), dot( v10, f - float2(1,0) ), u.x ), + lerp( dot( v01, f - float2(0,1) ), dot( v11, f - float2(1,1) ), u.x ), + u.y)+0.5f; + } + + TEXTURE2D_SAMPLER2D(_MainTex, sampler_MainTex); + + float _Distort; + float _ScreenWidth; + float _ScreenHeight; + float _RGBBlend; + float _BottomCollapse; + float _NoiseAmount; + + float4 Frag(VaryingsDefault i) : SV_Target + { + //レンズ歪み + float2 distcoord = i.texcoord; + distcoord -= 0.5; + distcoord /= 1 - length(distcoord) * _Distort; + distcoord += 0.5; + + //画面のズレ + float2 linecoord = distcoord; + //linecoord.x += (sin(_Time.r * 1.5 + linecoord.y * 0.7) > 0.9) * 0.05; + float linedistsin = sin(_Time.g + linecoord.y * 2 * PI); + float linedistwidth = 0.995; + linecoord.x += (linedistsin > linedistwidth) * (linedistsin - linedistwidth); + linecoord.x += (sin(_Time.a * 100 + linecoord.y * 10)) * 0.0005; + + //下部の圧縮された部分 + linecoord.x -= (linecoord.y < _BottomCollapse) * rand(float2(_Time.a,linecoord.y)) * 0.1; + linecoord.y = linecoord.y < _BottomCollapse ? linecoord.y * (1 / _BottomCollapse) : linecoord.y; + + //rgbずれ + float4 color; + color.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, linecoord + float2(0.002,0)).r ; + color.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, linecoord + float2(0,0)).g; + color.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, linecoord + float2(-0.002,0)).b; + + //下部のノイズ + float noisevalue = perlinNoise(linecoord * float2(5,500) + rand(_Time) + _Time.ba); + float noiseCrit = (1 - _NoiseAmount) + max(linecoord.y - _BottomCollapse, linecoord.y < _BottomCollapse) * 2; + color.r = (noisevalue > noiseCrit) ? rand(linecoord + float2(0,1)) : color.r; + color.g = (noisevalue > noiseCrit) ? rand(linecoord + float2(1,2)) : color.g; + color.b = (noisevalue > noiseCrit) ? rand(linecoord + float2(3,4)) : color.b; + + //rgb配列 + float rgbmod = fmod((i.texcoord.x) * _ScreenWidth, 3); + color.r *= max(rgbmod < 1, _RGBBlend); + color.g *= max(1 < rgbmod && rgbmod < 2, _RGBBlend); + color.b *= max(2 < rgbmod, _RGBBlend); + + rgbmod = fmod((i.texcoord.y) * _ScreenHeight, 4); + color.rgb *= rgbmod >= 1; + + //レンズ歪みの外側 + color.rgb *= 1 - (distcoord.x < 0 || distcoord.x > 1 || distcoord.y < 0 || distcoord.y > 1); + return color; + } + ENDHLSL + } + } +} \ No newline at end of file diff --git a/Assets/CRTEffects/Shader/CRTShader.shader.meta b/Assets/CRTEffects/Shader/CRTShader.shader.meta new file mode 100644 index 000000000..e810409d2 --- /dev/null +++ b/Assets/CRTEffects/Shader/CRTShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 23ffd5ce9efd848f79aac1e537568c42 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PostProcessingVFX/GameCameraProfile.asset b/Assets/PostProcessingVFX/GameCameraProfile.asset index 22b7f02b2..cdadab56f 100644 --- a/Assets/PostProcessingVFX/GameCameraProfile.asset +++ b/Assets/PostProcessingVFX/GameCameraProfile.asset @@ -1,5 +1,27 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6672723021951195849 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2116fb4751a1a3046a3bae7177ecc731, type: 3} + m_Name: GlitchScreenJump + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + ScreenJumpDirection: + overrideState: 0 + value: 1 + ScreenJumpIndensity: + overrideState: 1 + value: 0 --- !u!114 &-4362154923023080619 MonoBehaviour: m_ObjectHideFlags: 3 @@ -34,6 +56,31 @@ MonoBehaviour: scale: overrideState: 0 value: 1 +--- !u!114 &-3842561579889000714 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 824ef16946450f94186364308f3d1eaf, type: 3} + m_Name: GaussianBlur + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 1 + value: 0 + Iteration: + overrideState: 0 + value: 1 + RTDownScaling: + overrideState: 0 + value: 1 --- !u!114 &-3146643709030431664 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1345,6 +1392,34 @@ MonoBehaviour: - 0.5 - 0.5 - 0.5 +--- !u!114 &-2800641430439692943 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29f414c45c95c4c4fab1fba6f7db9a44, type: 3} + m_Name: GlitchScanLineJitter + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + JitterDirection: + overrideState: 0 + value: 0 + intervalType: + overrideState: 0 + value: 0 + frequency: + overrideState: 0 + value: 0 + JitterIndensity: + overrideState: 1 + value: 0 --- !u!114 &-2309378551457945779 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1415,6 +1490,31 @@ MonoBehaviour: opacity: overrideState: 0 value: 1 +--- !u!114 &-44530092333175149 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 292a5d75bad86324881ba9dbb87cb997, type: 3} + m_Name: GlitchAnalogNoise + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + NoiseSpeed: + overrideState: 1 + value: 0 + NoiseFading: + overrideState: 1 + value: 0 + LuminanceJitterThreshold: + overrideState: 1 + value: 0 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1434,6 +1534,40 @@ MonoBehaviour: - {fileID: -4362154923023080619} - {fileID: 2598374393394070623} - {fileID: -3146643709030431664} + - {fileID: 190338221448500764} + - {fileID: -2800641430439692943} + - {fileID: -3842561579889000714} + - {fileID: -44530092333175149} + - {fileID: -6672723021951195849} + - {fileID: 6617679330616591269} +--- !u!114 &190338221448500764 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 901667e98588d4b23a60fa932445374b, type: 3} + m_Name: CRT + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + distort: + overrideState: 1 + value: 0 + RGBBlend: + overrideState: 1 + value: 1 + BottomCollapse: + overrideState: 1 + value: 0 + NoiseAmount: + overrideState: 1 + value: 0 --- !u!114 &2598374393394070623 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1462,6 +1596,37 @@ MonoBehaviour: lumContrib: overrideState: 1 value: 0.8 +--- !u!114 &6617679330616591269 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: efbb636e5cc391347869277957d9c319, type: 3} + m_Name: EdgeDetectionSobelNeonV2 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + EdgeWidth: + overrideState: 1 + value: 0.05 + EdgeNeonFade: + overrideState: 1 + value: 0.1 + BackgroundFade: + overrideState: 1 + value: 1 + Brigtness: + overrideState: 1 + value: 0.2 + BackgroundColor: + overrideState: 0 + value: {r: 0, g: 0, b: 0, a: 1} --- !u!114 &8762005197904913450 MonoBehaviour: m_ObjectHideFlags: 3 diff --git a/Assets/Resources/Fonts/Kurokane.asset b/Assets/Resources/Fonts/Kurokane.asset index 2f5b0bfa4..f99496b0f 100644 --- a/Assets/Resources/Fonts/Kurokane.asset +++ b/Assets/Resources/Fonts/Kurokane.asset @@ -253,6 +253,10 @@ MonoBehaviour: m_LigatureGlyphID: 9451 - m_ComponentGlyphIDs: 320000004b000000 m_LigatureGlyphID: 9331 + - m_ComponentGlyphIDs: 270000002200000039000000 + m_LigatureGlyphID: 8279 + - m_ComponentGlyphIDs: 2b0000002a00000034000000 + m_LigatureGlyphID: 8280 m_GlyphPairAdjustmentRecords: - m_FirstAdjustmentRecord: m_GlyphIndex: 9 @@ -2744,6 +2748,276 @@ MonoBehaviour: m_XAdvance: 0 m_YAdvance: 0 m_FeatureLookupFlags: -1093390048 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 13 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 34 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 162 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 163 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 164 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 165 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 166 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 167 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 13 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 34 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 162 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 163 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 164 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 165 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 166 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 167 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 diff --git a/Assets/Resources/Fonts/Rodin DB.asset b/Assets/Resources/Fonts/Rodin DB.asset index 30312ff5f..9434bf75d 100644 --- a/Assets/Resources/Fonts/Rodin DB.asset +++ b/Assets/Resources/Fonts/Rodin DB.asset @@ -1656,6 +1656,21 @@ MonoBehaviour: m_Scale: 1 m_AtlasIndex: 0 m_ClassDefinitionType: 0 + - m_Index: 634 + m_Metrics: + m_Width: 37.671875 + m_Height: 36.578125 + m_HorizontalBearingX: 9.984375 + m_HorizontalBearingY: 26.59375 + m_HorizontalAdvance: 135 + m_GlyphRect: + m_X: 412 + m_Y: 648 + m_Width: 39 + m_Height: 37 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 m_CharacterTable: - m_ElementType: 1 m_Unicode: 32 @@ -2057,6 +2072,10 @@ MonoBehaviour: m_Unicode: 10 m_GlyphIndex: 1 m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 12289 + m_GlyphIndex: 634 + m_Scale: 1 m_AtlasTextures: - {fileID: 3307759631967023827} m_AtlasTextureIndex: 0 @@ -2460,6 +2479,10 @@ MonoBehaviour: m_Y: 849 m_Width: 50 m_Height: 129 + - m_X: 402 + m_Y: 638 + m_Width: 58 + m_Height: 56 m_FreeGlyphRects: - m_X: 55 m_Y: 918 @@ -2573,10 +2596,6 @@ MonoBehaviour: m_Y: 513 m_Width: 12 m_Height: 66 - - m_X: 402 - m_Y: 638 - m_Width: 60 - m_Height: 68 - m_X: 459 m_Y: 379 m_Width: 40 @@ -2745,6 +2764,14 @@ MonoBehaviour: m_Y: 905 m_Width: 120 m_Height: 118 + - m_X: 402 + m_Y: 694 + m_Width: 60 + m_Height: 12 + - m_X: 460 + m_Y: 638 + m_Width: 2 + m_Height: 68 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -2850,7 +2877,7 @@ Texture2D: m_ColorSpace: 0 m_PlatformBlob: image data: 1048576 - _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020304000004060706050300000404040201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0c0c0b0a0a09080707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0b0c0c0b0b0a0908060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d080300000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313121111100f0d0c0a080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a1313131313131313131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1111131313131313131313131313131312120f0c0802000000000000000000000004080a0a13131313131313131313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d101213131313131313131313131313131311100e0b0600000000000000000000000005080a0b1313131313131313131313131313130e0d0b070300000000000000000000000005090d0f1013131313131313131313131313130a09070300000000000000000000000002060a0c0c131313131313131313131313131310100d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f1215151c1514120e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608090b0d0e1011070c10121313120f0b061111100f0e0c0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708060b0f12131516161718181818171616151413110d080907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070d10131415151617181818181717161513120f0b060706040100000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1d19140e0700000000000000000000000000000000000000000000000000000000000000000000030b11161a1c1d202020202020202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020201f1f1e1e1d1c1a18161513120f0b06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020202020202020202020202020171714110c05000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020201f1e1c18130d060000000000000000050b101416172020202020202020202020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f20202020202020202020202020201e1d1a16110b040000000000000000060c111517182020202020202020202020202020201a1917130e08010000000000000000020a1015191c1c2020202020202020202020202020161613100b04000000000000000000070d1216181920202020202020202020202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222821201e1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b0f12131516181a1b1d1e1e181c1f20201f1b171e1e1e1d1c1b191816151413110d0708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e11141418171c1f2021232324242525252423222221201d1918161313100c07050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e12141517181d2020212223242425252524242321201f1c17161413100d0705020000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f1911080000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a2a2927252321201f1b171312100c06040000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e1810070000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2927221c160e050000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120b02000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f07000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820262b2e2f352e2d2a251f170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d111314171b1f2021232526282a2a2b23282c2d2d2b27222b2b2a2a29272625232220201d18171414110e0907050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d111314191e20212422282b2d2e2f30313132323131302f2e2d2c29242522201f1c1814110e090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1e20212424292c2d2e2f3030313232313130302e2d2b28222320201d1814110e09030000000000000000000000000000000000000000000000000000000000000000020b151d252c3134353939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a1107000000000000000000000000000000000000000000000000000000000000030d171f272d3236373939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000008111a22282d30313939393939393939393939393939393939393939393939393939393939393939393939393938383736353432302e2d2b2722201f1c1713100c0703000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000040e1820282e33363839393939393939393939393939393937343029221910060000000008111a22282d30313939393939393939393939393939392f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a232a3135383939393939393939393939393939393736332e2720170e040000000009121a22282d30313939393939393939393939393939393433302b241d140b0100000000020c161e262d3235363939393939393939393939393939302f2c272119110700000000000a131c232a2e323339393939393939393939393939393735322d271f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000091119222a31373a3c423b3a3630292117110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1214191d202122272b2d2e303133353637382e34383a3937332d3837373735343331302f2d2c29242421201e1a1514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b1013191d2021252a2d2e312d3338393b3c3d3d3e3f3f3e3d3d3c3b3a393530312f2d2c2823201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f20252a2d2e302f35393a3b3c3c3d3e3f3f3e3e3d3c3b3938332d302d2c2924201e1a14100c0600000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e0300000000000000000000000000000000000000000000000000000000000b151f2931383e424446464646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464544444342403f3d3b3937332d2d2c28231f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646464646464646464646464646463e3d39332c241a1005000000000000000000000000000000000000000000000000000000000000000b16202a32393f434446464646464646464646464646464544403b342b22180d02000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19232c353c414546464646464646464646464646464644433f39322920160b00000006101a242c34393d3e464646464646464646464646464646413f3c362e261d1208000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f0400000007111c252e353a3e3f464646464646464646464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000006121b232b343c4347484f4846423b3328221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151a1f2124292c2d2d3337393b3c3e40414344444540444646443f454544444342413f3e3d3b3a39352f302e2d2a2521211e1a15130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f24292c2d30363a3b3e403f44464849494a4b4b4b4b4a494948474541413e3c3a38342e2d2a25211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1c22282b2d30363a3b3d404045474848494a4b4b4b4b4a4a494846443f403d3a39352f2d2a251f1c17110c06000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e352a1f14080000000000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535352525151504f4d4b494846443f3c3a38342e2c29241f1b17110b060000000000000000000000000000000000000000000000000000000000000000000b17222c353e44494a5353535353535353535353535353534a49453e362c22170c00000000000000000000000000000000000000000000000000000000000006121d28323c444b4f51535353535353535353535353535352504c463d34291e130800000b17222c353e44494a5353535353535353535353535353534947433d342b20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353514f4a433b32271c110600000c17222c363e45494b5353535353535353535353535353534d4c4740382e24190e03000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000020d18232e373f464b4c5353535353535353535353535353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000000000000000000000000020a1117242d353d464e53555b54524d453d332d261d170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f151a1f21262b2e2f35393a3d3f444648494b4d4e505151524a515353504952515151504f4e4c4b4948474540403d3b3a36302e2d2a25221f1b15110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d13191c23282b2f35393a3e4246474b4d4a505354565657575858585756555554524c4d4b494645403b3a36302d2a261f1b150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c21272c2d3338393c4246484a4c4b515354555657575858585757565453504a4d494745403b3a36302c28231c17110a03000000000000000000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463c3125190d000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d6060606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5d5d5c5a5856545350494946443f3a38352f2b27221b17110b0600000000000000000000000000000000000000000000000000000000000004101c28333e47505557606060606060606060606060606060575550483e33281d110500000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e60606060606060606060606060605f5d574f463b3024180c0004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925313c4650585d5f60606060606060606060606060605d5b554d43392e22160b0005111d28343e485055576060606060606060606060606060605a58524a40362b1f130700000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030006121e2a353f4951575960606060606060606060606060605d5b554c43382d22160a00000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227363f474f585f6268615e574f443f382f292017110a0200000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f262b2e31373a3b4145474a495053545658595b5d5d5e5e5f5c60605b5f5e5e5e5d5d5c5a5958565553514b4d4a4746423f3b3a36312e2b26201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191e25292e34383a4145474b4d5254575a545b60616263646465656464636261605d565a585553514b4746423b3a36312b26201b160e09030000000000000000000000000000000000000000000000000000000000000000000000000002090e161b21272c3238383f4446494d52545759555d60616263636465656464636361605b54595653514b4746423b38342e28231c150c080200000000000000000000000000000000000000000000000c1824313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d10000000000000000000000000000000000000000000000000000000010e1a26323e4a555f666a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a696867656361605b535653504a4745403937332d28221c17110a02000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000a16222e3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665e554a3e32261a0d000000000000000000000000000000000000000000000000000000000000000000000000030b141d262d3340485059606a6f756e696059504a423a3227221b140b0400000000000000000000000000000000000000000000000000000000000000000000060b13181c22282b31373a3c4347484c525456535b606163646668696a6b6b6c666d6c656c6b6b6a6a6a686766646362605d55595754524d4c4846423c3b37322d2a251e1b15100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e252a3035383f44464c515457565e61646768666c6e6f70707172727170706f6e6d6869676462605c5454524d4846423b37322c27211a150b060000000000000000000000000000000000000000000000000000000000000000000000050d141a21272c33383d43484a505356575e61636668676d6e6f6f707172727171706f6e6c66696663605d5554524d46443f38342e261e19130c04000000000000000000000000000000000000000000000e1b2734404d59656f75797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5d5145382b1f1200000000000000000000000000000000000000000000000000000003101c2936424f5b667177797979797979797979797979797979766c5f5346392d201306000000000000000000000000000000000000000000000000000000000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797978777776757372706e6c656662605c5453514b46443f38332d28221c140b070100000000000000000000000000000000000000000000000000000a1623303c4955616c70797979797979797979797979797979716c6155493d3023170a0000000000000000000000000000000000000000000000000000000004111d2a36434f5c67727779797979797979797979797979797873695d5044372b1e12000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845515d6a747979797979797979797979797979797771675b4f4336291d10000a1724303d4955616c71797979797979797979797979797979746e64584c3f3326190d00020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f221609000c1825323e4b57636d7279797979797979797979797979797671665b4e4235291c100000000000000000000000000000000000000000000000000000000000000000000000030c151d262f383f44525a626b707c827b706b605b544c443d332d261d160d0400000000000000000000000000000000000000000000000000000000000000020a11171d24292d33383c4347484e5355565d606366656c6e6f71737476777778787979797978787877777675747271706e6d67696663615e575854534d4947433c3936302b26201c160f09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151d242930363a41464a5053555d606467696e71737577797b7c7c7d7e7e7e7e7d7c7c7b7a787674716f6d6665615e5655534d47433c38322b261f17110a020000000000000000000000000000000000000000000000000000000000000000070f171f252a32383d44484f54545b606367696e707375777a7b7b7c7d7e7e7e7e7d7d7c7b79777573706d6765615e5753504a443f383029241e160e080000000000000000000000000000000000000000000f1b2835424e5b687581868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783868686868686868686868686868686796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686858584848382807e7c7b7976726f6d6664605d55535049443f38332d261d18130c04000000000000000000000000000000000000000000000000000a1724313d4a5764707d8686868686868686868686868686867e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784868686868686868686868686868685786c5f5245392c1f12000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868686868686868686868686868683776a5d5144372a1e11000b1824313e4b5764717e8686868686868686868686868686868074675a4d4134271a0e0003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a000c1926333f4c5966727f868686868686868686868686868683766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000020b151e262f384149505c636c717d858e857d736c665e564f443f382f2820160c010000000000000000000000000000000000000000000000000000000002080b141c22282f35383f44464e5355585f6266686d707376797b7c7e808183848485858686868685858484848382817f7e7c7b7a787573706e696965615e5755544e4746413b37322c28211a150d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191f272f353a41464c52545c6063676d7174777b7e808284868789898a8a8b8b8b8a898888878583807e7c7976726e6965615f57534e48433d373128231c140c060000000000000000000000000000000000000000000000000000000000030b1218212930363d43484f54596063666c6f74787b7d7f8284868788898a8a8b8b8b8a8a8987868482807d7a76726e6964605c54504a423e353028201a110600000000000000000000000000000000000000000e1b2835414e5b6874818e9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909393939393939393939393939386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393939393939393939393939393939393939393939393939892929190908f8d8b898785827f7c7975716d6763605b53504a443f382f29241d160d060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393938a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919393939393939393939393939285786c5f5245392c1f12000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929393939393939393939393939084776a5d5144372a1e11000b1824313e4b5764717e8a939393939393939393939393938d8074675a4d4134271a0e0003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a000c1926333f4c5966727f8c9393939393939393939393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000a141d263038424a535b606e737e879297928780786d6860595049413a32281e1308000000000000000000000000000000000000000000000000000000050d13191d262d333a40454a5053585f62666a6e73777a7d7f828587898b8c8e9090919192929999929291919190908f8d8c8b8988868582807d7b7875726e6966625f5854524c47433c38332b262018130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429313940454c52565e61666d70757a7e8184878a8d8f919298959697979898979796959497928f8d8b8886827f7b76726e69625f58544f47423c342e261e181009000000000000000000000000000000000000000000000000000000050c151d2328333b42464f545960636b6f74787c8084878a8c8f91939a959696979898979796969992918f8c8986837f7b76716d66605c545046413a322c2317110a020000000000000000000000000000000000000e1b2834414e5b6774818e9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa29f9e9e9d9c9b9a989698928f8c8985827e79746f6c65605b54504a423d352f281f17110a02000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000006111c262f38424a545b656c74808b9299a199938c827a6f6b605b534c443a2f24190d0100000000000000000000000000000000000000000000000000070e171e252a2f383f444b51545b60646a6f73777b7f8386898c8f92979697999b9c9d9e9e9f9fa3a39f9f9e9e9d9d9d9b9a9997969597918f8c8a8785827f7b77736f6a66615e56534e48443e373129241d160d0701000000000000000000000000000000000000000000000000000000000000000000000000000006101820282f353d434b51565e61686d73797d81868a8e9196979a9b9d9fa3aaa3a3a4a5a5a4a3a3a2a9a19e9c9a9799928f8b87837f7b756f6a636059534d443f38302a221b120600000000000000000000000000000000000000000000000000050e171e272e343e454d525960636b70767c8084898d919696999b9e9fa4aca2a3a4a5a5a4a4a3aba39f9d9c999992908c87827e78716d66615a524c443e3527221b140b0200000000000000000000000000000000000e1b2734414e5a6774818d9aa7acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb4aeacabaaaaa9a8a6a5aaa29f9c9998928f8a85817c78716c66605b544f45403a3127221b140b040000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacaca4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaacacacacacacacacab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4acacacacacacacacaca79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a000c1926333f4c5966727f8c99a5acacacacacacacaca99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000a1317222d38424a545c666c77808c929fa3aba49f948f847d726c655d564c4135291d11040000000000000000000000000000000000000000000000030b1218202930363d424a50555d60666c70767b8084888c909399999c9fa2a9a4a6a7a9aaaaababacafaeacabababaaaaa9a8a7a5a4a3a9a19e9c999697918f8b8783807c78736e68625f58554f47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000020a1117222a323a41454f555d60686d737a8085898e92989a9ea0a8a6a8aaacaeb4afb0b1b1b1b1b0afafb3adaba9a7aba39f9c9a93908c87817c756f6b625f57504a423c342d2417110a0300000000000000000000000000000000000000000000050e172029303940454f575e616b6f767d83898d91969a9ea1a9a6a8aaacafb6afb0b1b1b1b1b0b0b4aeacaaa8aba39f9d99938f8b847e78706c615d564f473f332d261d140b02000000000000000000000000000000000e1b2734414e5a6774808d9aa7b4b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b9b9b9b9b9b9b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bfbab8b8b7b7b6b5b3b1b4aeaca9aaa29f9c98928e89837e78716c666059514b433d332d261d160d0500000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7b9b9b9b9b9b9b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b9b9b9b9b9b9b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2b9b9b9b9b9b9b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000008121c2528333f4a545c666d78818d929ca4afb5afa69f9691877f776d685d5245392c20130700000000000000000000000000000000000000000000050c151d2328323a41464f545b60676d72787d82888c9195999d9fa4aba9abadb3b1b3b4b6b7b7b8b8b9bbbab9b8b8b7b7b7b6b5b4b2b1afb2adaba8a6a9a19e9c9895908c8884807a746f6a636159534e45403a3129241d150d06000000000000000000000000000000000000000000000000000000000000000000020b141b2227343c444c525960676d737a80868c91979b9fa2aaaaacb2b3b5b7b9babfbcbdbdbebebebdbcbbbeb9b8b6b3b5aeacaca49f9d99938e88827c766e69605c544e463f3628231c150c040000000000000000000000000000000000000000050e172029333b424b515961696e757c828990959a9ea1a9abadb2b2b5b7b9bbc0bcbdbdbebebebdbdbfbab9b7b5b5afacaba49f9c96918b847d756d68615951443f382f261d140a000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c6c6c6c6c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d0cac6c5c5c4c3c3c2c0bebfbab8b5b4aeacaaa29f9a95908a837e786f6b605d554f443f382f281f170f06000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c6c6c6c6c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c6c6c6c6c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfc6c6c6c6c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000007101a242d373f44505b666d78818e939da4aebbc0bbb0a9a199928c827a6d6054473a2d211407000000000000000000000000000000000000000000060f171e272e343d444c525960666c71797f848a8f94999da0a7aaacafb5b5b8bab9b8b5b4b2b0afaeaeadacadadaeaeafafb0b1b3b4b6b7b9bbb9b8b5b3b3adaba8a7a09d9996918c86817c76706b625f58514b433e352f271f180f0800000000000000000000000000000000000000000000000000000000000000020b141d262d333e464e565d606b707980868d92989ea1a9acaeb4b7b8bdc0c2c4c5c7cbd1cacacbcbcacac9cfcac6c5c2c0bfbbb9b6afacaba49f9b948f89827b726d665f58504840342e261e160d04000000000000000000000000000000000000050e172029323b454d545c606b707b82898f949d9fa7abadb2b8b9bdbfc2c4c6c8ccd2c9cacbcbcacad1cbc7c5c4c2c0bbb9b5afaca8a09e96918a817a706b625b504941382f261b11060000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2dbd6d3d2d1d1d0cfcecdd0cac6c5c2bfbab8b3aeaba7a09d95918a837c746d6761595049413a312921180f060000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d2d2d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad2d2d2cdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd2d2d0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000050e18222c363f49525c606c78818e939da5aeb6bfcbc0b7afa69e9490837a6e6154473b2e2114080000000000000000000000000000000000000000070f182129303940454f565e616b70787e858b91969c9fa6aaacb1b6b9bbb8b7b3b2adaba9a7a5a3a2a1a1a0a0a0a0a1a1a2a2a3a4a6a7a9abacafb5b4b7b9bbb9b8b5b1acaaa8a19e99928e88827d766e6a605d55504540393129211a110a0100000000000000000000000000000000000000000000000000000000020b141d262f383f4450585f686d747d848d92989fa2aaadb3b8babfc4c5c8ceced0d2d3d7dcd6d7d8d8d7d6d6dad6d2d1cfd1cbc7c5c0bbb9b5afaca69e9c948f867f786f6a625a52443f3830281f160b0200000000000000000000000000000000030c162029323b444d575e666d747d858f949c9fa6abb1b8b9bdc4c5c9cfced1d2d0cecccbcac9c9cacaccced0d2d0d1cbc7c5c0bbb9b2aca8a09e938e857d726d605b534941382d2217120800000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dfdfdfdfe6ded8d3d0cfcececececececececececececececececececececececececececececececececececececececececececececececececec5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacacbcdcfd1d2d4d7d6d3d2d0cac6c5bebab8b1aca7a09d9590878079706b605b534b433b332921180f0500000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7dfdacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000030c17202a343e48515b636e74808e939ea5afb7c0c8c0b6aea59d948f827a6e685e5246392d20140700000000000000000000000000000000000000081019222a333b424b515960686d757d838b91979ea0a8abb0b7b8bcb8b7b1acaaa7a9a19e9c9a989795959493939394949595969697999b9c9e9fa4aba7aaacafb5b6b8bcb8b7b2adaba39f9b948f8a827c736d67615a514b433b332c231c130b020000000000000000000000000000000000000000000000000000000a141d262f384149505a616a6f7a818991969fa2aaaeb4b9bec4c7cad0d2d4d9dbdcd7d4d2d1cfcdcdcccccdcdcecfd2d3d6dbd7d3d2ccc8c6c0bbb9b0aaa69f98928c837c716c635c504a423931281d140a000000000000000000000000000000000b151e28323a444d565e696e78808a92979ea6abb0b8bcc2c5c9cfd2d2d1cbc7c5c3c1bfbebdbdbdbdbebfc1c3c6c7ccd2d3d2ccc7c4bdb9b2aca59e9791877f736c655b53493f3327241a0e05000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e5ecf0e6ddd4cdc7c4c3c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbebec0c2c4c6c7ccd2d2d4d7d6d3d0cac6c3bcb8b1aca7a099938d847d736c655d554d453b332921170f05000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000b151e29323c46505a636d73808d929da5afb7c0c9c0b6aea49d938e82796d685e564c41362a1e110500000000000000000000000000000000000008111a222b343c454d545c606b707a818990959ea1a9acb2b7bbbab9b1acaaa7a09d9a9796918f8d8c8a8888878786868787888889898b8c8e90919399979a9d9fa4abaaacb1b6b8bcb9b4aeaca69f9c948f878079716c605d554d453e352e251d140b020000000000000000000000000000000000000000000000000006111b262f384149535b606c717c848e939ea0a8aeb4babfc5c9cfd3d6dbdcd6d3d2d1cbc7c5c4c2c1c0bfbfc0c1c2c3c5c6cad0d1d2d5d8d4d2ccc7c1bbb7b0aaa29f9590867e736e605c544b43392f261c1106000000000000000000000000000007121d27303a444c565e686e7b838d929ea1a9b0b7bbc2c7cdd2d3cec9c5c4c0bbb9b7b4b2b2b1b0b0b0b1b2b4b6b9bbc0c5c7cbd1d4cec9c4bdb9afa9a199938b80776c655b50443f362c20170d020000000000000000000000000b1824313e4b5764717e8a97a4b1bdd0dce7f3e9ded4cbc2bcb7b6b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafb0b0b1b2b3b5b7b9bbc0c3c6c7ccd2d4d9d6d3cec8c3bcb8b1aba49f9691887f776d675e574d453b332921170d040000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000007121c27303b444e58616c727f8c929ca5afb7c1c9c1b7aea49d928d81786d675d564c443b3025190e02000000000000000000000000000000000007111a232c343d464e575e666d737d858e939da0a7adb3b9bdb9b4aeaca7a09d9995918d8a878582817f7d7c7b7b7a797a7a7b7b7c7c7d7e8081838486888b8d909399999da0a7aaabb1b8b9bab9b0aba69f99928d847e756d675f574f4740372e261d140b020000000000000000000000000000000000000000000000081217222d384149535b656c737e8691969da5acb2babfc6cad0d5dae0d8d3d0cbc7c5c2c0bbb9b7b5b4b3b3b2b3b4b5b6b8babec0c4c5c9cfd2d6d7d4ccc7c2bcb4aea79f99928b80746d665d554b42382d22171107000000000000000000000000040d18232e39424c565e686e7a8490959da4adb3bbc1c7cdd4d1cbc7c4bdb9b7b5afacaaa7a6a5a4a3a3a4a4a6a8aaacafb5b9babfc6cacfd5cec9c1bbb3aba49f928d81776c605b51483e32291f14090000000000000000000000000a1723303d4a5663707d8996aab4bfcbd6e3efe4d8cdc2b9b0aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a4a4a5a7a8aaacafb5b6b9bbc0c7c8ced3d8d9d4cec8c3bdb5afa8a19a938c81796e695f574d453b332920160b0200000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000050e18232e39424c565f6a717e88939fa4aeb7c0c9c2b8afa59d928d80776d665d554c433b32291e14080000000000000000000000000000000000061019232c353e474f585f696e78808891979ea5acb1b9bebbb3adaaa39f9b95908c8884807e7b78767472706f6e6e6d6d6d6d6e6e6f6f707173747678797b7e818486898c9095999d9fa7abadb3b8bbb7b0aba39f96918a81796e696159514940382e261d140b02000000000000000000000000000000000000000000060f1a2427333f49535b656c77808a9298a1a8afb9bdc4cad0d6dbded7d3cdc7c6bfbab8b5b5afacaaa8a7a6a6a6a6a7a8a9abaeb3b4b7b9bdc4c6cacfd5d7d3cec6bfbab1aba39f928c81786d675d544a3f332823190d0300000000000000000000010c16202834404b545e686d7a839196a0a7aeb9bec5cdd3d2ccc7c0bbb9b2acababa39f9d9b99989796969797999b9d9fa4abacaeb4babec5ccd2d5cdc4bdb5afa49d938d80746d625a50443b3025190e0500000000000000000000000815222e3b4855616e7b8898a3aebac7d3e0ece0d3c7bcb0a69f9c9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b98969696969696969696969696969696969696969797989a9c9e9fa4abaaacafb5b8bdc3c7ccd3d8d9d4d0c7c0bbb2aca49f938f837b6e695f574d453b32281d140a00000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000020d17202834404a545e686f7c86929aa4afb6c0c9c3b9b0a69e938d80736c655c544b433a312920170d0200000000000000000000000000000000050f18222b353e474f59606a6e7b838d939aa1a9afb8bcbdb5aea9a29e98928e88847f7b7774716e696967656462626160606061616262636364666869666d6e7174777a7c7f83888c9095999ea1a9acb2b7bdb5aea8a19e938e837b706b635b524a40382e261d140b0000000000000000000000000000000000000000040d18212c363e44505b656c77818c929fa2aab2bac0c9ced6dbdfd8d4ccc7c2bcb7b4aeaca9aba39f9e9c9a9a99999a9a9b9c9fa2aaa7abadb2b8b9bec5c9cfd5d8d0cac2bdb4aea49c938e82796d665b50443f352b1f150b0100000000000000000008131e28323a45515c666d7a839095a0a8b1b9c0cacfd5d0c7c0bbb5afaca8a19e999992908e8c8b8a8a8a8a8b8c8e9093999b9fa3aaadb3bbc0c7d0d6d0c7c0bbaea59d928c7f726c61564d42362a20170d02000000000000000000000613202d394653606c7885929facb8c5d2dfebddd0c4b7ab9f94908e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e86796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c5c5c5c5c5b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b898989898989898989898989898989898989898a8b8b8d8f919399999d9fa4abacb2b7bbc2c7cdd6dbd9d2ccc4beb6afa59e9590847b6e695e574d443a2f261c1106000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c5c5c5c5c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000008141e29323b44515c666e7a849198a2acb6c0c8c4bbb1a79f948e81776c605b534a423931281f170e0500000000000000000000000000000000040d17212a343d474f59616b6f7c8490959fa4acb3bbbebab0aba39f97928c86817c77736e6a6764615e575a595755555454535354545555565658595b545c60626467676d7073777b7f83888c92979da0a8abb0b9bbb2ada59e9590857d736d645c524a40382e261d0e05000000000000000000000000000000000000010c161f2a333e48525c606c77808d939ca4aeb4bcc4ccd5d9e0dbd6cdc8c1bbb7b0abaaa39f9c999992918f8e8d8c8c8d8e8f909298979a9ea1a8abadb3b9bec4c9cfd7d6cfc6bfbaaea59d948f81786c605a50473d31271d12070000000000000000010d19242f3a444f59606d78839095a0a7b1bac3cbd6d7cbc3beb6afaba39f9a96918d898684817f7f7e7d7d7d7e7f8183868a8e92989fa2a9afb5bdc4cdd4d2ccc0b7aea49f93887e70695e52463f32291f14090000000000000000000006121f2b3844505b667784909daab7c3d0dde9dccfc3b6a99c90828181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818174685b4e4135281b0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b8b8b8b8b8b8b8ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f80828486898d9093999ea0a8abb0b7bcc2cad0d7ddd7d0c7c0bbafa7a09691847b6e695e564c42382d22170e050000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b8b8b8b8b8b8b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000050e1925303b444f59606d78839096a1aab4bec7c5bcb2a9a0959082796d655b5049413830271f160d0500000000000000000000000000000000010c161f29333c464f59616c707d859196a0a7afb6bebcb3aea69e99928d85807a746f6a66625f585754534d4e4c4a49484847464747484849494a4b4d4e4b51535558555d606366696e72777b80858b91969c9fa6adb2bbb9afa7a09792887f746e645c524a40382e20170d02000000000000000000000000000000000007131d28313c46505a636e74808d929da5aebabfc6ced6dee0d8d0cac2bcb8b0aaa69f9c98928f8c898684828180807f8081828385888b8d91969a9ea2a9adb2b9bec5cdd6d8d1cbbfb7afa69e938d80736c62594f43392f24180c030000000000000004111d2935414c56606b73808d959fa7b1b9c3ccd5d1cbc0b9b1aca49f99928e8984807c7a7774737271707071717375777a7d81868c92979fa4abb3bbc3cbd4d7c9c0bbafa49a92857b6e615b51443b3025190e03000000000000000000030f1c28333f4a546875818e9ba8b4c1d0dbe6d8ccbfb2a5998c7f757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575746f64594c4033271a0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f707171727475777a7d8083878c91969c9fa6abb1babec5ced4dcd9d2ccc1b9b1a8a19691847b6e685d544a3f332820170d0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000020c17202a36414c56606b73808d959fa8b2bcc6cabfb4aaa19791837a6d675c53493f382f261e150d04000000000000000000000000000000000008131e28313b454e58606b707e869297a1a8b1bbc0b9b0aaa29f948f86807a736e68625f5855534e4b484642413f3d3c3b3b3a3a3a3a3b3b3c3c3d3e4041404546484b4b515456575f6166696e73797e848a90949ea1a9aeb5b9b1a9a29a938c80746e645c524a4032291e130800000000000000000000000000000000030d18242f3a434e58616c73808c929da4aeb7bfcad0d8e0ded5cec6bfbab1aba69e9c94908b86827f7c7977757473737373747576797b7e8184898d92979ea1a9adb3bbc1cad0d7d7c9c1b8b0a69c928b7e716b60554b40352920150a000000000000030e18222c3945525d68707d87939fa7b1b9c3ccd5cfc6bfbaafa7a09a938e87817c78736f6d6768666564636364646668686d71757a7f858d9399a1a9b1b9c2cbd4d8ccc0b6aca2978f82766d62564d42362a201509000000000000000000000b17222d3f4c5865727f8b98a9b3becad6e2dacdc1b4a79a8e8174686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868645d53483c3024180b00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6363636363636363636363636363636363636464656769676d7073777b7f84898f949d9fa7aeb3bcc2cad7dcddd8cbc3bab2a8a19691847a6d665b50443e32291e140800000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000008131e29323a46525e68707d88939fa7b1bac4ccc4baaea29891857b6e685d554b41382d261d150c030000000000000000000000000000000000060f19242f3a434d575f6a707d879298a2a9b2bac0bbaea69f98928b827b736d68615e56534e4847433e3b3a363132312f2f2e2d2d2d2e2e2f2f303031332e34383a3b3e414547494d5355575f61676d71787d838a91969fa3abb0bbb3aca49f928d80746e645c52443a3025190d010000000000000000000000000000010b151f2935414b555f6a707e8a929ca4aeb7c0c9d6dbe2dcd3ccc3bcb4aea79f9d948f88837e7a76726f6d666967676666676768656c6e7174787c81858b91979ea1a9afbabec5ced5d2cac1b8aea49f92877d70675d51453c31261a0f0100000000000a15202b37434e58606d7a849199a4afb9c3cbd5cfc6bdb4aea59d959087817b746f6c6563605d555958575757575859565d6164686d727a808791979fa7b1b9c2cbd5d2c7beb3a99f948b7f72695e52463c31261a0e040000000000000000000615222f3c4855626f7c8897a2adbac6d3dfdccfc3b6a99c90837669585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41362b20140800000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909292929292929292929292929286796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565758585a555d606366686e72777c828990959fa2aab0b8c0cbd1d8ddd5ccc4bab2a8a0968f82786c605a50443b3025190d04000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929292929292929292929292929084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000020b1925303a44505a616e7a85929aa4afb9c2ccc4baafa59f92867c6f695e564c43392f261b140b030000000000000000000000000000000000020b18212935414c565e696f7c869299a3aab3bbbdb5afa49d9490857e756e69605d56524c47433c3a37312e2d2a252624222221212020212122222323252623282c2d2f2f35393a3d4246484d53555c60656c70767e848d92999fa6afb6b6afa49d928d80746e64564c41362a1e1105000000000000000000000000000007121d27313945515d676e7c86929fa4aeb6c0c9d2dbe7dbd2cac1bab1aaa29f959089827c76716d686662605c545b5a59595a5b535b606264656c6f74797f848c92979ea5aeb3bcc3cbd4d3cac0bbaea3999184796d60584e43372b1d130700000000020f1a26313a47535f6a74818e96a1abb5c0cbd4d0c7bdb4aba39f938e837c756e6963605b5353514b4c4c4b4a4a4a4b4c4c5254565e61686d747d8590959fa7b1b9c3cdd7d0c5bbb0a69f92867b6e61574d42372b20150a0000000000000000000613202d394653606c7985929fabb8c5d0dcded1c5b8ab9e9285786a5f534e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4841392f251a0f0300000000000000000000000000000000000000000000000000000003101d2a3643505d697682858585858585858585858585858586796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564949494949494949494949494949494a4a4b4c4d4b515356565e61666b6f767d838b92989fa6aebbbfc6cfd8ded6ccc4bab2a89e948d80736c61564c41362a1f160c010000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885858585858585858585858585858583766a5d5043372a1d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000a141d2a36414c56616c76828f97a1acb6c0cbc7beb2a89e938b7e716a5f574d443a30271d140a020000000000000000000000000000000000000a141d2a333b45525d686e7b859198a2abb4bcbcb4aba49f928d837b716c615f57524c46413b37322e2b26272828292827252423201f1c181515161617181a181c1f202224292c2d31373a3b42464b51535b60636c7179808790949fa4acb3bbaea49d928d8074685e5246392d20130700000000000000000000000000000c18232f39434f59606d79849198a2aeb6bfc8d2dbe4dbd2c9c0b8b0a8a098928c837c756f6a65605d565653514b4e4d4d4c4d4e49505355535b6063676d72797f858e939fa2aab1b9c2cbd4d7cbbfb5aba1968d80736a5f53473a2f24180d0100000006121f2b37434e58626f7c87939fa8b2bdc7d2d2c7bdb5aba399928b81796f6a615f57535049474540403f3e3d3d3e3e404146474c52565e616b707a8390959fa7b1bbc5d0d7cdc2baaea2988e8174695f53473c32261b0f01000000000000000005121f2b3744505b6575828e9baab4bfcbd6dfd2c6b9ada197887b6f6255484242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424241403c362f261d130900000000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797979797979797979797979797974695d5144382b1e1205000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3d3e3e3f414045474a4d52545960636b70767e858f949ca4aeb5bdc6cfd8ded6ccc3bab0a69c928a7e71685e52463e31281e13080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3744505d68737879797979797979797979797979797671665b4f4236291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000006111c262f3846525e68717e8b949fa9b3bec7ccc0b6aca1968e81756c61584e453b32281e150b0200000000000000000000000000000000000006111c262f3b45505a606d7a849197a1aab3bdbdb4aaa399938b80786e69615a534d45413a36302b2d2e30323435353635333231302d2c2923201d19130e09070c10131315181d2021262b2d31363940454950535a61676d737b828c939aa1a9b1b6aea49f92857a6d6154473a2e2114070000000000000000000000000004101c2934404b55606b74818e96a0aab4bec8d1dae4dbd2c9c0b7afa69e9591867f786f6a62605854524c494645404140404040413f444648495053555c60676d727a818a9298a0a7b1b9c2cad4d1c6bdb2a89f92877c6e62554b4035291d11040000000814212e3a47535f6a75818e9aa4afbac4d0d7ccc0b5aba39992877e746d675f58534d46443f3a39352f3231303031313035393a41464c525960686e7a839095a0a9b3bec7d2d6cabfb4aa9f92877b6e62584e43372b1e13080000000000000000030f1b27333f495364717e8a98a3aebac7d3e0d5c9beb3a9998d807366584e433735353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353533302b251d140b0100000000000000000000000000000000000000000000000000000000010d1a26323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c1003000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303131322f35393a3d4146474f545960636c717b828d929fa3abb4bdc6cfd9ded5ccc1b8aea49f92857a6e615a50433a2f24190d0200000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000b17222d38424f59616d7a85929ea6b0bbc5d0c7bbafa49a91847a6d605a50463c332920160c03000000000000000000000000000000000000000b17222d38424d57616c75818e96a0a9b3bcbdb5aba39892877f736d665f575047423c352f2e3036393b3d3f4141424241403f3e3c3a38342f2c29241e1a140c070c141a1e20262b2e2f32362e34383a393f444650555d60696e78808892979fa7b0ab9f958b7f72685e5246392d201307000000000000000000000000030d17212c3845515c67707d89939da8b2bcc5d0dae3ddd3c9c1b7afa59d948f837b726c666058544e4745413c3a38342e343333342d3337393b3f44464b51555d60686d757e8590959fa7b0b8c2cbd4ccc4bbaea399908376675d5145392c201306000004101d2935404b55626e7c87939facb6c0c8cecdc5bbafa49992877e716c605d554e46423c37332d2c292425242424242524292d30363a41464f565e686d79839097a2acb6c0ccd8d0c6bbafa3998e81756a5f53473a2f24190d0100000000000000000b17222d3a4753606d7a86929facb8c2cdd8dacfc4b7aa9e9184776a6054473c3226282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282724201a130b020000000000000000000000000000000000000000000000000000000000000a16212d38434c545a5d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5850463b3024190c00000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232324252524292c2d3036393d44484f545a62696e77808b9299a3abb4bdc7d1dcded3cabfbaada2978e81756c61554c4135291e130800000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b454f575d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5b554d43382d22160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000030f1c28333f4a54606b75818e97a1adb8c2cdc7bdb1a79f93887d70685d52483e342a21170e0400000000000000000000000000000000000000030f1c28333f4a545f69717e8b939ea8b2bbc0b5aba39992867e726d605c544d453e373131373a3b4146474a4c4d4e4f4f4e4d4c4a494745403a39352f2b261f1812181f252a2d31373a3b3f424340454646443f43434b51575f666d737d8590959ea6a3999083786c60564c41362a1e110500000000000000000000000009141f2a36424d57606d7984919ea5afbac3ced7e2dfd5cbc1b7afa59d938e827a6e69605b544e47433c39352f2d2c28232726262722272b2d2d33373940454b51565d616c717b8390959fa6b0b9c2cdc4bab2a8a09691847a6d6053473a2d201407000006131f2c3845515d6775818e99a3abafb8bcc3c5bbb0a69f93877e716c615a514b433c37312b27221f1d18191817171718191d20252a30353d444c565d676e7b85929aa4afbbc5cfd7cbc0b5ab9e93887c6f62564c4135291d110400000000000000000613202c3945515d6775828f9ba7b1bcc8d4ded2c5b9aca096897c6f62584e43372b1f161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f09010000000000000000000000000000000000000000000000000000000000000005101c26313a43494e50525252525252525252525252525252514d463e342a1f140800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161616161616161616161617171819181d1f20252a2d32383d444850575e656c737e879299a3abb5c0cbd7dddcd6cabeb3a99e938a7d70675d51453a3025190d02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333d454c50525252525252525252525252525252504f4a433b31271c1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000006121f2b3844505b66707d89939ea9b3becaccc0b5aba0958d80736b60564c41362d22180f0500000000000000000000000000000000000000030d17212b3844505b666e7b86929fa5afbac3bbafa49992877d706c625b504a423b3334383c4347484c525457585a5b5b5c5b5a58575653514b4745413a373129241d232830363a3c4247484c4f504b5153535049504e4b494d545c606b707b838f949e9f92877c6f665b50443a3025190d010000000000000000000000020e1a26313a46535f6973808c96a0acb7c1ccd5e0e1d7cdc3b9afa59e938e81786d685f57504a423d37322c2924201f1c181a1a191a171b1f2022272b2e343940454c525a61696e7a838f949fa6b0bbc4bbb2a8a09691847a6e675d5145392c20130600000714202d3a4753606d79848d92999ea5acb1b9beb3a99f948b7f726c615a50454039312b261f1b1713100c070b0a0a0b080d1113191e2529323b434c555f69707d88939fa9b3bec9d5d1c7bdafa59a8e8174685d5245392c20150a000000000000000004111d2935404b55636f7c89959fabb8c4cedad5c9bdb2a89b8e81746a5f53473d31281d12070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e0e0b0803000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e424346464646464646464646464646464644413b342c22180d0200000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090a0b0b070c101314191e20272c32383f454d535b606c717d879299a3afbbc0cbd4e0dbcfc5bbafa59e91847a6d60564c41362a1e1408000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212b333b404445464646464646464646464646464643423e3831291f150a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000004101d2935404b55606c7883909da5afbbc5cfc7bbafa4999083796d60594f443a30241b1006000000000000000000000000000000000000000009141f2935414b55606c78839098a2aeb7c1b9aea49f93877e716b615a51443f3830383f44464e5355565e616365676868696866656463605c5554524c46423c352f272e343b4246474d5355595c5d545c60605b5e5d5a58555350505961696e79828e93968d80736a5f544a3f32291e130800000000000000000000000005121e2a36424d57616e7b86929fa8b2bdc9d2dee6dbd0c5bbb1a79e938e81786c665d564d443f382f2b27201d191313100c070d0d060b0f1213171b1f23282f353a414650575e686d79828f949fa9b2bbb2a9a19691847b6e685e554b4035291d1104000006131f2c3845515d676d7a80868f939da0a7adb3ada2978f82766d625a50483e352f271f1a140f0b0604000000000000000105080d13192029313a434d57606b74818e97a1adb9c4cfd9cfc1b8ac9f92867a6d6054473c32271b0f0300000000000000010d18242f3a4854606b7683909da8b2bdc9d5d9cec4b9ac9f93877c6f62594f43392f241810060002020202020202020202020202020202020202020202020202020202020202020202020202020202010000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f4446474747474747474747474747474746443f382f261c11060000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000406080e11161b21272c333b4149505a626b707e87929fa4aeb9c2ced7e1d7cdc1b9ada1968c8073685e52463b3025190d000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1921292f34373839393939393939393939393939393736322d271f170d0300000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000a131f2c3845515d67717e8b95a0acb7c1cdcabfb4aa9f93877c6f665c51473d32281e12090000000000000000000000000000000000000000020e1a26313945515d67717e8b959faab4bebcb1a79d928b7f726c615950483f34363d424a5053585f6266686e707274747575747372716f6d6764605d56534d454039313940454d5254575f6265696a6b666d6c656b6a676562605b5454575e676d78818e9184796d60584e42382d20170d020000000000000000000000000714212d3a46535f6974818e99a3aebac3cedbe4e0d6cabeb3a9a0958e81786d665b544c433c332d261d1b15110d0806040000000000000305060b0f12181d242930353e454d565d676d79829097a1abb3a9a19691847b6e695e564d433a2f24180d01000004101d2935404b555d676d737b828990959ea1a9a89f92857b6e615b51483e3629241d150d09030000000000000000000000000002080e171f28313b454f59616d7a85929ea8b2bdc9d5d3c6baaea2988b7f7265584e43372b1f1306000000000000000007131d2c38444f5964717e8a96a1acb9c5d0dbd4c8bbafa49a8f82766b60554b40352922180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a5053545454545454545454545454545453504a42382d22170b0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000002050b0f161b21292f383f445059616c717e8b929da7b1bcc5d0dbdfd5c9bdb2a89f92867a6d61564c41362a1c12070000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f121b22292d30313636363636363636363636362d2c29241e160d0d040000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000006111c2935404b55606d7984919ea7b1bcc9d3c7baaea2988e81746a5f544b40352b20160c00000000000000000000000000000000000000000005121e2a36424d57606d7a85919ea7b1bcbeb3aa9f958d80746d625a50473e363b42464f545c60656a6e72767a7d7f8081828281807f7d7c7975716d68615f57514b433d424b51575e6167696e7275767879797978777674716f6c66626058555c666d7881897d70675d51463c2f261c0e0500000000000000000000000005121e2a36424d57616e7b87929fabb5bfccd5e0e2d7cec5baada2979083796d665c544a423a3128221c140b0a04010000000000000000000000000003070c12181e2429333b444c555d676e7a859199a3a9a19791847b6e695e574d443b31281d1307000000000c18242f39434c555d60696e757d838b92979fa0968b7e71695e52493f362c2318120b030000000000000000000000000000000000050d161f29333d46525d68727e8b96a1adb9c5d0d6cabfb4aa9d9184776a6054473b2e2215090000000000000000010f1b27323d4653606d7884919ea9b3becad6d8ccc0b6ac9f94897d70675d51453f342a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606060606060606060606060606060605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000040b0f171d262d333f47505a626c74808d959fa9b3becad6dfdacfc4baaea2988d8073685e5246392e23180c0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e4343434343434343434343433a39352f2820160c010000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000c17232e3845515d67727f8c96a1adb9c3cec9beb3a99f92867b6e61584e42392e23190e040000000000000000000000000000000000000000000714212d3a46535f6973808d97a1adb9c2baaea2989083786d605b51483e353c454d535960666d72777b7f83878a8b8d8e8e8f8e8d8b8a8985827e7a756e69605d554f474d545c60696e73777b7f828384858686858483817e7c79736f6a6360595c666d777d706b60554b40342a1d140a000000000000000000000000000714212d3a46535e6974818e99a3afbdc6d1dee7dbd0c5bcafa59f92857b6e675d544a42382f281f17110a0200000000000000000000000000000000000001070c13192129323a434b555e686f7c87929fa19792857c6e695f574d453b32291f160c010000000007121d27313a434c51575f616b70787e858d92999184786c60574d42372d241a11070100000000000000000000000000000000000000040d17212935414c56606d7984919ea9b3becad6d0c6b8aca095887c6f6255493c31261a0e0200000000000000000a161f2b3844505c66727f8b97a2adbac3cfd9d2c7beb0a69d9184796d605a50463c332920170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c665b5044382b1f120600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000050b141b2227353e48505a606d78839097a2adbac3cdd9e0d6cabfb4aa9f92867a6e61544a4034281c100400000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b5050505050505050505050504745413a32281e13080000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000003101c28343f4a54606d7985929ea8b2bdcbd2c6b9ada1978d8073695e52463c30271d110700000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3bebdb0a69f92857b6e665c51493f363d464e575e616b70787f84888c90939a989a9b9b9c9b99989798928e8a86827b736d6760594f575f666d737b8084888c8f90919298939291908d8b8884807c76706b615f5c656c706c61594f43392f22180b0200000000000000000000000003101c28343f4a54616e7b86929fabb5c0cfd8e3e2d6cabfb4aa9e938a7e70695f554b42382f261d160d060000000000000000000000000000000000000000000002080f172028313a434d56606a727f8b959792857c6f6a5f574d453b332920170d040000000000010b151f28313a41454d535960666d727a80868f8b7e72665b50453b30251b120800000000000000000000000000000000000000000000060f1924303a45515c66727f8b97a2adbac6d3d4c8bcb1a7998c807366574d42362a1e1205000000000000000003101c28343f4a54606d7985929fa7b1bdc7d1d9d0c2b8aca0968e81756c62584e453b332920170e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787a7a7a7a7a7a7a7a7a7a7a7a7a7a786c605346392d20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000020a1117232c363e44515c666e7b85929fa7b1bcc8d4dedbd0c5baaea2988d8073665c5144382c1f140900000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056585d5d5d5d5d5d5d5d5d5d5d5d54524c443a2f24190d0100000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000006121f2c3844505c66727f8b97a1adbac4cfc9bdb2a89e92857a6d60574d42342a1e150b000000000000000000000000000000000000000000000714202d3946525e6874818e98a3aebbc0b5ab9f948a7e71695f544b40373d464e585f696e757d838b9196999d9fa4aca7a7a8a8a7a6a5aaa29f9b99928f868079706b61595f696e7980868d9196989c9d9e9fa29f9f9e9d9a9896918d89837d766e69625b6064615a50473d31271d10060000000000000000000000000006121f2b3844505c6673808d99a3aebdc7d1e1e9dfd3c6baaea2988f82756c61574d433930261d140b0400000000000000000000000000000000000000000000000000050e161f28303b444e58606d78839092857c6f6a5f574e453c332921170e0500000000000000030d161f282f353b42464f545c60686d737b8285796d60544a3f33291f130900000000000000000000000000000000000000000000000008131e2834404b54606d7985929fabb8c3ced9cec3b7aa9d908377695f53463a2d2114060000000000000000000b17232e3845515d67727f8c95a0abb5c0cbd7d4c8bdb2a89e938b7e716a5f574d453b322920191006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c87878787878787878787878787877b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000006111a242834404a545e69727f8b95a0acb8c1ccd7e2d6cabfb4aa9e9185796d6053463b31261a0e02000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23171717171717171717171717171717171717161615151312100c07080705020000000000000000000000000000000000000000000000000000000000000000000815212d3945505a6264696969696969696969696969605d564c4135291d110400000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000713202d3a4653606d7984919ea9b3beccd2c5b9aca0968b7f72685d52453b3022180c0300000000000000000000000000000000000000000004101c2834404b55616e7a86929faab4bfbbafa3998f82766c61574d42393d474f58606a6f7b828991959ea0a8a9acafb6b3b4b5b5b4b3b2b4aeacaba39f98928c847d706b61696e7b838d92989ea0a8a8a9abacaeacabaaa9a7a8a19e9a949089827b716c605c545550483e352b1f150b00000000000000000000000000000713202d3a4653606d7984919eabb5bfcfd9e3e1d5c9beb3a99f92867b6e615a50453b31271e140b02000000000000000000000000000000000000000000000000000000040d161e29323d44505c66707d89867c6f6a5f584e453c332a21170f05000000000000000000040d161e242931363d424a50565d60696e757b6e675d5142382d20170d01000000000000000000000102020201000000000000000000020c18232e3945515c6774818d9aa8b1bdc8d4d1c5b8aca095887b6e6155483b2d22170b00000000000000000006111c2935404b55606d78839099a3afbbc4ced9cec3baafa59f92867c6f695e574d443b322b2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c89939393939393939393939399867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000081218232e39424d57606d7883909da6b0bbc7d3dedbd0c6b9ada1978a7d7164574d42362a1e1205000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232221201f1c18181514120e0906030000000000000000000000000000000000000000000000000000000000000a1724303d4956626c717676767676767676767676766d685d5245392c20130700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000006121f2b37434e5864717e8a96a1acbbc5cfc9beb3a99e9184796d60564c4133291f10060000000000000000000000000000000000000000000006131f2c3845515c67737f8c98a3aebcbeb3aa9f92877c6e625a50453b3b454f59606a6f7c848f949da0a7acb2b6b9bbc0c0c1c1c2c1c0bebfbab8b5aeaaa39f9691877d706b6e7b8490959fa3aaacb2b5b6b7b8bab9b8b7b6b4b2adaba69f9c948f867e746d665d554b42392e231810070000000000000000000000000005111d2a36414c5663707d8a97a1adbdc6d1e1e6dacfc6b9ada1978c7f72695e52483e332a1f150c020000000000000000000000000000000000000000000000000000000000040c172028343f4a54606b75817d6f6a60584e463c332a21180f050000000000000000000000040c13191f262a30383f444c52575f62696e695e554b402f261c0e05000000030607080a0b0c0c0d0e0f0e0e0d0c0b0807060300000007121d2934404b55626f7c8995a0acb8c5d1d4c8bcb1a7988b7f726553493f33271b0f030000000000000000000d18242f3a44505c666f7c87929fa8b2bdc9d5d5ccc1baaea39891847b6e695e564d443d3428231c140c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a09f928679675d5145392c1f130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000007121c27303b44505c666f7c89949eaab7c2cdd8e2d5c9beb3a99c8f8276695f53463a2d211408000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3030303030303030303030303030303030303030302f2f2e2d2c28232421211e1a15130f0a04010000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8383838383838383838383827a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000815212e3a47535f6a7683909da8b2bdcdd2c6b9ada1978a7e71665c51433a2f20170d00000000000000000000000000000000000000000000000713202d3a4653606d7985919eaab4bfbaaea2988d80736a5f53483e38414d57606b707c8591969ea6acb1b8bdc3c6c8ccd2cecccbcacad0cac6c5bfbbb4aea8a09992867d707a849196a0a7aeb4b8bdc2c3c4c5c6c6c5c4c3c0bdb9b8b0aba69f98928b81786d675d544b40342822190c030000000000000000000000000713202d3946525e6875828f9ba9b2becfd8e3e2d5c9beb3a99e9285796d60574d42362c21180d0300000000000000000000000000000000000000000000000000000000000000050e17232e38424f59606c796f6b60584e463c342a21180f060000000000000000000000000001080d141a1e262e343a41454d53575e615e574d43392f1d140a0507060c10121315161718191a1b1c1b1a1a1917151312100b0606040c18232f394754606a7784919daab7c4d0d9cec2b5a99c8f8276655b5044372b1f120500000000000000000007131d28343f4a545f6a73808d96a0acb9c0cad3d6cbbfb4aaa19691847b6e685e564e463e342e261e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4adadadadadadadac9f9285796c554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000b151e28343f4a54606a75828f9ca6b0bbc7d3e1dacfc4b9ac9f93877b6e6155483b2f24190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e312e2d2a25221f1b15110d0701000000000000000000000000000000000000000000000000000d1a2633404d596673808c90909090909090909090877b6e6154473b2e21140800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000004101d2935404b55626f7c88959fabbac4ceccc0b6ac9e9285796d60544b4031281e0e050000000000000000000000000000000000000000000005111e2a36414c5664717e8b97a1adbcbfb5ab9f92857a6d60584e43333f49535e69707d869297a1a9b0b8bcc3c8ced2ccc7c6c3c0bebdbdbec0c3c5c7c6bfbab2aba39892867c828f96a1a9b1babfc6c8ccc7c6c2bfbcbbbdbec1c5c5c2bcb7b0aaa29f938e82796d665c51453f342a1e150b0000000000000000000000000714212e3a4754616d7a86929facb9c4cfdfeadfd2c6b9ada1978c7f72675d51453b30241a0f0600000000000000000000000000000000000000000000000000000000000000000006111c26303d44505b656c6560594f463d342a22180f060000000000000000000000000000000003090c141c23282f353c42474d5354534d453b31271d0b0e111414171c1f202223242526272828282726262422201f1c171313100c121d2b37434e586773808d9aaab4becad6d2c5b8ab9f9285796c605346392d201306000000000000000000010b17232e38424e58606d7984919ea4aeb8c1cbd5d0c6bcb2a8a09691847a6e68605850443f383028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bababababab8ab9f9285786c5f52452f24180c0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000030c17232e38424e58636f7c89949fabb7c5cfdae0d4c8bbafa49a8c7f7265564c4135291d11040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49494848464440413e3b3a36312e2b27201d18130d080100000000000000000000000000000000000000000000000d1a2733404d5a6673808d999c9c9c9c9c9c9c9c94887b6e6155483b2e22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000006131f2c3945515d6774818d9aa7b1bcccd4c8bbafa49a8d8073665c5142392e1f160c00000000000000000000000000000000000000000000000714202d3946525e687683909ca9b3bebbaea3998d8073685d52463c3744505b656e7b859298a2a9b2bbc1c8ced0cac7c0bbb9b6b3b1b0b1b1b3b6b9babfc6c4bdb4aaa29892868f949fa9b2bbc3cbd0c7c0bbb9b5b2afaeb0b1b4b8babec5c2bcb4aea59d948f82786d605b51463c30271d120700000000000000000000030f1c28333f4a5464717e8b99a3aebbc7d3e0ebded1c5b8ab9e9285796d60554b4033291f120800000000000000000000000000000000000000000000000000000000000000000000000a141e27333f49535b605b534f473d342b2218100600000000000000000000000000000000000000020a11171e242931373b42464846423b33291f1514191e202123282c2d2f3031323334353535343332312f2d2b2823201f1c18121b27323d495663707c8998a2aebac6d3d3c6baada297887b6e6255483b2f2215070000000000000000000006111c26303c45515d67707d89929da6b0b9c3cdd6cec4bab2a8a09691837a6f6a615a504a423c342e271e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bec6c6c6c5b8ab9e9285786b5f52452f24180d0100000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000006111c26303d4854606b76828f9ca9b3becad6e2d8ccc0b6ac9c8f8376685d5245392c2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565656565656565656555453514a4e4b4846423c3b37322c29241d19130c04000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7a9a9a9a9a9a9a195887b6e6255483b2f22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000714202d3a4753606d7985929fabb8c2cdd2c6b9ac9f93877b6e61544b4030271d0d0400000000000000000000000000000000000000000000000814212e3b4754616e7a86939facb9c4b9ac9f92867b6e61564c4137434e58606c77828f97a2aab3bbc4cdd4cec6bfbab5afaca9a6a4a3a4a5a6a9acaeb4b9bdc4bcb4aaa29993999fa6b0bbc4cdccc3bdb5afaca8a5a3a2a3a5a7abadb3b8bdc3bebaafa69e948e81746d63584e43392e23180c0100000000000000000006121f2b3844505b6675818e9babb5bfcbd7e3e0d4c8bcb1a79a8d8073675d5143392f21170d000000000000000000000000000000000000000000000000000000000000000000000000020c17222d38414950535049413d342b2219100700000000000000000000000000000000000000000000060b131920262b31363a3b3a363129211a1e21252a2d2e2e34383a3b3d3e3f3f4041424141403f3e3b3a38342e2d2c28231f1c202d3a4653606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e2e23180c00000000000000000000000a141e2935404b55606b74808d949ea7b1bbc4ced6ccc4bab2a8a09591847c716c605c544e444039302a261f1a140e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd3d1c5b8ab9e9285786b554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000a141e2c38434f5964717d8a97a1adb9c6d2dfddd2c5b9ac9f92867a6d6054473a2d2114080000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f63636363636363636363636363636363636363636363636363626261605c545a5754534d4947433d39352f29241e160d090200000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b6b6b6b6aea295887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000004101d2935404b5564717e8a98a2aebac6d5c9bdb2a89c8f8276695f5342392e1e150b000000000000000000000000000000000000000000000005111d2935414c5665727e8b99a4afbbbdb2a89b8e8174695e52433a3a47535f6a727f8c949fa9b3bcc5cdd3cbc3bcb4aeaba49f9d9998979798999c9fa3abadb2bbc1bcb4aba49fa4abb0b8c2cdcbc2bab1aba49f9b99969596989a9fa2a9acb1bac0c1b8b0a69d938c7f726a5f554b4034281d12070000000000000000000613202d394653606c7985929eabb8c5d1dce7ddd1c4b8ab9f95887b6f62554b4031271d0f050000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4446443f382f2b2219100700000000000000000000000000000000000000000000000001080d151a1f252a2d2e2d2a251f1f262b2e30363a3b3e3f444648494a4b4c4d4e4f4e4d4d4c4a4846443f3d3a38342e2b28232c3844515c6675828f9ca8b5c2cfdbd0c1b4a79a8e817467544b4034281c100400000000000000000000020c18242f39434f59606c78828f95a0a9b3bcc6d0d5ccc3bab1a7a09691867e746d665f58514a423c36312a251f19140e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679675d5145392c20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000020c1b27323d4653606d7985929eabb8c5cfdae0d3c7bbafa3998a7d7164574a3e3024190d0100000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c70707070707070707070707070707070707070707070707070706f6f6e6d66696764615e5756544e4745413a352f281f19140d05000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1c3c3bcafa295897c6f6256493c2f23160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006131f2c3945515d6775828e9baab3becad2c5b9ada1968a7d7064574d4230271d0c0300000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0b8aca096887c6f62574d4236414c56626e7c86929fa6b0bcc5ced3c9c1b9b1aaa29f9993908d8b8a8a8b8d9092999ea1a9afb7c1bdb5afacafb5bdc2cad0c2b9b1a8a099938f8c89888a8b8e92979da0a8aebbbfc1b8afa59f92877c6f675c5145392f24180d0100000000000000000916232f3c4956626f7c8997a2adb9c6d2e3e9dcd0c3b6a99d9083766a5f5343392f1f150b0000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d33373937332d261d19100700000000000000000000000000000000000000000000000000000003090e141a1e2121211d23282c31373a3b4246474b4a505355565758595a5b5b5b5a5959575553504a4a4645403a38342e2934404a5466737f8c99a6b2bfcfdad0c3b7aa9d908477665c5145382c1f1306000000000000000000000007121d27313d44505b666d79839097a1aab4bdc6cfd5ccc3b9b1a8a198928b80786e6a605c544e46423b36302a251f1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d3c7baaea398867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a161f2c3845515c6674808d9aa9b3becad6e2d7cbc0b5ab9b8e817468564c4135291d110500000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbeb2a5988b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b79787674716e696762605854514b45413a312a251f170e080000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cec9bcafa296897c6f6356493c3023160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000714202d3a4753606d7986929facb8c5d0d1c4b8ab9e9184786d6053463b3120150b0000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c4b7aa9e9184776a6054453b3946525e6874818e98a3aeb8c2ced5cbc1b7afa79f98928d8783807e7d7e7e8083868c91969ea5afb7c1c0bbb9bbc0c7d0d2c7bdb1a79f959187827f7c7b7d7e81858a91959da4aeb5bdc1bbafa3999083796d60554b4035291d120700000000000000030f1b27333f49536673808c99a9b3becad6e2e1d4c8bdb1a8988b7f7265584e4331281d0d03000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d2b27221b140b0700000000000000000000000000000000000000000000000000000000000003090e11171d24292e34383c4247484d525458545c606263646566676868686766656462605c545753514b46443f38352f3d4a5763707d8a96a8b2bdc9d5d2c5b9ac9f9286796d6053463a2d2013070000000000000000000000010b151f28333f4a545d676e7b859198a3abb4bcc5ced5ccc3bab2aaa39f928d837c736d666058534d46423b36302a251f1a140e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdad7cbbfb4aa94877b6e6154483b2e21150900000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8997a1adb9c6d2dfdcd1c4b7aa9e918477685d5246392d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918b8989898989898989898989898989898989898989898989898989898887868483817e7b78736f6a65605d55524c433e3630292019110900000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec9bcafa396897c706356493d3023160a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000b1724313e4a5764717d8a98a2aebac6d3c8bcb1a7998c7f73665c5044382b1f12030000000000000000000000000000000000000000000000000b1724313e4a5764717e8a99a3afbbbcb1a7998c807366584e4334404a54616d7a86929faab4bfcad4cec3b9afa59e959086807a76737170717273767a7f848e939ea5afb9c3c7c6c7ccd2d7ccc0b5ab9f9590837c7572706f707274797e848d929fa3abb5bfc0b5aba0958c7f72675d5145392f24180c0000000000000005121f2b3744505b6576838f9ca9b6c2cfdbe6ded1c5b8aca095877b6e6154483c3121160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f201f1b17110a0200000000000000000000000000000000000000000000000000000000000000060b141b22272f35394045464d5355565e616468666d6e7071727273747574747372716e6d666763605c5453504a4540393a4754616d7a8796a1adb9c5d2d4c7bbafa399887b6e6255483b2f221508000000000000000000000000030d17222d38424b555e696f7c869299a3aab4bcc5cdd5ccc4bcb4aea49d9590867f786f6a615f57524d46413b36312a261f19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a9b3bec9d5dcd1bcafa396897c706356493d31261a0d04000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000c18232e394653606c7985929eabb8c5d1deded2c5b9aca096877a6d6154473a2e21140700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0707070707070707070707070707070707070707070707070707070707111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc3b8ada39b98969696969696969696969696969696969696969696969696969695959992918f8d8a8784807c77726d67605d565046423b322b231b130a010000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec9bcb0a396897d7063564a3d3023170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005121e2a36424d576874818e9baab4bfcad1c5b8aca095877b6e61544a3f34281c1003000000000000000000000000000000000000000000000004101c2934404b556774808d9aabb5c0b8aca095887b6f6255483c3844515c66737f8c98a3aebcc6d1d0c6bcb1a79e938f837b736e68666564646566676d727a818e939ea7b1bcc8d2d4d7ddd4c7bbafa4999083796f6a6663626365676d7179808a9299a3aebbbfbdb1a79e9285796d60554b4035291d12070000000000000613202d394653606c7985929fabb8c5d2deeaddd0c4b7aa9d918477695e53463a2d21140400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213120f0b0600000000000000000000000000000000000000000000000000000000000000010710181d262d333a41454b5153575f6266696e717477797b7c7d7e7f8081828180807f7d7b797674706d6664605c54514b443f46525e687884919eabb7c4d1d7cbc0b5ab968a7d7063574a3d3024170a0000000000000000000000000006111c262f3a434d57606a717e879298a2aab3bbc4ccd5cec6bfbaaea79f99928c837c746e69615e57524d46423b36312a251f18130b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8797a1adb9c6d2d9ccbfb3a6998c807366574d42372b1f160b020000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b5c1d0dbe1d5c9bdb2a896897d7063564a3d3023170a00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417141414141414141414141414141414141414141414141414141414141414141e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c9a9796918d89847f7a736d68615a524d443d352d251c130a0100000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabdb0a3978a7d7064574a3d3124170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714202d3a46525e697884919eabb7c4d0d0c3b7aa9d908477695e5342382e23170b00000000000000000000000000000000000000000000000006131f2c3845515c677683909da9b6c3b7aa9d9184776a5f53473a3a4653606d7985919eaab4bfcfd6cabfb4aaa0958f81796e69615e5658575758555d60686d77818e95a0abb8c3cdd9e3dfd2c6b9ac9f93877b6e676058565557555d60676d747e87929fa3adb8c2b9ada1978c7f72675d5145392e23180c0000000000000815222e3b4855616e7b8898a2aebac6d3dfe6dacdc0b3a79a8d807467574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050605030000000000000000000000000000000000000000000000000000000000000000030b1218222a2f383f444b51555c6065696e73777b7e81838688898a8b8c8d8e8e8e8d8c8c8a888583817d7975716d66605d55504a424c566976838f9ca9b6c2cfdcd1bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000a141d28313b454e58616c717e869298a1a9b2bac3cbd5d0cbc0b9b1aba39f959087817b746e69615e56534d46423b363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687885929eabb8c5d1dcd0c3b6a99d908376695f53473c31281d140c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8b97aab4becad6e2d9cebfb2a5998c7f7266594c3f3326190800000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242121212121212121212121212121212121212121212121212121212121212121212b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafb5afacaba9a7a8a19e9a96918c85807a716c615e564f473f372e251c13090000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabdb0a4978a7d7164574a3e3124170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000815212e3b4854616e7b8796a1acb9c5d2cbbfb4aa9a8d807367574d4230261c11060000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c0b4a79a8d817467584e43373d495663707d8997a1adbcc6d1d3c6baaea2989083796d675e57524c4b4a4b4b4b51565d656d7883909da7b1bcc8d4e4dbcfc2b5a89c8f8275695f554e49484a4b51555d606c717e8b919ca6b0bdbeb3a99e9185796d60554b4034281c100400000000000b1724313e4a5764717d8a97aab3becad6e2e1d5c9bdb2a8968a7d7063574a3d31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151d2329343c414950555d60676d71767b8084878b8e909298969798999a9b9b9b9a9998979892908d8a85817d78726d67605b544e4e5b6774818e9aa7b4c1cddacdc0b4a79a8d8174675a4e4134271b070000000000000000000000000000020b161f29333d46505a616c717d869297a1a8b1b9c0c9cfd6cbc2bdb4aea7a099928e86817b746e68615e57534d46413b352f27221b140b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2cfdad2c6b9ac9f93877b6e62584e433a2f261e150d05000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000b17222d3b4855616e7b8898a2aebac6d3dfdbcec2b5a89b8f8275685c4f422f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d9d1c9c3c0bebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcc0bbb9b7b6b4b2acaba8a09e97928d857e766e69605951493f372e251b110700000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb1a4978a7e7164574b3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d3c7baaea398897d7063564a3d3123140a00000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebabdb2a8978a7e7164574b3e343f4a546673808c99a9b3becfd6cbbfb4aa9f92867b6e675d554d46413e3d3e3f41454c535c666f7c8995a0acb8c7d2ddd8cbbeb2a5988b7f7265574d433d3c3d40454b515a616c727f8c949fabb5c0b9ada1978b7f72675c5145382c1f130600000000000d1a2733404d5a6673808d99a6b3c0d0dbe6dfd2c5b9ada196877a6d6154473a2e211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161f272f343f464e535b60676d72797e83888c9095979b9d9fa3aaa4a5a5a6a7a8a7a7a6a5aaa29f9d9a98928e8a847e79726c665f58515965727f8c98a5b2bfcbd8cfc2b6a99c8f8376695c50432f24180d010000000000000000000000000000040d17212b343e48505a616b707c859196a0a7aeb9bec5cdd7cfc6bfbab1aba39f99928d86807b746e69615f57524d45413a332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303f4c5966727f8c99a8b2bdc9d5d4c7bbafa4998e81746a5f554b423830271f170f070000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d9084776a564c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bdb9b7b2aca9a29f97918b827b706b625b51493f372d23190e05000000000000000000000003101d2a3643505d697683909ca9b6c3cfcbbeb1a4988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000005111d2935414c566774818d9aa7b4c0ced2c5b8ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfb9aca196877b6e6154483b3844505c6676838f9ca9b6c2cfd3c7baaea3988d8073695f554b433b363031312f353a414a54606a7783909dacb6c0ccd8d5c9bcafa296897c6f6356493c312f2f35394045505a636d76828f99a3afbbbeb3a99e9184796d6053463a2d22170b00000000030f1c2936424f5c6975828f9ca8b5c2cfdbe8ded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720283139404550585f656c717a7f848b9095999da0a7a7aaacaeb4b0b1b2b3b4b5b4b3b3b2b4aeaca9aaa29f9b96918b857f786f6a635b5764707d8a97a3b0bdcad6d1c4b7ab9e9184786b554b4035291d1104000000000000000000000000000000050f19222c363e485059606a6f7b8490959da4adb3bbc2cbd1d1cbc3bdb5afaba39f98928d86817b746e69615e56514b443f382f28231d150c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8996a1adb9c7d2d7ccc0b5ab9f92877c6f675d544a423931292118120b03000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657683909ca9b6c3cfdcdfd2c5b8ac9f928579685d5245392c201307000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a474747474747474747474747474747474747474747474747474747474747474747474747474747515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f3ebe3dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d4d2d1cfcec9c5c4bdb9b3ada9a19e948f857d726d635b51493f352b20170b020000000000000000000004111d2a3744505d6a7783909daab6c3d0cbbeb1a5988b7e7265584b3f3225180c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000713202d3946525e687784919daab7c4d0cfc2b5a99c8f8276675d5145382c1f1306000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0b7ab9e918478695e52463a3a4653606d7985929facb8c5d2d2c5b8ac9f92867a6e61574d4339312a25242424292f38424e5865727f8b9aa4afbbc8d4d4c8bbaea195887b6e6255483b2f2224292f353e48515b626f7c87929faab4bfb9ada1968a7d706353493f33271b0f0300000004111d2935414c566a7784919daab7c4d0dde8dbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a434b515a626a6f787e858c91979d9fa7aaacb1b4b6b9babfbdbebfc0c1c1c1c0bfbfbfbab8b6b4aeaba8a09e97928b837c726d605c626f7c8995a2afbcd0dbd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000007101a242c363e474f5860696e7b838d929ea1a9b0babfc6cfd4cfc7c0bbb5aeaaa39f98928d87817b746e68605d555049413c342e271e18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb5c0ccd7d2c7bbafa3999184796d665c544b433b3328231d150c060000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddadfd3c6baaea298877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645754545454545454545454545454545454545454545454545454545454545454545454545454545454545e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1cdd1d2d5dadad5d2cec9c5bebab3ada69f9792877f726d635b51473d32291d140a0000000000000000000004111e2a3744515d6a7784909daab7c3d0cbbeb2a5988b7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714212e3a4754616d7a86939facb9c6d2c9bdb2a9988c7f7265554b4035291d1004000000000000000000000000000000000000000000000000030f1b27333f49536976828f9ca9b5c1b5a89b8e827568574d42363c4956626f7c8998a2aebac6d3cec1b5a89b8e8275685e52453b31271f191718181d26303d4754616e7a87939facb9c6d2d4c7baaea194877b6e6154483b2e21181d2429364047535f6a74818d98a2aebabdb2a89a8e8174655b5044372b1f12050000000713202c3945525d687985929facb8c5d2dfe6d9ccbfb3a6998c807366594d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c555c606c717c838b91979ea1a9abb1b7b8bcc1c3c5c7cbd1cbcccdcecececdccd0cac7c5c3bebab8b2aca9a19e9590867f746d66616e7b8794aab4bfcad6d3c7baaea398867a6d6053473a2d201407000000000000000000000000000000000008121a242c353d464e575f696e79808a92979fa6aeb4bcc1c7cdd1cbc6bfbbb4aeaaa39f99928e86817b736d67605b534e454039302a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808c99a4afbbc6d0d7cbc0b5aba0968e81786d665d554d453e342e271e180f0701000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e2d6cabfb4aa95887c6f6255483c2f221509000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164616161616161616161616161616161616161616161616161616161616161616161616161616161616161616b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9babfbdc1c4c5c9ced3d6dbd9d5d0cac4beb9b0a9a199938b7f726d62594f443a2f261c110600000000000000000004111e2b3744515e6a7784919daab7c4d0cbbfb2a5988c7f7265594c3f3226190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000a1724313d4a5764707d8a9aa4afbbc8d2c5b9ada196887b6f6255483c2f24180c0000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c0b3a6998d8073665a4d40303e4a5764717d8a97aab4bfcad6cbbfb4aa988b7e7265564c4133291f150d08070b15202d3946525e687784919daab7c4d0d4c8bbaea195887b6e6255483b2f22151218242b37434e58616d7a86929facb8c4b8ab9e9185786c605346392d2013080000000714212d3a4754606d7a8798a2aebac6d3dfe4d7cabdb1a4978a7e7164574b3e31241808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28313b444c565d676d757e8690959ea1a9adb2b8bcc2c5c8ced0d2d2d1cecbd0cac6c5c4c5c6cad0caced0cac6c4bdb9b3ada79f99928c81786d676d7a8698a2aebac6d3d6cbbfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000008121a232b343c454d575e676d747d858f949fa3aaafb8bcc2c9ced1cbc6bfbab4aeaba39f99928d86807a716c655f58514b423c3429241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939faab4bfcbd6d1c7bdb2a89e938e81786d675e574f454039302a2118130c040000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdcad6e7dbd0bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb4b1b4b7b9bdc4c6cad0d6dbdbd6cfc9c2bbb3aba49f918c7f726b60564c42382d22170b04000000000000000005111e2b3844515e6b7784919eaab7c4d1ccbfb2a6998c7f7366594c403326190d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000010d1a2734404d5a6773808d9aacb6c0ccd1c4b8ab9e9184786a5f53473a2e1d1207000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9beb1a4988b7e7165584b3e323f4b5865727e8b98a5b1bed0d3c7baaea398887b6e6255483b3022170d03000005111e2a36414c566774818e9aa7b4c1cfdbc8bcafa295897c6f6256493c2f231607121b26313c46525e6875818e9ba9b3beb9ada197897c6f6256493c3025190d0100000915222f3c4855626f7b8895aab4bfcad6e2e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a434c565e686d79818b92989fa7adb3b9bec4c8cdd1d4d2cfc9c5c4c1bebbbfbab8b8b8babfbbbec1c4c5c9cec9c5beb9b1aba39f938e82796d677985929facb8c5d2dcd0bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000081119222b333c454d555c606b707a828b92989ea5abb1b9bdc4cacfd0cbc6bfbab5afaba39f98928d847e786f6a605c544e463f352f281f180f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3846535e6975828f98a3aebac3ced7cfc3baafa59e938e81796e696159514b423c3329241d160d0600000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2d7cbbeb1a4988b7e7165584b3e3225180b000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a84919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abacb2b8babfc6cacfd7dfdad5cdc5bdb5afa39f92877d6f685e544a3f332821160a000000000000000005121e2b3845515e6b7884919eabb7c4d1ccbfb3a6998c807366594d4033261a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000004101c2934404b55697683909ca9b6c3d2cec1b5a89b8e827568584e43372b1f0b01000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a3aebabcafa396897c706356493d33404c5966737f8c99a6b2bfccd2c5b8ac9f928579695f53473a2e211406000000010d1925303e4b5864717e8b97a9b3becad6cabdb0a4978a7d7164574a3e312417060a15202a36414c5664707d8a97a2adbabeb3a9998d807366564c41362a1e110500000a1724303d4a5763707d8a96a3b0bdd0dbe7e2d5c9beb3a994887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424b555e686e7a828e939fa2aab1b9bec4c9cfd4d4cfc9c6c4bdb9b7b4b1afb4aeacabacaeb4afb1b4b7b9bdc4c5c9c9c2bdb4aea59d948f82786d7884919eabb7c4d1d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000071019212a333b434b515961686e777f868e939d9fa7acb2b9bec5cacfd1cbc7c0bbb5aeaaa29f97918b837c736d665f585145413a312a211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d57616e7b86929fa8b2bcc5d0d5ccc1b7afa59e938f837b706b605c544d453f352f281f181009000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad1dce7d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787879196a0acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929994979a9ea1a8acaeb4b9bec5cdd7dddfd6d0c7c0bbafa39991847a6d665b50443d32271b0f050000000000000005121f2c3845525f6b7885929eabb8c5d1ccc0b3a6998d8073665a4d4033271a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006131f2c3845515c677885919eabb8c4d1ccbfb3a6998c807366594d4031261b0f00000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995aab4bfbfb4aa94877b6e6154483b34404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b574d42372b1e1206000000000815222f3b4855626e7b8897a2adbac6d3cbbfb2a5988c7f7265594c3f2e23170b030d1925303a4653606d7985929fabb8c3b7aa9d908477685e5246392d20130700000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545d676e7a8390949ea5aeb4bcc2c9cfd5d7cec8c5beb9b8b2adaba8a4a2aaa29f9e9fa2aaa2a4a7abadb2b8b9bdc4c8c6bfbaafa69f948d80747784909daab7c3d0d7cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000070f182129313940454f565e656c727b828990959ea0a8adb3babec5cad0d1cbc6bfbbb4aea9a19e95908780796f6a625b514c433c332b231a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313b46535f6973808c96a0aab4bec7d2d3c9c1b7afa59e9590857d746d665f575045403a312a221b12060000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693aab4bfcbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b9894949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949ea0a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888a8e91969a9fa2aaadb3bbc2ccd2d9e2d9d2cbc0b5aba1968f82786c60594f43382c21170b0000000000000006121f2c3945525f6c7885929fabb8c5d2cdc0b3a79a8d8074675a4d4134271a0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac978a7e7164574b3e3124180a00000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcbaaea39886796d6053463a35414e5b6874818e9ba7b4c1ced0c3b6aa9d9083776a5d504431261a0e02000000000613202d394653606c7985929fabb8c5d2cdc1b4a79a8e817467544a3f34281c100308131f2c3845515c6674818e9aa7b4c1b8aca095877a6d6154473a2e21140700000c1926323f4c5965727f8c98a5b2bfcbd8e5ded1c5b8ab9e928578675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a44505c666d798390959fa6afbabfc6ced5d8d1cbc3bcb8b3adaba8a19e9b98959498929192989495979b9ea1a8abadb2b8bcc3cac1b8b0a69d928b7e7783909daab6c3d0d8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000060f171f272f343e444c535b60696e757c838a91969ea1a9adb3babec5cbd0d1cbc6bfbab2ada79f99928c837c726d605d554d453d352b231a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d79849198a2acb6c0ccd2d3c9c1b7afa7a097928880796e69625a514b433c342d2417110a02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a3aebac7d3e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0aaacb2bac4ced9e5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea2a9b0bbc0c7d0d9e1dcd1c7bdb2a99f948c80736b6054483e33281c100400000000000006131f2c3946525f6c7985929facb8c5d2cdc0b4a79a8d8174675a4e4134271b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222f3b4855626e7b889aa4afbbc8d4c8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdb8ac9f928579665c50443835424e5b6875818e9ba8b4c1cecfc2b6a99c8f8376695c504336291d09000000000005121f2b3744505b6576828f9ca9b5c2cfd0c3b6a99d908376665c5044382b1f120604101c2834404b5464717e8a97aab4bfbcb1a796897c706356493d3023160a00000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444f59606d78828f95a0a7b0b8c1cad0d8d5cfc6bfbab1aca9a19e9996918e8b8887868585858687888b8e9196999ea1a9abb1babec5c2b8aea49f92867a83909ca9b6c3cfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000050d151d2329323b414950575f616b6f767e848c92979fa2a9aeb3babfc6ced5d0cac4beb9b1aba39f9591867f756d675f574f473d352c231a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b45515d676e7c86929aa4afbbc0c7d0d3c9c1b9b1a9a19a938d837b716c605d554e463e3628221c140b020000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b676d6e7174787b80868c92979fa6afb5bdc7cfd9e3d9cfc4bbb0a69f93887c6f63594f44382c20160a00000000000005121f2b3744505b657986929facb9c5d2cdc1b4a79a8e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1724303d4a5763707d8a96acb6c0ccd2c6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdb8ab9e9285786b5f4a3f3434414e5b6774818e9aa7b4c1cdcfc3b6a99c908376695d5043362a1d060000000000030f1b27333f49536673808c99a6b3bfced2c5b8ac9f9285796d6053463a2d201307000c18232e3b4855626e7b8898a2aebabeb2a5988b7f7265584c3f3225190800000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56606b74808d949fa7b1b9c2cad6dbd3cbc3bcb4aea7a09d97928c8884817e7c7b7a7978797a7b7c7e8184888c91969d9fa7adb3bcc1c0baaea2988e81828f9ca9b5c2cfd9ccbfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000030b121820292f383f444d535960636c71797f858c92979fa2aaaeb4bcc1c9ced6cfc9c2bdb5aea7a098928b82796e6960594f473e352c23190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a707e88939fa3afb6bec5ced3cbc3bbb3aca49f9590867e756d675f58504840332d261d140b0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5f6c7885929fabb8c5d2dedacdc0b4a79a8d8174675a4e4134271b0e000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebababababababababababababababababababababababababababababababababababababababababababababababac4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d555d60616467696e737a7f858f949fa4abb5bdc7d1dce1d6cdc2bbafa49a9083766b6155483d32271b0f0100000000000613202d394653606c798699a3aebbc7d3cec1b4a79b8e8174685b4e4135281b0e02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000c1825323f4b5865727e8b98a5b1bed2d1c4b7ab9e918478675d5145382c1f130600000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beb7ab9e9184786b5e51452e34414d5a6774808d9aa7b3c0cdd0c3b7aa9d9084776a5d51442e23170b0000000000000b17222d3d4a5763707d8a96a8b2bdc9d3c6baaea298887b6f6255483c2f221507000713202d394653606c7985929facb8c0b4a79a8d8174675a4e413025190d01000e1a2734414d5a6774808d9aa7b3c0cddae6dcd0c3b6a99d9083766a5d5043372a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c3945525d68707d88939fa6b0b9c3cbd4dbd3c9c1b9b1aaa39f95908b85807b7875716f6e6d676b676d6e6f7174787b7f848a90959fa2a9b0bbc0beb4aa9f938784919eaab7c4d1d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000001070e171d262d333c42464f545a61666d727a7f858c92989fa3aab0b9bdc4cbd1d5cfc6bfbbb1aaa39f948f837b6f6b60594f473e352b22180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434e58616c727f8b919fa4acb3bcc3ccd6cdc5beb6afa7a098928b81796f6a615a51443f382f261d140a00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000b17222d46525f6c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4134271a0e000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dad4cfcccbc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d1d2d5d9e0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514b51545557575f61686d737b828c9399a3abb5c0cbd7dcdfd8ccc0b6ac9f948a7d7063584e43372b1d130700000000000713202d3a4653606d798693a0b5bfcbd7cec1b5a89b8e8275685b4f4235281c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcfc2b5a89c8f827569554b4035291d100400000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e51443734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a3f34281c100300000000000614212e3a4754616d7a8796a1acb9c5d2cabfb4aa978b7e7164584b3e2e23180c0006121f2b3844505b667683909da9b6c3b6a99c90837669564c41362a1d1105000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d7a84919aa4afb8c2cbd5dcd3c9c1b7afa7a098928c837e79736e6968656261605d555c6061626468696e73797e838b92979ea6afb6bebbafa499939196a0acb9c5d2d9cdc0b3a69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000050b141b222731373d434850545c60676d737a80858d92989ea6acb2bbc0c7cfd6d1cbc3bcb4aea69e9591857d706b61594f473d342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46505a626d727f8b939aa2aab2bac1cad0d0c7c0bbb1aaa29f938e837c716c635b504a42382f261c1106000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0f4ece5dfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dddee1e5ebf2f8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686e787f879299a3afbbc0cad4e2ddd2c7beb0a69d9083776a6054473a2f24180d01000000000714202d3a4753606d7a8693a0adb9d1dccec2b5a89b8f8275685c4f4235291c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cecdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfb6aa9d9083776a5d504437333f4c5966727f8c99a5b2bfccd2c5b8ab9f928578665c5044382b1f120600000000000713202d3946525e687884919eabb7c4d1d0c0b4a79a8d817467544b4034281c1004030f1c28333f4a546774818e9aa7b4c1b8ab9e928578685e5246392d201307000e1b2835414e5b6874818e9ba7b4c1cedae7dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313a46535f6974808d96a1acb6c0cad3ddd4cac1b7afa59e9590867f78716d67615f5758555453514b5153545558575f61666d71777e858f949fa4acb5bdb5aba49f9ea0a8b2bdc8d4dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000020a11171f262b32383e424b51555d60686d737a80868f949ea1a8afb5bdc4ccd7d7cfc6bfbab0a7a09792867d706b61594f463c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343e47515b626d727f889298a0a8afbabec5ced2ccc3bcb4aea59e9591867e736d605b544a42382d221711080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d4e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe3dbd4cfcccbc8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42464c52565e666c737e87929fa4aeb8c2d0d9e4d9d0c2b8aba095897c6f62554b4035291d1104000000000714212e3a4754616d7a8794a0adbac7d3cfc2b5a89c8f8275695c4f4236291c0f03000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000003101c28343f4a546a7784909daab7c3d0cbbeb1a4988b7e7165584b3e322518070000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e514437313e4b5764717e8a97a4b1bdd0d2c6b9ac9f9386796d6053463a2d201307000000000005111d2a36414c566875828f9ba8b5c2ced0c3b6a99d908376665c5145382c1f1306000b17222d3f4c5865727f8b98a5b2beb9ada297877a6d6154473a2e211407000f1b2835424e5b6875818e9ba8b4c1cedbe7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8b2bec7d2dcd5cbc2b8afa59e938e837c726c66605c55534d4b4948474540454748494b4d53545c60646c717b828b939aa4abb5bdb5afacaaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000000000000000000000000000000000000060b141a21272c303940454b51565d60686d737b828a91969fa3abb2bac1cbd1d8d1cbc1b9b1a9a29892867d706b60584e43392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222c353f49515b626d727d8691969ea5aeb3bcc2cbd1cec6bfbaafa8a098928b7f746c665b544a3f3328231a0e0500000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3ede3d9d1c9c4c0bfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2e31363a41464d545b606c727f8b929ca6b0bec7d2dde2d4c8bcb1a79b8e8174675d5145392c201306000000000814212e3b4754616e7a8794a1adbac7d4cfc2b6a99c8f8376695c504336291d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505c667885929fabb8c5d2c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1beb7ab9e9184786b5e51452e303d495663707c8996aab4bfcad4c8bbafa49a877a6d6154473a2e2114070000000000010d192530404c5966737f8c99a6b2bfcfd2c5b9ac9f9286796d6053463a2d20130700061724313e4a5764717d8a97a4b0bdbeb3a995887b6e6255483b2f221508000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975818e99a3aebac4d0d9d9cec3b9b0a69e938e81796f6a605b54514b46423e3c3b3a3835383a3b3c3e42464a51535a62696e757f889399a3abb5c0bbb9b7b9bdc3ccd5e0dacec1b4a79b8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454c52565d60696e757d848d9299a1a8b0bbc0c7cfd8d7ccc3bbb3aaa29892867d6f6a5f554b40342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232d373f49515b626b707c848e939fa2aab0bbc0c7cfd0cac1bab1aaa29f918c80786c665b50443f352c20170c02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebad1dce8d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d181d202122262a30353b424a5059626d73808d949facb6c0ccd8e2d9cdc3b8ac9f92867a6d6053473a2d201409000000000815212e3b4854616e7b8794a1aebac7d4cfc3b6a99c908376695d5043362a1d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000713202d3a4653606d798698a2aebac6d3ccc0b5ab95887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdb8ab9e9285786b544b40342f3b4855626e7b8898a2aebac6d3ccc0b6ac96897c6f6356493c30231608000000000000081724303d4a5763707d8a96a8b2bdc9d3c7baaea399887c6f6255493c2f221608000a1623303d495663707c8996a3afbcbcafa295897c6f6256493c2f231609000e1a2734414d5a6774808d9aa7b3c0cddae6dccfc3b6a99c908376695d5043362a1d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb5bfccd6e0d4c8bcb1a79f948f81786d675f58504a45403936312f2e2d2c292c2d2e2f31363940444650575e616d727e879299a3afbbc1c6c4c5c8ced5dee7dacec1b4a79b8e8174685b4e4135281b0e000000000000000000000000000000000000000000000000000000000000000000040a0c151d23282f353a41454c52575f616c7079808791969ea6afb5bdc6cfd8d5cdc5bcb4aaa29892857c6e675c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d373f495159616a6e7a818a92989fa6afb5bdc5cdd6ccc3bcb4aea49c928d81786c605b51473e32291e1308000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d7cabeb1a4978b7e7164584b3e3125180b000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1abacb2bac4cedae5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111070d111314151a1e24292f383f44515b606c77828f9aa4afbbc6d1dce0d3c7baaea3988a7d7064574a3d31261a0e020000000815222e3b4855616e7b8894a1aebbc7d4d0c3b6a99d9083766a5d5043372a1d1004000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212d3a4754606d7a8793aab3becad4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdb9ac9f928679665c5145382d394653606c7985929facb8c5d2d2bfb2a5988c7f7265594c3f3024190d0100000000000714212e3a4754616d7a8796a1adb9c5d2cbbfb4ab988b7e7265584b3f2f24190d010915222f3c4855626f7b8895a2aebbbcafa396897c706356493d3023160a000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbdc6d1dfd7cec6b8aca0958f82786d665c554e443f38342e2a262221201f1d1f202122262a2e34383e454d525b626c717e87929fa5afbac4ced2d4d9e0e7e7dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292f353a41454d535961676d737d848f949fa3abb4bdc6ced7d7cec6bcb4aaa2979083796d60594f443a3024190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f474f575f686d757e8590949fa3abb3bbc3ccd4cec6bfbaada49d938d80746d635a50443a3025190b020000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc4b8ada39b9895959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040607090e13191d262d333f44505b656f7c87939fabb4bfcbd7e3d6cbbfb4aa9b8e817468574d42362a1e12050000000815222f3b4855626e7b8895a1aebbc8d4d0c3b6aa9d9083776a5d5044372a1d1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000814212e3b4754616e7a8794a1adbad0d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcbaaea39886796d6053463a2d3844505b6676838f9ca9b6c2cfcec1b4a89b8e817568564c4135291d110500000000000713202d3946525e687884919eabb8c4d1d1c1b4a79b8e817468564c4135291d11040815222e3b4855616e7b8894a1aebbbdb0a3978a7d7064574a3d3124170a000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0cfd8dbd0c6bcafa59d9083796d665c544b433c332d28231d1a1615141310131415161a1c23282c333b4246515a626c717e8b939ea8b2bdc9d5dee5ebf1e6dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000070c13181e242930353b42464f555d606b6f7a828c9299a3abb4bcc5ced7d8cfc6bcb3a9a0958d80736b60564c4135291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b242d353e454e565d606c717b828c9299a1a9b1b9c2cbd4d0cabfb6aea59d928c7f726c61564c41362a1d140a0000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e1d5c9beb3a995887b6e6255483b2f221508000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918c88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f4953606a75818e99a3aebac7d3e0dcd0c5b8ab9e928578695f53463a2d2114070000000916222f3c4955626f7c8895a2afbbc8d5d0c4b7aa9d9184776a5e5144372b1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222e3b4855616e7b8894a1aebbc7d1c5b8ab9e928578665b5044382b1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a9b3bebfb4aa94887b6e6155483b2e333f4a546673808d99a6b3c0ced1c4b7aa9e918477685d5246392d201509000000000005111e2a36414c566975828f9ca8b5c2cfd0c4b7aa9d918477685d5245392c2013070815212e3b4854616e7b8794a1aebabeb1a4978b7e7164584b3e3125180b000c1926333f4c5966727f8c99a5b2bfccd8e5ded1c5b8ab9e928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a97a1adbec7d2e1d6cabfb4aa9e93897c6f675d544b42393028221c18120e0908070604060708090e12181c202930363f48505a626c75818e96a1acb9c2ccd8e3eff3e6d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191e242931363e434b515960686d757f879299a2aab4bcc5d0dbd8cec5bbb1a79f93887d70685d52463a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333c434c525a61696e7880879297a0a7b1b9c2cbd5d6c8c0b7aea49f93887d70685e52463e2f261b110600000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818e9aa7b4c1cddadfd2c6b9ada19786796d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a5988c7f7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b84919eabb7c4d1deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ada197887b6e6155483b2e2215080000000916232f3c4956626f7c8995a2afbcc8d5d1c4b7aa9e9184776b5e5144382b1e1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000915222f3c4855626f7b8895a2aebbc8d0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9bcb0a396897d7063564a3d302d3d4a5764707d8a97a8b2bdc9d2c5b9aca096877a6d6154473c31261a0e0200000000010d192530404d5a6673808d99a6b3c0ccd2c6b9ac9f93867a6d6054473a2d2114070714212e3a4754616d7a8794a0adbabeb2a5988b7f7265584c3f3225190c000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774808d9aa9b2bed0d9dfd3c6baaea2988e81756b60554b423930271e17110c070000000000000000000000070c10171f252a363f48505a606d7a84919ea6b0bbc7d3dfeaf5e6d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000200000000000000000000000000000001080d13191f262a313940454f565d616d727e879298a2aab4bfcad6dcd7cdc3bbafa49a91847a6d61564c41362a1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212a313a414550575e666d737d8591959fa7b1b9c3ccd6d2c9c0bbafa49a92857a6d615a5041382d22170b00000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d0ddded1c5b8ab9e928578675c5145382c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3c46535f6975828f9ca8b5c2ced9e2d5c9beb3a9978a7e7164574b3e3124180b000000091623303c4956636f7c8996a2afbcc9d5d1c4b7ab9e9184786b5e5145382b1e1205000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d0c3b6aa9d9083776a5d50442d22170b000000000000000000000000000000000000000000000000000000000613202c3945515d677885929eabb8beb2a5988b7f7265584c3f2d2e3b4754616e7a8796a1acb9c5d2c8bdb2a8988b7e7165574e42372b1f14080000000000081824313e4b5764717e8a97a4b1bdcad4c8bbafa49a897d7063564a3d302317090814212e3b4754616e7a8794a1adbabeb2a5988b7f7265584c3f3225190c000a1723303d4a5663707d8996a3b0bcd0dbe6e2d6cabeb3a995887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919daab7c4cfdddfd2c5b8ac9f92867b6e61594f433930271e150c06000000000000000000000000000000050d141a242d363f45525d68707d89949fabb7c3cdd8e4f0e5d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000030607090c0f0c0b09060100000000000000000000000002080d141a1f272f353d444c525b626c707d869298a2aebac0cad4dfd8ccc0b6aca1968d8074685e5246392f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181f282f353e454d545c606b6f7b8390959fa7b1bac4cfd9d8ccc0b6aca1978f81756c6153493f33271b0f03000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdcd0c3b6a99d9083766a554b4034291c1004000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164626262626262626262626262626262626262626262626262626262626262626262626262626262626262626b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765727e8b98a7b1bcc8d4e0dacfc0b3a79a8d8074675a4d4134271a080000000a1623303d495663707c8996a3afbcc9d6d1c5b8ab9e9285786b5f5245382c1f0600000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d0c3b6a99d9083766a5d5043372a1d060000000000000000000000000000000000000000000000000000000004111d2935414c556a7683909da9b6c0b3a79a8d807467544a3f332d3946525e687884919eabb7c4cfcec3b6a99d9083766a5f53473b3025190e05000000000916222f3c4955626f7c8895a2afbbc8d8ccc0b6ac998c7f7366594c4031261a0e0815222e3b4855616e7b8894a1aebbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a9b3becad6e2e6dbcfbcafa396897c706356493d3023160600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded5c9bdb2a8998d8073695e52473d31281e150c0300000000000000000000000000000000000209121b242935414c56606b76828f9ca7b1bcc8d4e3eee5d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000406060b10121316191c191816120d070000000000000000000000000003090d151d2429323a4146515a616b707d86929fa4aeb8c2cfd9ddd2c7beb2a99f92867a6d61554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960696e7a839095a0a8b2bdc7d1dcd2c7beb3a99e938a7d71655b5044372b1f150a000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3e0dacec1b4a79b8e8174685b4e412f23180c00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645755555555555555555555555555555555555555555555555555555555555555555555555555555555555e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b1a26313b4854616e7b8795a0acb8c5d1dedbcfc2b5a89c8f8275695c4f422f24190d0100000a1723303d4a5663707d8996a3b0bcc9d6d2c5b8ab9f9285786c5f52452e23170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000010d19242f424e5b6875818e9ba8b4c1b5a99c8f8276665b5044382b36414c566875818e9ba9b3bec9d1c4b7ab9f95887b6e62564d41362a20170d04000000091623303c4956636f7c8996a2afbcc9ddd2c2b5a89c8f827569574d42362a1e120915222f3c4855626f7b8895a2aebbbdb1a4978a7e7164574b3e3124180b000714212d3a4754606d7a8797a2adbac6d3dfe4d8cbbeb1a5988b7e7265584b3f2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b1bdc8d4ded2c5b9aca196887c6f62574d42352b1f160c030000000000000000000000000000000000000000091219242f3a444f5963707d89959fabb8c7d2dde8e4d7cabdb1a4978a7e7164574b3e3124180b00000000000000000000010407070c101314171c1f202226292525221e1811090100000000000000000000000000030b1218202830353f485059606b717e8a929ca6b0bdc7d1dcd9d0c4baaea2988c8073675d5145392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f575f686d7a839096a1abb5c0cbd7d9d0c5bbafa59d9083786c6053463c31261b0f030000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000004101c2934404b5565727e8b98aab4bfcbd7e3d7cbbfb5ab988b7f7265584c3f3225190700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a484848484848484848484848484848484848484848484848484848484848484848484848484848515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000914212d3a46535e697783909daab7c3d0ddddd0c3b7aa9d9084776a554c4135291d110400000a1724313d4a5764707d8a97a3b0bdcad6d2c5b8ac9f9285796c5f4a3f34281c1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000008192633404c5966737f8c99a6b2bfb8ab9f9285796c605346392d303d4a5764707d8a97a1adb9c7d2c7bcb1a7998d8073685e52463d32291f160d0806080e1724313e4a5764717d8a97a4b0bdcad7d1c5b8ab9e928578695f53463a2d21140916232f3c4956626f7c8995a2afbcbdb0a3968a7d7063574a3d3024170a000613202c3945515d677885929fabb8c5d2dee7dacdc0b4a79a8d817467544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfced9ded1c4b7ab9e9184786a5f54453b3023190d040000000000000000000000000000000000000000000008131e28323d4854606b7783909dabb5c0ccd7e3e3d6c9bcb0a396897d7063564a3d3023170a000000000000000102080d111314181d1f2023282b2d2f323532312e29231b1309000000000000000000000000000001070e161e2429363e474f59616c73808d949fabb5c0cbd7e2d6cabfb4aa9e9285796d6053473a2f24180c0000000000000000000000000000000000000000000001040607080806020000000000000000000000000000000001080f171e262e343d454d565d686e7a849199a3afbbc4ced9d6cdc1b8aca0958a7d7064584e43372b1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2d1dce0d3c7bbaea399897c6f6256493c2f23160900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cddadfd2c5b8ac9f928579675d5145392c20130600000b1724313e4a5764717d8a97a4b0bdcad7d2c6b9ac9f938679665c5044382b1f1206000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdbaada297887b6f6255483c2e2d3a4653606d7985919eacb6c0cccdc2b8ab9f92857b6e61594f443a31281f1914131419202a36424d5766737f8c99a6b2bfccd9d2c6b9ada197887b6e6155483b2e2215071724313d4a5764707d8a97a3b0bdbcafa396897c706356493d3023160a0004111d2935414b556a7784909daab7c3d0dde9dcd0c3b6a99d908376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd7ccc0b5ab9a8d807467584e4333291f10070000000000000000000000000000000000000000000000010c16202c38444f5964717e8a99a4afbbc7d4e0e3d7cbc0b5ab95887b6f6255483c2f221509000000000000060d1213191d202124292c2d2e34383a3c3f423f3e3a342d251b1107000000000000000000000000000000040c1319242c353d47505a606d78828f99a3afbbc6d0dbdbd0c6b9ada2978b7f7265554b4035291d1004000000000000000000000000000000010507070a080d1113141514120f090300000000000000000000000000000000050c141c2328333b444c565e686f7d87929fa8b2bdc9d5dfd4c8bcb1a79d9083776a5f53473a2e2115090000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000020e1a2531404d596673808c99a6b3bfccd9dfd3c6baaea298877a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7d4c7bbafa49986796d6053463a2d201307000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8beb3a9988b7e7265544a3f342c3844505c6673808d9aa4afbbc8d3c6baaea2988e81756b60564c433a312a252120212429323b46525e697683909da9b6c3d0dcd5c9beb3a9978a7e7164574b3e2f23180c1925323f4c5865727f8b98a5b2bebeb3a995887b6f6255483c2f22150900010d18242f424e5b6875818e9ba8b4c1d2dde8dfd2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0ddd4c7bbafa499897c6f6356493c3223170d00000000000000000000000000000000000000000000000000040d1c27333d4754606d7a86939facb9c6d2dfe0d3c7bbafa399877a6d6154473a2e21140700000000010911181e1e24292c2d2f35383a3d3f4446494c4f4c4a463f372d23180d010000000000000000000000000000000208121a232c353e44505c666e7b87929faab4bfcad6e2d6cabeb3a99c908376675d5145392c1f1306000000000000000000020507080a080d1113141618191d202122211f1a150e0600000000000000000000000000000000020a11172129323a444c56606b737f8c96a0acb9c4cfdad9cec3b8aca095887c6f6255483c31261a0e0200000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8998a2aebac6d3e0ddd0c3b6aa9d908377675c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242222222222222222222222222222222222222222222222222222222222222222222b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091825323f4b5865727e8b98a5b1becbd8e2d6cabfb4aa94877a6e6154473b2e21140800000b1825313e4b5864717e8b97a4b1becad7d7ccc0b5a093867a6d6053473a2d201407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c1b4a89b8e8175665c5044382c343f4a54616e7b87939facb9c3d0cabeb3aa9e93897d70685e554c433d36302d2d2d2f353c444e58616e7b87939facb9c6d2dfdacfc0b3a79a8d807467554b4034291c101a2734404d5a6773808d9aa6b3c0b9ada197867a6d6053473a2d2014070000071926323f4c5965727f8c98acb6c0ccd8e4e0d3c7baaea298887c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000b16202c3945525d687783909daab6c3d0dddfd2c5b9ac9f9286796c605346392d2013060000000009131b23292e3035393a3d404547494a505355595c585651493f34291e1206000000000000000000000000000000000008111a2328343f4a545f6974818e98a2aebac7d3e0dbcfc5b9ac9f92867a6d6053473a2d2014070000000000000003090e1214151719191e2021232524292c2d2f2e2b2620180f060000000000000000000000000000000000060f172028323b444f59606d7984919ea8b2bdc9d5dfd4c8bcb1a7998c807366574d42362a1e120500000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a13202c3945525d6874818e9baab4bfcad6e2d6cabeb3aa9a8d807467554b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417151515151515151515151515151515151515151515151515151515151515151e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e7dbd0bbaea194887b6e6155483b2e22150800000b1825323e4b5865717e8b98a4b1becbd7ddd2baada093877a6d6054473a2d211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d0c3b6aa9d9083776a5d5044372a1d06000000000000000000000000000000000000000000000000000000000005111e2a36414c566774818e9aa7b4c1b8ab9e9285796d6053463a2e2e3846535f6976828f9ca7b1bec7d0c5bcafa59e91847a6d675d554e46413c3a393a3b41454e565f6a74818d99a4afbbc7d4e0dcd0c3b6a99d908376675c5145382c1f131d2935414c566875828e9ba8b5c1b8ab9e928578675d5145392c20130600000a1623303d495663707c899aa4afbbc8d4e0e2d6cabfb4aa998c7f7266554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2ddd1c4b7aa9e918477675c5145382c1f1306000000000000000000000000000000000000000000000000000004111d2935414c566773808d9aa6b3c0cdd9ded1c4b8ab9e918578655b5044372b1f120500000006111b252d343a3a4145474a4b515356545c6062656865625b51463a2e221609000000000000000000000000000000000000081117232e38424d57616e7b86929facb8c5d1dce0d3c7baaea399897d7063564a3d30231706000000000000050d141a1e20212325252a2d2e30322f35393a3b3a37312a21180e030000000000000000000000000000000000060d162029323d45515c67717e8a96a1adb9c5d2dfd9cdc3b7aa9d908377695f53463a2d21140700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d0dbdfd3c6baaea298897d7063564a3d2e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0808080808080808080808080808080808080808080808080808080808111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1925323f4c5865727f8b98a5b2becbd8d3c7baada094877a6d6154473a2e211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d1c4b7aa9e9184776b5e51442d22170b0000000000000000000000000000000000000000000000000000000000010d1925303e4b5864717e8b97a7b1bcb9ada197897d7063554b40342a36424d5764717e8a95a0acb6c0cccec1b9aca0969083796d676058524c48474647484c52585f686f7c87929fabb5c0ccd7e3dfd2c5b9ac9f9286796d6053473a2d2014202c3945525d687784919eaab7c3b6aa9d9083776a554b4035291d110400000714212d3a4754606d7a86939facb9c6d2dfe7dbd0c2b6a99c8f8376675d5145392c20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000713202d3a4653606d798698a3aebac7d3dccfc2b6a99c8f837669554b4034281c10040000000000000000000000000000000000000000000000000000010d1924303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c9083766953493f33271b0f030000010d18232d373f464a4c525457555d606366666d6f7275726d62564a3e3125180b0000000000000000000000000000000000000006111c26303c46525e6975818e9babb5c0cbd7e3d7cbbfb4ab998d8073665a4d402d22170b0000000000080f171f252a2d2e30323036393a3d3f414145474847433c332a201509000000000000000000000000000000000000040e17202834404b55606c7884919eabb7c4d0dbded1c5b8aca095887b6e6155483b2e22150800000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000b17222d3744505b65727e8b98a2aebac7d3e2ded2c5b8ab9f9285796d6053463a2d2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1926323f4c5965727f8c98a5b2bfcbd8d4c7baaea194877b6e6154483b2e211508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d1c4b8ab9e9185786b5e4a3f33281c0f0300000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959fabb8beb3a99b8e8174675c5145382c313b4653606d7983909aa4afbbc5cfc8bdb2a8a0959082796f6a615e565554535455565d606a6f7a849199a3aebdc7d2dce2e0d3c7bbaea399897c6f6256493c2f2316212d3a4754606d7a86939facb9c1b5a89b8e8275685b4f422f24180d0100000613202c3945515d677784919eaab7c4d1dce8dfd2c5b9ac9f92867a6d6053473b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070f0706040000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcbd6dbcec1b5a89b8e8275685b4f422e23180c00000000000000000000000000000000000000000000000000000000081623303d495663707c8996a3afbcc9d6dacdc0b4a79a8d8174675a4e412d22170b00000006121e29343f495156565d606366676d707376797c7f827f7265584c3f3225190600000000000000000000000000000000000000000a141e2a36424d5764717e8a99a3afbbc7d3e0dcd1c3b6a99d9083766a544a3f33281c0f0300000008121a212930363a3b3d3f41414647494b4d4c525455534e463c31261a0f01000000000000000000000000000000000000050e18232e3944505b6673808d99a9b3becad6e0d4c8bcb1a7978a7d7164574a3e3124170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000060f1c28333f4a54606c7883909daab4bfcad6e2d6cabfb4aa9b8e8275665c5144382c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000c1926333f4c5966727f8c99a5b2bfccd8d4c7bbaea194887b6e6155483b2e221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c5b8ac9f928579665b5044382b1f120600000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909dabb5c0b8ab9f9285796d6053463d322c3844515c666f7c88939fa9b3bec9cec3bab1a79f9490847c736d6864626060606264686d737c849196a1abb5bfc7cbd1d8e1d7cbbfb5ab988c7f7265594c3f30251a23303d495663707c899aa4afbbc0b5ab998c7f7266594c3f3326190700000004111d2935414c556874818e9babb5c0cbd7e3e0d3c7bbaea3998a7e7164564d41362a1c120700000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b1413100c07010000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dcdacec1b4a79b8e8174685b4e4135281b07000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d8cbbeb2a5988b7f7265584c3f322519060000000916222e3a46515b6265686d7073767a7c7f8285888c8e8174685b4e412d22170b0000000000000000000000000000000000000000020c1a25303b4754606d7a86929facb9c5d2dfded1c5b8ab9e928578665b5044382b1f1206000005101a242c333b4246484a4c4e4c525456585a565d60625f584e43372b1d13070000000000000000000000000000000000000007121d28333f4a54626f7b8897a2adbac6d3dfd9cebfb3a6998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000060f1a232b3844505b66717e8a95a0acbcc6d0dbe0d3c7baaea2988a7e7164544a4034281c10040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb3a994877a6e6154473b2e21140800000d192633404c5966737f8c99a6b2bfccd9d4c8bbaea195887b6e6255483b2f221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815212e3b4854616e7b8794a1aebac7d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c99a4afbbbaada2978a7d7164594f44382c34404a54606b74818e97a1adb9c1cbccc3b9b0a69f969187807a75716f6d6c6d6e71747a7f869196a0a8b2bab9babfc6cfd6dcd1c1b5a89b8e827568574d42362a1e2935414c5666727f8c99acb6c0bbafa399897c706356493d3023160a000000010d19242f3e4a5764717e8a99a3afbbc7d4e0e3d7cbbfb5ab9c8f8275685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202128201f1d18120b0300000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000003101c28343f4a546774818e9aa7b4c1cddad6cabeb3a996897c706356493d3023160a0000000b1824313e4a56626d72777a7d808386898c8f9298988f83766953493f33271b0f0300000000000000000000000000000000000000000914202c3945525d687783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d20130600000c17222c363e454d525456585b565e6163656769686d6e6a5f53473a2f24180d01000000000000000000000000000000000000000b17222d394653606c7985929fabb8c5d2dedbcec2b5a89b8f8275685c4f4235291c0700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000040d18212935414c56606c7883919da7b1bcced8e2dfd2c5b8ac9f92867a6d6054473a2e23180c000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9dfd3c6baada297867a6d6053473a2d20140700000d1a2633404d596673808c99a6b3bfccd9d5c8bbafa295887c6f6255493c2f221609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000d192633404c5966737f81818181818181818181818181817c6e6255483b2f221508000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212e3a4754616d7a8794a0adbacfd4c8bbafa49a877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000020e1a25313b4754616e7b87939facb9beb3a99d9083766b6054483c312e39424f59606d7a85929ea5afb9c3cccbc2b8b0a8a099928d86827d7c7a797a7b7e81858c9298a0a8b2b4aeacaeb4bdc4ccd6d1c4b7ab9e918478695e52463a2d202d3946525e687683909ca9b6c3b9ac9f92867a6d6053473a2d201407000000000814212d3a4754606d7a86929facb9c5d2dfe7dcd1c5b9ac9f92867b6e61544a4034281c1106000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292d2e352d2c29241d150d04000000000000000000000000000713202d3a4653606d798699a3afbbc7d4dbcec1b4a89b8e8175685b4e4235281b0700000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0ddd2c6b9ada197877a6e6154473b2e2114080000000c1925323f4c5865727f83868a8d909299999c9fa29e918477655b5044372b1f1205000000000000000000000000000000000000000004111d2935414c566975828f9ca8b5c2cfdbe0d4c7bbafa499877a6d6154473a2e2114070005111c28333e4850575e6163656769686d70727476787a7c6e62554b4135291d11040000000000000000000000000000000000000006121f2b3744505b6576828f9ca9b5c2cfdcddd1c4b7aa9e9184776b5e51442f24180c00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000030d161f2a333c46525e68717e8b95a0acb9c3cee0e0d4c8bcb1a79a8e8174685d5245392c1c1207000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818d9aa7b4c0cddaded2c5b8ab9f928578675d5145392c20130600010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bcafa295897c6f6256493c2f231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e211408000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714202d3a4753606d7a8693a9b3bec9d5ccc0b6a194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000914202d3a46525e6976838f9ca9b3beb8ab9f95897c6f63584e43372b303d45525d68717e8a939ea7b1bac3cccac2bab2aba39f99928f8a88878687888b8e92989fa2aab2b4aba39fa3abb2bac4cfd2c5b9ada196877b6e6154473b2e212e3a4754616d7a86929facb9c3b7aa9d908377675d5145392c201306000000000713202c3945525d687683909ca9b6c2cdd8e4e0d4c7bbafa3998c7f72665c5144382d22170b0200000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a423a39352f271f160d0400000000000000000000000006131f2c3845515c677986929facb9c5d2dbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ded1c5b8ab9e928578685e5246392d2014070000020e1b2835414e5b6874818e939a999d9fa3aba9acac9f9286796c605346392d2013080000000000000000000000000000000000000000010d19242f414e5b6774818e9aa7b4c1cddae3d7ccc0b5ab95887b6e6255483b2f221508000814212d3945505a61696e70727476787a7c7e808285878478675d5145392c20130600000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddaded2c5b8ab9f9285786c554b4035291d1004000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000040d151f28313c454f59616d7a85929ea7b1bccbd5dfddd1c4b8ab9f95887c6f62564c4135291d0b00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000714202d3a46525e697783909daab7c3d0ddddd0c3b6aa9d9083776a554b4035291d100400010e1a2734414d5a6774808d9aa7b3c0cddad5c9bcafa296897c6f6356493c30231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000613202d394653606c798697a1adb9c6d2d2bbaea195887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000005111e2a36424d5665717e8b97a1adb9bcb1a79b8f82756a5f53473e312935414c56616c75818f95a0a8b2bac3cbccc3bdb5afaba39f9b979599939995979b9fa2aaaeb4baaea3999299a1a8b2bdc9d5c9bdb2a8978a7d7164574a3e2e2a36424d5764717e8a99a3afbbbeb3a99a8d807467554b4035291d11040000000004111d2935414c5666727f8c99a7b1bcc8d4e2e3d7cbc0b5ab9e9184796d60544a3f33281e13080000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474e4745403931281f160e05000000000000000000000004101c2834404b556c7885929fabb8c5d2dccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a2aebac7d3dbcec2b5a89b8f827568564c41362a1e11050000000d1a2733404d5a6673808d99a4aca9acaeb4b5b8aea399887c6f6255493c3025190d000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9e8ddd2bcafa296897c6f6356493c30231609000a1723303c4955616c717b7d7f81838587898b8d8f9196877a6d6054473a2d21140700000000000000000000000000000000000000000b17222d404d596673808c99a6b3bfccd9dfd2c5b9ac9f928679675d5145392c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000060d161f27313a434d57616b75818e97a1adb9c3cedddfd5c9bdb2a89d9083776a6054443a2f24190d00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b14212e3b4854616e7b8795a0acb8c4d1dedbcec1b5a89b8e8275685b4f422f24180d0100010e1b2734414e5a6774818d9aa7b4c0cddad6c9bcafa396897c706356493d3023160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006121e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f02000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505b667885929eabb8c5d1c9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7985929eaab4bfb9ac9f93877c6f625a5043392f303a44505a606d79839096a0a8b1b9c0c9cfc7c0bbb5aeaca8a4aba49fa4aba4a7abaeb3babfb4aa9f92869196a1adb9c5d1cbc0b3a69a8d807367544a40342d3a46535e6975828f9cabb5c0baada297897d7063564a3d2f24180d0100000000010d1924303b4855626e7b88959fabb8c6d0dbe7dcd1c7b9ada1968b7e71665b50443a3024190e040000000000000000000000000000000000000000000000000000000000000000020b1924303a444c52545b53514b433a312820170e0500000000000000000000000c18232e44515e6b7784919eaab7c4d1ddd1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b98aab4bfcad6d6cabeb3a9988c7f7265594c3f3025190d010000000c1925323f4c5865727f8b98a5b6b6b9babfc2bfb4ab998c7f7366564c41362a1d120700000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddae3d6c9bcb0a396897d7063564a3d3023170a000b1724313e4a5764717e87898b8e90929796989a9c9e95887c6f6255493c2e23180c0000000000000000000000000000000000000000061925323f4c5865727f8b98a5b2becbd8e0d4c7bbafa399867a6d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000002090f181f283139434c555f69707d8a939ea9b3becbd5dfd9cec5b9aca0968b7e7165584e4332281e130800000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765717e8b98a7b1bcc8d4e0d8ccc0b6ac998c807366594d4033261a070000010e1b2834414e5b6774818e9aa7b4c1cddad6c9bdb0a3968a7d7063574a3d3024170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000020d19232e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000030f1c28333f4a546a7683909da9b6c3d0cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000000000000000000000009141f2c3945515d6773808c98a2aebabbafa49a8f82766c61554b403529323e45515d676e7b849196a0a7afb9bec5cbcbc6bfbbb9b5b0b5afacafb5b1b4b8babec1baaea3988d8084919eabb7c4c1bfbbb6a99c908376665c51443835404b55616e7b87939facb9c5b8ab9f9285796d6053463a2d2013070000000000000814212e3a47535f6a7683909daab4bfcad6e2e3d5c9bdb2a89d9184786c60564c41352920160c02000000000000000000000000000000000000000000000000000000000000000a141d2935414c565d6168605d554c433a322920170f0600000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcd2c6b9ac9f9386796d6053463a2d201308000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca9b6c3d0dbd3c6baada297887c6f6255493c2f221608000000000a1724303d4a5763707d8a96a9b3bec5c7cbd1c3b6a99d908376685e5246392e23180c01000000000000000000000000000000000000030f1c28333f4a546875828e9ba8b5c1cedbe2d5c9bcafa296897c6f6356493c3023160900091623303c4956636f7c8996989a9c9ea1a9a5a7a9a4978a7e7164544a4034281c1004000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e3d7cbc0b5a194877a6e6154473b2e211408000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000001070c141a222a313a434b555d676e7b85929fa5afbbc5cfdde0d4c8bcb1a79e9184796d6053463c3220160c0100000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3846535e6975828f9ba8b5c2cdd9e0d4c8bbafa49a8a7d7063574a3d3024170a0000020e1b2835414e5b6874818e9ba7b4c1cedad6cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000007121c252e353b3e4042424242424242424242424242423b3a37312a21180e0300000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b17222d424f5b6875828e9ba8b5c1ceccc0b3a6998d8073665a4d402e23180c0000000000000000000000000000000000000000000000000000000000000004101d2935404b55616d7a86929fabb5bfb6ac9f948a7d70675d51453d322935404b555e696e7b8490959da5adb3bbbfc6cacbc7c5c2bdc0bbb9bbc0bec1c5c6bfbbafa59f92867b828e9ba8b5b7b4b5aeaca99f9286796d6053463a3845515d6773808c99a4afbbbeb2a99b8e8174665c5144382c1f120600000000000006121f2b37434e5865717e8b98a2aebac6d3dfe5dacfc4b8aca0968b7e71685d52453d32281e130800000000000000000000000000000000000000000000000000000000000006111b262f3846525d686d756d675d554c443b322921180f070000000000000000010e1b2834414e5b6774818e9aa7b4c1cddad4c7bbafa499897c6f6256493c3025190e020000000000000000000000000000000000000000000000020b14212e3b4854616e7b87939facb9c6d2ded2c5b8ab9f9285796c605346392d201306000000000814212e3b4754616e7b8797a1adb9c6d2d7d2c6b9ac9f93877a6e61554b4034281d120700000000000000000000000000000000000006121f2b3844505b667683909ca9b6c3cfdce3d7cbbfb4ab95887b6f6255483c2f221509000815212e3b4854616e7b8799a3a7a9abadb3b1b3b4a79a8e8174665c5144382c1f1509000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8dcd1baaea194877b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000003070d12181f252a343c434c555d676d79839197a2adb7c1cdd6e1d7cec5b8aca0958a7e71665c5145382c1f13040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ac9f93867a6d6054473a2d2114070000020f1c2835424f5b6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000000a131c232a2f323335353535353535353535353535352f2e2b2620180f060000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000061a2733404d5a6673808d99a6b3c0cccec2b5a89b8f827568544a4034281c1004000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6874808d99a3aebbbeb0a69e9184796d60594f443a2f2f39434d575e696e7a838e939ea1a9aeb5b9bec4c5c9cfd2ccc7c6c7ccc8c7c0bbb5aea59e938b7f727f8c99abacaaa8aba39f9d9a98897c6f6256493c414b55606d7985919eabb5c0b9ada1978a7d7064544a4034281c1004000000000000020f1a26313c4754606d7a85929facb8c1ccd7e3e0d4c8bdb2a89e92857a6d60594f443a302519130900000000000000000000000000000000000000000000000000000000060f17222d38414d57616d7a81796d675e564d443b332a2118100700000000000000000c1926333f4c5966727f8c99a5b2bfced9d7ccc0b5ab998c807366564c41362a1e110500000000000000000000000000000000000000000000000a141d2b37434e5865727f8c9aa4afbbc8d4d7cbc0b5ab9c8f8275665b5044382b1f1206000000000714202d3a46525e697885929eabb8c5d1ded4c8bbafa49a8b7f72675c5145392f24180f0600000000000000000000000000000000000613202d394653606c7985929eabb8c5d1dee0d3c7baaea399877b6e6154483b2e211508000713202d3a4653606d7986929facb6b8b9bebec0b8ab9e9285796d6053463c31261a0e05000000000000000000000000000000000007121e2b37424d576875828e9ba8b5c1cedbe0d4c8bbafa49a877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000105060b0f13181d232930363e464e555d676d79828f95a0a9b3bec9d3dfdbd0c5bcb0a69d9083786c60544b4034281c10040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f49535f6a74818e98a3aebac7d3e0ddd0c3b7aa9d908477685d5245392c2013070000020f1c2935424f5c6875828f9ba8b5c2cedbd7cabeb1a4978b7e7164584b3e3125180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000020b141b22272b2d323232323232323232323232323232302f2c27211911070000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b1825323e4b5865717e8b98a4b1bed1d0c4b7aa9d918477665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b86929fa9b2bdb9aca1968d80736b60564c41382d313b454d575e686e79818a92979fa3abadb3b8b9bdbebfc0c1c0c0bfbdb8b6afaba39f938e8175707c8999a4a09e9b989992908d8a887f7265584b3f45515d67727f8c97a1adbdbfb4aa9e9184796d6053463a2e23180c00000000000000000a15202c3945515d6774818e9ba6b0bbc6d2e2e5d9cec3b9ada1978d80746b60564c413529251b12060000000000000000000000000000000000000000000000000000060f182127333f49535f6974808d82796d685e564d453c332a22191008000000000000000a1724303d4a5763707d8a96a8b2bdc8d4ddd2c3b6aa9d908377685e5246392d20150b0000000000000000000000000000000000000000000006111c262f3847535f6a7783909dacb6c0ccd8d3c7bbafa3998b7e7265544a3f33281c0f030000000005111e2a36424d576975828f9ca8b5c2ced9d8ccc0b6ac9e9184796d60554b40352921180e0600000000000000000000000000000208101c28343f4a54626f7c8997a1adb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d2013070006121f2c3844515c667683909da9b6c3c6cacfc6b9ada2978a7d7063574e42372b20170d04000000000000000000000000000000050e19222e3a47535f697784909daab7c3d0dddfd2c6b9ac9f9386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060000040607070809080d1113171b1f24292f343b424650585f676d79828f949fa8b1bcc5d0dbded6cabeb3aa9f948a7d70665b5042392e23180c000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040707090e13191d262d333d44505b656f7c87939faab4bfcbd7e1d5c9bdb2a8998c807366564c4135291d11040000030f1c2936424f5c6975828f9ca8b5c2cfdbd7cbbeb1a4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000000a141d262d3337393e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b38322b23190f0500000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1623303d495663707c8996abb5c0cbd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6973808d96a1adb9bdb2a89f93877d70685e53493f3327333b454d565e676d747e858d92999ea1a9abadb2b2b3b3b4b4b3b2b2acaca49f99928c81786d6d7a86939696918e8b898683807e7b726d62564a424e58606d7a85929ea9b3bebaaea3988c7f73665c5144382c1c1207000000000000000004111d2935414b55626f7c88939eaab6c1d0d9e3e0d5c9beb3a99f93877d6f685e524640372d2417110a030000000000000000000000000000000000000000000000071018212a333c44505b656e7b879290837a6e695e574e453c342b221911080000000000000714212e3a4754616d7a8796a0acb8c5d1dfd2c6b9ac9f93877a6e6154473e30271c12070000000000000000000000000000000000000000040e17222d38424f59626f7c88959fabbec7d2ddd2c5b9ac9f92867a6d6154473a2d22170b0000000000020e1a25303f4c5865727f8b98a7b1bcc8d4ddd2c7b9ada1968b7f72675d51453e332a20181008020000000000000000000001040c1319262b3844505c6673808d99a9b3bec9d5e2ddd0c4b7aa9d918477665c5044382b1f12060004101c2834404a546774808d9aabb5bfcbd6d6cabeb3a99b8e81756a5f53473d32291f160c0500000000000000000000000000060e17202834404b54626e7b8895a0acb8c5d1deded1c4b8ab9e918578665c5044382b1f1206000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316121212121212070c10121314151618191d2022272b2f353940454d525a616a6e79828f949fa6b0bac3ced7e0d6ccc4baaea2988f82766b61544a3f30271d1207000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111080d111314151a1e24292f383f44505a606c77828f99a4afbcc6d1dcded2c5b9aca096887c6f6255493c2f24190d01000003101c2936434f5c6976828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006111b262f383f44464b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4948443d352b21160b00000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222e3b4855616e7b8899a3afbbc7d3c7bbafa399887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7984919ea6b0bcbbafa49991857a6d655b50443f362d333b444c555d606c717a80868d92979a9ea1a9a5a6a7a7a7a6a5a8a09e9a938f877f786d666777838c8a8784817f7c797674716e69625b51464a545f6a73808c97a1adbbbfb5ab9f92867a6d61544a4034281c0b000000000000000000010d18242f3a47545f6a75828f9ba6b0bdc7d2dde6dacfc5bbafa49991847a6d615c52493f3628231c150c060000000000000000000000000000000000000000030b1218222a333c454f59606c77828f999590837b6e695f574e463d342b23190e0500000000000713202d3946525e687784919daab7c4d0dcd4c8bbafa49a8b7e71645a5042392e23180e05000000000000000000000000000000000000030c162028333f4a54606b76828f9ca7b1bcd0d9d6cbbfb4aa9c8f8275685e5246392d1c11060000000000000915212e3b4854616e7b8795a0acb8c6d0dcd5c9bdb2a89e9184796d605a50453c322a2219140d070501000000000306070d11161e252935414c56606d7884919eaab7c4cfdae6dbcec1b5a89b8e827568544a3f34281c100300000c18232e3e4b5764717e8a99a3aebbc7d3dbcfc5b9ac9f92877b6e62594f443b31281e170e0903000000000000000000040a11172029323a45515c6673808d99a7b1bcc8d4e0dccfc2b5a99c8f827669544a3f34281c1003000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f181c1f202121232424292d2d33373a41454b51575e616c717c848f949fa6b0b8c2ccd5e0d7cec4bab0a69f92857b6e61594f42382d1e150b00000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d191d202122262b30353a424a5059626c73808c949fabb5c0cfd8e2d6cabfb4aa9e9184776a5f53473b2e1e130800000003101d293643505c6976838f9ca9b6c2cfdcd8cbbfb2a5988c7f7265594c3f3226190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000b17222d384149505358585858585858585858585858585856544f473d32271c1004000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000020e1a26313b45515d67717e8a949faab4bfb5aba1978f82776c605b51483e3627323b434b515a61686d737b80858a8e91969698999a9b9a99989696918d87827c726d665c65727f807d7a7775726f6d676764615f57514944505c666f7c86929fa9b3bebbaea3998e8174685e5242392e23180c0000000000000000000007131d2b37434e58626f7c88939eabb5c0ccd7e0e1d7ccc0b5aba1968f82756e635b51483f342e261e17110a030000000000000000000000000000000003090c151d2328343c464e57606b737f8c949f9f9591847b6e6a5f584f463d352b20170d020000000005111d2a36414c566874818e9baab4bfcbd6d8ccc0b6ac9d9083766c61544a40342820170d0400000000000000000000000000000000050c151e28323a44505b66707d89949fabb9c3cde0d3c7baaea3988b7e7164564c41362a1d0a000000000000000714212d3a46535e697784909daab4bfcbd6dacfc4b9ada1978d80736c61574d443c342a251f1813110d080d060c101213181d202830353f45525d68727e8b96a0acb9c5d2e1e1d5c9bdb2a8988b7f7265584c3f2e23170b0000000714212d3a4754606d7a86929facb9c5cfdad3c7bbafa3998f82756b61564c43393029201a140e09070604040607070c10141b2227323a444e58606d7984919eabb7c3ced9e2d6cabeb4aa9a8d8073675a4d402e23170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c23282c2d2d2e2f313035393a3f44464b51555c60696e757e8691969fa6b0b8c2cad4ded9d0c6bcb2a89e948b7e71695e52473e2f261c0c0300000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2f31373a41464c545b606b717e8b929ca6b0bdc7d2e1ded3c6baaea2988c7f7265584e43372b1f0c0100000003101d2a3643505d697683909ca9b6c3cfdcd8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00030f1b27333f49535b606565656565656565656565656565656360594f44382c201307000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006121f2c3844505c667884919eabb7c4d1d1bfb2a5998c7f7266594c3f31261a0f02000000000000000000000000000000000000000000000000000000000000000009141f2935404b55616c76829098a2aebabdb2a99e948d80746d635a50483f332d3139404550565d60696e73797d818487898b8c8d8e8d8d8c8a8784807c756f6a605c54626d7273706d68686562605c555755534d4546505a606d78839099a3aebbbeb3a99f92867b6e61564c4130271c120700000000000000000000010f1b26323c47545f6a75828f99a4afbbc4cfdae6ddd2c7bdb2a89e948d80736d625a51443f383027221b140f0b06000000000000000000000002050a0f151a1e272e343e464e585f69707d87939fa6a7a09691847c6f6a60594f473d32291e140800000000010d1925303e4b5764717e8a98a3aebac7d3ddd2c7b8ab9f958a7e71665c51443c32291f160e060000000000000000000000000001070e161e27303a444e58606c7883909da6b0bbcbd4d7ccc0b5ab9f92867a6d6054473a3025190d0000000000000005121e2a36424d5765727f8c98a3aebac7d1dcd5c9beb2a99f93887d70695f564e463d36302924201e191a1a1b171c1f2024292c323a4146525c606d7a85929ea8b2bdc8d4e1dfd2c5b9ada196887b6f6255483c2f2215060000000713202c3945525d6876828f9ca9b3bec9d5d7cbc0b5ab9e94897d70685e554b423b322a251f1a1514131110121314181c1f262d333b444c565f6a73808c96a1adb9c5d5dfdfd3c6baaea298897d7063564a3d3023170600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c393939393939393939392e34383a3a3b3c3e40414647495053555d60676d727b818a9298a0a8b0b8c2cad4dcddd2c7beb4aaa1968f82756c62574d42352c1d140a0000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42474c52565e666c737d87929fa4aeb8c2d0d9e1d6cabfb4aa9f92867a6d6054473c32261b0f0000000004111d2a3744505d6a7783909daab6c3d0ddd9ccbfb2a6998c7f7366594c403326190d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0005121f2b3744505b656c717171717171717171717171717171706b6054483b2f221609000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000003101c28343f4a546976828f9ca9b5c2d1cec1b4a89b8e817568584e43372b1f12060000000000000000000000000000000000000000000000000000000000000000030d18242f3a43505a626e7c86929fa5afbabbb0a69d928c7f726c625a51443f382f2f353e434c52575e61676d7074787a7d7f80808181807f7d7b77736f6a625f5850515b62656663615e56585653514b4b484642454e58616c737f8c95a0abb4bfb9ada2978d8074695f53443a301e150b0000000000000000000000000a15202b37434e58626f7c87939fa9b2bdc9d5dee3d9d0c4bab0a69c928b7f726c635b504a423b332d261f1c17110f0a0807060406070708090e12151b1f262b303940454f585f6a6e7b859299a4afb1a8a09691857c6f6b60594f443b3025190d01000000000814202d3a4753606d7a86929facb8c4cfdad4c8bcb1a79e9184796d60574e443b31282017110d0703000000000000000000060c121820283039424c565f6a717e8b95a0acb8c2ccddd4c7bbafa4998e8174675d514539281e130800000000000000020e1a25313b4754616d7a86929fabb5c0cbd7dacfc4bbafa49a92857b6e685f584f46413b352f2d2a2527272723282c2d2f35393e444c525b636e74818e97a1adbac3ced9e5ded1c4b7ab9e9184786a5f53473a2e21150800000004111d2935414c5664717e8b97a1adb9c5d0dbd1c7bdb0a69e91847a6e675d544c443d36312b262220201d1c1f202123292c2f383f444d565e686f7c87929fa8b2bdc9d5e7ded2c5b8ab9f9285796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454044464748494b4c4c5254535b6063676d72797f868e939fa2aab2bac2cad4dcddd8ccc0b6aca29891847a6e615a50453b30231a0b020000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686d787f879299a3aeb6bfcad3e2d8cfc6baaea2988d8074685d5245392a20150a0000000004111e2a3744515d6a7784909daab7c3d0ddd9ccbfb3a6998c807366594d4033261a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000613202d394653606c787e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000c17232e404d596673808c99abb5c0cbd1c4b8ab9e9184786a5f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000007131d28313e47535f6a717e8b939ea8b2bcb8aea49f93887e716c635b5049413a3229313a41454d52555d606367686e7072737474747372706e6966625f58534e4449515759595754524c4c494645403e3b3c454d575f6a707e88939fa7b1bdbcb1a79e92857a6d60574d4232291e0c03000000000000000000000000040f1b26323c47535f6a74808d96a1adb9c1ccd6e1e2d6ccc1b8aea49f93887e726d605c544d443f382f2b28221c1b171514131012131415161a1e21272b31373c434b5159616a6f7c859197a1abb5bab2a8a19792857d706b60564c41362a1e1105000000000613202c3945515d6775828f9ba8b2bdc9d5d8cdc2b9aca0968b7f726a5f564c433a3228231c18120f0b0608070707080a0f11171d2329323a424a545e686f7c86929fa7b1bccad4d8cfc6b9ac9f93877b6e62554c4135291d110400000000000000000914202d3946525d6874818e99a3afbbc5d0dbd8ccc0b6aca29790837a6f6a6059524d45403a3936303433342e34383a3c41454750565e616d73808c939da9b3beccd5e0e0d3c7bbb0a6998d807366584e43372b1f1206000000010d19242f3a4753606d7985929eaab3becad6d9cfc1b9aca1969083796d665e564f46423b37312e2d2c29282c2d2e2f34383d414950575e686d7a839199a3afbac4cfdae0d4c8bcb1a79b8e8175665c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256525252525252525252525252524a51535454565759565d6163656c6f747a7f858c92989ea5aeb4bcc3ccd4dcd9d2ccbfbbafa49a92867c6f685e52483f33291f1108000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514c52545558575f61686d737a828c9299a3abb5bfc8d1dcdcd1c6bdb2a89f92867b6e61564c4135291d11040000000004111e2b3744515e6a7784919daab7c4d0ddd9cdc0b3a69a8d8073675a4d4034271a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d78868b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000061723303d4a5663707d8999a3afbbc7d2c5b9ada196887b6e6255483b2e23180c000000000000000000000000000000000000000000000000000000000000000000010c161f2b37424e57626c75818e96a0aab3bcbbafa49a92877e726d605b534c443d352f2f353b42464b515357565e61636566676867666563615e5755534e47433c3f464a4c4d4a4746413f3c3a3834343e464e575f696f7c86929aa4afb9beb3aa9f958b7f72685d52453c3120170c00000000000000000000000000000a15202b37434e58606d7a84919ea6b0bac4cfd8e2ded3cac0bbafa49a93887f746d665f575049413d38332d2b26232120201d1f20212223252a2d32373c42474e555c606b707c859197a1a9b3bdc4bab2a9a19792867d70685e5246392d2014070000000004111d2935404b5564717e8a96a1adb9c5d0dbd4c8bdb2a89f92857c6e685e554c443d342e29241f1b17151413131415161a1c23282f343c444c545c666d7a849198a2aeb9c3cedcd1c6bdb0a69b8f8275695f53433a2f24190d01000000000000000005111d2935414c56626e7b87929faab4bfcad6ddd2c7beb3a9a09590847c706b615e56514b47464142414041423f4446494b51545a61686d757f8c929ca5afbbc5cfdee2d7cec5b7aa9f94887b6e6255483c31261a0f030000000008131f2c3845515c67737f8c98a2aebac3cfd9d5c9bdb2a89f958f82786e686059534d47423d3b3a393534383a3b3d4045474e535b60696e7a839095a0abb5c0ccd6e0d7cec5b8ab9f95897c6f62544b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5c60606162646668686d7073787c80858c91979fa2aaafbabfc5ced5ded7d0c7c0bbada39f93887e706a5f564c41362d21170d00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d565d60626468696e737a7f858f949fa3abb5bdc6d1daddd7cbbfb4aba1968c7f73695e52443a2f24190d010000000005111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d8074675a4d4134271a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d7986939898989898989898989898988e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714202d3a4753606d7a86929facb9c5d2c9bdb2a9988b7f7265544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000040d1a26313c45505a606d79849198a2aab4bdb6aca399928b7f746c655e564f454039312b3036394045474a4c52545658595a5b5a5a595754524d4847433c3732353a3e3f403d3a3936302f2d3039404550585f696e7b849198a2acb6c0baaea2989083786d60564c41332a1f0e050000000000000000000000000000040f1b26323c45515d67717e8a939ea8b2bcc6d1dce7dcd8ccc0b6aca49a938c80786e69605b534f46443f383732302e2d2c292c2d2e2f3031363a3c43474d53585f676d747d859297a1a9b2bbc5ccc4bbb3a9a29892867a6e6154473b2e21140800000000010d18242f3a4653606d7984919eaab3becad6d9cec3baada29791847a6e675e564f443f38352f2b272222212020212223262b2e343940454e565e666d78828f96a0aab4becbd5d7cbbfb4ab9e94897c6f62574d4231281e1308000000000000000000010d1924303a47535f6974818d98a2aebac2ccd6d9d0c5bcb1a7a09691867d746e68605d5554524c4f4d4d4e4f4a505355555d60656c707a818c919ba4aeb7c0cdd6e1dbd0c5bcb0a69c8f8276695f53473a2a20150a000000000004101c2934404b55616d7a85929fa8b2bdc7d1dacec4bab1a79e948f827a6f6b615e57534d4a4847454040444647494b51535860656c727b839095a0a7b1bdc7d1dedbd0c5bcb0a69d9083766a605442392e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c666d6d6e6f717374777a7d8084898d92979ea1a9aeb4bcc1cad0d7ddd5cdc5beb6afa39b918c7f726c61584e443b30241b0f0500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b686d6e7174787b80858c92979fa6afb5bdc6cfd8dfd4cbc3baaea3999184796d60564d4232281e1308000000000005121e2b3845515e6b7884919eabb7c4d1dedacdc0b4a79a8d8174675a4e4134271b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a4a4a4a4a4a4a4a4a4a49b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000613202c3945515d677683909da9b6c3d2cfc2b5a89c8f8275665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000000000000915202a333f45515d676f7c869298a3abb5beb5aba39f918c80776d686059514b433e37322c2f35383a3d4146474a4c4d4d4e4e4d4c4a4846423c3a37312b26292e313233302e2d2a2a30363d434b515a616a6f7b849196a1aab4beb8afa59f92857b6e665c50443a3021180e000000000000000000000000000000000a15202935414c55616c75828f96a1aab4bfcbd7dbe8ddd2c7beb6aca49f928d837b716c65605953504a47433f3d3b3a3935383a3a3b3d3f4246484e54575f616a6f79808a9297a1a9b2bbc4cdd6cdc5baaea2988e8175685e5246392d201407000000000007131f2c3844515c66727f8c98a2aebac3ced9d6cabeb3a9a1969083796d686059504a45403937332d2f2e2d2c2d2f303137383f444b51585f686d78818e949fa8b2bcc5d0d9d0c7baaea3998f82766a6054453c311f160c010000000000000000000008131e2b37424d57616e7a86929fa6b0bac4cdd7d7cec3b9b1a8a1989287817b736d6765615e565b5a5a5a5b545c606265676d72777d858e939ba3adb6bfc9d2dfddd6cabfb4aa9e94897c6f62574d42372b180e030000000000000c18232f3946525e68727f8c96a0abb5c0cbd7d6ccc3b9b0a69e948f847d746e69625f57575553514b4a51535456555c60646a6f787f869195a0a7b1b9c3cfd9dbd6cabfb4aa9e94897d7063584e4330271d12070000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c787878787878787878787878787878787879797a7b7c7e7f8184868a8d91969a9fa2a9adb3babec5ced6dbd9d4cbc3bbb3aca49f918c7f736d635a50463c32291e12090000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea1a9b0bbc0c7cfd8ded6cdc3b9afa59f92877c6f675d51443b3020160c01000000000005121f2c3845525f6b7885929eabb8c5d1dedacec1b4a79b8e8174685b4e4135281b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb1b1b1b1b1b1b1b1a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000004111d2935404b556773808d9aacb6c0ccd2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000000000000000000000000000000000000000000000030e18212935404b555f6a707d869299a4afb5bdb5afa39c928d827a706b605d555047433c38332c2c2d3036393b3d3f40414141403f3d3b3a36302e2b26201b1e2225262624262b30363b41464f555c606c717c859196a1a8b2bcb9b0a69e938a7e71695f544a3f32281e0f0600000000000000000000000000000000040d19242f3a43505a616d7a849198a3aebac0c9d3dce4d9d0c7beb6afa49d9590867e78706b63605b54534e4c4a4847454044464748494c4d5354586062696e757c838d929fa2a9b3bbc4cdd6d0c5bcb2a89f92867b6e61564c41362a1e1105000000000004101c2834404a54606d7a85929fa8b2bdc8d4dbcfc5bbb2a8a0958f827a706b605c54514b46443f3d3c3b3a393a3b3d3e43474a50555c606a6f7a828e939da6b0bac4ced7d2c7beb2a99f92867b6e62584e43332a1f0d040000000000000000000000020e1a26313c46525e68727e8b949fa8b2bbc5ced7d5cbc3bab2aaa299928e86807a75716d6869686766676869666d6f72757a7e838a91979ea5adb5bfc8d1dbded5cbc3baaea2988f82756a6054453c31261a060000000000000007121d2a36414c56606d78849199a3afbbc1cad3d4cbc1b8b0a69f969187817b746e69676461605d55545c60616366676d71777c838b9298a0a8b1b9c3cbd5dbd3c9c1baaea2988f82756b6055463d321e150b000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858586868787898a8c8e90939a9a9ea1a8abadb3b9bec4cad0d7dcd6cec8c0b9b1a9a29a938b7f736d635b51483e342a20170d000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888b8e91969a9fa2aaadb3bbc2cbd1d9ddd5ccc4bbb1a79d938b7e716a60554b4032291f0d0400000000000006121f2c3945525f6c7885929fabb8c5d2dedbcec1b4a89b8e8175685b4e4235281b0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bebebebebebeb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000010d18242f3d4a5764707d8a9aa4afbbc8d3c6baaea298897c6f6356493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606b707e87939fa4abb4bcbbada49d948f857d736d67615a534e48443d39352f2c2a2d2e3032333435343332302e2d2a25211f1b171b1f2022262b2e32373b42464c525960676d747e869197a1a8b2babab1a79f948e81746c61574d42382e20160c00000000000000000000000000000000000008131e28313e46525e686f7c86929fa5afb7c1c9d3dce2d9d0c7c0bbaea79f98928b837d76706c66625f5859565453514b505354555659575e61666a6f747b818790959da4adb3bbc5cdd6d2c7beb4aaa0968c7f73695e53443b3025190d010000000000000c18232e3945515d67727f8c96a0acb8c1cbd5d7cdc4bab1a79f948f847d736d66605d5553504949484746454748494b4e53545c60676d727c848f949da5afb8c2ccd6d8ccc0b6aca1968d8073695f53463d3221180e0000000000000000000000000009151f2a36414c56626d76828f96a1a9b3bcc5ced8d5ccc4bcb3aba39f98928c86827e7a777675747374757677797c7f81858b90959ea1a9afb7bfc7d1daded5ccc3b9b0a69f92867b6e61584e43332a1f150900000000000000010d1925303a44515c666f7c87929fa5afb8c1c9d3d3cac1b8b0a9a199928d86817b7774706e6d676b6b666d6e707376797e838990949fa2aab1bac3cbd5dbd3c9c1b7afa59f92867b6e61594f44342b200c03000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea298929292929292929292929292929292929292929993949597999b9d9fa4acabacb2b8babec5c9cfd6dbd7d0cbc3bdb9afa7a09792887f726d635b51493f362c22180e05000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929995979b9ea1a8acaeb4b9bec5cdd7dcdbd6cbc3bab2a99f958e81746d62584e43392f20170d0000000000000006131f2c3946525f6c7985929facb8c5d2dfdbcec1b5a89b8e8275685b4f4235281c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6cbcbcbcbc1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714212e3a4754616d7a86939facb9c6d2cabfb4aa998c807366574d42362a1c1106000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464f59616c717f8b9399a3aab3bbb6aea69f9791878079716c625f58544f4745413a38342f2d2c29242728272726242121222223232522272b2d2f31373a3c43474d52565e616b6f79808a9298a1a9b2babab2a8a0958f82796d605a50453b30261c0e04000000000000000000000000000000000000010c161f2a36414c56606a717e8b939da5afb7c1cad7dde2d9d2ccc0b9b1aaa29f959089827d78736f6a68656361605d555c606162636668696e72777c81878e939aa0a7aebabec5cdd6d8ccc0b6aca2989184796d60574d4232291e14080000000000000007121c2935414c55606d7984919ea5afb9c3ced7d6ccc3b9b0a69f9691878078726d6762605b53565554535254555657585f62666d71797f8691969fa6afb7c1cad4d6ccc4bbafa49a9184796d60574d42342b210f0600000000000000000000000000030e1925303b44515b616e7b849197a1aab4bcc6cfd6d6cec5bdb5afaaa29f98928f8b8684838280808182828385888b8e92989da0a7adb3bbc1c9d1d9ddd4ccc4bab1a79e938b7f72695e53463d3221180e03000000000000000008131e2834404a54606b727f8c939ea5afb7c1c9d6d3cac2bbb2aba39f99928e8884817d7b7a79787778797a7d7f82858b90959c9fa6aeb4bcc3ccd5dbd6c9c1b7afa59d938b7e71695f53473d3322190f00000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a0a1a2a4a6a7aaacafb6b7b9bdc4c6cacfd5dad6d1cbc6bfbab2aca59d9590857d726d625b514940372e241a100600000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abadb2b8babfc5cacfd7dfd8d0cac1b9b1a8a1979083796d605a50463d31271d0e050000000000000005121f2b3744505b657986929facb9c5d2dfdbcec2b5a89b8f8275685c4f4235291c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d7d7cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000713202d3946525e687784919daab7c4cfd0c3b6a99d908376695e5346382e23170b0000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d47505a626d727f879298a2a9b2bab8b0a9a199938d847e766f6a63605954514b4745403d3a39352f32302f2f2e2e2d2e2e2f2f30322d3337393c3e4347484e53565e61686e747c838d929fa2aab3bbb9b1a8a09690837a6d675c51483e33291e150a0000000000000000000000000000000000000000040d1925303a444e58626d74818e939ea5afb8c1ccd2d9e2ddd8cbc2bcb4aea79f9d948f8a847f7c787472706e6d676c666d6d6e707275787b7f84888e92999fa4acb1b9c0cacfd7d7c8c0bbafa49a92867c6f675c51453b3120170d0200000000000000000d19242f3a45515c66707d8a939da7b1bcc5ced8d5cbc2b8b0a8a199938c847f79736f6c6565636261605d60626364676a6f72797e848c9298a1a8b0b8c1c9d2d6cdc4bab0a69f93887d70675d51453c3122190f00000000000000000000000000000008141e29323f46525e696e7c859298a2aab4bdc4ccd6d7cfc7c0bbb4aeaaa29f9b999391908e8d8d8d8e8f909298989b9fa2aaacb1b9bec4cdd3dbdad5cbc3bab2a8a0958f82776c60574d42342b200f06000000000000000000020c18232e39424f59606c77818f939ea5afb7c1cacfd4cdc4bdb5afaba39f9a96918d8a8886858484858687898c8f92989d9fa7abb0babec5ced5d7cfcac1b7afa59e938e81746c61574d42352c21100700000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababacaeb5aeafb1b2b4b7b9bbc0c4c5c9ced3d6d9d4d0cac7c0bbb4aea8a09e938e837b706c625b514940372e251c11080000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb5b1b4b7b9bdc4c6cad0d6dad8d3cec6bfbaafa7a09691857b6e675c51483f342b1f150b00000000000000000613202d394653606c798699a3afbbc7d3e0dccfc2b5a99c8f8276695c4f4336291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005111d2a36414c566774818d9aa9b3becad2c6b9ac9f93877b6e61544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000040d18222b353e48505a626d727e869297a1a8afbabbb3aba49f96918a827c76706b64605d5553514b49474540403f3d3c3c3b3a3a3b3b3c3c3d3e403f4446484b4e5355585f62696e737a818790959da4aeb4bcbbb0a79f9691847b6e685d554b40362c21170c0300000000000000000000000000000000000000000008131e28323d46505a606d78818e939ea6afbbc0c7d0d7e0ddd4cec5bebab1aba69f9c96918c8884817f7d7b7a797878797a7b7c7f8284878c91959a9fa3abafb6bec3cbd6d9d2ccbfb6aea59f93887e706a5f554b4033291f0e0500000000000000000008131e2834404b54616b74818e95a0aab4bcc6cfd8d4cac2bab2aba49f96918b85807b797572706f6e6d686d6e707174787b7f848b91969fa2aab2bac2cad2d6cdc4bbb2a89f948c80736b60554b40332a1f1007000000000000000000000000000000020d17202a36424d565f6a6f7c869298a3abb2bac1cad0d7d1cbc6bfbab4aeacaba49f9e9c9b9a999a9b9c9d9fa2aaa8abaeb4b8bcc3c9cfd6ddd7cfc9c0b9b1a8a0969083796d655b50453b3122190f000000000000000000000007121c27303d44505b656d78818f939ea5afb9bec5cdd5cfc7c0bbb4aeaca8a09e9a97949892919192989496999c9fa2aaabb1b7bcc2cad0d7d6cdc5beb9afa59e938e81786d605a50453b31231a0f0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbbfbabcbdbfc1c3c6c8ccd2d2d5dad5d2cec8c6bfbab5afaaa39f96918981796e69615951493f372e251c130a000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9bbbfbec1c4c5c9cfd3d6dbd7d4cdc7c1bcb4aea59e9591847b6e695e554b40362d22190d0300000000000000000713202d3a4653606d798693a0b5c0cbd7e3dccfc2b6a99c8f8376695c504336291d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000010d1925303d4a5663707d8997a2adb9c6d2c8bbafa49a8c8073665c5044382b1f1409000000000000000000000000000000000000000000000000000000000000000000000000061019232c363f48515b626c717d8591969ea5aeb4bcb5afa8a19e948f88827d77716d6764605c555653514b4d4b4a4948484747474848494a4b4d4950535558585f62666a6f747b80858e939aa0a7aebabdb5afa69e9590847b6e695e564c43392e241b0f0600000000000000000000000000000000000000000000020c16202b343f44505c666d78818f949da5afb5bdc5ced6dbe0d7d0cac3bcb8b0aaa8a09e9996918e8c898786868585868788898c8f9196999da0a8acafb5bbc0c7d0d5d8d0c7c0bbada49d938c7f736c61584e43392f21170d00000000000000000000010c18232e39424f59606d79839098a2aab4bdc6ced6d4ccc4bdb5afa8a19e97928d8885827f7c7b7a79797a7b7c7e8184888c91969ea1a8aeb4bcc4ccd4d4ccc4bbb2a9a1968f82786d60594f433a2f21180e0000000000000000000000000000000000050e1925303b444e58606a707d869299a1a8afbabfc6ced4d7d0cac6bfbab8b5afacaaa9a8a7a6a7a8a9aaacaeb4b4b8babec5c8ced5dad7d2ccc5beb9afa79f9691847b6e675d53493f33291f10070000000000000000000000000b151e27333f49535c666d78818e939ea5adb3bbc1c9cfd1cbc6bfbab9b2acaaa7a3aaa29f9e9e9fa2aaa3a6a9acaeb4b8bcc3c7cdd6d5d0cac1bbb3ada59e938e81786d665c50483e332a1f11080000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8caccced0d2d4d8d5d2d1cfc9c5c3bdb9b4aeaba39f98928c847d746d675f574f473f372d251c130a01000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1ced1d2d5dad7d4d1cbc7c2bcb7afaaa29f938e837b6e695f574d43392f241b10070000000000000000000714212d3a4754606d7a8793a0adbad1dce8dccfc3b6a99c908376695d5043362a1d10000b1824313e4b5764717e8a97a4b1bdcad7e3dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000813202d3a4653606d7985929eabb8c4cfccc0b6ac9e9184796d6053463b30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000007111a242d363f49515a616b707c848e939fa2aab1b9bbb2ada69f9c948f89837e7a75716d676663605d555a585756555554545455555656585a535b606265686a6f73777c81868d92989fa4acb1b9bab2aba39f948f837a6e695f564d433a30271d1209000000000000000000000000000000000000000000000000050e192228343f4a545c666d78828e939fa4abb4bcc2cad0d7e0dbd6cdc8c2bbb7b2acaaa9a19e9b9896949992929298949596999b9ea1a8aaacb1b9bbc0c7ccd2d9d2ccc3bdb5afa39c928d81776c605a50463c31271d0f05000000000000000000000007121d27303e45515d676e7c869298a3abb4bcc4cdd6d6d0c7c0bbb2aca9a29f9997928f8b89888786868788898a8d9196989ea0a8adb2babfc6ced6d5cbc2bab2a9a19691847a6e665c50473d31281d0f0600000000000000000000000000000000000009141f29323c464e58606b707d8791969ea5aeb4bcc2c8ced4d6d0cac7c5c0bbb9b7b6b5b3b3b4b5b5b6b8babfc1c5c6cad0d4d9d5d1cbc7c0bbb3ada59d9590847b6e695e554b41382d21170d00000000000000000000000000030c17222d38414b545c666d78818e939ea2a9afb9bec5c9cfd1cbc7c4bdb9b7b4b0b4aeacabaaabaeb3afb2b6b8babfc6c8cdd3d4cfc9c5bebab0a9a29e938e81786d665c544a3f362d21180e000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d7dcd5dad5d2d1cfcecfc9c6c5c2bdb9b7b2acaaa29f99928e867f79706b605c554d453e352d241b130a0100000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d6d6d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d3d2d1d1cbc7c5c0bbb9b0aba59e98928b81796e695f574d453b31271d1209000000000000000000000714212e3a4754616d7a8794a0adbac7d3d6d6d0c3b6aa9d9083776a5d5044372a1d11000b1824313e4b5764717e8a97a4b1bdcad6d6d6cdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d6d6cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd6d6d0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006121f2c3844505c6674818e9ba9b3bec9d2c7b9ada1968a7d7063574d42362a1c11060000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f485059606a6f7a818b92989fa7adb3bbb9b0aba69f9c95908b86827d797673706d676867656362626161606161626263656668656c6f7174777c8084888e92999fa2aaafb6beb7afa8a099928c82796d685f574d443b31281e150b0000000000000000000000000000000000000000000000000000071017232e38424a545c666d78818c9399a2aab0babfc6ced3d8ded8d4ccc7c4bdb9b7b2adaba7a5a3aba39f9f9fa2aaa1a3a5a8abadb2b7b8bdc3c7cbd1d8d5d0c7c0bbb2aba49f918c80786c655b50483e342a1f150b000000000000000000000000000b151e2935404b555f6a707d869299a2aab2bbc2cbd0d8d2ccc4bdb9b3adaba9a19e9b989695949992999596979a9ea1a8aaacb2b9bdc4cad0d7cfc9c0b8b0a8a19791847b6e685e544a3f352b1f160c00000000000000000000000000000000000000020d17202a333c464f59616b707d848e939fa2aab1b8bcc3c8ccd2d4d3d2ccc7c6c4c3c1c0c0c0c1c2c3c5c7cad0d2d3d6d6d2cfc9c7c0bbb5afa9a19e938e837b6e695e574d433a2f261b0f05000000000000000000000000000006111b262f39424b545c666d78818a92979ea5adb3b9bdc4c7cdd2cec9c5c4c0bdbfbab8b7b7b8babebcbfc2c5c6cad0d4d2cdc8c4beb9b3ada69e97928a81786d665c544a42382e241b0f06000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8c8cfc9c6c4c3c1bfbeb9b8b5b2adaba8a09e98928d87817b736d676159514b433b332c231b1209010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c9c9c9c9c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bbb9b5afaca69f9c938e867e756d675e574d453c33291f150b00000000000000000000000814212e3b4754616e7a8794a1adbac7c9c9c9c9c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfc9c9c9c9c3b6a99d9083766a5d5043372a1d10000000000000000000000000000003101c28343f4a5463707d8a97a1adb9c7d2c9bdb2a99c8f8275695e5246382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e474f585f686d757e8690959ea1a9aeb5bbb7b0aaa79f9d98928e8a8583807c7a77757372706f6f6e6d6d6e6e6f6f7071737576797b7e8184888c91959b9fa3abaeb3bbb9b0aba59d9691877f786d675e564d453b32291f160c0300000000000000000000000000000000000000000000000000000006111c263038424b545c666d747f8792989fa6aeb4bcc2c7cdd3d8dfd8d3cec9c5c4bdb9b8b4b2b0b5afacababaeb4aeafb2b5b8b9bdc4c5c8ced3d7d4cec9c4beb6afa8a099938b7f746c665b53493f362c22180d0300000000000000000000000000030c18242f39434e57606b707d879298a1a9b0babfc6ced3d7cec9c5bebab8b3adaba8a5a3a2aba39fa3aba3a4a7abacb2b7b8bdc3c9cfd6d2ccc4bdb9afa69f9691857c6e695f564d42382e231a0d040000000000000000000000000000000000000000050e18212b343d474f59616b707a818b92989fa7acb1b9bbc0c7c8ced1d2d4d2d1cfcecdcccdcecfd0d2d3d6d4d2d1cfcac6c5beb9b5afaba49f97928a81796e695e574d453b31281d140a000000000000000000000000000000000a141d273039424a545c666d757e858f939ea1a9adb2b7bbc2c5c9cfd1d1cdd0cac7c5c4c4c5c6cad0cccfd2d2d1cec9c5c3bcb8b2ada9a29f948f857e756d665c544a423830261c120900000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcbbbbbeb9b8b6b4b2b3adaba8a8a19e9a96918c86807b756e69605c554f4540393129211a110900000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7bdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcc0bbb9b7b5b5afacaba39f9c949089817b726d605d554d453c332a21170d0300000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb7aa9d9184776a5e5144372b1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdb3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bdbdbdbdbdbdb6a99d9083766a5d5043372a1d100000000000000000000000000000000c17232e3a4653606d7985919eabb5c0cccfc4b9ac9f92867b6e61544a3f33281d1207000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353d464e565d606c717b838b92979fa3abafb5bab7b1abaaa39f9b98928f8c89868482807e7d7c7b7b7a7a7a7b7b7c7d7e80818385888b8e9196999da0a7acaeb4bab8b2aca69f9c938e847c736d665d554c443b332920170d0400000000000000000000000000000000000000000000000000000000000a141e263039424b545c606d727d8690949fa2aab0b7bbc2c7cdd2d5dad9d5d2cfc9c5c4c1bfbcc0bbb9b8b8babebbbcbfc2c4c5c9cfd1d4d6d3cec8c4bdb9b2aca49f9691877f736d605b544a41382d241a100600000000000000000000000000000007121d27313c454f59616b707e8691969fa6aeb4bcc1c7cdd3d5cfcac6c5beb9b8b5b2afaeb5aeacaeb5afb1b4b7b9bdc4c5c8ced5d2ccc7c0bbb2ada59d9490847c6f6a5f574d443b30261c110800000000000000000000000000000000000000000000060f19222b353e474f5960686d757e8690959da0a7acafb6b8bcc1c4c5c9cecccdcececfcfcececdccd2ccc8c6c4c1beb9b8b3adaba39f99938e857e746d675e574d453b33291f160b0200000000000000000000000000000000020b151e273039424a545c606c717a828a92979ea1a8abb0b8b9bdc2c4c5c9cecccdcececfcfcececdcccec9c5c4c1bdb9b7b1aba9a19e97928b827b716c605c544a423830261e140a0000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafaeaeb2adaba9a7a6a9a19e9b9896918d8884807a746e69615f57514b433d342f271f180f080000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afb5afacaaa8aba39f9c99928f89837d756e69625b514b433b332a21180f050000000000000000000000000815222e3b4855616e7b8894a1aeb0b0b0b0b0b0b0b0aa9e9184776b5e5144382b1e11000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b0b0b0b0b0b0b0b0a99d9083766a5d5043372a1d1000000000000000000000000000000006121f2c3844505c6673808d99a4afbbc7d4c7bbafa3998c7f73665b5044392e23180c01000000000000000000000000000000000000000000000000000000000000000000000000000109121a232b343c444c525a62696e787e858d92999fa3abaeb3b8b8b4aeacaaa29f9c999992918f8d8b8a898888878787888889898b8d8e909297989b9ea0a8aaacb1b9bab9b1aba8a09e94908981796f6a605c544b433a322921170e05000000000000000000000000000000000000000000000000000000000000020c151e273039424b515b636b707b828b92989ea6abb0b7bbc2c6c9cfd2d5dadad5d2d1cecbd1cbc7c5c5c5c6cad0c9ccced1d2d5d6d3d0cac6c3bcb8b2aca8a09a938d847d726d635b504a42382f261b110800000000000000000000000000000000010b151f2a333d474f59616c707c8490949fa3aab0b7bcc2c7cbd1d3d3cfcac6c5c2bebcbbbfbbb9bbbfbcbdc0c4c5c9ced2d3d0cac7c0bbb5afa8a19e938e827a6f6a5f574e453b32291e140a000000000000000000000000000000000000000000000000071019232c353e474f565d606c717b838a90959c9fa4acacb1b4b7b9bdbdbfc0c1c1c2c2c2c1c1c0bec0bbb9b7b5b3adaba9a19e99928e87817a716c605c554d453b332921170d04000000000000000000000000000000000000030c151e273038424a505a61686e757e858c91969c9fa6abadb2b5b7b9bdbdbfc0c1c1c2c2c2c1c1bfbebdb9b7b4b2acaba7a09d97918c857e756e68615a504a423830261e140c020000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a1a9a19e9c9b999797928f8b8884807c77736d68615f57534d4540393129231d150d06000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919ea3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c999992908b86827c76706b615e575145403a312920180f06000000000000000000000000000915222f3c4855626f7c8895a2a3a3a3a3a3a3a3a3a3a39e9185786b5e5245382b1f12000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a3a3a3a3a3a3a3a3a3a39d9083766a5d5043372a1d1000000000000000000000000000000003101c28343f4a54616e7b87939facb9c3cecbc0b5ab9e9184786c60544b4034281d1307000000000000000000000000000000000000000000000000000000000000000000000000000000081119222a323a414550575f666c717a80868e92999fa2aaacb1b7b8b8b4aeaca9aba39f9d9b9a98969595949493949495959698999b9d9fa2a9a7aaacb2b7b8b9b5afaca7a09d96918a837c746d676058504a4239312820170f060000000000000000000000000000000000000000000000000000000000000000030c151e2730394045515961696e777f868f949c9fa6abb0b8b9bec4c5c9ced0d2d3d7dcd8dcd7d4d2d2d2d3d6dbdcd6d3d2d0d0cac6c5bfbab8b1aca8a09e96918880796f6b625b51443f382f261d140a000000000000000000000000000000000000030d18212b353e47505a616a6f7b828c92989ea6abb0b9babfc5c7cbd1d2d2d1cecbc9d1cbc7c5c7cbd1cacdd1d2d2d1cbc7c5bfbab5afaba49f96918a81786d685f584e453c332a20170c020000000000000000000000000000000000000000000000000007111a232c353d444c525a62696e767d838a8f939a9da0a7a8aaacb2b1b2b4b4b5b5b5b5b4b4b3b2b6afacaaa8a9a19e9b97928d87817c746d68615a514b433b332921170f050000000000000000000000000000000000000000030c151e2630383f4450565e616c717a7f848a8f949a9ea1a9a8abacb2b1b2b3b4b5b5b5b5b4b4b3b1b2acaba7a8a19e9b95908a847f7a716c615e5650443f3830261e140c02000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696959594949791908e8c8a8885827f7c78736f6a66615e56534d46423b342f271f18120b0300000000000000000000000000000000000000000000000a1724313d4a5764707e8a969696969696969696969696968a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919696969696969696969696969285786c5f5245392c1f12000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969695959992918f8d8986837f7a756f6b636059524d453f352f281f170e0600000000000000000000000000000916222f3c4955626f7c88959696969696969696969696969285786b5f5245382c1f12000b1824313e4b5764717e8a969696969696969696969696968d8074675a4d4134271a0e000713202d3a4653606d7986939696969696969696969696968e8175685b4e4235281b0f000c1926333f4c5966727f8c9696969696969696969696969083766a5d5043372a1d10000000000000000000000000000000000c17232e3846535f6976828f9ca7b1bcc8d1c7b9aca1968b7e71665c51453a2f24180d0200000000000000000000000000000000000000000000000000000000000000000000000000000007101820282f353f454d545b60686d737b81868d92989da0a7aaacb2b5b8b8b6b5aeacaaa8a6a5a3a2a2a1a0a0a1a1a2a2a3a4a6a8a9abadb3b4b7b9b7b4aeacaba39f9b95908b847e766f6a605d554e443f3830271f160e0600000000000000000000000000000000000000000000000000000000000000000000030c151e272e343f474f575f656c727b82898f949c9fa6abadb3b7b9bdc1c4c5c7cbd1cccdcdcecfcececdcccbd0cbc7c5c3c1bebab8b4aeaca7a09d96918b847d746d676059514840332d261d140b0200000000000000000000000000000000000000060f19232c353e47505860696e787f868f949c9fa6acaeb4b9bbbfc3c5c6cad0cccdcececfcfcececdccd0cbc7c5c3bfbbb9b4aeaba49f99938d847d746d665e564e463c332a21180e0500000000000000000000000000000000000000000000000000000008111a232b323a414550575f616c70787d82878d9095989b9ea0a8a4a5a7a7a8a9a8a8a8a7a6a5aca49f9e9b9997928e8a85807b756e6a605d5650454039302920170f0500000000000000000000000000000000000000000000030c151e262e343e444c525a61686d73797d82888d9196989b9ea1a8a4a5a7a7a8a8a9a8a8a7a6a4a8a19e9b9796918e89837e79736d68625a524d443e342e261e140c0200000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8989888887868583817f7e7b7875726f6c6562605854524c46423b363129231d150d07010000000000000000000000000000000000000000000000000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89898887868482807d7a76726d68636059544f46423b3329241d160d050000000000000000000000000000000916232f3c4956626f7c898a8a8a8a8a8a8a8a8a8a8a8a8a8a86786c5f5245392c1f12000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8074675a4d4134271a0e000713202d3a4653606d78868a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f000c1926333f4c5966727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a83766a5d5043372a1d100000000000000000000000000000000006111c2a36424d5763707d8a95a0acb8c4cec9bdb2a89e9184796d60554b4035291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333c424a50565d60696e757b80858c9195999ea0a8a9abaeb4b4b6b8b7b5b3b1b0afaeaeadadadaeaeafb0b1b3b4b6b8b7b5b3b2acaaaba39f9c99928e89837e79716c626058514b433d342e261e150d05000000000000000000000000000000000000000000000000000000000000000000000000030c151d2328353e454d535b60696e767c82899094999ea1a9abacb2b5b7b9bbbfbfbfc0c1c1c2c2c1c0bfbfbebfbab8b6b4b3adabaaa29f9b95918b847e796f6b605d554f473f3628221c140b0200000000000000000000000000000000000000000007111a232c353e464e575e666c727b828990949b9fa3aaacaeb5b6b8babfbebfc0c1c1c2c2c1c1c0c0bebfbab8b6b5aeacaaa29f99938e87807a706c605c544c443c342a21180f060000000000000000000000000000000000000000000000000000000000081119202830353f454d535a61666c70767b8084888b8e91969697999a9b9b9c9c9b9b9a9998979a93918e8c8985817d79746e69625f58524c443e342e271e170e05000000000000000000000000000000000000000000000000030c151c2328323b414650565e61666d71767c8184888c8f91969697999a9b9b9c9c9b9b9a99989696918e8b8784817c77716d66615e565046413b3228231c140c020000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b7a7a78767473716e69686562605b53544e4746413a36312a261f18120b0300000000000000000000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7b79777573706d6765615e56544f48443d3630292118130c04000000000000000000000000000000000714212d3a4754606d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6255483b2f221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6356493c3023160900000000000000000000000000000000000e1a26313b4653606c7883909da8b2bdc9cec4b9aca1968b7f72675d51453a3025190c0300000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212a2f383f444c52575f62696e737a7f84888c9196999c9fa2aaa8aaabaeb3b1b2b3b3b4b4b5b5b5b4b4b3b3b2b1b5afacaba9a6a8a09e9b99928f8b86817c77716d66615a544e45413a3128231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000030b1218232c333c414950575f616b6f767d83888d91979a9ea1a8a8aaacaeb5b2b3b3b4b5b5b5b4b3b3b2b1b4aeacaaa7a9a29f9b98928e8a847e78726d676059514b433d352d2417110a02000000000000000000000000000000000000000000000008111a232c343c454d545b60696e757c83898e92989c9fa3aba9acaeb4b1b3b4b4b5b5b5b5b4b4b3b1b4aeaca9aba39f9c98928e87817c746d67615a514b423a322a22180f0600000000000000000000000000000000000000000000000000000000000000070e161e2429333c424750545b6064696e73777b7f818487898a8c8d8e8e8f8f8f8e8e8d8b8a898684827f7c7975706d66625f57534e45413a3228231d150c050000000000000000000000000000000000000000000000000000030a1117202930363e444c52545c60646a6f74787b7f828487898a8c8d8e8e8f8f8f8e8e8c8b898784817e7b78746f6b64605c54524c443e3630292017110a02000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d6d6769686664625f57585553504947433c3936302a261f1a140c07010000000000000000000000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000916222f3b4854606b707070707070707070707070707070706b6055483c2f231609000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d66696663605d5554524c48443d38332a251f170f070100000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070706b6155483c2f231609000714202d3a46525e696e7070707070707070707070707070706e6a5f53473a2e2114080005121f2b3744505b656c7070707070707070707070707070706f6a5f53473b2e211508000714212d3a46535f696e70707070707070707070707070706f6b6054483b2f221509000000000000000000000000000000000009141f2b3744505b65717e8a96a0acb9c3cec9bdb2a89e9285796d60564c41362a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f181d262d333a41454d53575e61676d72777b8084888c8f9298989b9d9fa2aaa4a5a6a7a7a8a8a9a8a8a7a7a6a5a4aba39f9e9c999696918e8a86827e7a756f6b64605c545047433d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a212a2f383f444d535960636b70767b80858a8e9196989b9d9fa3aba5a6a7a7a8a9a8a7a7a6a5a4aaa39f9d9a9897928e8a85827d78716d66605c554f454039312b231b1206000000000000000000000000000000000000000000000000000008111a222b333b424a50575f626b6f767c81868b8f92999a9c9fa2aaa4a6a7a7a8a8a8a8a7a7a6a4aaa39f9c9999928f8a86817b756f6a605d5550454039302920181006000000000000000000000000000000000000000000000000000000000000000000040c1319212a31373e424a5053575f6166696e7275777a7c7e7f8181828282828181807f7d7c7a7775726f6c6664605c54534d47433c3530282018120b030000000000000000000000000000000000000000000000000000000000060e171e252a323a41464a5053585f62676a6f7275787a7c7e7f8081828282828181807e7d7b7874716e696863605953514b46413a322a251f170e0600000000000000000000000000000005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636362626161605c555b595755534d4c4946443f3837322d2a251e1a140e0903000000000000000000000000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e110500000000000000000000000000000000000000000000000000000000000713202c38444f59606363636363636363636363636363636360594f44382c2014070005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545a5654514b4746413a38322c27211a140d050000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636361594f44382c2014070005111e2a36424d575e61636363636363636363636363636363625f584e43372b1f120600030f1b27333f49535b60636363636363636363636363636363625f584e43372b1f13060005121e2a36424d575f6163636363636363636363636363636360594f43382c1f13070000000000000000000000000000000000030f1b27333f4953606d7984919ea8b1bdc8cec4b9ada1978c7f73685e52463c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c22282f353c42474d52555d60656a6f73777c7f8285888b8e909298959799999a9a9b9c9c9b9b9a9a999997969992918f8c8a8784817e7a75716e6863605953514b423e373229241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181d262d333b42464f545960636a6e73797d8184888b8e9192999698999a9a9b9c9b9b9a999898979892908e8b8985817d7975706c66605c54514b433d352f271f1910090000000000000000000000000000000000000000000000000000000008101920292f383f444d535960636b6f757a7f82868a8d9092989698999a9b9b9c9c9b9b9a9998969892908d8a86827e7a746e69625f58514c433e342e271e170e06000000000000000000000000000000000000000000000000000000000000000000000002080f181f262b2f383f44464d5355575f616568686d6f717274747576757575747372706f6d67686662605b5453514a47423c373129241e160e070000000000000000000000000000000000000000000000000000000000000000050d141920283035383f44464e5355585f626568686d6f717274747575767575747371706e696864615e5756544f464540393630282019140d0500000000000000000000000000000000010d1925303b444c52545757575757575757575757575757575757575757575757575757575757575757575757565655555453514b4e4c4b4847423f3c3937332d2b27201e19130e090300000000000000000000000000000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e02000000000000000000000000000000000000000000000000000000000004101c27323d474f5456575757575757575757575757575756554f473d33271c100400010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575656555453504a4d4a4745413a3936302c27211c160e09030000000000000000000000000000000000000000010d1924303a444c525457575757575757575757575757575757554f473e33281c100400020e1a25303b454d525457575757575757575757575757575755534e463c31261a0f0200000b17222d384149505357575757575757575757575757575755534e463c32261b0f0300020e1a26313b454d5355575757575757575757575757575756544f473d32271b0f030000000000000000000000000000000000000b17222d3844505c66727e8b95a0acb8c2d0c9beb3a99f92857a6d61584e42392e23180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931373b42464c5154585f62666a6f7376797c7f81838587898a8c8c8d8e8e8f8f8f8e8e8d8d8c8a8987868482807d7a7775716d6765615e56544f46454039302b272018130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141b222731363d43484f54575f62666d7074787b7e828486888a8c8c8d8e8e8f8f8e8d8c8c8b8a888683817f7c7975706d6764605b54504a4540393029241d150d07000000000000000000000000000000000000000000000000000000000000070e171d262d333c42474f54596063686d72767a7d80838588898b8c8d8e8e8f8f8e8e8d8d8b89878683807d7a75716d67625f57534e45413a3128231d150c050000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1d262d33383c4246484d535558565e61636466676868696968686766656462605d55595653504a4644403937312b262019130c040000000000000000000000000000000000000000000000000000000000000000000002080e161e25292e34383c4347484e535559565d616364666768686969686867666563615e575854534d4948443d38342e2a251e160e080200000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a494948484747454041403e3b3a37312f2d2b27221b1b15110d08020000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f1409000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484846443f403d3a39352f2d2a251e1b16100b05000000000000000000000000000000000000000000000008131e28323a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009141f2a333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d342b21160a0000000000000000000000000000000000000006111b28343f4a54606d7884919da6b0bdc7cfc5baaea2988d80746a5f544a4034281f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b131920262b30363a4145474e5355585f6266666d6f727577787a7c7e7f80808181828282818180807f7e7c7b79787673706d686864605d5554524c48433d38342e271e1b160d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a32383d44484e53545c606367696e727577797b7d7f8080818282828180807f7e7d7b797774726f6d6664605d5553504a443f38342e271e18120b030000000000000000000000000000000000000000000000000000000000000000050b141c222831373d44484f54565e6165676d717376797b7d7e808181828282828181807e7c7b797673706d6864605d55534d47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141c22282b31373a3b4246484c4c52545657595a5b5b5c5c5c5b5b5a58575654514c4c4946443f3a38342e2b261f1a150d080200000000000000000000000000000000000000000000000000000000000000000000000000040c13191c23282c31373a3c4347484c4c52545657595a5b5b5c5c5c5b5b59585654524d4b4846423c3b38322c28231d19130c050000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a3a38342f33312f2e2b2622201f1b17110f0a0501000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000050f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e302d2c2924201e19130f0a0400000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e03000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e04000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f0400000000000000000000000000000000000000000c17232e3844505c66707d8a949fabb5c0cccabeb4aa9f92867c6f665c51443d31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a1f252a2f35393c4347484e5355545c606265686a686d6f7172737474757576757574747372716f6e6d66696663615e565754514c4746413b38322c28231d150c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21272c33383c42474a505357575f616568666d6e70727374747576757474737271716e6d66676563605c5453514b46443f38342e28231d150c070100000000000000000000000000000000000000000000000000000000000000000000020a111720262b32383d44484c5254555d606467666d6e70717374747575757574747371706e6d666663605d5653514b47423c373129241e160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f262b2d31363a3b3f414647494b4c4e4e4f4f4f4f4e4e4d4c4a494745413f3c3938332d2c28231c1a150f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f262b2e31373a3c3f414647494b4c4d4e4f4f4f4f4e4e4d4b4a4846423e3b3a36312f2c271f1c18120d080200000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2e2d2c2923262422211e1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000007111921272c2f303030303030303030303030303030302f2c27211a11080000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c28232321201d1813110d080200000000000000000000000000000000000000000000000000000000040e161e24292c2d303030303030303030303030303030302f2c28211a11080000000000050e171f252a2d2e3030303030303030303030303030302f2e2b2620180f060000000000020b141b22272b2d3030303030303030303030303030302f2e2b26201810070000000000060f181f262a2d2e3030303030303030303030303030302f2c272119100700000000000000000000000000000000000000000006111c28343f4a54616c76829099a4afbbc4cfc5baaea3999083786d60584e43392f24180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1e24292c31373a3c4347494a505355585b565e61626466666767686969686867676666646361605c54595754524c4a4745413b3936302c271f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3137383f44464a4d535558545c6061636566676768696868676665656462605c54585653514a4745403938332d28231c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000060b151a21272c32383a4146474c515457545c6062636566676868696968686766656361605c545754524c4745403a37312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e21262a2d2e3036393a3c3e3f4141424342424241403f3d3c3a39352f2f2d2b28221f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151b1f21262b2e2f3035393a3c3e3f4141424243424241403e3d3b3a36302e2d2a25221f1b16100c070000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242323222221201f1c1819181514120e090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242421201e19140d050000000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242323201c160f0800000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242423232221201f1c17171413110d07050100000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242423201c16100800000000000000050d141a1e202124242424242424242424242424242422211f1a150e0600000000000000020a11171b1f2024242424242424242424242424242422211f1b150e0700000000000000060e141a1e2122242424242424242424242424242423221f1b160f0700000000000000000000000000000000000000000000000c17232e38424f59626f7c87939fa8b2bdc9cbbfb4aba0958c80736a60554b40352921180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20262b2e32373b3c3f4446494c4e4c5254565759595a5b5b5c5c5c5b5b5a5a5957565453504a4d4a4746413e3a39352f2d2a251e1b16100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c20262b2e34383a3d4246484b4a5053555759595a5b5b5c5c5b5a595958575553504a4c494644403a38352f2b28221c17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3036393a4145474a4a5053555658595a5b5b5c5c5b5b5a5a58565453504a4a4745413a39352f2b261f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141a1e2122252a2d2e30313334353536363535343332312f2d2c292423201f1c1712100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151b1f212224292d2e30313334353536363535343332302e2d2a2521211e1a15130f0a04000000000000000000000000000000000000000000000000000000000002080d111414171717171717171717171717171717171717171717171717171717171717171717171716161515141413100c070b080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171414110e090200000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171614100b0500000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171615151312100c0607060401000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b0500000000000000000002090e1114141717171717171717171717171717171514120f0a0300000000000000000000060b0f12131717171717171717171717171717171615130f0a0400000000000000000003090e12141517171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000006111c26303e4754606a74808d96a1adb9c1ccc6bdb1a79f92877c6f675d51453d332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11151b1f21262b2e2e34383a3c3f42414647494b4c4d4d4e4e4f4f4f4e4e4d4d4c4b494846443f403d3a3936302d2c2924201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282c2d31373a3b3f3f4446484a4c4d4d4e4f4f4f4e4d4d4c4b4a4846443f3f3c3a38342e2c29241f1c17110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1e252a2d2f35393a3e3f4446484a4b4d4e4e4f4f4f4f4e4e4d4b494846443f3d3a39352f2c29241d1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415191d202123242627282829292928282725242321201d191613120f0b060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515191d2021232426272828292929282826252321201e1a1514120e090703000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0808060200000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a090907030000000000000000000000000000000000000000000000000000000a151e2b37434e58606d7984919ea5afbac4cfc3bbafa3999184796d60594f453c32281e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f12151b1f2123282b2d2f323035393a3c3e3f40414142424342424141403f3e3c3b3a38342e302e2d2a2521201d1914110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e11171c1f20262b2d2e2e34383a3b3d3f4041414243424141403f3e3e3b3a38342e302d2c28231f1d18120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2024292c2d2e34383a3b3d3e404141424242424141403e3d3b3a38342e2d2c2924201d18130e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d1113141618191b1b1c1c1c1c1b1b1a1917161413110d08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608080d1113141618191a1b1c1c1c1c1b1b1a18171514120e09070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1b27323c45515d67707d8a939ea8b2bdc7cbc0b5aba0968d80746b60574d443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1315171c1f20222525292d2e2f313333343435363635353434333331302e2d2b28232421201d191413110d080502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131a1e212223282c2d2e30323334343536353534333232312f2d2b282323201f1c1813100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113191d202123282b2d2f30323334353536363535343332302e2d2b282321201d1913110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f100f0f0f0e0d0c0a0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f0f100f0f0e0d0b0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313131312070604000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000002070b0d0d131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000003070b0d0e13131313131313131313131313131312110f0b07010000000000000000000000000000000000000000000000000000000000000000000000000000000a15202935404b55616b75818e96a0abb5c0cbc7bdb2a89f93887d70695f564c42392e2318120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b1012131619191d2021232426262728282929292828272726242321201f1c17171413110d0806040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e121415171c1f2022242626272828292928272626252422201f1c17161312100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d111314171c1f2022232526272828292928282727252321201f1c171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b2020202020202020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202020202020202020202020201e1413100c0701000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202013100c07000000000000000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201b1a18140f080100000000000000000000000000000001080e1317191a2020202020202020202020202020201e1e1b17120c050000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f3a434f59606d7a849199a3afbbc1ccc3bbafa49a92857b6e685d544b403428241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709080d1113141618191a1a1b1b1c1c1c1b1b1a1a191816151312100b0607070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507060c1012131517191a1a1b1c1c1c1b1a1a191817151312100b0607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b1012131517181a1b1b1c1c1c1c1b1b1a1816151312100b0606040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708090b0c0d0e0e0e0d0d0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202527282d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b201f1d18120b03000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000020b12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d170f06000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313e45515d676f7c87929fa6b0bac3ccc0b6aca19791847a6d665c514540362c241b120a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0e0e0f0f100f0f0e0e0d0c0b09080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0c0d0e0e0f100f0e0e0d0c0b0b080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0d0e0e0f0f0f0f0e0e0d0b0a0807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080e1114141618191a1a1b1b1a1918161414110e080806020000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e111414202020202020202020202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151d252c313435393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393939393939393939393939382d2c29241d150d03000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939392c28231d150c03000000000000000000000000000000000000000000000000000000000a141c242a2f32333939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000a141c242a2f3334393939393939393939393939393939393433302b251d140b010000000000000000000000010b141d242b3033343939393939393939393939393939393837342f2821180f0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c55606a727f8c949ea8b1bbc5c7beb3a9a0969082786d605b51483e362d241b13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191e2021232526272728272726252321201e191514120f0905010000000106090b0c13131313131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d1811090000000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646463f3e3a352d251b1107000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c4646464646464646464646464646464646453a38352f271f150b0100000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464638342e271e150b00000000000000000000000000000000000000000000000000000008121c262e353b3f4046464646464646464646464646464646433e372e251b1005000000000000000000000000000000000000000000000008121c262e363b3f404646464646464646464646464646464641403c362f261d1308000000000000000000000008121d262e363c3f414646464646464646464646464646464543403a332a2110060000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58606c78828f95a0a9b3bdc7c5bbb2a89f948e81746d635a50483f362d2517110a020000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0b0b0c0c0b0a0a0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0a0b0b0c0b0b0a0a09090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0a0b0b0c0b0b0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0b0c0b0a0a0908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171b1f2023252a2d2e30313333343434333332302e2d2a2522211f1a15110d0802060d121518182020202020202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e39393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353535353535353535353535353514745403931271d12070000000b17222c353e44494a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535345403930271d120700000000000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534e4c4841382f251a0f03000000000000000000030e19242e3840474c4d53535353535353535353535353535351504b453c3322180e03000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505b666d7a839197a2abb5c0cbc3bab0a69e938c7f736c615a51483f3727221b140b0200000000000000000000000000000000000000000000000000000000000000000003050609070c10131315161718181818181716161414110e090807050200000000000000000000000000000000000000000000000000000000000000010406070d110707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d1113141616171718191818171616151513120f0b06090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131415171718181918181717151413100d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608060b0f12131416171718181918171615151413100d070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151b1b22272b2d2f3036393b3c3e3f4041414140403f3d3b3936302f2e2b26201e19130e11181d2224252d2d2d2d2d2d2d2d2d2d2d2d22211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b6060606060606060606060606060595751493f35291e120600000000000000000000000000000000000000000000000000000000030f1a26313c464e535560606060606060606060606060606060605e53514b43392f24180c000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f514b43392e23180c0000000000000000000000000000000000000000000000000007131f2a35404a52585a6060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000000000000000007131f2a36404a52585a606060606060606060606060606060605a58534a41362b1f140200000000000000000007131f2b36404a52585a6060606060606060606060606060605e5c564e45342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545d686e7b859299a3afbbbfc8c2b8afa59c918a7e716c625b514940332d261d140a00000000000000000000000000000000000000000000000000000000000104060b0f12131518181c1f20222324242525252524232221201e19181514120e090603000000000000000000000000000000000000000000000000000001070d1113141a1d1413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406080d111314171a191d202122232424252525242423232221201f1c1718161413100c0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e11141417181d1f20222324242525252524232220201d18181514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000010407060b0f12131518171c1f2021232324242525252423222120201d18151312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f161c20262b2d3337393c3f414647494b4c4d4d4e4e4d4c4b494746413f3b3a37312d2a251e1a1b23292e31323939393939393939393939392e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246535353535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b605d554b4035291d1004000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5c554b4034281c10040000000000000000000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301f14090000000000000000000b1723303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b686056463c31261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424c565f69707d87929fa3adb6c0c8c1b7ada49f92877e726d625b52443f382f261b1106000000000000000000000000000000000000000000000000000001080d1113171b1f20222523282c2d2e3031313132323131302f2e2d2a252521211e1a15130f0a040000000000000000000000000000000000000000000000060b13181d2020262a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070d101314191d20212427252a2d2e2f3030313232323131302f2f2e2d2b28222523201f1d1815120f0a070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f13151a1e20212424292c2d2f3031313232323131302f2d2c29242522211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000002080d111314171b1f20222522282b2d2e2f30313132323231302f2e2d2c292422201f1c17110f0a04000000000000000000000000000000000000000000000000000000000000000000000000000002080d161b21282c3237383f4446494c4d52545658595a5a5b5a5a59585654524c4c4847433c3936302b26252d343a3d3f4646464646464646464646463b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d525f606060606060606060606060606060585651483f34291d11050000000000000000000000000000000000000000000000000000000000000000000000000e1b2734404d59656f757979797979797979797979797979726d62574a3e3125180b000000000000000000000000000000000000000000000000000000020b1a232e3a47535f6a6f7979797979797979797979797979797979786d675d5145382c1f1306000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000c1926323f4b58636e73797979797979797979797979797979766c5f5346392d2013000000000000000000000000000000000000000000000d1926333f4b58646e7379797979797979797979797979797979746e64584c3b3025190e0200000000000000000d1926333f4c58646e74797979797979797979797979797979787268584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57606b717e8b919ba4aeb6c0c8bfbbafa39992877f726d635c504941382d22170b000000000000000000000000000000000000000000000000040a0f13191d2022272b2d2f312e34383a3b3c3d3e3e3f3f3e3d3d3c3b3a3630322e2d2a25221f1b15100c0701000000000000000000000000000000000000020a11171d24292c2d33372e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013181d202024292d2e30333036393a3c3d3d3e3e3f3e3e3d3d3c3c3b3938332d31302d2c2924211f1b15130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11161b1f22252a2d2e312f35393a3c3d3d3e3e3f3e3e3e3d3b3a39352f312f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000040c13191d202122272b2d2f312d3338393b3c3d3d3e3e3f3e3d3d3c3b3a39352f2f2d2b28231c1b15100c070000000000000000000000000000000000000000000000000000000000000000000000050c131921272c33383c43474950535659565e616364666667676766666563615e565855534e4746413a373129373f464a4b5353535353535353535353534846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b68758186868686868686868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a141d2c38434e58626f7c878686868686868686868686868686868684796d6053473a2d201407000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a667380868686868686868686868686868686796c605346392d201300000000000000000000000000000000000000000005121e2a36424d5767738086868686868686868686868686868686807467564d42362a1e11050000000000000004111d2935414c5667748086868686868686868686868686868684786a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626c727f8c929ca4aeb6c0cbc0b5aba399938b7f736e605b53493f33271b0f03000000000000000000000000000000000000000000050b10161b1e24292c2d3337393c3e4140454648494a4b4b4b4b4b4a4949474642413e3b3a36312e2b271f1c18120d0801000000000000000000000000000003090c141c23282f35393a40443a3935302820160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d3035393a3d404241464749494a4a4b4c4b4b4a4949484846443f403e3c3a38352f2e2b26221f1b16100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20272b2e30363a3b3e41404547484a4a4b4b4c4b4b4a4a48474540413e3b3a37312d2c28231d1a140f0a04000000000000000000000000000000000000000000000000000001090e161e24292c2d2d3337393b3e413f444647494a4a4b4b4c4b4a4948484745403f3c3a38342e2b271f1c18120b030000000000000000000000000000000000000000000000000000000000000000060e171e252a32383e44484e54535b60626669686e6f717273747474737372706e686965625f5854524c47423c353f4951565860606060606060606060606055534d453b31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976797979797979797979797979797979726d62564a3d3124170b0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9393939393939393939393938c7f7265594c3f3226190c000000000000000000000000000000000000000000000000000006111b262f384854606a75828f9993939393939393939393939393948a7e71675d5145382c1f1306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d9393939393939393939393939386796c605346392d20130000000000000000000000000000000000000000000714202d3a46525e697784909393939393939393939393939393918477695e52463a2d201407000000000000000713202c3945525d687783909393939393939393939393939396887b6f6255483c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47505a626d73808d929da4aeb6bfc7bdb5aba49f918c80746c655b5044372b1f120500000000000000000000000000000000000000040b10171c21272c2f35393a3f4446484b4d4b5153555657575858585857565554524d4d4b4846423c3b37322c29231d19130b06000000000000000000000000060c141a1e262e343a4045474d504746413a32281f150c0200000000000000000000000000000000000000000000000000000000000000000000000000000003090f141a1d23282c2f35393a3e4146474a4d4f4c52545556575758585857575656555453504a4d4b494745403c3a37312f2c271f1c18120d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e252a2d32373b3c4246474a4e4b5153555657575858585857565553514b4d4b4847423d3a38342e2b261f1b150e090300000000000000000000000000000000000000000000000009131b20283035393a3d3f4446484b4e4a505354565657575858585756555453514b4b4846443f3837322c28231d150c070100000000000000000000000000000000000000000000000000000000020a1117202930363d44484f55585f62656c6f7275787a7c7e7f80808181807f7e7c7a7876726e6a66615e56534e454146515b62656c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000000b17222d38414f59626f7c89939e9f9f9f9f9f9f9f9f9f9f9fa4999083766c61554b4035291d1004000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d999f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000000000000000000000000815212e3b4854616e7b8795a09f9f9f9f9f9f9f9f9f9f9f9fa096877b6e6154473b2e211409000000000000000714212d3a4754606d7a86939f9f9f9f9f9f9f9f9f9f9f9fa8988c7f7265554b4035291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f48515b636e74808d929ca4adbbc0c7bdb5afa39b928c80776c605346392d201306000000000000000000000000000000000001080d161b22282d32383a41454749505355585a545c606163646464656564646362615e565a5854534d4947433d38342f29241e17110a020000000000000000030a11171f252a30383f444b5153595d54524c443a31271e140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1f252a2e34383a4045474a4c5254575a5b565e6162636364656565646463626261605b545a585653514b4847433c3b38322c29231d19130b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181f252a3036393d4347494d5254575a555d606263646465656564646362605d555a5855534d4a4645403937312b27201a150b060000000000000000000000000000000000000000000006111b252d323a4145474a49505355585a545b60616263646465656564636261605d55585553504a47433c38342e271e18120b030000000000000000000000000000000000000000000000000000020b141b2227323a41464f545961636a6f73787c7f828587898b8c8d8d8e8d8d8c8b898785827f7b77726d68625f57514c4a56626d7279797979797979797979797976695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8acacacacacacacaca5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000030f1b27333f4953616b7682909ca5afacacacacacacacacb4aa9f93877c6f625a5043392f24180c00000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6acacacacacacacacac9f9386796c605346392d2013000000000000000000000000000000000000000003101c28343f4a5465717e8b98a7b1acacacacacacacacacacb2a8978a7e7164574b3e30251a0e020000000000000a1724303d4a5763707d8a99a4afacacacacacacacacacaca99c8f8276675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232d363f49525c606c77808d929ca4afb5bdb9b1aaa39f948f857b6e6255483b2f22150800000000000000000000000000000000040c131921272c33393d43484c5154535b6062646769666d6e6f70717172727170706f6e69696765615e5756544e47454039352f27221b140b07000000000001070c151c232831363e424a50555d60666a615e564c433930261c11060000000000000000000000000000000000000000000000000000000000000000000000060c141a20262b3036394045464b515357565d616366686a686d6f7070717172717170706f6f6e6c6668666463605d5555534e4948433d38342f29241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000001070d161d242930363b4146474e5456575e61646769676d6f7070717172717171706e6d676a6764625f575653514b46423c37322b261f17110a0200000000000000000000000000000000000000010d18232d373f444c525456535b6062646769666c6e6f70707171727170706f6e6d67686562605c54544e464540393029231d150d06000000000000000000000000000000000000000000000000020b141d262d333d444c525960636b70767c8084898c8f9297969799999a9a9a9999989697928f8b88847f7a756e6a605d554f5865727f8686868686868686868686867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9b2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000000010b151f2b3744505b65707d8a949fabb8b9b9b9b9b9b9b9baaea2988e81746a5f54483e31271d120700000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3b9b9b9b9b9b9b9ac9f9386796c605346392d2013000000000000000000000000000000000000000006121f2b3844505c6675828e9ba8b5b9b9b9b9b9b9b9b9b9b9b4a79a8e817467574d42362a1e1205000000000004111d2935414c566773808d9aabb5c0b9b9b9b9b9b9b9b9b9ac9f92867a6d6053473a2d20140900000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b242d374044505b656c74808c929fa4abb4aea7a098928b827a6e695f53473a2e211408000000000000000000000000000000070d161e242932383e44494f54555d6064656c6f71747678797b7c7d7e7e7e7e7e7d7c7c7a787674716e696662605853514b45413a332d261d181008020000040c13181e262e343b42464f545c60676d73776d685e554b42382e231712090000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373b42464b5153555d606467686d70737577787a7c7c7d7d7e7f7e7e7d7c7c7b7b79777573716f6d6765625f5856544f47454039353027221b140b06000000000000000000000000000000000000000000000000000000000000000000000000040c12181f282f353b42464c525458606267696e717476787a7b7d7d7e7e7f7e7e7d7d7b7a787674716e696763605c54534d47433c373128231c140c0600000000000000000000000000000000000006121e29343f4951565d606366656c6e71747678797a7c7d7d7e7e7f7e7d7c7b7b7a7774726f6d6662605853514b423d342f271f18100600000000000000000000000000000000000000000000020c141d262f383f444f565e616b6f777d83888d9196999c9fa2a9a4a5a6a7a7a7a6a6a5a9a29f9c9896918c86817b736d6760595865727e8b93939393939393939393887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1c6c6c6c6bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000007121d2834404a54606c7883909da6b0bbcac6c6c6c6c9bdb2a89f92857a6e61584e43362c1f150b0100000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0c6c6c6c6c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5c6cec9c5c4c5c9cec4b7aa9e918477695e52463a2d20140700000000000613202c3945525d687783909daab6c3d2cec9c5c4c5c9c7bbaea3998a7d7064574a3d31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b2527333f49535b606e737f8c9399a2aaa49d9590867f756d685f574d42372b1e120600000000000000000000000000000910191f282f353d44485055596063676d7174787b7e8083858688898a8a8b8b8b8b8a8988878583807e7b77736f6a65605c55514c443f382f2a2219130c04070d161d242930383f444d535961666d717980837a6d675d544a3f3428241b1108000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474d52555c6064676d7174777a7d808283858788898a8a8b8b8b8a8a89898887868482807e7c7976726f6a6863605953514b46413a332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000050d161d2429313a41454d52565e61666a6f74787b7e8183858688898a8a8b8b8b8b8a8988868583807e7b7874706d66615f57544e47423c342e261e180f0800000000000000000000000000000000000915222e3a46515b62686d707376797b7e818384868789898a8a8b8b8b8a8988878684817e7c79746f6a64605c544f454039312a221810060000000000000000000000000000000000000000000a141e262f384149505960686d747d838a90949a9ea1a8a8abadb3b1b2b3b3b4b4b3b2b1b3adaba9a8a09e99928e86807a706b635b65727e8b989f9f9f9f9f9f9f9f94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adb9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced2d2cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000c18242f3844515c66717e8a95a0acb8c2cdd2d2d9d0c7b9aca0968c7f72685e52463c32241a0d030000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd2d2d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000091623303c4956636f7c8997a2adbac6ccc4bdb9b7b9bdc4c5b9aca096877b6e6154483b2e21150900000000000714212d3a4754606d7a86929facb9c5ccc4bdb9b7b9bdc4bfb5ab9a8d817467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000091317222d384149505c636d737f879298a19e928d837c726d615e564d453c31261a0e02000000000000000000000000010a121a222b313a41454f545a61646b6f747a7d8185888b8d9091939a9697979798989797969597928f8d8b8783807c77716d67605d555049413c3429251e160e13181f282f353d424a50575e616b70787e858c9083796d665c504440362d231a1007000000000000000000000000000000000000000000000000000000020a11171e262e343b42464e53575e61676d70757a7e8184868a8d8e9092989596969798989897979695959892908f8d8b8986827f7c78746f6b64605c55524c443f382f28231c140c0400000000000000000000000000000000000000000000000000000000000000070f171f282f353e434b51575e61686e73777c8084878a8d90919795969797989898979796959792908d8b8884817d79736e69626058534d443f38302a211a1109000000000000000000000000000000000b1824313e4a56626d727a7d7f8285888b8d90919299959697979898989796959496918e8b8885817c76716d666059514b433c342a22180f050000000000000000000000000000000000000006111c263038424a535b606b707a818990959c9fa6abadb2b5b8babebebfc0c0c1c0c0bfbebebab8b5b2acaba39f99928d857d726d6065727e8b98a5acacacacacaca194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000004101d2935404b55606d7984919ea7b1bccad4deddd2c7bdb0a69e9184796d60564c41342a201208000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfe3dbd5d0cdccc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000005111d2a36414c566673808c99a9b3becac4bab2acaaacb2bac4bdb2a8978b7e7164584b3e31261a0e02000000000a1724303d4a5763707d8a99a3afbbc7c4bab2acaaacb2bac4b7ab9e9184786a5f53473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44525b636d727e869297928a80796f6a625b524c443c332a201509000000000000000000000000010a131c242c343d434c515960636c70777c81868a8e9197979a9c9e9fa4aca3a4a4a5a5a4a3a3a9a29e9c9a9895908c89837e79736d67605b534e463f35302820181d2429313a41454f545c60696e757d838b9197958f81786d605b51483f352c22190f0600000000000000000000000000000000000000000000000000040b141b222730383f444d52585f62696e74797d81868a8d91939a999b9d9fa2aaa3a3a4a4a5a4a4a3a3a2aaa39f9d9b999798928f8c8885817c77716d67615d565049413c342e261e160d0500000000000000000000000000000000000000000000000000000000000710192129313940454f555d60696e747a8084898d9196979a9c9ea1a9a3a3a4a4a5a4a4a4a3a9a19e9d9a9796918d8985807b766f6a625f57504a423c332b231b130a0100000000000000000000000000000c1925323f4c5865727f88898c8f9297979a9c9e9fa3aba3a3a4a4a5a4a3a3a2a8a09d9b9898928e88837e79706b605c554e463c342a21170e040000000000000000000000000000000000081117232e38424a545b656c727d858e939da0a7abb0b7b9bdc2c5c6cacfcccccdcdcbcac9cfcac6c5c2bdb9b4aeaba39f9792877f746c65727e8b98a5b1b9b9b9b9aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000020d17202c3945515d67727e8b96a0acb9c3cddce3d7ccc0b5ab9f948a7d70675c51443b3022190e00000000000a1724313d4a5764707d8a97a3b0bdcad6e3ecececede3dad1cac4c0bfbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000713202d3946525e687683909da9b6c3c9bdb2a8a09ea0a8b2bdc1b4a79b8e817468574d42362a1e120500000004111d2935414b556773808d9aabb5c0c9bdb2a8a09ea0a8b2bdb9aca196887b6e6255483b2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d334049525b626c707c858e857d746d675f585146413a322a21180e0300000000000000000000000009131c252d363e464e555d606b70777d83898e92989b9ea1a9a7a9abacafb6b0b1b1b1b1b1b0afb3adaba9a7a7a09d9995908b85807a716c655f585146413a322a21282f353d434b515960666d727b828a91959ea19e938e80746d635a50473e342b21180e050000000000000000000000000000000000000000000000060d161d262d333d424a50575e616a6e747b80858a8e92989a9d9fa4aca8aaabaeb3afb0b0b1b2b1b1b0afafb4aeacaaa8a6aaa39f9c9897918e89837e79736d68605b534e443f3830281f170f07000000000000000000000000000000000000000000000000000000071119222b333b434b515961676d747b80868c91969a9ea1a8a7a9abadb2b0b0b1b1b2b1b1b0b0b3adaba9a7a8a19e9a97928d87827c756e69605c544d453d352d251c130a00000000000000000000000000000d1a2733404d5a6673808d9a999c9fa2a9a7a9abacafb5b0b0b1b1b2b1b0afaeb2acaaa7aaa29f9b95908a847d746d675f584e463c332920160c02000000000000000000000000000000050e1a2328343f4a545c666c777f8792979ea5acb1b7bbc2c5c9cfd2d2cec8c5c4c1c0bfbdbdbdbfc0c2c5c6c6bfbab5aea9a199938c81776c727e8b98a5b1bec6c6bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000009141f2935414c56606d7985919ea8b2bdcbd5dfded4c7bbafa4998f82766c61554b4032291e100700000000000a1724313d4a5764707d8a97a3b0bdcad6e8f3fdf1e6dbd1c8bfb8b4b2afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6c5b9aca0969196a0acb9c4b7ab9e918478695f53463a2d2114070000000613202c3945515d677683909da9b6c3c5b9aca0969196a0acb9bdb2a8988c7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227374049515a616a6f7b817b706b605c554e463f36302920180f0600000000000000000000000009121b252d373f48505860676d747d838a90959b9fa2aaabadb3b3b6b8b9bbc0bdbdbebebebebdbcbeb9b8b6b3b1acaaa7a09d97928c857e786f6a625b524c443c3328313a40454f555d606b6f787f868f939da0a7ada69d928c7f736c62594f463c332a20170c0200000000000000000000000000000000000000000007101820282f383f444f545c60696e757b81868d92979b9fa2aaaaacafb6b5b6b8babebcbdbdbebebebdbdbcbcbfbab9b7b5b3b4aeaca9a9a19e9b95908b85807a716c655f58504a423a31292119100700000000000000000000000000000000000000000000000000071019232b343d454d555d606b707980868d92989ea0a8abacb2b4b6b8b9bebcbdbdbebebebebdbcbeb9b8b6b3b2acaba9a19e9a938f87817b726d665f574f473f372e251c1309000000000000000000000000010e1b2734414e5a6774818d9aaca9abadb3b4b6b7b9bbc0bcbdbdbebebebdbcbbbdb8b7b4b4aeaba79f9d96918880796f6a5f584e453b32281e13080000000000000000000000000000020c16202c353e44505c666d78818c9299a1a9afb8bcc3c7cdd2d2ccc8c6c3bdb9b7b4b3b2b1b0b1b2b3b5b8babfc5c6bfbbb3aba49f938d8073727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000020e1a25303946525d68727f8c97a1adbac4cedde0d6cabeb3a99f93877c6f625a5043392e20170d0000000000000a1724313d4a5764707d8a97a3b0bdccd6e1ebf5ece0d5cabfb6ada8a6a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000030f1b27333f495364717e8a99a4afbbc7c4b7aa9e9184919eaab7c4b9aca196887b6e6155483b2e2215090000000714212d3a4754606d7a86929facb9c5c4b7aa9e9184919eaab7c2b5a99c8f8276675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117252e373f48505860696e746e686159514b433c342a251e170e0600000000000000000000000006101b242d373f49515a616a6f7a818790959da0a7acaeb4b8b9bec0c3c4c6c8ccd2cacacbcbcacacfcac6c5c2c0bcb8b7b1aca9a19e97918b837c726d615e564d453d343d434b515960676d747d838c92989ea6acb1b9afa59c918b7e716b61584e453b32291e13080000000000000000000000000000000000000000071019222a323a4149505960666d727b81878e92999fa2a9acaeb4b7b9bbc0c1c3c5c6cad0c9cacbcbcbcacac9d1cbc7c5c3c2c0bfbab8b5b2adaba7a09d97928d857e776f6a605c544b433b332b221910070000000000000000000000000000000000000000000000061019222b353d464f575e676d757d848d92999fa3aaacb2b7b9bdc0c3c4c6c9cfcacacbcbcbcacacfcac6c5c3c0bdb9b7b3adaca49f9a938e867f786e69605951493f372e251b12080000000000000000000000020f1c2835424f5b6875828e9ba8b5b8babec0c3c4c5c7cbd1cacacbcbcbcac9cec8c5c4c1bebab8b1aba8a19a938d837c6f6a5f574d443a3024190b020000000000000000000000000008131e28323e47515b606d78818e939fa3abb3bbc1c8cdd3d5d0c7c0bbb9b6b2acaaa8a6a5a4a3a4a5a6a8acaeb4b8babfc5bdb5afa59c928b7f727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000005111e2a36424d57616d7a85929fa9b3beccd5e0d9cec6baada2978d81746a5f53483e30271d0e050000000000000a1724313d4a5764707d8a97a5afbac4cfd9e3eee9dcd0c4b8ada39c999696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000005121f2b3744505b6574818e9babb5c0ccc0b3a69a8d808d9aa6b3c0bdb2a8988b7e7165584b3e31261a0e0200000a1723303d4a5663707d8999a3afbbc7c0b3a69a8d808d9aa6b3c0b9ac9f92867a6d6053473a2d201409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131c252d363e464e575f6167615e564f454039312a2219130d05000000000000000000000000040d18222d363f49515b636c717c848d939a9fa7acb1b8babfc4c6c9cfcfd1cbc7c5c4c3c3c2c1c1c1c2c4c6c8cccec8c5c3bcb8b3ada9a19e9590867f756d685f574e4640444f555d606b7079818890959fa2aab0b8bcc0b7ada39f92877d706a60574d443a3025190d01000000000000000000000000000000000000071019222b343c444c535b606b6f787f868e939a9fa3abadb3b8babfc4c6c8ccd2d0d2d3d3d2d0d0cfcecfcfd0d0d2d3d3d2d0ced0cbc7c5c2beb9b8b1aca9a19e97928b837c736d665d554d453d342b22190f05000000000000000000000000000000000000000000050e18222b343d474f5960696e79818a91969fa3abaeb4b9bdc4c5c9cecfd1d2cfcdcccbcac9cacbccced1d2d1d0cec9c5c4beb9b6afaca49f98928c837b706b625b51493f372d241a0f060000000000000000000003101c2936434f5c6976828f9ca9b5c2c6cacfcfd1d2d3d7dcd4d4d4d5d7d6d6d9d4d1d0d0cac6c2bcb8b2aca49f9591857c6f695e564c4135291d140a000000000000000000000000020c1925303a444f59626d74818e939da5afb5bdc5cdd4d5cec9c2beb6afaca9a8a09e9b9a98979697989a9c9fa2aaacaeb4babfc0bbaea49f92877c7f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000040f19222d3a46525e6973808d97a2adbbc4cfdee1d4c8bdb2a89f92857a6d61584e43362c1e150b00000000000000091623303c4956636f7c89939ea8b2bdc7d1dce8e6dacdc0b4a89c918c8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898986796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000613202d394653606c7885919eabb8c4d2bfb2a5998c7f8c99a5b2bfc1b4a89b8e817568574d42372b1e12060004101d2935404b556673808d99abb5c0cbc0b5ab998c7f8c99a5b2bfbaaea3988a7d7063574a3d31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b242c343d454d53555b54524d443e342f271f18100802000000000000000000000000010c161f2a343e48515b636d727e8691969fa4acb1b8bcc3c6cad0d0cac6c5c2c0bbb9b8b7b6b5b4b4b5b5b7b9bbc0c4c5c8cec8c5beb9b3ada79f99928b827a6e6960584f4a515960676d747d848e939aa0a7aeb4bcc1c8c9bfbbafa39992867c6f695f564c41362a1d11050000000000000000000000000000000000071119222b343c464e565d656c727d838c92989fa4acaeb5babec5c6cad0d2d4d3d2cfd0cac6c5c4c3c2c2c2c2c3c4c5c6cacfcdd0d1d4d3d2cfc9c6c3bcb8b3ada9a19e94908780786d675e574e463d342b21170d0400000000000000000000000000000000000000020b17202a343d464f59606b6f7b838e939ea1a8aeb4babfc6c9ced2d2d1cbc7c5c2c1bfbebdbdbebfc0c1c4c6c9cfd0d3d2cfcac7c0bbb6afaaa39f9590857d726d635b51493f362c21180d0300000000000000000004111d2a3744505d6a7783909daab6c3d0d2d0cecccac9c8c7c7c7c8c8cacdd0d1d4d9dddbd6d3cdc8c4beb6afa7a09791847b6e685d52453d2f261b110600000000000000000000000a141e2a36414c56616b727f8c939da5afbbc0c7cfd6d3ccc4bdb9b0aca49f9c9996918e8d8c8a8a8a8c8d8f92989a9fa2aaaeb4bcc0bbafa3998f827f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000a15202b37424d57616e7b86929fa9b3becdd6e1d9cfc7b8aca0968c7f72685e52463c31241a0c03000000000000000915222f3b4854606b75818e96a1abb5c0cbd7e0e9d9ccbfb2a6998c7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c786c605346392d2013060000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000916222f3c4955626f7c8897a1adb9c6cabfb4aa978a7e8a97a4b1bdc4b8ab9e918478695f53473a2d211408000613202c3945515d677683909da9b6c3c7bbafa3998b7e8b98a4b1bebfb4aa9a8d807467574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222b333b4246484e4746413b3229231d150d06000000000000000000000000000008131e28313c46505a626d727f8a9298a1a8afb6bec3c8cdd3cdc7c6bfbab8b5b5afacabaaa9a8a7a7a8a9aaacafb6b7b8bcc3c7cbc9c4beb9b1aba39f948f847b6f6a6059545c606b7079818991969fa4acb1babfc6ced1cbc5beb5aba29892857b6e685e5246392d20130700000000000000000000000000000000061019232b343d464e585f686d777f8790959fa2aaafb6bbbfc6cad0d3d6d3d0cbc7c5c2bfbfbab8b7b6b5b5b5b6b6b7b8babebec0c3c5c8ced2d3d5d2cdc8c5beb9b3ada69f99928d82796e6960584e463c33291f160c030000000000000000000000000000000000000a141d29323c464e58606b707d8590959ea5adb2babfc6cbd0d5cfc9c6c4bfbab9b6b4b3b1b0b0b1b2b3b5b8b9bec2c3c7ccd3d6d2ccc7c0bbb4aea79f9792877f726d635b51483e332a1f150b01000000000000000005111e2b3844515e6b7784919eaab7c4c7c5c3c2c0bebcbbbbbababbbcbec1c4c5c8ced3d7dcdfd8d4d0c7c0bbb1a9a19691837a6d60594f41382d22170b0000000000000000000006111c26303846525e68707d87939fa5afb7c0cbd1d9d2cac1bab2aca69f9a93908c888481807f7e7d7e7f8082858a8e92989fa3aab0bbc0b5ab9e948f828f9ba8b5c2cec7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000020b1b27323a47535f6974818e98a3aebcc5d0dfdcd1c7bdb0a69e9184796d60564c41342a20110800000000000000000713202c38444f59606d7a849199a3afbbc2ced7e2ded1c4b7ab9e91847a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6c655b5044372b1f12050000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000004111d2935414b5566727f8c99a9b3bec9c6baaea298897c8995a2afbcc5b9ada196887b6e6155483b2e221509000714202d3a4753606d7a86929facb9c5c5b9ac9f92867d8a96a3b0bdc4b7aa9e918477695f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019212931363a3b413b393630292018120b030000000000000000000000000000010d19242f3a434e58626c727f8b919fa3aab2bbc0c7d0d2ccc7c2bbb7b4aeaca9aba39f9e9d9c9b9a9a9b9c9e9fa4acaaacb1b9bbc0c7cfc9c2bdb4aea69e9691857c706b605f666d737d848d929ea1a8afb6bec3cad0cfc7c0bbb3ada8a19e9691847a6d6154473a2e211407000000000000000000000000000000050e18222b353d464f58606a6f7a828c9299a0a7aeb4bbc0c7cbd1d6d6d1cbc7c5bfbab8b6b2b4aeacaaa9a9a8a8a9aaaaabadb3b1b3b7b8bcc2c5c7cbd1d5d4cfc9c5beb9b0aba39f948f837b6f6a60584e453b31281e150b000000000000000000000000000000000006111b262f3a444e58606a707d869197a0a7afb9bdc4cbd1d6cfc9c4beb9b8b4aeaca9a7a6a5a4a3a4a5a6a8abadb3b5b7bbc2c7cbd1d8d2ccc6bfbab1a9a299928b7f726d625a50463c31271d1207000000000000000005121f2b3744505b657885929eabb8c0bbb9b7b5b3b1afafaeadadaeafb1b4b7b8bcc3c7cbd1d9e1e2d9d2ccc3bbb2a8a0958f82756b6053493f33271b0f030000000000000000000b17232e38424f59616d7a859299a4afb7c0c9d7dcd2c9c1b8b0a8a09e949087837f7b77757372717071727375797d81858d92989ea6afb6bdb0a69e938f939eaab6c3cfc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000a141d2b37434e58626e7b87929faab4bfced7e1d7cbc0b5ab9f948a7d70665c51443a3022180e000000000000000000030f1b27323d45515d676f7d87929fa7b1bcc5d0dbdfd2c5b9ada1968e81756c6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b53493f33271b0f030000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000613202c3945515d6776838f9ca9b6c2cfc5b8ac9f92857b8794aab4bfc9bdb2a8988b7e7165584b3e31261a0e020a1723303d4a5663707d8999a3aebbc7c5b8ab9e92857d8996a2afbcc5b9aca096887b6e6255483b2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171f262a2d2e342e2d2a251f170e070100000000000000000000000000000004111d2935414c555f6a717e8b919ba3aeb4bcc4ccd2d0c7c0bbb9b0abaaa29f9c9999929190908f8e8e8e8f91939a999da0a7acafb5bdc1cbcfc6bfbab0a8a09792867d706b696e78808891969da4acb2bbc0c7d0cec9c2bdb5afa9a19e96918b847f786d6053463a2d2013070000000000000000000000000000030c17202a343d474f59606a6f7c848f949fa3abb1babfc5ccd2d7d6d0cac6bfbbb9b4aeaca9a6aaa29f9d9d9c9b9c9c9d9d9fa2a9a4a7aaacb1b5b9bbc0c7c9cfd6d5cfc9c2bdb5afa69e9590857c6f6a60574d433a30271c1207000000000000000000000000000000020b17222d38414c565f6a6f7c869298a1a9b1b9c1c9cfd7d0cac4beb9b3adabaaa39f9c9a999897969798999b9ea1a9a9abb0b9bbbfc6cfd6d8d1cbc2bcb3aba39f918b7f726c61584e43392f24180b02000000000000000613202d394653606c7986929facb6b5afacaaa8a6a4a3a2a1a1a1a1a2a4a7aaacb1b9bbc0c7cfd5dee4ddd8cdc4bab1a79e94897d70655b5044372b1f150a000000000000000003101c28343f4a54616c75818e97a1abb5c0c9d2dbd2c8c0b7afa69e96918a837c76726e6a6867656463646567676d70747a80868f949fa4acb4b8afa59e9b9ea5afbbc6d2c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000006111b262f384754606a75818e99a3afbcc6d0e0ded3c7bbafa3998f82766b61544a4032291e1006000000000000000000000b16212935414c55606b73808c959faab4becad6ded5c9bdb2a89e938b7e71695f54565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565653504941382d22170b000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1c4b7ab9e9184798798a3aebac7c1b4a89b8e817568574e42372b1e1206101d2935404b556673808d99abb5bfcbc4b7aa9e91847c8895acb6c0c9bdb2a8988b7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222821201e19140d0500000000000000000000000000000000040e19222c3945515d676f7c86929fa3adbabfc6ced8cdc4bdb5afaca69f9c98928f8c898685848382818182828486898c91959b9fa3abb0babfc6cecbc1bab2a9a19892867d6f717b838d939aa1a8aeb9bdc4ccd1cbc4bdb9b0aba39f97928b847f79716d665c5144382c1f120600000000000000000000000000000b151e29323c464f59606b6f7c8591969ea6afb5bdc3cad0d8d7d0cac5bebab5aeacaaa39f9c9996989291908f8f8f8f9091929796989a9da0a7a8acafb5b9bec4cad0d7d5cfc7c0bbb0a7a09791867c6f695e564c42392e23180c0300000000000000000000000000000a141d27333f49535e686f7c859298a2aab3bbc3cbd5d4cec5bebab3ada9a19e9a98928f8e8c8b8a8a8b8c8d8e9197989c9fa6acaeb5bdc1cad0d7d7cec5bdb5afa39f93887e716a5f554b4035291d140a000000000000000714212d3a4754606d7a8799a3aca9aba39f9d9b999796959494949595979a9da0a7acafb5bdc3ccd3dce8dfd6ccc3b9b0a69d9083786c6053463c31261b0f030000000000000006121f2b3844505c66707d8a939ea9b3bdc7d2dbd3cac0b6aea59e948f847d766f6a66625f575a5957575759555c6063686d747b828c939aa2aab4b7afaaa8aaafb7c1ccd7c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000b17222d38414f59626f7c88939eabb5c0ced8dfd6cabeb3a99f92877c6e62594f42392e20170c0000000000000000000000040d19242f3a434f59606d78839098a2aebac1ccd6dacfc4baafa59f92867b6e665c504949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494946443f382f261b1106000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d0c3b6aa9d90837986929facb9c5c4b8ab9e9185786a5f53473a2e211406131f2c3945515d677683909ca9b6c3d1c3b6a99d90837b879aa4afbbc8c2b5a99c8f8276675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1414110e080200000000000000000000000000000000000a15202b37434e58606d7a849198a3aeb5bfcbd0d2cac2bbb3aba49f9b94908a85827f7c797877767574747576777a7c8084888e92999ea6aeb4bcc3cbccc4bbb3aaa29892857c7e8590959fa4acb2bac0c9cecfc7c0bbb2aca69f99928d857f79726d66605c544a4034281c10040000000000000000000000000007121d27303b444e58606b707d869297a0a8b0bbc0c7cfd6dbd6cec5bfbab3adaba39f9b98928f8c89878584838282828383848587898b8d9095979b9fa3abadb2babec5ced6d9d1cbc1b9b1a9a19891857b6e685d544a4034281e150a0000000000000000000000000006111c262f3844505b656d7a849197a2aab4bcc4cdd5d8cbc3bcb3ada9a19e97918e8a868281807e7d7d7e7f808285888b8f949b9fa3abafbabec5ced4d7cfc7c0bbafa49a92867c6e675d51453c2f261b11060000000000000815212e3b4854616e7b8794a39f9c999992908f8d8b898888878788898b8e91959b9fa3abb2bac1cad3dde6ded5cbc1b8aba0958a7e7164584e43372b1f120600000000000004101c2834404a54606d7884919da5afbbc5d0d9d6cdc1b8aea49d938e8279706c62605855534e4d4c4b4a4b4c4b5153565e61696e777f889298a2abb5bbb6b5b6bbc1c9d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000030f1b27333f4953606b76828f9ca5afbdc7d1e0d9cec6baada2978d80746a5f53473e30271c0e0500000000000000000000000008131e28313d44505c666e7b86929fa5afbac4d0d9d6ccc1baaea2989083786d60584e433c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3937332d261d140a00000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000006121e2b37424d576774818d9aabb5bfcbcec2b5a89b8f827884919eabb7c4c6b9ada197887b6e6255483b2d22170b14202d3a4753606d7a86929facb9c5cec2b5a89b8f827986939facb9c6c5b8ac9f9286796d6053473a2d2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000030f1b27323a47535f6a74808d96a0aab4bfc7d6d2c8c0b8b0a9a199938f89837d7976736f6d666a696867676869676d6f73777c81878f949fa3aab1b9c1c9cdc5bcb4aaa29792868a92989fa7afb6bec4ccd1cbc3bdb5afa8a19e948f87807a726d67605c54514a42392e23180c00000000000000000000000000050e18232e39434c565f6a707d869298a2a9b2bac1cbd1d9d7d0cac2bcb4aea9a29f99928f8a86837f7d7b797776767575767777787a7c7e8084878b8f92999ea1a9aeb4bcc1cad0d8d7cbc3bbb3aaa19790837a6d665c51443c30261c11060000000000000000000000000b17222d38424e58606c77828f96a1a9b3bcc5ced6d2ccc1b9b1a9a29f97918b85817d7a76747372717071727375787b7e82888e92999ea5aeb4bcc2cbd4d9d1cbc0b6aca2989083796d60584e41382d22170b0000000000000916222f3c4955626f7c889598928f8c89868482807e7c7c7b7a7a7b7c7e8184898e9299a0a8b0b8c1cbd4dfe7ddd4c8bcb1a79e9184776a5f53473a2e21150800000000000006121f2c3844515c66717e8b96a0acb7c1cdd7dacfc4bbafa59d928d81786d67615a544e484742403f3e3d3e3f4045474c52575e656c737d869299a3afbbc0c2c3c6ccd3dcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000010b151f2b3744505b65707d89949fabb7c1cfd9e1d4c8bcb1a79f92857a6d61584e43352c1e150b00000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2ddd6cabeb4aa9f958c7f736a60554b41353030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b27221b140b0200000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000814212e3a47535f697884919eabb7c4d1cdc0b4a79a8d817683909da9b6c3c9beb3a9988b7e726553493f33271b0f1623303d495663707d8999a3aebac7cdc0b4a79a8d817885929eabb8c5c7baaea3988a7d7063574a3d31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa8b2bcc6d0d3c9c0b6aea69f979187827c76706d666663605c545d5c5b5b5b555d6063666a6f747b828b9298a0a7afb7c1c9cec6bcb3a9a29892989fa2aab1bbc0c7d0cfc6bfbbb1aba39f96918a827c736d68605c55514b44403930271c1207000000000000000000000000020d17202834404b555e686f7c869298a2aab3bbc4ccd7dcd6cec6bfbab0aaa29f97928c86827d797673706e6c656a696869696a6a686d6f7174777b7e82868c91979fa2aaafbabfc6ced6d5cdc4bcb3a9a0958f82786d60584e42382e23170c0300000000000000000000030f1c28333f4a54606a727f8c949fa8b2bbc5ced7d0c7c0bbafa79f97928c857e7974706d676766656463646566686a6e72767c81868e939fa2aab1b9c2cbd4dcd2c7beb4aaa0958d80746a5f53493f33271b0f0300000000000a1623303d495663707c898f8a8683807d7a77757371706f6e6e6e6e6f7174777c818791969ea6b0b9c2cdd7e1e4d9cdc3b9aca096887c6f6255483c2f24190d0100000000000713202d3a4653606d7984919ea8b2bdc9d3dfd5c9beb3a99e938d80776d665d555047433c3a3731323130312f34383a41464d535b606b707d87929fa4aebbc5cfd2d7dde5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000007121d28343f4a54606c7883909da6b0bbc9d3e1d8cfc6b8aca0958b7f72685d52463c31231a0c030000000000000000000000000000040d17232e38424d57626c75818e96a1abb5c0ccd7dbd0c5bcb1a79f92877c6f675d51453e332923232323232323232323232323232323232323232323232323232323232323232323232323232323232323201f1b17110a020000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000815222f3b4855626e7b8896a1acb9c5d2ccbfb2a5998c7f75828f9ba8b5c2cfc1b5a89b8e8275655b5044372b1f121c2934404b556673808c99abb4bfcbccbfb2a5998c7f7784909daab7c3cbbfb4aa9a8d807467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000020507080f08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76828f99a3afbac4ced4cac1b7aea49d948f857d756f6a63605c545653514b504f4e4e4f4b515456585f62696e757f8690959ea5afb7c1cacec5bcb3aaa29fa2aaaeb3bcc3ccd2ccc3bdb5aea7a099928d847d766e6a605d56514b454039342e271e150b0000000000000000000000000008131e29323a45515c676e7a849198a2aab3bcc5cdd6dcd4ccc4bcb4aea69e98928c857f7a75706d67666361605b535c5c5c5c5d565e61636567696e71757b80848c92989ea5aeb4bcc4ccd6d6cec4bbb1a79f948d80736a60544a3f34281f1409000000000000000000010c161f2b3844505b666f7c87929fa6b0bac4cdd7d2c7beb6afa59e9590857f79726d6664605d555958575758595a585f62656a6f747b818a92989fa7b1b9c2ccd5d9d0c6bcb1a79f92877c6f655b5044372b1f160b00000000000a1724313d4a5764707d86827e7a7673706d676866646362616161626264676a6f757c848f949ea7b1bbc5cfdbe6dfd5c9bdb2a8998c7f7266554c4135291d11040000000005121e2b37424d5764717e8a96a1acbac3cedbd9cfc7b9ada1978f81756c655c544b433e37322e2b262624242423292c30363b41495059616b727f8b929da9b3bec9d5dfe8e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000c18242f3844505c66717e8a959fabb8c2ccdbdcd1c6bdb0a69d9183786d60564c41342a2011080000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc3ced7d7cec2bbafa3999184796d605a50453b2f261b161616161616161616161616161616161616161616161616161616161616161616161616161616161613120f0b0600000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000004101c2934404b5565727f8b98a8b2bdc9d5ccc0b5ab978a7e74818d9aa7b4c0d1c5b8ab9e9285796c605346392d20131f2c3845515c677683909ca9b6c3d1cabeb3a9978a7d75828e9ba8b5c1d0c4b7aa9e918477695f53463a2d2114070000000000000000000000000000000000000000000000000000000002090e1214151c1514120f0a030000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c88949fabb5c0ccd5cdc2b8afa59d928d827a706b62605853514a494645404342414142414547494e53575e616d727c838e939ea5afb8c2cbcec5bcb4aeacaeb4babec5ced0c7c0bbb1aba39f9590878079706c625f58524c454039342e28231c150c03000000000000000000000000030d1925303a44505a606d79839096a1aab4bcc5ced7dcd4cac2bab2aaa29f948f867f7a736d6864605c5556545350494f4f4f50504c52545658565e6164696e73797f868e939fa2aab2bac4cdd6d6cdc3b9b0a69f92877c6f665c50443b31261a0e02000000000000000008131e2935414c56606c78839099a3afb8c2ccd6d8ccc0b6aca49f938e837b726d67605c5453514b4d4b4a4a4b4c4d4e5355585f62696e757e8690959fa7b1bac3cdd6d7cec3bbafa3999083786c6053463d32271b1002000000000814212e3b4754616e7a7a75716d676663605d555a5856555554545556585860626a6f79828f959fa9b3becad6e0e5d9cec2b6a99c8f8376675d5145392c201306000000000714212d3a46535f6976828f9ca8b2bdccd5dcd1c7bdafa59e91857a6d615b534a4239312b27211e1a19181718181c1f252a2f383f444f59626d74818d97a1adb9c3ced9e5e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000004101d2935404b55606d7884919da7b1bccad4ded7cbbfb5ab9e94897d70665c50443a3022180e0000000000000000000000000000000000000a151e29333e45525d68707d87939fa7b1bcc6d0dbd7cbc0b5aba0968e81746c61574d41382d22170d090909090909090909090909090909090909090909090909090909090909090909090909090909060503000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2ced4c7bbafa499897c727f8c98abb5c0cbc6b9ada197887b6f6255483c2d2217202d3a4753606d7986929facb9c5d2c6baada297887b737f8c99abb5bfcbc5b8aca096887b6e6155483b2f23180c000000000000000000000000000000000000000000000000000000050d141a1e20212822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba6b0bdc7d1cfc5bbb0a69e938d80776d686059544e4644403c3a38342e3534342f35393a3c43474d535b626a6f79818e939ea6b0b9c2cdcec6bfbab8babfc6cad0cdc4beb6afa79f99928c837c736d67615a534e45413a342f28231d18120b03000000000000000000000000010b151f2a36414c56616c74818e959fa8b2bcc5ced7ddd4cac2b8b0a8a198928b827b736d68615e5653514b4a4846443f4342424344414647494b4d5254575e61666d727a818a9298a1a8b2bbc4ced7d5cbc2bbafa3999083786d60574d42362a1e120500000000000000010d19242f3945525d68717e8b959fabb5c0cad3d5ccc3bbafa49a938c81796e69605d55514a474540403f3e3d3e3f404347484e53575e616c717b8390959fa8b2bbc4cfdad7cbc0b5ab9f948a7d7164594f44382c1e1308000000000714202d3946525e686e6d6764605d555653514b4d4b494948474748494b4e545860676d79839097a2adb9c4cfdae6dfd2c5b9ac9f92867a6d6054473a2d211407000000000815222e3b4855616e7b87939facb9c4cedfd7cbc0b5ab9d928a7d70685e5249413830271f1b15120e090b0a070c1013191d262d333e47515b606d7a85929ea8b1bdc8d4e1e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000020d17202c3845515d67717e8b96a0acb9c3cddcddd3c7bbaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfcad6dcd1c7bdb2a89d938a7e71695e53493f33271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000714202d3a4753606d7986929facb8c5d2d2c6b9ac9f93867a707d8999a3afbbc7c9beb3a9988b7f7265544a3f33281c23303d495663707c8998a3aebac7d2c5b8ab9f928579707d8999a3aebbc7c8bdb2a8988b7f7265554b4034291c100400000000000000000000000000000000000000000000000000060f171f252a2d2e352f2e2b2620180f0700000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c2cfd5c9beb3a99f948e81776c655e564f47433d38342e2d2c282329282824292c2d32373b424651585f676d78818f949fa7b1bcc7d3d0cac6c5c6cad0d6cac2bbb3aca49f9590877f786f6a605c555047433c352f29231d18120c07000000000000000000000000000007121d27313946525e68717e8a939ea7b1bac4ced7ded4cbc2b8b0a69f9691867e766e69605d56524c4745403d3b3937332d3536363036393a3c3e4246474d52545c60686e747e869196a1a9b2bcc5d0d9d7cbc0b5aba0958c7f72695f53463a2d2114070000000000000004111d2935414c56606d7a85929ea7b1bdc7d1d7cec3b9b0a69f93887f756d675e56514b44403a39352f323130313231373a3c43474d525a61696e79839096a0a9b3bec9d5dcd1c7bdb0a69d9083776b6054483a3025190d0100000005111e2a36414c565e61605d5553514b4a474540403e3d3c3b3b3b3b3c3e43474e555d676d7a85929ea9b2bdc9d5e1e0d3c7bbafa3998a7d7063574a3d3024170a00000005121e2a36424d576673808c9aa4afbbc8d4e0d4c7bbafa3998e81746b61564c41382f261e150d0a0602000000000004080b141b2227353f45525d68727f8b95a0acb8c5d1dee1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000008141e2935414c56606d7984919ea8b2bdcbd4dfd5c9beb3a99f92867b6e62594f42382e20160c0000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac1ccd6d9cfc4baafa59f92857b6e655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000a1723303d4a5663707d8998a2aebac7d3d0c3b6aa9d9083776d7a86929facb9c5cfc2b5a89b8f8275665b5044382b1f2834404b5566737f8c99aab4bfcbcec2b5a89b8f82756d7a86929facb9c5cec2b5a89c8f8275675c5145382c1f13060000000000000000000000000000000000000000000000020a1117212930363a3b423b3a37312a2219110900000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b99a3afbbc7d4d2c6b9ada1978f82786d655b534c443d38322c2823201f1c181c1b1b181d2021262b31363f464e555c666d78828f959fabb7c4d1dbd6d3d2d3d6d3cac1b8b0a9a19a938d837c736d666058514b433e373129241e18120c07000000000000000000000000000000000c18232f3943505a616d7a85929ea5afb9c2ccd6e0d5ccc2b9b0a69f9490847c716c615e57524c46413a38342f2e2d2b2722292929252a2d2e3030363a3b42464a51565e616c717c849196a1aab3bec7d2dcd1c7bdb1a79f92867b6e6155483b2e221508000000000000000613202c3945525d6873808d97a1adb9c3cfd9d0c5bcb1a79e938c80736d605d554d454039342e2c29242524242526262b2e31373b424650575f676d7a849197a1adb9c1cfd8d9cfc2b8ab9f95897c7063564c4135291d1105000000010d1925303b444c525454514b4745403d3a39352f31302f2e2e2e2f2f32373c434b555e68727f8c96a1adb9c5d2dfe3d7cbc0b5ab988b7e7165584b3e3225180b0000000714202d3a46525e697784909dacb6c0ccd8dfd2c5b9ac9f92877b6e61594f443a30261d150c0300000000000000000000020a1117232935414c56606d7884919daab7c3ced9e4d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000020e1925303945525d68727f8c96a1adbac3cedddcd2c6b9ada1978d8073695f53473d30261c0e0400000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbac4d0d9d6ccc0baada2978f82776c60584e43392f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000005121e2a36424d576773808d9aaab4bfcad6cbbfb4aa998d8073677683909da9b6c3d2c5b8ab9e9285796c605346392d202c3845515c6776838f9ca9b6c2d1c9beb3a9988b7f72677683909ca9b6c3d0c5b8ac9f9285796d6053473a2d20140900000000000000000000000000000000000000000000050b141c2228333b4246484f4847433c342b231b1206000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6776838f9cabb5c0cbd4c8bdb2a89e92857a6d665c5349413a322b271f1c181313100c070e070d1113141b1f252a343c434b545c666d7983909da9b6c3d0dce2dfdfdfd7ccc1b8b0a69f97918880786f6a605c544e454039312b262019130c07010000000000000000000000000000000004101c2934404b55616c75818f97a1adb7c1cbd4ded7cec3bab0a69f9490827a6f6a625a534d45413a36302c292321201f1b171c1c1d191d202123252a2d30363940444c525a616a6f7b849198a2acb6c0ccd8d9cfc3baaea2988b7e7165584b3e3225180b00000000000004101c2834404b54606d7a85929fa9b3becbd4d6cabfb4aaa0958f82776c605b514b433b352f2823201d1818171718191a1f21262b30363e454d555e686e7b85919ea6b0bdc6d1dcd4c8bcb1a79c8f8275685e5246392d2013070000000008141e29323b4146474745413a39352f2d2c29242523222221212223272b3139434c56606d7984919eabb8c4d1dee8dcd1bfb2a6998c7f7366594c403326190d0000000815212e3b4854616e7b8795a0acbec7d2ddd4c8bcb1a79b8f8275695e53473e32291e140b0300000000000000000000000000061119242f3a44505c66727f8c99a7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000005111e2a36414c56606d7a85929ea8b2bdccd5e1d4c8bcb1a79e92857a6d60574d42352c1e150a00000000000000000000000000000000000000000000010c16202834404a545f69717e8b939ea8b2bec7d2ddd6cabeb3a99f948c7f726a5f554b40352920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000714202d3a46525e697784919daab7c4d0d3c7baaea398897d706773808d9aabb5c0ccc6b9ada297887c6f6255493c2e232d3a4653606d7986929facb8c5d2c6b9ada197887c6f6673808c99aab4bfcbc6baaea298897d7063564a3d31251a0e020000000000000000000000000000000000000000060e171d262d333d454d52545b55534e463d352d2417110a020000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d1d2c5b9aca0968b7f72685d544b41382f29201b16100c070604000001000104060a0b141d262d334049515a626c717e8a97a4b1bdcad7e4ecebdfd2c6bbb0a69e948f857d736d665f58514a423c342f271f1a150d08010000000000000000000000000000000000010c161f2c3845515c67717e8a939ea9b3bec9d2ddd9d0c5bcb1a89f949082796d685f585046423b352f2a251f1c181513120f0b060f080d11131416191e20252a2e343b4146505860696f7c86929aa4afbbc5cfdad6cabfb4aa988b7e7165584b3e3225180b00000000000006131f2c3845515c66727f8c98a2aebbc5cfddd3c6baaea2989183796d655b504540393129241d1813110d070b0a0b090f12151b1f252a333b434c565f69707d89939eabb5bfcbd7d8cdc3b9ac9f92867a6d6154473a2f24180d01000000020d1720293036393b3a39352f2c292420201d1818161615141415161b1f28313a45515c6774818d9aa7b4c0d0dbe6dacdc0b3a79a8d8074675a4d4134271a0e0000000b1825323e4b5865717e8b98a7b1bcd0d9ded1c5b8aca095897c7063574d42352c20170c0200000000000000000000000000000008131e28343f4a54616e7b8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000040e18222d3946525e6873808d97a2adbac4cfded8cfc6b8aca0958b7e72685d52453c31231a0c030000000000000000000000000000000000000000000000040d18232e39424d57626c75818f96a1acb6c0ccd8dbcfc5bbb0a69f92867c6f675d51453e32291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1d2c5b9ac9f9286796d63707d8a99a4afbbc7cabeb3a9988c7f7265544a3f3428303c4956636f7c8998a3aebac7d1c5b8ab9e9285796c63707c8998a3aebac7cabfb4aa9a8d807367574d42362a1e1205000000000000000000000000000000000000020a111720292f383f444f575e6168625f584f473f3627221b140b0200000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afbbc7d3cabfb4aa9e9184796d60564c42392f261d170e0a0400000000000000000000030c151d262f383f44525b626c717e87929facb9c5d2dfecede9dccfc3b6aa9e938f827a706b605c544e4440393029231d150d09030000000000000000000000000000000000000008131e2935414b55606d7984919ea5afbbc5cfdbddd2c7beb4aaa0959082796d675e564e463e363129241e1913100c070605030000030001050707090e11141a1c232830363e464e575f6a707d88939fa9b3bec9d5dbd0beb1a4988b7e7165584b3e3225180b0000000000000713202d3a4653606d7984919eaab4becdd7d5c9beb3a99f92867b6e675d53493f352f271f18120c070401000000000002060a0f141a2129313a444d57606b75828f99a3aebbc7d2ddd3c7bbafa3998b7e7165554b4035291d110400000000050e171e252a2d2e2d2c2924201d181413110d070a09080808080a0d161f2934404b5564707d8a97a9b3becad6e2dbcec1b4a89b8e8175685b4e4235281b0f000004111d2935414c566875828e9ba8b5c1cedbddd0c3b7aa9d9083776b6054453b31231a0e0500000000000000000000000000000000010b17232e3847535f697783909daab7c3d0ddd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000a15202a36424d57616e7a86929fa9b3beccd6dcd1c6bdafa59d9083786d60564c41332a2011080000000000000000000000000000000000000000000000000007121c27303c45505a616d7a84919aa4afbbc3ced8d7cdc2baaea3999183796d60594f443a3025190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000003101c28343f4a5465717e8b98a7b1bcc8d4cfc2b6a99c8f827667606d7a86939facb9c6cfc2b5a89c8f8275665c5044382b34404b5466737f8c99aab4bfcbcec1b5a89b8e827565606d7986929facb8c5d0c4b7aa9d918477695e53463a2d2114070000000000000000000000000000000000040b141b2227323a424a505960696e756e6a6059504840332d261d140b03000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5c0cbd3c7baaea2988a7e71665c51443a30271d140b050000000000000000000000030c151e272f384149505b636d727f879299a3aebbc7d3e0dfe0e3dbcec2b5a89b8f82786d686059514a423c342e271e18120b030000000000000000000000000000000000000000010d19242f3945515d67727f8c96a1adb7c1cdd7e1d8ccc0b6aca2989183796d675d554c443c342a251f19130d080400000000000000000000000000000205090e12181e252a343c454e58606b74818e97a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000000000005111e2a36414c5664717e8b96a1adbcc5d0dfd2c6b9ada1978c7f73695f554b41382d241d150d0701000000000000000000000002090f181f29323b454f59626e7b86929fabb5c0ccd7d7cbc0b5ab9c8f8276675d5145392c2013060000000000050d14191e202121201d1813110d070604010000000000000000040d18232f3a4753606d7a8697a2adbac6d3dfdccfc2b6a99c8f8376695c504336291d1000000613202c3945525d687784919eaab7c4d1ddd6cabfb4aa988b7f7265594f4433291f110800000000000000000000000000000000000006111c2b37424d576773808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000030f1b26323a46535f6974818d98a2aebbc5cfdfd7cbbfb4ab9e93897d70665c50443a2f21180e0000000000000000000000000000000000000000000000000000000b151e2a333f46525d68707d88939fa7b1bcc6d0dbd7cbbfb4aba0958d80746b61564c41362a21180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000006121f2c3844505c6675828e9ba8b5c1ced6cabeb3a9998c7f72665d687783909daab6c3d2c5b8ab9f9285796d6053463a2d3845515c6676828f9ca9b6c2d0c9beb3a9988b7e72655c6776838f9ca9b6c2d0c5b8aca095877b6e6154483b2e23180c00000000000000000000000000000000040e161d262d333d444c545b606b707b827c706b625a52443f382f261d150c030000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1d2c5b8ac9f9286796d60544a4032281e150b020000000000000000000000030c151e273039424a535b606d737f8b9399a3abb5bfcbd7d4d2d4d7ddd1c5b8ab9e9285796d60564f4440393028231c150c070100000000000000000000000000000000000000000004111d2935414c56606d7a85929ea8b2bdc9d3dfdcd4c8bbafa49a92867c6e675d554b433a322a221a140d08010000000000000000000000000000000000000000070c1419222b333c464f59606d7a85929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b00000000000714202d3946525e6876828f9ca9b2bdced7d5c9bdb2a89e9285796d60574d433a2f261b120b03000000000000000000000000000000060d172029333d47535f6974808d99a4afbbc7d4dcd1c5b9ac9f92867a6d6053473a2d20140700000000000002080d1114141413110d070401000000000000000000000000000713202c3945515d677885929fabb8c5d2deddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a4754606d7a86939facb9c6d2dfd3c6baaea298887c6f6255493d3222170d00000000000000000000000000000000000000000e1a26313f4c5965727f8c98a5b2bfcbd8d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000006131f2b37434e58616e7b86929faab4bfcdd7ddd3c7baaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d95a0aab4bfcad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000713202d3a4653606d7985929fabb8c5d2d3c6baada297897c6f62566774808d9aacb6c0ccc6baada297887c6f6255493c2e3a4653606d7985929facb8c5d2c6b9ada197887b6e625566737f8c99aab4bfcac8bdb1a8988b7e7265544b4034281c10040000000000000000000000000000020c1620282f383f444f565e666c737d858e857d716c635c504941382f261e150b020000000000000000000000000000000000000000000000000003101c28343f4a546a7683909da9b6c3d0cfc2b5a89c8f8275675d5142392e20160c030000000000000000000000030c151e273039424a545b656c73808c919fa4abb5bdc6d1ccc7c6c7ccd2d2c6b9ada1978b7e71655b5044372e271e18120b0300000000000000000000000000000000000000000000000613202c3945525d68737f8c97a1adbac4cfdbded5c9beb3a99f93887e706a5f554c433a31282018100903000000000000000000000000000000000000000000000002081019212a343d45525d68727f8c98a5b2bfcbd7cbbeb1a4988b7e7165584b3e3225180b00000000000814212e3b4754616e7a86929facb9c4cfdfd2c5b9aca0968b7f72675d51453c31281d140a010000000000000000000000000000000000050e17212b37424d57616e7a87939facb9c6d2dfd3c7bbafa399897c706356493d30231607000000000000000001050708070604010000000000000000000000000000000004111d2935404b556a7784919daab7c4d0ddddd0c3b6aa9d9083776a5d5044372a1d1100000a1623303d495663707c899aa4afbbc8d4dfd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000091724313e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000020b1a232e3b47535f6a75818e99a3aebcc6d0dfd5c9beb3a99f92867b6e61594f42382e20160c0000000000000000000000000000000000000000000000000000000000060f1924303a444f59606d79839098a2aebac1cdd6d8cfc3b9aea49e91857a6d615b51453c30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000091623303c4956636f7c8997a2adbac6d3d2c5b8ab9f9285796d605764707d8a9aa4afbbc8cabeb3a9988c7f7265544a3f343c4956636f7c8998a2aebac6d1c4b8ab9e9185786a5f56636f7c8998a2aebac6cec2b5a89b8f8275665c5145382c1f1306000000000000000000000000000008131e28323a4149505960686d788087929792877e736e605b534a423830261d140a0000000000000000000000000000000000000000000000000006121f2c3844505c667885929eabb8c5d1cbbeb1a4988b7e7165554b4030271c0e040000000000000000000000030c151e273039424b545c666c77808c929ba3afb5bdc6cfc7c0bbb9bbc0c7d0c9beb3a99d9184786c6053463d32271b0c07000000000000000000000000000000000000000000000000000714212d3a4754606d7a85929fa9b3beccd6e0d8cdc6b9ada1978e81746c61574e433a31281f160e06000000000000000000000000000000000000000000000000000000070f18222935414c5664717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000005111e2a36424d5665727f8b99a3afbbc7d4d7cbc0b5ab9e9184796d60554b40332a1f160b0200000000000000000000000000000000000000060f1a26313c46525e687683909da9b6c3ced9d7cbc0b5ab998c7f7366594c402f24180c0000000000000000000000000000000000000000000000000000000000000000010d18242f43505d697683909ca9b6c3cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1925323f4c5865727f8b98acb6c0ccd8dccfc2b6a99c8f8376665c5044382c1f12060000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000a141d2c38444f59626f7c87939fabb5bfced8dbd2c6b9ada1978d8073695f53473d30261c0d0400000000000000000000000000000000000000000000000000000000000008131e28323d45515c666e7c86929fa6b0bbc4d0d9d5cbc0b9ada1978f82756d62574e42392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000005111d2a36414c566673808c99a9b3becad6cec2b5a89b8f8275665c54616d7a86939facb9c6d0c2b5a89c8f8275665c5044383f4a5466727f8c99aab4bfcacec1b4a89b8e8175685753606d7985929facb8c5d2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000010d1924303a444c535b606b6f7a828c9399a199928b80746c655b544a42382f261c11060000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2cabfb4aa95887b6e6255483b2f22150b0000000000000000000000030c151e273039424b545c666d78818d929ca4adbbc0c7ccc3bdb5afacafb5bdc7d0c5b8aca0968a7d7063584e43372b1c110600000000000000000000000000000000000000000000000007131f2c38434e5865727f8b98a2aebbc5cfdedfd3c7bbb0a69e91857a6d605a50453c31281f160d05000000000000000000000000000000000000000000000000000000000006101924303e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000714202d3a46525e697683909cabb5c0cbd7d3c7bbafa3998b7e72665c51433a2f21180d0400000000000000000000000000000000000000000009151f2a36414c5666727f8c99a8b2bdc9d5dcd1c2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010d1a2734404d5a6773808d9aa6b3c0d2ddd9ccbfb3a6998c807366544a3f34281c100300000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000006111c262f384854606b75828f9aa4afbdc6d1e0d4c8bcb1a79e91857a6d60574d42352b1e140a00000000000000000000000000000000000000000000000000000000000000020c16202834404b545f6a727e8b939ea9b2bec7d2ddd5c9beb3a99e948b7e726a5f544b40342820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000713202d3946525e687783909daab6c3d0d5c9bdb2a8988b7e726554525d687784909daab7c3d0c5b8ab9f9285796d6053463a44505c6676828f9ca9b5c2d0c9bdb2a8988b7e716558515c6676828f9ca9b5c2d0c6baaea298897d706356493d31251a0e0200000000000000000000000004111d2935414c565d656c727d848f949fa4aba39f928c80776c665c544a42382d2217130a00000000000000000000000000000000000000000000000714212d3a4754606d7a8793a9b3bec9d3c7baaea298877a6d6054473a2d21140700000000000000000000030c151e273039424a545c666d78818e939da4adb6bfcccbc3bab2aba49fa4abb5bdc7c8bdb2a89c9083766a605447382e23170b0000000000000000000000000000000000000000000000000915222e3b4854606a7783909daab4becdd7e1ddd0c4b7ab9f948a7e71685d52483e332a1f160d0400000000000000000000000000000000000000000000000000000000000000081825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000814212e3b4754616e7b87939facb9c6d1dcd2c5b9ac9f92867a6d61544a4031281d0f0600000000000000000000000000000000000000000000030d1925303c4855626f7b8896a0acb9c5d2ded1c4b8ab9e918578675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100020f1c2835424f5b6875828e9ba8b5c1cedbd6c9bdb0a3968a7d7063574a3d2e23170c0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0808080808080808080b17222d3842505a63707d89949eacb6c0cfd8d8cec6b8aca0958b7e71675d51453b3123190c020000000000000000000000000000000000000000000000000000000000000000040e18232e39424e57626d75828f97a1acb6c0ccd8dacfc4bbb0a69f92867c6e665c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000714212e3a4754616d7a87939facb9c6d2d2c5b9ada196887b6e62554c566774818d9aa7b4c0cec6baaea298897c6f6256493c4653606d7985929facb8c5d2c5b9ada196887b6e61554a5466727f8c99aab3becacabfb4aa9a8d807367574d42362a1e12050000000000000000000000000713202c3945525d686d777f8791969fa6afb5aea49c928d81786d665c544a3f3328251b1208000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbacfd2c5b8ac9f928579675d5145392c201306000000000000000000030c151e273039424a545c666d78818e939da5aeb6bfc8cbc2b9b1a8a0999399a4abb5c0ccc3b7ab9f94897c6f62544a3f34281c10030000000000000000000000000000000000000000000004111d2935404b55626f7c8995a0acbcc5d0dfdfd3c7bbb0a69c8f82766c61564c41362c21180d0400000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000b1824313e4b5764717e8a9aa4afbbc8d4d7cbbfb5ab9c8f8276685e5242392e1f160c0000000000000000000000000000000000000000000000000815212e3a47535f6a7784919eaab7c4d1ddd2c6b9ada197867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101d2a3643505d697683909ca9b6c3cfdcd5c8bbaea295887b6f6255483c2f2215060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f32261915151515151515151515151c28333f4a54616c7683909da6b0bec7d2dcd0c6bcafa59d9083786c60554c41332a1f11070000000000000000000000000000000000000000000000000000000000000000000007121d27303c45515b616d7a85919aa4afbbc3ced8d6cdc1baaea2989083796d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000030f1b27333f495364717e8a9aa4afbbc8d4d1c4b7ab9e918478695f534a5764717d8a97a8b1bdc8cabeb4aa998c7f7266544a404956626f7c8998a2aebac6d1c4b7ab9e918478695f534956626f7c8998a2aebac6d0c3b7aa9d908477695e53463a2d2114070000000000000000000000000714212d3a4754606d7a828c9299a1a9b0bbbfbbaea49d938e81786d665b504440372d241a10060000000000000000000000000000000000000000000815212e3b4854616e7b8794abb4bfcbd1c4b7aa9e9184776b554c4135291d11040000000000000000030c151e273039424a545c666d78818f939ea5afb7c0c8cac2b9b1a7a09691869399a4afbbc7c7bbb0a69a8e8174665c5044382b1f1206000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcced7e2ddd0c4b7ab9f94897d70635a50443a2f231a0f060000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000005111e2a36424d576774818e9aacb6c0ccd8d3c7bbaea3998b7e7165564c4130271c0d0400000000000000000000000000000000000000000000000006121f2b37434e586874818e9ba7b4c1cedad5c9beb3a995887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121e2b3845515e6b7884919eabb7c4d1ded7cbbfb4ab94877b6e6154483b2e2115080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226212121212121212121212121212b3844505b66707d8a959fabb8c1d0d9d6cbbfb4aa9e93897d6f665b50433a2f21180e0000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d88939fa7b1bcc6d0dcd6cabfb4aaa0958d80736b60564c41352921170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000005121f2b3744505b6574818e9bacb6c0ccd8cec1b4a79b8e817468574d4754616d7a8795a0acb8c5d0c2b5a99c8f8276665c51444a5466727f8c99aab4bfcacec1b4a79b8e817468574d4653606d7985929fabb8c5d2c5b8aca095877b6e6154483b2e23180c0000000000000000000000000814212e3b4754616e7a8390949ea6afb7c0cbbfb6aea59d938e81786c605c52493f362c22180e0500000000000000000000000000000000000000000714212d3a4754606d7a8799a3aebac7d0c4b7aa9d9184776a544a3f33281c0f0300000000000000020b151e273039424a545c666d78818f939ea6afb7c0c9c9c1b8b0a79f9590847c87939facb9c4cdc2b8ab9e9285796d6053463a2d20130a000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb8c3cedfe1d4c8bdb2a89c8f82766b6054483e32281e1108000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000714202d3a46525e697784919eaab7c4d2ddd2c5b9ac9f92867a6d6054473a3021150b00000000000000000000000000000000000000000000000000030f1a26313f4c5966727f8c99a5b2bfccd8dacfbdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3945525f6c7885929fabb8c5d2ded3c7baaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f322518090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f322e2e2e2e2e2e2e2e2e2e2e2e2e2e34404b55606c7883919da7b1bccad3ddd3c7baaea3988e81756b60544a3f31281e0f06000000000000000000000000000000000000000000000000000000000000000000000000030c18212a36414c56606b73808d95a0aab4bfcbd6dbd0c6bcb1a79f93877d70685d52453e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000613202d394653606c7885929eabb8c5d2d4c8bcb1a7978a7e7164574b46525e687784919daab7c4d0c5b8ac9f9285796d605346505c6675828f9ca8b5c2d0c9bdb2a8978b7e7164584b44505c6675828f9ca8b5c2cfc8bcb1a7988b7e7165544a4034281c100400000000000000000000000714202d3946525e686e7a828f949ea5aeb6c0c8c0b7afa59e938d80746e635b51483e342a20170c03000000000000000000000000000000000000000613202c3945525d687986929facb9c5d1c5b8ab9e928578665b5044382b1f1206000000000000000a141d263039424a545c666d78818f939ea6b0b8c1c9c9c0b7afa69f9590837a75828f9ca8b2bdc9c6b9ada197897c706356493d32261b0f030000000000000000000000000000000000000000030f1b27333f495364707d8a98a2aebac7d3e0ded1c5b8aca096897d7063594f44362c20160c00000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000814212e3b4754616e7b8796a0acb9c5d2dccfc2b5a99c8f8276685d5245392c20130300000000000000000000000000000000000000000000000000000a1724313e4a5764717d8a97a4b0bdcad7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121f2b3744505b657985929facb8c5d2dfd2c5b9ac9f928679675d5145392c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f30251a0e0300000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b45515c67717e8b95a0acb9c2cddcd5c9bdb2a99f92867b6e61594f42382d1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d79839098a3aebac1cdd6d8cec3bbafa49991847a6d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000916222f3c4955626f7c8897a1adb9c6d2d1c5b8aca095877a6e615447414c566774818d9aa7b4c0cec6baaea298897c6f63564953606d7985929fabb8c5d2c5b9aca096877b6e6154483f4a5465727f8c98a9b3becacec2b5a89b8f8275665c5144382c1f1206000000000000000000000005111e2a36414c565e686d79828e939da4aeb6c0c9c0b7afa59d928d80736d625a50463c32291e150b0000000000000000000000000000000000000004111d2935414c566b7885919eabb8c4d1c6b9ac9f9386796c605346392d20130700000000000006111c262f38424a545c666d78818f939ea5afb8c1cac8c0b7afa59e948f827a6e707d8a96a0acb9c6c9beb3a99a8d807467584e43372b1f1306000000000000000000000000000000000000000005121f2b3744505b6574818e9aaab4bfcad6e2d7cbc0b5ab9d9184776b6054473d32241a0d0400000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000b1824313e4b5764717e8a97a8b2bdc8d4d9ccc0b3a6998d807366564c4135291d11040000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b554b4035291d10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265574d42362a1f140900000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c48484848484848484848484848484848484b55606d7984919ea7b1bccbd4dbd2c5b9ada1968c8073695e53473d2f261c0d0400000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515c676f7c86929fa6b0bbc5cfdad7ccc0b5aba1968e81756c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000004111d2935414c5566727f8c99a9b3bec9d5d0c3b7aa9d908477685e52463e4b5764717e8a97a8b2bdc9cabfb4aa998c7f7366554b56626f7c8998a2aebac6d1c4b7aa9e918477695e53463c4955626f7c8897a2adbac6d2c5b8ab9f9285796d6053463a2d2013090000000000000000000000020e1925303b444c565d676d78818d929da4aeb7c1c9c1b7aea49c928c7f726c61584e443a30271c1207000000000000000000000000000000000000010d19242f44515d6a7783909daab7c3d0c7bbafa499887b6e6155483b2e23180c00000000000a1317222d38424a545c666d78818f939ea5afb8c1cac8c0b6aea59d938f82796d686c7884919eabb4bfcbc4b7ab9e9184786a5f53473b2e21150600000000000000000000000000000000000000000613202d394653606c7885919eabb8c4d0dbe0d4c7bbafa3998c7f7266594f44352b2112080000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000010d1a2734404d5a6773808d9aa6b3c0ced9d7cbbfb4ab978a7e7164574b3e3024190d0100000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714202d3a4753606d7a869aa4afbbc8d4ddd0c4b7aa9d9184776a5e51442f24180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d8996a3b0bcc9d6e3dacdc0b3a79a8d8074695e52463b31261a0e03000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726559545454545454545454545454545454545454545d67727f8b96a1acb9c3ceddd4c8bcb1a79e9184796d60574d42352b1d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404b555f6a727f8b949ea9b3bec9d5ddd2c7bdb2a89e938b7e71695f544a3f34281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000613202c3945515d677683909ca9b6c3cfd7cbc0b5ab9a8d807467564d413b4754616e7b8796a0acb9c5d0c2b6a99c8f8376675c515465727f8c98aab4becacdc1b4a79a8e817467574d42394653606c7985929fabb8c5d2c6baaea298897c706356493d30251a0e02000000000000000000000008141e29323b434c555d666d77808d929da5afb8c2c9c0b6aea49f93887e706a5f564c42392e23180e05000000000000000000000000000000000000081b2835414e5b6874818e9ba7b4c1cfccc0b5ab978b7e7164554b4034281c100400000009121c2528333f4a545c666d78818f939ea5afb8c1cac8bfb6aea49d938e81786d675d66727f8c99a3aebac7c5b9aca196887c6f6255493c2e23170c00000000000000000000000000000000000000000916232f3c4956626f7c8997a1adb9c6d2e2dfd2c5b9ac9f92867b6e6154473d3321190f000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000004111d2935404b556975828f9ca8b5c2cfdbd3c7baaea399887b6f6255483c2f2215080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714212d3a4754606d7a8793a0b5c0cbd7ddd0c3b7aa9d9084776a5d51442e23180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000060f1b27333f4953616c7683909da9b6c3d0dce9dfd2c5b8ac9f92867b6e61574d42362a201509000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f72656161616161616161616161616161616161616161616d7a85929ea8b2bdcbd5d8cec6b8ab9f958b7e71675d51453b3123190b020000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f97a1adb9c0cbd5d9d0c4baafa59f92867b6e665c50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000714212d3a4754606d7a86929facb9c5d2d3c7bbafa3998a7d7063574a3d3a46525e697784919eaab7c4d1c5b8ac9f9286796d60535b6675828f9ca8b5c2d0c8bdb1a8978a7e7164574b3e3844505b6675828f9ba8b5c2cfcabeb4aa998d807366574d42362a1e11050000000000000000000000020d172029313a434b545c656c74808d939ea6b0b9c3c8bfbbafa49a92867c6f685e544a40342820170d0200000000000000000000000000000000000b1825313e4b5864717e8b97a8b2bdc9d2c1b4a79b8e8174675c5145382c1f150b010008121b242e373f44505b666d78818f939ea5afb7c1cac8bfb6aea49c928d81786d665d55616d7a86929facb9c5c9bdb2a8998c807366544a3f34281c1003000000000000000000000000000000000000030f1b27333f49536673808c99a9b3bec9d5e1dccfc2b5a99c8f8276685e5246392d201407000000000000000000000000000000000000000505050505050505050505050505050505050b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000613202c3945515d677884919eabb7c4d1ded2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000713202d3a4653606d798699a3afbbc7d3ded1c4b7ab9e9184786b554b4034281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000c171f2b3744505b65707d8a959fabb8c4d1ddeae0d3c7baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e73808c97a1adbac4cedbd0c6bcafa59d9083786c60554b4033291f140d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a85929ea4aeb9c3cfd8d6ccc1baaea2989083786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000a1724313d4a5764707d8a99a3afbbc7d3d2c5b9ac9f92867a6d6054473a36424d576774818e9aa7b4c1cec7baaea398897c706356606c7985929fabb8c5d2c5b8aca095877a6e6154473b333f4a5465727f8b98a9b3bec9d0c3b7aa9d908377695e52463a2d201406000000000000000000000000050e171f283139424a535b606c77818e949fa7b1bbc4ccc0b6aca29891847a6d665c51443d32291e130800000000000000000000000000000000000815222e3b4855616e7b8896a1adb9c5d1c5b8ab9e9285796d6053463e31271d120708111a242d363f49525c606c78818e939ea5afb7c1c9c8bfb6ada49c928d80776d665c54525e6875828f9ba8b5c2cec3b6a99d908376665c5044382c1f120600000000000000000000000000000000000005121f2b3744505b6576828f9ca9b6c2cfdae1d4c8bdb2a8988b7f7265564d41362a1e110500000000000000000000000000000105090b0b111111111111111111111111111111111111111825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000714202d3a4753606d7a86939facb9c6d2ddd0c3b7aa9d908377665c5044382c1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3844505c667986929facb9c5d2dfd2c5b8ac9f928579675c5145382c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bcc8d4e0ece3d6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd9ccc0b3a6998d807b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c86929fa9b3beccd6d6cabfb4aa9e93897c6f655b504339322a261f170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343f46525e68707d8a929da7b1bcc6d1dcd6cabeb4aa9f948c7f736a60554b40352920170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000006121e2b37424e576774818d9aabb5c0cbd7cfc3b6a99c908376675d514539303e4b5864717e8b97a8b2bdc9cbbfb4aa998c80736655626f7c8897a2adbac6d0c4b7aa9d918477685e5246392d3c4855626f7b8897a1adb9c6d1c5b8aca095877b6e6154473b2e23170c00000000000000000000000000050d161f2730384149505b656d79829095a0a9b2bcc5c7beb4aaa1969082786d60594f443a3025190e04000000000000000000000000000000000714212d3a46535f697884919eabb7c2cdc6b9ada1978a7e71645a5043392f241810101a232c363f48515b636e74808d939ea5afb7c1c9c7bfb6ada49c928c80736c655c544b4c5665727f8b98a8b2bdc9c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deded2c5b8aca096887b6e6155483b3025190e0200000000000000000000000000060c111517181e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e25313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000916232f3c4956626f7c899aa4afbbc8d4dbcec2b5a89b8f827568574d42362a1e1205000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101c28343f4a5f6c7885929fabb8c5d2ded3c6baaea29886796d6053463a2d2013070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8a95a0acb9c2cdd8e4f0e7dcd0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc1b4a89c928d8787878787878787878787878787878787878787878787889298a2aebbc5cfded3c6baaea2988e81756a60534f47433d3631292117110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000030c18222a36414c56616b74808d95a0aab4bfcbd7dbd0c5bcb0a69f92877c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000814212e3a47535f6a7884919eabb7c4d1d6cabfb4aa998c807366554b41352e3b4854616e7b8796a1acb9c5d0c3b6a99c908376675d65727f8c98a9b3becaccc0b6ac9a8d817467564d41362d394653606c7985929eabb8c5d1c8bcb1a7988b7e7165544a3f34281c100300000000000000000000000000040d151e262f383f49535c676d7a839197a1aab4bfcac6bcb2a89f948d80736b60564c41362a20160c0200000000000000000000000000000005121e2a36424d576774808d9aa6b0bbc7cabeb3a99d9083766c61554b403529221819222c353e48515b636d73808d929da5afb7c1c9c7bfb5ada39c928c80736e605b534a424855626e7b8896a1adb9c5c7baaea398887b6f6255483c2f2215060000000000000000000000000000000000000815222e3b4855616e7b8897a2adbac6d3dfddd1c4b7aa9e918477695f53463a2d1f1408000000000000000000000000000911171d2124252b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000b1825313e4b5864717e8b97acb6c0ccd8ddd1c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c17232e45525e6b7885919eabb8c4d1ded6cabfb4aa94877a6e6154473b2e2114080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000004101c2834404b55606d7884919ea7b1bccbd4dfe9f5ede2d7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd0c4b9aea49c999494949494949494949494949494949494949494949494959fa2aab4bfcdd7dfd2c5b8ac9f92857b6e67636059544e46423b3328231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d79839098a3aebac2cdd6d7cec2bbafa3999184796d605a50453b2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000815222f3b4855626e7b8896a1acb9c5d2d3c6baaea298897c6f6356493c2f2d3a46535e697884919eabb7c4d1c5b9ac9f9286796d606675828f9ba8b5c2d0c8bbafa49a8a7d7164574a3e302b3744505b6575828e9ba8b5c1cfcec1b5a89b8e8275665c5044382c1f12060000000000000000000000000000030c151d262d38414b555d686e7b859198a2aebac1ccc4bab0a69f93887d70685e52463e32281e1308000000000000000000000000000000020e1a26313b4855626e7b88949fabb7c3cec5b8ab9f958a7e71675d51453e342a21212b343e47505a626d727f8c929ca4aeb7c1c9c7bfb5ada39c918c80736e635c5049413847535f6a7884919eabb8c4cbbfb4aa978b7e7164584b3e2d22170b0000000000000000000000000000000000000b1724313e4a5764717e8a97a9b3becad6e2dacdc0b3a79a8d807467574d42362a1e0d0200000000000000000000000009121b22292e3132383838383838383838383838383838383838383838383e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000c1926333f4c5966727f8c99a5b2bfd2ddded2c5b9aca096877b6e6154483b2f24180d000000000000000000000000000000000000000000000000000004101c2834404b546673808c99a6b3bfccd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000061e2a3744515d6a7784909daab7c3d0dddbd0bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000010c16202c3845515c67717e8b96a0acb9c3cedde6f0f7f3e7dcd1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5cabfb6aea8a6a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2acaeb4bcc5d0dfded1c4b7ab9e91847e7974706b626058534d453e342e261e150c030000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515c676f7c86929fa6b0bbc5cfdad7cbc0b5aba0968e81746c61574d41382d22170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000004101c2934404b5565727f8b98a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d2a36424d576874818e9ba7b4c1cfc7baaea399897d70636c7985929fabb8c5d2c6b9ac9f93867a6d6154473a2e27333f495365727e8b98a9b2bdc9d2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000030b141b262f39434c565e696f7c86929fa5afbac4ccc2bbafa49a91857a6d615a50443a3025190b020000000000000000000000000000000914212e3a47535f6976828f9ca7b1bcc8c8bcb1a79e9184796d605a50463c332a2a333d474f59616c727f8b919ca4aeb6c0c9c7bfb5ada39c918c7f736d635c52443f3837424e576874818e9ba7b4c1cfc0b3a79a8d807467544a3f33281c0f0300000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d0dbe3d6cbbfb4aa978b7e7164584b3e31261a0e02000000000000000000000006111b242d343a3d3e44444444444444444444444444444444444444444444444b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00010e1a2734414d5a6774808d9aa7b3c0cddae1d4c8bdb2a8978b7e7164554b4035291c11060000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9ba8b5c2cedbd8ccc0b6ac978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100030f1c2936424f5c6975828f9ca8b5c2cfdbd6c9bcafa396897c706356493d302316090000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdcbd5dfedebeaecede3d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7dcd1c8bfb9b4b3aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb8babfc5ced7e2ded2c5b9aca196918b85817d766f6a615f5750443f3830271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202934404b555f6a727f8b949fa9b3bec9d5dcd1c7bdb2a89d938a7e71695e53493f33271f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000006131f2c3845515c6776828f9ca9b5c2cedacfc2b5a89c8f8275665c5144382c25313e4b5865717e8b98a8b2bdc9cbbfb4ab998c8073666f7c8897a2adbac6d0c3b7aa9d908377685e5246392d222d3b4855626e7b8896a1adb9c5d2c6baada297897c6f6356493c3025190e02000000000000000000000000000000020a141d27303a444d575f6a717e8b939ea8b2bec7ccc0b6aca1978f82756c61564c4135291d140a00000000000000000000000000000006121e2b37424d5764717e8a95a0acb8c1cec2b9aca1968d80746c61584e453c33323c454f59616b717e87939fa3adb6c0c8c8bfb5ada39b918c7f736d635b524a40332d313e4b5764717e8a97a8b2bdc9c3b6a99c908376665b5044382b1f120600000000000000000000000000000000030f1b27333f49536976828f9ca9b6c2cfdce0d3c7baaea398887b6f6255483c2f2215090000000000000000000000010c17222d363f454a4b5151515151515151515151515151515151515151515151515864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00020f1c2835424f5b6875828e9ba8b5c1cedbe5d9cec1b4a79b8e8174675d5145382e23170c010000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded4c8bbafa49a887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010e1b2734414e5a6774818d9aa7b4c0cddad8cbbfb2a5988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000010d19242f3945515d67727f8b96a1adbac3cedde5e1dedddfe0e3dcd1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e3dad1cac4c1c0babababababababababababababababababababababababbc5c6cad0d7e0e9e1d5c9bdb2a8a19e98928e89827c756e69615a504a423930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232f39434e58606c77828f97a1adb9c0ccd5d9cfc4baafa59e92857b6e655b50443c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000714202d3a4753606d7986929facb8c5d2d5c9beb3a9988c7f7265544a403428222e3b4855616e7b8896a1adb9c5d1c3b6a99c90837667727f8b98a9b3becaccc0b5ab9a8d807467564c41362a212e3a47535f697884919eabb8c4d1cabeb3a9998d807366564c41362a1e110500000000000000000000000000000000020b151e28323b454e58626c75818e96a1acb6c0ccc7beb3a99e948a7e71685e52463d2f261b11060000000000000000000000000000020e1a26313c4653606d7883909da5afbcc6c9bdb2a89d928a7e716a5f574d453d3b444e57606b707d879299a4afb5bfc8c8bfb6ada39b918c7f726d635b5249403727222e3b4754616e7a8796a1adb9c5c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121f2b3744505b657784919eaab7c4d1dddfd2c5b8ac9f9286796d6053463a2d201307000000000000000000000005111d29343f485056585e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e64717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0003101d2a3643505d697683909ca9b6c3cfdce9ded1c5b8ab9e9285796d60544a3f34281e13080000000000000000000000000000000000000000000000050f1b27333f495363707d8998a2aebac6d3dfd2c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1926333f4c5966727f8c99a5b2bfcfdbdbcec2b5a89b8f827568574d42372b1e120500000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000004111d2935414c56606d7985929ea8b2bdccd5e0d9d5d2d1d2d4d7dcd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ece3dcd5d0cdccc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c8d2d3d6dbdddfe0e4dacec4bab2acaaa29f9b948f87817b706c605c544b43392f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929ea4aeb9c3cfd8d5ccc0b9ada2978f82776c60584e43392f23180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000a1723303d4a5663707d8998a2aebac7d3d2c6b9ada197887c6f6255483c2e23212d3a46535f697884919eabb8c4d1c5b9ac9f92867a6d75828f9ba8b5c2cfc7bbafa4998a7d7064574a3d30251e2b37424d576875818e9ba8b4c1ced0c3b6aa9d908377685e5246392d2014060000000000000000000000000000000000030c162029333c46505a616d7a84919aa4afbbc3d0c4bbb0a69e92857a6d61594f41382d22170b01000000000000000000000000000009151f2b3844505c66707d89939eaab4bfcbc4baaea49f92867c6f695f574e46434d565f6a6f7d869299a3abb5c0c7c8bfb6ada49c918c7f726d635b514940372e25202d3946525e687884919eabb7c4c6baaea298887b6e6255483b2f221508000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfdcd0c3b6a99d908376665c5044382c1f120600000000000000000000000915212e3a45505a62656b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0004111e2b3744515e6a7784919daab7c4d0ddeadfd2c6b9ada2978b7f72665c50443a2f24190f06000000000000000000000000000000000000000000030c17202b3744505b6574818d9aaab3becad6ded1c4b7ab9e918478675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000b1724313e4a5764717d8a97a9b3becad6ded1c5b8ab9e928578695f53463a2d21140900000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000030d17212c3945525d68727f8c97a1adbac4cfded5cec9c5c4c5c7cbd1d9d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ede5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9c9cacbcdd0d2d4d8ddd6ccc4bdb9b4aeaca69f9a938e857d736d665c554b42382d22170f06000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d8a929da7b1bdc6d1dcd6cabeb3a99f948c7f726a5f554b40342920170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000005121e2a36424d576774808d9aaab4bfcad6d1c5b8ab9e9285786c605346392d201e2b37424d576875818e9ba8b4c1cfc7bbaea399897c6f7885919eabb8c4d1c6b9ac9f93867a6d6054473a2d211a26313e4b5865717e8b98a8b2bdc9d2c6b9ac9f93877a6e6154473b2e23170b000000000000000000000000000000000000040e17212a343e46525d68707d88939fa7b1bdc7cdc1b9ada1978e81746b6053493f33271d1207000000000000000000000000000003101c28343f4a54606b75828f98a3aebac1cbc0baaea29891857b6e696058504b555e686e7c859298a2abb5bdc7c9c0b6aea49c918c7f726d635b514940372e251c1e2a36414d566976828f9ca9b5c2cabfb4aa968a7d7063574a3d3024170a000000000000000000000000000000000814212e3b4754616e7a8799a3aebac7d3e0dacec1b4a79b8e817468544a3f34281c100300000000000000000000000b1724313d4a56626c717777777777777777777777777777777777777777777777777777777e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3945525f6c7885929fabb8c5d2deebe2d6cabeb3a99e9184796d60564c4135292118100700000000000000000000000000000000000000020b151e2834404a54606c7884919eabb8c4d0dbdbcfc2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adb9c6d2dfd2c6b9ada197887b6e6155483b31251a0e01000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000009141f2a36414c56606d7a85929fa9b3beccd6d5ccc4bdb9b7b9bbc0c7cfd9d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e5dbd3ccc6c2c1bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbdbec1c4c6c8ccd2d4d7cec9c6bfbab8b0aca49f97928880786d675c544a3f332821180e03000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0abb4bfcbd7dbcfc5bbb0a69f92867c6f675c51453e32291e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000714212d3a46535e697784919daab7c4d0dbcec1b4a89b8e8175655b5044372b1f1a26313f4b5865727e8b98a9b3bec9cbbfb5ab988b7e727a8797a1adb9c6d0c3b6aa9d908377685d5245392c2015222e3b4855616e7b8896a1acb9c5d2c8bbafa49a8b7e7164544a3f34281c1003000000000000000000000000000000000000050f18222935414c56606b73808d95a0abb5c0ccc9beb3a99e93897d70655b5044392f23180c0100000000000000000000000000000b17232e38424f59616e7b86929fa5afb9c3cabfb4aaa19791847b6f6a625a545d676e7a849197a2aab4bdc6c9c0b7aea49c928c7f736d635b51493f372e251c13192530414d5a6774808d9aa7b3c0d0beb1a4988b7e7165584b3e3225180b000000000000000000000000000000000916232f3c4956626f7c8995abb4bfcbd7e3d9ccbfb3a6998c807366594d402e23170c0000000000000000000000000b1825323e4b5865717e84848484848484848484848484848484848484848484848484848485929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3844515c667986939facb9c6d2dfece6dbcfc5b9aca1968a7e71685d52453e332a221810070100000000000000000000000000000000030b141d26303844515c66707d8a96a1adb9c5d2e1d5c9beb3a9988b7f7265584c3f2f24180c000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535f697885929eabb8c5d1ded5c9beb3a9978b7e7164574d42362a1d1207000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000020e1a25303946525e6873808d97a2adbbc5cfd9cec4bab2acaaacafb5bdc7d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ddd3c9c1bab6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafb0b1b2b4b7b9bbc0c5c7cbd1d5d0cac6c2beb6afa9a29a938d82796d665b50443f332a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839199a3aebac2cdd7d7cdc2baaea3999183796d60594f443a3025190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000815212e3b4854616e7b8795a0acb8c5d1d5c9bdb2a8988b7e716553493f33271b15222f3b4855626e7b8897a1adb9c6d1c0b4a79a8d81747c8996a9b3bec9cbc0b5ab9a8d807367564c4135291d14212d3a46535f697884919eabb7c4d1ccc0b6ac9b8e8175665c5044382b1f12060000000000000000000000000000000000000007101924303a444f59606d79839099a4afbbc6cfc5bbafa59d9083786c60554b4034291d1207000000000000000000000000000006111c26303d46535e69727e8b939ea7b1bbc5c5bcb3a9a19691857c716c605d666d79839096a1a9b3bcc6cac1b7afa59d928c80736d635b51493f372e251c13081825323f4b5865727e8b98a5b1becfbfb2a6998c7f7366594c403326190d000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdd1dce7d8cbbeb1a5988b7e7265584b3f322518060000000000000000000000000c1926323f4c5965727f8c91919191919191919191919191919191919191919191919191919297a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000713202d3a4653606d79869aa4afbbc8d4e0edece1d5c9bdb2a89e91847a6d605a50463c342a2218130c040000000000000000000000000000060c151d262f38424c56606d7984919da8b2bdc9d5dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576976828f9ca9b5c2cfdadacfc2b5a89b8f8275695e5346392f24180b020000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000005121e2a36424d57616d7a86929fa9b3becdd6d5c9bdb2a8a09e9fa3abb5c0cbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe2d7ccc1b7afaaa8a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a7aaacafb6b9bbc0c7cad0d6d3d0c7c0bbb3aca49f948e81786c605b51453c31261a0d03000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c86929fa6b0bbc5cfdad7cbbfb4aba0958d80746b61564c41362a21180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000003101c28343f4a5465717e8b98a7b1bcc8d4d2c5b9aca096877b6e6154483b2d221714212e3a47535f6a7885929eabb8c5cfc2b5a99c8f82767e8a97a4b1bdcfc7bbafa3998a7d7063574a3d2f2419121e2a36424d576874818e9ba7b4c1ced2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000000000000008131e28323d45515c676f7c87939faab4bfcbcdc1b8aca0958b7e71675c5145392f23180c0000000000000000000000000000000a141e2a36424d57626d75818e95a0a9b3bcc5c4bbb2a9a19791867e746d676d78828f95a0a8b2bbc5cbc2b8afa59d938d80746e635b51493f372d251c130a0a1623303d495663707c8996a9b3becac0b4a79a8d8174675a4e4134271b06000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1a9b3bec9d5d7cbbeb1a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0b6c0ccd8e4f0f1e5dacec4b9aca1968e81756c61584e463c3429241d16100b0603000000000000000003070c11171e272e38414a545e68727f8c96a0acbac4cfdaded1c4b8ab9e9185786a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000020e1a2631404d596673808c99a9b3bec9d5dfd2c6b9ac9f93877b6e61554b4035291d140a0000000000000000000000000000000000060f18222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000040e18222d3a46525e6974808d98a2aebbc5d0dcd2c5b9aca096919299a3afbbc6d1d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c6baafa59e9b9595959595959595959595959595959595959595959595969697989a9d9fa4acacafb5babec5cdd7d9d2ccc5beb6afa69e938d80746d62574d42372b1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b555f6a727f8c949fa9b3becad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000006121f2c3844505c6675828f9ba8b5c2ced9d1c4b7aa9e918477695e53463a2d1b11121e2b37424e576875828e9ba8b5c1cfc4b7aa9d9184777f8c98a5b2bfcbc5b9ac9f92867a6d6054473a2d21140e1a26313e4b5864717e8b97a8b2bdc8d3c6baada297897c6f6256493c3025190d0100000000000000000000000000000000000000020c16202834404b555f6a74818e98a3aebac5cfc8bcb1a79e9184796d60554b4034291c11060000000000000000000000000000020c1a25313b45515b606d79839097a2aab3bcc6c4bbb2a9a198928b81796f74808d949ea7b1bac4ccc2b9b0a69e938e81776c605c524940372e251c130a010714212e3a4754616d7a8797a2adb9c6c2b5a89b8f8275685c4f422d22170b000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c1926323f4c5965727f8c98a5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5cfdad7cbbeb1a4988b7e7165584b3e3225180b000714212e3a4754616d7a8794a0adbad2dde8f4f6ebe0d5c9bdb2a89e938a7e716a5f584e463d352f281f1c17120f0b0608070708060c1012181c222830394049535c666d7a85929fa8b2bdccd6e0d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000916232f3c4956626f7c8997a1adb9c6d2dfd4c7bbafa4998d8073675d51453b2f261b1106000000000000000000000000000000050e18212a36424d57626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000a15202b37424d57616e7b86929faab4bfcdd7d4c8bcb1a79e918487929fabb4bfcbd7cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6aa9e938e8888888888888888888888888888888888888888888888898a8a8b8e91939a9b9fa3abadb3bbc2cbd1d8d8d0c7c0bbafa59d928c7f72695f53473e31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c77828f97a1adb9c0ccd5d8cfc3b9aea49e91857a6d615b51453c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000713202d3a4653606d7985929fabb8c5d2d8ccc0b6ac9a8d817467574d42362a1e0a0e1a26313f4c5865727f8b98a9b3becac5b8ab9f928578808d9aa6b3c0cdc3b6a99d908376675d5145392c20130915212e3b4854616e7b8796a0acb8c5d2cabeb3a9998c807366564c41362a1d11050000000000000000000000000000000000000000040e18232e39434e58616e7b86929fa9b3becacdc3b9ada1968c7f72675c5145382e23170c00000000000000000000000000000009141f29333f45515d676e7b859298a2aab4bcc5c4bbb3aaa39f938e847c7f8b929da6b0b9c3ccc3bab1a79f948e81786d655b504a40372e251c130a01000713202d3946525e687885929eabb8bab8b4a99d9083766a53493f33271b0f030000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d4c7baaea194877b6e6154483b2e2115080000000000000000000000000c1926323f4c5965727f8c98a5b2b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec5cdd6e1d7cbbeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1edfbf1e5dacec4baafa59f92867c6f6a5f584f45403a312b28231f1b17161514141516171c1f24292d333c424b515b656d78828f97a2adbac3cedfddd1c4b8aca095887c6f6255493c31261b0f03000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000613202d394653606c7885919eabb8c4ced9d7ccc0b5ab9f9285796d60564d41382d2217110600000000000000000000000000060e17202a333c46535f6973808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000030f1b26313a46535f6974818e98a3aebcc6d0dcd1c4b8ab9f958a7d818e99a3aebac6d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdbcec1b5a89b8e817b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7e7f8184868a8e92999fa2a9b0babfc6cfd8d9d2ccc1b7aea49f92867b6e625a5043392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7b85929ea5afbac3cfd8d5cbc0b9ada1978f82756d62574d42392e23180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000091623303c4956636f7c8998a2aebac6d3d4c8bbafa49a8a7d7164574a3e31251a0e0915222f3c4855626f7b8897a1adb9c6c6baada297867a818e9ba7b4c1cbbfb4ab998d807366554b4135291d110714202d3a46525e697784919eaab7c4d1cfc3b6aa9d908377685e5246392d20130600000000000000000000000000000000000000000007121d27303c46525e6973808d97a1adb9c4cec9bdb2a89e9185796d60544a3f34281c10030000000000000000000000000000030d17212935404b555f696f7c869298a2aab3bbc3c4bcb4aea59d96918787929fa4aeb8c1cbc4bbb1a89f958f82786d665c53493f382e251c130a01000005111e2a36414c566a7784919daab4aeacaaa29e918478655b5044372b1f12050000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e2114070000000000000000000000000c1926323f4c5965727f8c98a5b2bfc4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c6c9cfd6dfe8d7cbbeb1a4988b7e7165584b3e3225180b000815222e3b4855616e7b8894a1aebbc7d4e1eef0e9e4e0d6ccc1baaea29892857c6f6a6059514b433d38342e2b272223222121222323282c2f35383f444d545c606c77818e949ea9b3beccd5e0d4c8bdb2a89d9083776a5f53473b2a20150a00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000005121f2b3744505b6574818e9aa8b2bdc9d5ddd2c7baada2978b7e72695e53493f33272317110a03000000000000000000030a10182029323c46505a616e7b86929facb9c5d2dfd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000006121f2b37434e58616e7b87929faab4bfced7d3c7bcb0a69d9083767b86929faab4bfcad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f70717274777a7d82878d92979fa6aeb4bdc6d0d9ddd8c9c0baaea3998f82766c61554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e69707e8a939da8b2bdc6d1dcd5c9beb3a99e948b7e72695f544a40342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000005111e2a36414c566673808d99aab3becad6d2c6b9ac9f93877a6d6154473a2e2114090613202d394653606c7985929eabb8c5cabeb3a994887b828f9ca8b5c2c7baaea399897d7063564a3d2f24180d05121e2a36424d576774818e9aa7b4c1ced2c6b9ac9f93877a6d6154473a2d22170b000000000000000000000000000000000000000000000b151e2a36424d57606d7a85929ea8b2bdc9cfc4b9ada1978b7e72665c5044382c1f150a000000000000000000000000000000050f18242f39434d57606a6f7d869298a1a9b1b9c1c6bfbaafa8a099939299a3afb6c0cac5bcb2a9a0959083796d665c544a41382d261c130a01000000010d19253043505d697683909ca9aaa29f9b98928f86786c605346392d2013060000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae0d3c6b9ada093867a6d6053473a2d2014070000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d5dad7d7d7d7cbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1efe6dfd8d4d1d0cabeb3aaa19792857c706b605d554f46443f3937332d302f2d2e2f302e34383a40454a50575f666d73808d939ea6b0bcc5d0ded8cec6b9aca0968b7e7165584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000030f1b27333f495363707d8996a0acb9c6d0dcd6cabeb3a99e92857b6e655b50443d3528231c15100c060604000205060b0f151b222a323b444e58626c75818e98a3aebac7d3e0d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000040f19232e3a47535f6a75818e99a3afbcc6d1dcd0c4b7ab9f94897d7074808d98a2aebac5d0d4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174676262626262626262626262626262626262626262626363646567686d70757b80858f949fa3abb4bdc7d2dddbd7cbbfb4ab9f948a7e71675d5145382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414d56616c74818e96a0abb5bfcbd7dacfc4bbb0a69f92867b6e665c51443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000713202d3946525e687783909daab6c3d0dbd0c3b6aa9d908377685e5246392d20130705121f2b3744505b6575828f9ba8b5c2d0bbafa295887c83909da9b6c3c5b9ac9f9286796d6053473a2d201407020e1a25303e4b5764717e8a97a7b1bcc8d4c8bbafa49a8a7e7164544a3f33281c0f03000000000000000000000000000000000000000000030c1a25303b45525d68727f8b96a0acb9c5cfc9beb3a99e9184796d6053463c31261b0f0100000000000000000000000000000007121d27313c454e58606b707d869297a0a7b0bbc0c7c0bab2aba49f9fa3abb5c0c8cabfb4aaa19791837a6d675d544b42382f261b130a010000000000081c2935424f5c6875828f9b9f9b98928e8a86827e776c605346392d2013060000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39986796c605346392d2013060000000000000000000000000c1926323f4c5965727f8c98a5b2bfcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1e6ddd4cdc8c4c3c4c5bcb3a9a19792857d746d67605953504a46443f3d3c3b3a3a3b3c3e3f44464b51545b60696e79808d929da5afb8c1ced7dcd0c6bcb1a79e9184786d6053463c32261b070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000b17222d394653606c7884919eaab4bfcbd6dbcfc5b9ada2978f82776c60584f473e342e261f1c171312100c0e1214171b1f262b343c444d565f6a717e8b939eaab4bfcbd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000b16212b37434e58626f7c87939fabb5c0cfd8d3c7bbb0a69c9083766b6e7a86929faab4becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a555555555555555555555555555555555555555556575758565d6163696e737b828c9299a3abb5c0ccd7dfdcd1c6bdb0a69e9184796d6053473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d79849199a3aebbc2cdd7d6cdc1baaea2989083786d60594f443a2f24190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000714212e3a4754616d7a87939facb9c6d2d7cbbfb4aa998d807366564c4135291d1105030f1b27333f495365727f8b98a9b3becabcb0a396897d84919eaab7c4c3b6a99c908376675d5145382c1f1306000914212e3b4754616e7a8795a0acb8c5d1ccc0b6ac9b8e8175665b5044382b1f12060000000000000000000000000000000000000000000009141f2935414c56606d7984919ea9b3bec9cfc4b9aca1968a7e7164584e43372b1d1207000000000000000000000000000000010b151f2a333d464f59606b707d8590959ea6afb5bdc3c4bdb5afacacafb5bdc7d1c6baaea29891857b6e685e554b423930261d140a010000000000010e1b2834414e5b6774818e98928e8a85827d7a75716c655b5044372b1f12050000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f12060000000000000000000000000c1926323f4c5965727f8c98a5b2bebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1dfd4cbc2bcb8b6b8bcc2bbb3a9a19792898179706b64605c545350494a4948474748494a4a5053555d60666c727b838d929da4aeb7c1cad3ddd6cbbfb4aa9f958a7e71665c5044382a20150a0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000006121f2b3744505b65727f8c98a3aebac5d0dbd6cabeb3a99f948b7f726a605950443f38302c2823201f1c181a1e2122272b32373e464e565e696e7c86929fa5afbcc6d1dce7d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000020b1b27323b4754606a75828f99a4afbdc7d1dcd0c4b7ab9f94897d70636873808d98a2aebac5cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e48484848484848484848484848484848484848494a4b4c4c5254575e61696e777f879299a4afbbc0cdd6e1d8cfc2b9ada1978a7e7164574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c87929fa6b0bbc5cfdbd6cabfb4aaa0958d80736b60564c41352921170c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000030f1b27333f495364717e8a9aa4afbbc8d4d3c7baaea398897d7063564a3d3025190d01000b17222d3c4955626f7c8897a2adbac6bdb1a4978a7e85929fabb8c5bfb4aa998c807366554b4035291d1004000714202d3946525e687784919daab7c4d2d2c5b8ab9e9285796c605346392d20130800000000000000000000000000000000000000000000030d19242f3a45515c66717e8a97a1adb9c7d2c9bdb2a89c9083766a5f5347392f24180c00000000000000000000000000000000030d18212b343d474f59606b6f7b838f949fa3abb1bbc0c7c0bbb9b9bbc0c7cfd2c5b8ac9f92867c6f695e564c433c332d261d170e080000000000000d1a2733404d5a6673808d8a85817d7975716d6764605b53493f33271b0f030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4b4034281c10040000000000000000000000000c1926323f4c5965727f8c98a5b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a4988b7e7165584b3e3225180b000814212e3b4754616e7a8794a1adbac7d4e4d8cdc2b9b1aba9abb1b9c2bbb3a9a29f928d847d76716d6662605b535756555454555657545c6062676d72787e8690959da4aeb6c0c9d2dcd5cbc3baaea3989083786c60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953616d7a86929faab3becad6dbcfc5bbb0a69f92867c706b615a504a423d38342e2d2c2823262a2d2d33373c434750585f686e7b849198a2aeb7c1cfd8e2e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a141d2c38444f59626f7c89939eabb5c0cfd9d3c7bbb0a69c8f82766b60616d7a85929fa9b3becad6cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f4146474d53575e656c727e87939fa4aebbc4cfdae1d5c9beb2a99c8f8276695f53463a2d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b55606a727f8c949fa9b3becad6dbd0c6bcb1a79f93877d70685d52453e33291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000005121f2b3744505b6575818e9bacb6c0ccd8d2c5b9ac9f9286796d6053473a2d20140800000613202d394653606c7985929fabb8c5beb1a4988b7e86929facb9c5baaea298897c706356493d2f24180c000005111e2a36414c566774818d9aacb6c0ccd2c6b9ada197897c6f6256493c3025190d010000000000000000000000000000000000000000000008131e2834404b54606d7985929eacb6c0cccec4b7ab9f94887c6f62554b4035291d100400000000000000000000000000000000060f19222b343d474f5960696e79828c9299a0a7afb5bdc7c7c6c5c7cbd1d9cbbeb1a5988b7e736d67605b534e443f382f29201a110900000000000b1825323e4b5865717f817d7975706d6764605d5553504941382d22170b000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679675c5145382c1f13060000000000000000000000000c1926323f4c5965727f8c98a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0adbad1dce0d4c8bcb1a79f9d9fa7b1b9c3bbb3ada49d969189837d78726f6c6565646362606162636466666d6f73797e848b9298a0a7aeb6c0c8d2dbd5ccc3b9b0a69f92867c6e655b5042382e23170c000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3846525e6873808d98a2aebac3cfd9d7cdc2baaea39892867d706c605c544f46443f3b3a38342e31363a3b3f44464e535a616a6f7a849196a0aab4bfc9d3e1eae1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2d9d0c7b7aa9e94897c6f63595e6873808c97a2adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e41342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3030313035393b42464d535b606c727f8b929da9b3bec9d5e0dacfc4b9ac9f93877b6e6155483b3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c78828f97a2adbac1ccd5d8cec3bbafa49991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000613202d394653606c7885929eabb8c5d2ddcfc2b6a99c8f8376675d5145382c1f1306000006121f2b3844505b6675828f9ca8b5c2bfb2a5998c7f8c99a3aebbc5b8ac9f9286796d6053463a2d2013070000010d1925303d4a5764707d8a9aa4afbbc8d4cabeb3a9998c7f7366564c4135291d110500000000000000000000000000000000000000000000010c18232e3945515c6673808d9aa4afbbc8d4c7bcb0a69a8d8074675d5145382c1f13070000000000000000000000000000000000071019222b353d474f575e676d787f8790959fa4abb5c0ccd2d2d4d7dcdfd2c5b9ac9f92868079716c655f585049413b322c231b1306000000000b1724313d4a56626d7174706d6764605d5553514b46443f382f261b1106000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c8bbafa49a86796d6053463a2d2013070000000000000000000000000c1926323f4c5965727f8c9797979797979797979797979797979797979797979797979797979797979797979797979797978b7e7165584b3e3225180b000714202d3a4753606d7a8693a0b5bfcbd7ddd1c4b8ab9f9590959fa7b1bcc5bebaaea8a19e95908a847f7c797572706f6e6d6d6e6f717275797c80858b91969fa2aab1b9c0c8d2dad5ccc4bab1a79e948c7f726a5f53493f30261c1106000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000006111b2a36414c56616d7a85929fa7b1bdc7d1dcd6cbbfb4aaa29892867e726d66615953504a484644404344424648495053585f626c717c849196a0a8b2bcc6d0dbe5f3e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb8c1d0d9d2c7beafa59c8f82756b605456606d7a85929ea9b3bec9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134272222222222222222222222222222222223242424292d31363b4149505a626d74808d97a1adb9c3ced9e0d4c8bbafa49a8d807366564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313c44505b666e7b85929fa5afbac4cfd9d7ccc0b5aba1968e81756c61574d42382e23170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000916222f3c4955626f7c8897a1adb9c6d2d6cabeb3a9998c7f7266554b4035291d10040000030f1c28333f4a5465727f8c98aab4bfc1b4a79b8e818e9babb5bfc2b6a99c8f8276675c5145382c1f13060000000814212e3a4754616d7a86939facb9c6d2cfc3b6a99d908376685e5246392d201306000000000000000000000000000000000000000000000007121d2834404b54616e7b87939facb9c4cfcdc2b8ab9f9285796d6053473a2f24180c000000000000000000000000000000000000071019232b343d454d555d666c737c838d9399a4afbbc7d4dfe0e3e0dfd3c7baaea398928d847e786f6a605b534d443e352d2517110a0300000915212e3a45505a62656863605c5553514b4745403937332d261d140a00000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae4d8ccc0b6a093877a6d6054473a2d2114070000000000000000000000000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7e7165584b3e3225180b000613202d394653606c798699a3aebbc7d3dcd0c3b6a99d90839095a0aab4bdc7c0bab2aca79f9d96918c8885827f7d7c7b7a7a7b7c7d7f8285898c92979ea0a8aeb4bcc3cbd2dbd6cbc3bab2a8a0958f82786c60584e41382d1e150a00000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000d1925303a46525e68737f8c95a0abb5c0cbd7dcd0c6bcb3aaa29892877f78706b63605c545453514a50504d5355535b60636a6f767e869196a0a8b2bac3ced8e2edeee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000030f1b27333f4953616b7683909da6b0bbcad3d8ccc0b6ac9e93887c6f62594f515d67727f8c97a1adb9c4cfd5c9beb2a99e92857a6d60564c4135291e1308000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b151515151515151515151515151515161718191d20252a2f383f44515b606d7985919ea8b2bdc8d4e1d8ccc0b6ac9d918477685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69717e8a939da8b2bdc7d1dcd2c7bdb2a89e938a7e71695e544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000010100000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000004111d2935414c5666737f8c99a9b3bec9d5d3c6baada297897c6f6256493c2f24180c000000000b17222d3c4956626f7c8998a2aebac2b6a99d938e939da9bdc6bfb4aa998c7f7266554b4034281c10040000000713202d3946525d687783909daab6c3d1d2c6b9ac9f93867a6d6154473a2d22170b0000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9b2bec9d3c6baada2978a7d7164554b4035291d1004000000000000000000000000000000000000071119222b333b434b545b606a6f798087939facb9c6d2dfdcd7d3d2d3cbbfb4aaa39f97918b837c726c655e564f473f3728231c150c030005111d29343f485056585b5753514b4745403a39352f2b27221b140b0200000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8ddd2baada194877a6e6154473b2e2114080000000000000000000000000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7b6e6155483b2e2215080006121f2b3844505b667986929facb9c5d2d7cabdb0a4978a7e839098a3abb5bdc5c4bdb9b1aba8a09e9997928e8b8a8988878788898a8c8f9298999ea1a9acb2babfc6ced5d8d0cac1b9b1a8a0969083796d665b50463c2f261b0c0300000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000008131e2935414c56606d79839199a3afbbc2ccd5d8cec5bcb3aaa399928c837d75706d666461605c545d5d575f6164656c70757c828b9298a0a8b2bac3ccd2d7dde5ede1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000005121f2b3744505b65707d8a959fabb8c2ccdcd4c8bbafa49a8f82756a6054464c55606d7985919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0808080808080808080808080808090a080d11141a1d262d333f45515d67727f8b96a0acb9c5d2deddd2c6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e96a0abb5c0cbd7d9d0c4baafa59f92857b6e665c50443d31281d1307000000000000000000000000000000000000000000000000000000000003080b0d0e0b070603000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000613202c3945525d687683909ca9b6c3cfdad2c5b8ab9f9285796d6053463a2d201307000000000613202d3a4653606d7985929facb8c5baafa59d9b9da5afbac6baaea298897c6f6256493c2e23180c0000000005111d2935414c566773808d9aabb5c0cbd4c7bbafa4998a7e716453493f33271b0f03000000000000000000000000000000000000000000000007121d2a36424d5764707d8a97a1adb9c6d2cabeb3a99b8e8175675d5145382c1f1306000000000000000000000000000000000000000710192129313a424a50585f676d7983909daab6c3d0d8d1cbc7c5c7cbc6bcb4aea9a19e9590877f776e696159514940342e261e150b02010c18222d363f454a4b4e4a4645403a38352f2c29241f1b17110a020000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000815212e3a47535f6a6f71717171717171717171717171717171717171717171717171717171717171717171717171717171716e695f53473a2d21140800030f1c28333f4a5f6b7885929eabb8c5d1d7cabdb1a4978a7e7c869299a3abb3bbc3c9c2bcb7b2acaaa9a19e9b989796959394959697999c9fa2aaabadb3b9bdc4cad0d8d5cec6bfbaafa7a09691847b6e675d544a3f342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000020d1925303a45515c676f7c87929fa6b0b9c3ccd6d7cec5bcb4aba39f959189827d7975716e6d666a696a6b696e7173787d81878f949fa2aab2bac3c1c3c6ccd3dbe5e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bccad4d7ccc0b5ab9f93877c6f62584e4345515d67727f8b96a1adb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000105090b141b222935404b55606d7984919eaab7c4cfdae0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79849199a3afbbc2ced7d6ccc1baaea2989082786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000001080f14181a1b181312100b0600000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000714212d3a4754606d7a86929facb9c5d2dbcec2b5a89b8f8275665c5044382b1f12060000000006121f2c3844505c6676828f9ca9b5c2c0b7afa9a7a9afb7c0c5b8ac9f9285796d6053463a2d20130700000000010d1924303d4a5763707d8a99a3afbbc7d4ccc0b5ab9b8e8174655b5044372b1f12050000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb8c3ced0c5b8ac9f9285796d6053473a2d2014090000000000000000000000000000000000000000070f171f282f38404a545f6a727f8c95a0abb8c4d1cfc6bfbab9babfc6c6bfbab2ada79f99928c827b706c625b52443f3830261d140a0006111b242d343a3d3e413d3a38342e2c2924201d18120f0b0600000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e3d6c9bcb0a396897d7063564a3d3023170a00000000000000000000000006121f2b37434e585f626464646464646464646464646464646464646464646464646464646464646464646464646464646464615f574d42372b1e120600000b17222d44515d6a7784909daab7c3d0d7cabeb1a4978b7e717d879299a2a9b1bbc0c7c7c4bdb9b7b3adaba8a5a3a2a1a0a0a1a2a4a5a8abaeb4b8b9bec5c9ced6d4cec9c2bcb4aea59e9590847b6e695e554b42382d22180b020000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000008131e2934404b55606a73808d949fa7b1bac4ccd5d7cfc6bdb5afa7a09d948f8985817d7b797877767778797b7e8084898e93999fa6aeb4bcb9b7b5b6bac1c9d3dde1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000010b151f2b3844505c66717e8a95a0acb9c2cddcd4c7bbafa4998e81756a5f53463c404b55606d7984919ea8b2bdc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000020a1118242f3a44515c66737f8c99a9b3bec9d5e2d8ccc0b6ac998c7f7366594c4033261907000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0bcc5d0dbd6cabeb3aa9f948c7f736a60554b40352920170b02000000000000000000000000000000000000000000000000020b131a2024272824201f1c17110c070d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000a1724313d4a5764707d8a99a3afbbc7d3d5c9bdb2a8988b7e7265544a3f34281c10030000000003101c28343f4a5466727f8c99aab4bfcac0bab6b4b6bac0c9c2b5a89c8f8275665c5044382c1f120600000000000814212d3a4754606d7a86929facb9c5d2d2c5b8ab9e9285786c605346392d20130800000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a8b1bdc8d3c6baaea2988a7d7064574a3d30251a0e02000000000000000000000000000000000000000007121d27303944515c666f7c86929fa7b1bcc8ccc3bdb4aeacaeb4babfc6c4beb9b1aba39f948f857d726d635c504a42382f261b11060009121b22292e313235302d2c28231f1d1813100d0703000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdd2dde8d7cbbeb1a4988b7e7165584b3e32251807000000000000000000000000030f1a26313c464e5355585858585858585858585858585858585858585858585858585858585858585858585858585858585855534d453c31261a0e020000061c2936434f5c6976828f9ca9b5c2cfd8cbbeb1a5988b7e72717e879297a0a7afb5bdc2c7c9c5c4beb9b8b5b2b0afaeadadaeafb0b2b5b8babec5c6c9cfd5d3cec8c4bdb9b0aaa29f938e837a6e695f574d433a2f261c0f06000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000020c18232f39434e58606d78828f95a0a8b2bac3cbd6d8cfc7c0bbb1aca69e9c97928e8a8786858483838485888a8d91969b9fa4abb0babab2acaba8aaafb7c1ccd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000007121d2834404b54606d7884919da7b1bccbd4d7cbc0b5ab9f93877b6e62584e43343945515c67717e8b96a0acb9c3ced6cabeb3a99f92867a6d61574d42362a1f140900000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000007131d2834404a54626f7c8997a1adb9c6d2dfddd2c2b5a89b8f8275685c4f422f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b55606a737f8c949fa9b3becad6dbd0c5bcb0a69f92877c6f675d51453e32291d140a0000000000000000000000000000000000000000000000000b141d252b303334312d2b28231c18120d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000006121f2b37434e586774818e9aabb5c0cbcecec5b9ada196887b6e6255483b2e23170b0000000000000c17232e3c4956636f7c8998a2aebac7cbc6c2c1c2c6cbcabeb3a9988c7f7265544a3f34281c100300000000000613202c3945525d687683909da9b6c3d1cec6b9ada197887c6f6255493c3024190d01000000000000000000000000000000000000000000000003101c28343f4a54616e7b8795a0acb8c5d1cabfb4aa9b8e817468574d42362a1e110500000000000000000000000000000000000000000c18232e39434e58606d78839098a3aeb9c3cfc3bab2aba39fa3abaeb4bcc1c9c2bdb5aea69f9792887f736e605c544a41382d22171007000911181d2124252824201f1c1813100c070401000000000000000000000000000000000000000000000000091623303c4956636f7c8996abb5c0ccd7e3d9ccbfb3a6998c807366594d402e23180c000000000000000000000000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4847423c332a1f15090000020f1b2835424e5b6875818e9ba8b4c1ced8ccbfb2a5998c7f726c717d8590959fa3abb0b8bcc2c7cbcac6c5c1bebdbcbbbababbbcbdbfc2c5c6cad0d2d2d0cac6c3bcb8b2aca69f98928b81796e685f574d453b31281d140a00000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d27313d44505c666d7a839196a0a8b1b9c1cad0d8d1cbc3bcb8b0aaa9a29f9b979a9392909090919298979a9ea1a8acafb5bdbcb2a8a19e9b9ea5afbac6d2ded4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000c18242f3845515c66717e8b96a0acb9c3cdddd3c7bbafa3998e81746a5f53463c3134404b55606d7884919ea7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000010c18232e394653606c7985929eabb8c5d1deded1c4b7ab9e9184786b554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a2adbac1ccd6d7cec2bbafa3999184796d605a50443b2f261b110600000000000000000000000000000000000000000000060f1d262f363c40413e3a38342e28231d181a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000814212e3a47535f6a7884919eabb7c1c1c1c1c1b8ab9e9184786a5f53473a2e1c11060000000000000613202d3a4653606d7986929facb8c1c1c1c1c1c1c1c1c1baada297887c6f6255493c2e23170c00000000000004111d2935414c566673808d99abb5bfc1c1c1beb3a9998c7f7366564c4135291d11040000000000000000000000000000000000000000000000000c17232e3846535e697784919daab7c4d1d0c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000004101c2834404b55606a73808c95a0aab4bfcbc6bdb2a8a09992999fa3aaafb9bec4c6bfbbb0a9a19a938c80746d665c53493f332722190d0300060c111517181b171313100c0704000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a4afbbc7d4e0dacec1b4a79b8e817468544a4034281c1004000000000000000000000000030e18222a31373a3c3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a21180e030000010d1a2734404d5a6773808d9aa6b3c0cdd9cdc0b3a69a8d8073676b707b838d92999fa6abb1b9bbc0c5c7cbd1cbcac9c8c6c7c8c9cacccfd2d1cfcfc9c6c4bfbab8b1aca8a09e948f867e756d675e564d453b33291f160b0200000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000010b151f28343f4a545d686e7b849196a0a7afbabfc6ced4d7cec8c1bbb7b3adaba8aca49f9e9d9c9d9e9fa2aaa6abacb2b9bbc0bbb3aaa196918e939eaab6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000004101d2935404b55606d7984919ea8b2bdcbd5d7cbbfb4ab9f92877b6e61584e43342a2e3944505c66717e8a95a0acb8c3cdd6cabfb4aa9f92867b6e61574d42362a201509000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b4c1cedbdfd2c5b9ac9f928679675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b85929fa5afbac4cfd9d7cbc0b5aba0968e81746c61564d41382d22170d030000000000000000000000000000000000000000030d17212f3841484c4e4b46443f38342e29241d2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000815222f3b4855626e7b8896a1adb4b4b4b4b4b4b4a79b8e817468574e42372b1e0a0000000000000006131f2c3845515c6676838f9ca9b4b4b4b4b4b4b4b4b4b4b4ab9f9285796d6053463a2d201306000000000000010d19242f3d4a5663707d8999a3aeb4b4b4b4b4b4a99c908376685d5245392c20130700000000000000000000000000000000000000000000000006111c2a36424d576774808d9aaab4bfcbd2c5b9aca096877b6e6154473b2e211408000000000000000000000000000000000000040f19232c3845515c676f7c87929fa7b1bcc6cbbfb5aba09691868c92989ea5adb2bbc1cac2bbb3aca49f928d81786d655b50443e342b1f150b01000105090b0b0e0a070604000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfddd0c3b6aa9d908377665c5144382c1f12060000000000000000000000000006101820262b2e2f31313131313131313131313131313131313131313131313131313131313131313131313131313131312e2d2b261f180f06000000000c1926333f4c5966727f8c99a5b2bfccd8cec1b4a89b8e81756860696e79808790949d9fa7acafb5b9bbc0c2c4c6c9cfc9cacacac9cfcac6c5c3c0beb9b8b4aeaca7a09d96918a827b716c605d554c443b332920170d040000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000030d17232e38424c565f696e7b8490959ea5aeb4bcc1c8cdd4d4ccc7c5bebab8b4b6afacabaaa9aaabacaeb4b3b7b9bdc4c1bab2a9a1989184818e9ba8b5c1cedbd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000020c16202c3945515d67727f8b96a1acbac3ceddd3c7baaea3998e8174695f53463c312228343f4a54606c7883909da7b1bcc8d4d0c6baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000030f1c28333f4a546673808c99a6b3bfccd9e0d3c7bbaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a939ea8b2bdc7d1dcd1c7bdb2a89d938a7e70695e53493f33271f150b010000000000000000000000000000000000000009141f2933414a53585b5753504a454039352f292433404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130004101d2935404b5565727f8c98a8a8a8a8a8a8a8a8a8a7978a7e7164574b3e31261a0e0000000000000004101c2834404b5466737f8c99aaa8a8a8a8a8a8a8a8a8a8a8a89b8f8275665c5044382b1f1206000000000000000814202d3a4753606d7a86929fa8a8a8a8a8a8a8a89f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000e1a25313d4a5763707d8a98a3aebac7d3c9bdb2a8978a7e7164574b3e3024190d0100000000000000000000000000000000000b16212a36424d57606d79849199a3afb9c3cdc5bbaea39991847a80868f939ea1a9afbabfc6c5beb6afa49c938e81776c605a50473d31271d120700000000000002000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667884919eabb8c4d1dedfd2c5b9ac9f9286796d6053463a2d2013060000000000000000000000000000060e151a1f2122252525252525252525252525252525252525252525252525252525252525252525252525252525252522211e1a150e0600000000000b1825313e4b5864717e8b97a4b1becfdacfc2b6a99c8f837669575f676d737c838a90959c9fa3abacafb5b5b8b9bebcbdbdbebdbdbcbeb9b8b6b4b3adabaaa29f9b95908a847d766e69625a514c433b322921170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000006111c26303a434d575f696e7b838e939fa2aaafb8bcc2c7ccd2d4cfcac6c5c1c0bbb9b8b7b6b6b7b8babfc0c4c5c3bcb8afa8a09792867b808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000008131e2935414c55606d7985919ea8b2bdccd5d6cbbfb4aa9f92867b6e61574d42332a20232e3844505b66707d8a959fabb8c2cdd6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e3d7cbbfb5ab94877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a0abb5c0cbd7d9cfc3baafa59e92857b6e655b50443c31271d1207000000000000000000000000000000000000020e1a26313b45535c646764605c54514b454039352f33404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006131f2c3845515d6776828f9b9b9b9b9b9b9b9b9b9b9b95877b6e6154473b2e21140900000000000000000c18232e3d495663707c89989b9b9b9b9b9b9b9b9b9b9b9b9b988b7f7265544a3f34281c1003000000000000000613202c3945515d677683909b9b9b9b9b9b9b9b9b9b998a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000914202d3a4753606d7a86929facb9c5d2cec0b4a79a8d817467564c4135291d11050000000000000000000000000000000004101b27323a46535f69737f8c95a0abb5c0cbc5bbb0a69f92877c6f737b828a91979ea5aeb4bcc4c7c0bbaea59d938c80736c61594f43392f24180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54697683909ca9b6c3cfdce0d3c7baaea399887c6f6255483c2d22170b000000000000000000000000000000030a0f12151518181818181818181818181818181818181818181818181818181818181818181818181818181818181514120e09030000000000000916232f3c4956626f7c8995a9b3bec9d5d0c4b7aa9d918477665c555d606a6f787d83898f92999c9fa3aba8abadb3afb0b1b1b0b0afb3adaba9a7a9a19e9b98928e89837e78706c625f575045413a312920170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000a141e28313b454d575e696e79818b92989ea5abb1b9bbc0c6c8ccd2d1d2d2ccc8c6c5c3c3c3c4c5c6c9c6c3bcb8b1aca59d9691857c74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000010d1925303945515d67727f8c97a1adbac4ceded3c7baaea3988d8074695e53453b3121181c28333f4a54616c7783909da6b0bcc7d3d0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000061824313e4b5764717e8a97a4b1bdcad7e7dcd1bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a3afbbc2ced7d5ccc0b9ada1978f82776c60584e43392f23180e05000000000000000000000000000000000005121e2a36424d57646f74716d66605c54514b45413a36404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000714202d3a4753606d79858e8e8e8e8e8e8e8e8e8e8e8e8e8377695e52463a2d20140700000000000000000714202d3a4753606d79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e887c6f6255483c2e23170b000000000000000004101d2935404b556673808c8e8e8e8e8e8e8e8e8e8e8e8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000006131f2c3945515d6776828f9ca9b6c2cfd0c3b7aa9d908477685d5246392d201307000000000000000000000000000000000713202c38444f59616e7b86929fa8b1bdc7c9beb3a99f948c7f726a696e757d848e939fa2aab2bac3ccc0b7afa59c928b7e716b60554b4035292015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e414d5a6774808d9aa7b3c0d0dbe3d7cbbfb4ab978b7e716453493f33271b0f0300000000000000000000000000000000030608090b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0808060200000000000000000714212d3a4754606d7a8797a1adb9c6d2d2c5b9ac9f9286796d605351585f656c70767c82868b8f9299999c9ea1a9a2a3a4a4a4a3a3a9a29e9c9a9897918e8a86817d77716d66615a534d453f352f281f170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020c161f29333b454d575e676d757f868f939d9fa7acafb5b9bbc0c2c4c5c7cbd1c9c9d0cac6c5c3c1beb9b8b1aca7a09d938e847c6f74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000005111d2a36414c56606d7a85929ea9b3beccd6d6cabfb4aa9f92867b6e61574d42332a1f0f17222d3842505a63707d89949fabb7c2ccd7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c87929fa7b1bcc5d0dbd6cabeb3a99f948c7f726a5f554b40342920160c02000000000000000000000000000000000714212d3a46535f6974817e78716d66605d55524c4641404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000815222f3b4855626e7b81818181818181818181818181817f7265564d42362a1e1105000000000000000006131f2c3845515c67738081818181818181818181818181818181776c605346392d2013060000000000000000010d18242f3c4955626f7c818181818181818181818181818074675a4d4134271a0e0000000000000000000000000000000000000000000000000004101d2935404b5565727f8c98a9b2bec9d2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000040f19222f3b4854606b75828f98a3aebac3cfc6b9ada1978f82776c605f616b707a818a9298a1a8b1b9c3c9c1b7aea49f92877d6f675d51453c31261a0f040000000000000000000000000000000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97aab4bfcad6e2dcd1c1b4a79b8e8174655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1d3c7baaea398887b6e6155484e535b60646b6f757a7e82868a8c8f91979595969797979696949792908d8b8885817e7a75706b64605c545047423c3329241e160d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000040d182129333b454d555d606d727b828a90959c9fa4abacafb6b5b7b9bbc0bcbcbcbbbfbab8b6b4b3adaba7a09d95918a817a6e6a74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000030d18212d3946525e6873808c97a2adbbc4cfded3c6baaea2988d8073695e52453b3121180e111c262f3e4855616b7683909ca6b0bbc7d3d1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935414c55606b73808c959faab3becad6dacfc5bbb0a69f92867c6f675c51453d32281e1308000000000000000000000000000000000815222e3b4855616e7b888a847e79726d67605d56524c464d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000814212e3a47535f696e7575757575757575757575757575726d6256443b3025190e02000000000000000004101c2934404b55636e73757575757575757575757575757575746c655b5044372b1f12050000000000000000000715222e3b47545f6a6f75757575757575757575757575746e64584c3f33261a0d00000000000000000000000000000000000000000000000000000c18242f3c4855626f7c8897a1adb9c6d2c8bbafa49a8a7d7063574a3d302417070000000000000000000000000000000a16212d39444f5963707d89949eaab4bfccc6bcb0a69e92857a6e655b535961686d757e869196a0a7b1b9c3c9bfbaaea3999184796d60584e43372b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8898a2aebac6d3e0ded1c4b8ab9e9185786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080603000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfd7cbbfb4aa978a7d7064574a41495053596063686d71767a7d8082858788898a8a8b8a8a8988868583817e7b7875716d6763605953504a423e37312a2119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000060f182129333b434b515b62696e757d83898f93999d9fa4aca9aaacafb5afafafafb4aeacaaa8a9a19e9a95918b837d746d676774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000009141f2a36424d57616d7a85929fa9b3becdd6d6cabeb3aa9f92867a6d61564d4233291f0f060a141d2c38444f5963707d89949fabb7c1d0d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19242f3a434f59606d78839098a2aebac1ccd6d7cdc2baaea3989083796d60594f443a3025190f06000000000000000000000000000006131f2b37434e5866737f8c96918b847f79736d68615e56534d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006121e2b37424d575f62686868686868686868686868686865625b514532291f1409000000000000000000000c18232f3943525c636668686868686868686868686868686868605b53493f33271b0f0300000000000000000006131f2b37434e585f626868686868686868686868686867645c52473c3023170b00000000000000000000000000000000000000000000000000000715212e3a47535f6a7885919eabb8c4d1ccc0b6ac9a8d8073675a4d402e23180c0000000000000000000000000000030f1b27323c4955616c7683909da6b0bcc6cbbfb4aa9f948a7e71685e53494f565d616c717c849095a0a7b1bac4cbbfb4aba0968c80736a5f53473c32271b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfdfd2c6b9ada197887c6f6255493c32261b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151615130f0a04000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0d0dbd1bfb2a5998c7f726653493f3f44464f54565e6165686d707375787a7b7c7d7e7e7d7d7c7b7a787674716f6c6564605d55544f46443f38302b261f180f08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000060f1720293139404551575e616b70767d82878c90939a9a9c9e9fa3aba2a3a2a2aaa29f9d9b9897928e89847e78706b605d6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000020e1a26313a46525e6973808d98a2aebbc5cfdfd3c6baaea2988d8073685e52443b3021170d00020b1c27333d4854606b76828f9ca6b0bec7d2d1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5afbac4d0d9d7cbbfb4aaa0958d80746b61564c41362a21180c03000000000000000000000000000815222e3b4754606a7784919d9e96918c857f7a736e68615e575a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300020e1a26313c454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b585651483f3420170d020000000000000000000007121d2731404a52575a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504941382d22170b00000000000000000000030f1b26323c464e54555b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362b1f1307000000000000000000000000000000000000000000000000000006121f2b37434e586875828f9ba8b5c2ced2c3b6a99c90837669554b4034281c10040000000000000000000000000007131f2c38434f5964707d8a959fabb8c1cec7baaea3988f82766c61564d41444c525a616a6f7b839095a0a8b2bdc6c6bdb2a89f92867c6e62584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3cfdae1d5c9beb3a9998c7f7266584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223221f1b160f07000000000000000000000000000000000000081925323f4c5865727f8b98aab4bfcad6cec2b5a89b8f8275655b504437373d44484c5254565e61646669686d6e6f7071717170706e6d6769676562605b5353514b48443d38342e261e1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050e171f282f353f454d535961636b70767b7f83868a8d8f9192999595969695959892908e8c8885817c77716d6661595a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000005121e2a36424d57616e7b86929faab4becdd7d6cabeb3a99f92857a6d61564c4132291f0f0500000b16212c38444f59626f7c89939eacb6c0ccd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000005111d2a36414c566773808d9aa6b3c0cdd9e2d6cabfb4aa95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2dcd1c6bcb1a79f93887d70685e52463f332a1e150b00000000000000000000000003101c28343f4a54626f7c8895a0a8a19e97928c85807a746e69625f6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000915202a333c4247484e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d230e050000000000000000000000010b151f2e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261b110600000000000000000000000a15202a343c4347494e4e4e4e4e4e4e4e4e4e4e4e4e4d4c4740382f24190e030000000000000000000000000000000000000000000000000000030f1b2631404d596673808c99a6b3bfd2d1c4b7ab9e918478675c5145382c1f1306000000000000000000000000000915222f3b4854606b7683909da7b1bccac9bdb2a89f92867b6e625a50443b3a414650585f696e7a839096a0abb4bfcbc4baaea3998f82766a6054473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a9b3becad6e2dacfc3b7aa9d9084776a5f5447392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f2e2b272019100a00000000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3d1c5b8ab9e9285796c605346392d32383a4146474c52545759565e61626263646464636361605d555a58555350494745403a38332b28231c140c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000050d161d2429333b42464f55596063696e72767a7d8082848687888989898888878583817f7c78746f6a64605c544f5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000040e19222d3a46535f6974818d98a3aebcc5d0dfd3c6baada2978c8073685e52443a3020170d00000005101b27323d4754606a75828f9aa4afbbc7d1d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000020c13202d3946525e6876828f9ca9b5c2cfdcdfd3c6baaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a1abb5c0ccd7d8cfc3bbafa49a91857a6d615a50453c30271c1207000000000000000000000006121f2b3844505c6673808d9aa8b1ada9a19e98928d86807b746e696673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000030e18212a31373a3b42424242424242424242424242423f3d3a342d241b1100000000000000000000000000030d1c262e353b3f40424242424242424242424242424242413937332d261d140a000000000000000000000000040e19222a32373b3c42424242424242424242424242413f3c362f261d1208000000000000000000000000000000000000000000000000000000000a1824313e4b5764717e8a97acb6c0ccd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000005111d2a36414c56636f7c89959fabb9c2cdc5b9aca0968c8073695f53483e3230353e464e565e686e7b849199a3aebac3cbbfb4ab9f94887c6f62564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3c4956626f7c8997a1adb9c6d2dfded1c5b8aca095887c6f62554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000071019222b32383b3c3b38322b221c1306000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2d2c6b9ada197887b6e6255483b30272c3036393a4146474a4d4c525455565757585757565553514b4e4b4846443f3a39352f2c271f1c17171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000040c1218212931363e44484f54575e6165686d70737677797b7b7c7c7c7c7b7a797775726f6c6562605853504a4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000a15202b37434e58616e7b86929faab4bfced7d5c9beb3a99f92857a6d60564c4132291e0e05000000000b16212b37434e58626f7c87939fabb5c0cbd7d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000020b141e28323a4754616d7a86929facb9c5d2dfdfd2c5b8ac9f928579695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc2ced7d8ccc0b6aca1978f82756d62574d42392e23180d04000000000000000000000713202d3a4653606d7985919eabb8b9b3adaaa29f98928d86817b756f73808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000060f1820262b2e2f353535353535353535353535353532312e29231b120900000000000000000000000000000a141c242a2f3233353535353535353535353535353535352d2b27221b140b020000000000000000000000000007101920262b2e2f353535353535353535353535353433302b241d140b01000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4c8bbafa49a887b6e6255483b2f2215080000000000000000000000000713202d3946525e6875828e9ba7b1bccbc8bdb2a89e9184796d60574d42362c2429343c444d565e696f7c86929fa7b1bcc8c6bdb0a69a8e8174685d5245392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabb8c5d0dbe0d4c8bcb1a79a8d8074675d5145392f23180c0200000000000000000000000000000000000000000000000000000000000000000000000000020c19232b343d43474947433d342e2517110a02000000000000000000000000000006121f2c3844515c6676838f9ca9b6c2d1d6cabeb3a9988b7e7265564c4135291e252a2d3035393a3d4041464748494a4b4b4a4a4948474540413e3c3937332d2c29241d1c1f22232323201c160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000001070f171f252a33383d44484d5254565d60636769666d6e6f6f706f6f6e6e686a686562605b53544e46443f4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000030f1b27323a47535f6a74818e99a3aebcc6d0ded2c6b9ada1978c7f72685d52443a3020170d0000000000040f1b27323d47535f6a75818e99a3afbbc6d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000001070b141d26303a44505a65727e8b99a3afbbc7d4e0ddd0c3b7aa9d9083776a564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45525d686f7d87939fa7b1bcc5d0dbd2c7beb3a99e938b7e71695f544a4034281f160c01000000000000000004101d2935404b5563707d8997a1adb9c5beb9b4aeaaa39f99928e87827c75808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000060e151a1e212228282828282828282828282828282524221d181109000000000000000000000000000000020a12191f23262728282828282828282828282828282828201f1b17110a02000000000000000000000000000000070e151b1f2222282828282828282828282828282726231f19120b0200000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac96897d7063564a3d3023170a0000000000000000000000000714212e3a4754616d7a86929facb9c2cdc5b9aca0968a7e71675c51453c312419222a323b444d565f6a727f8c95a0acb8c4cfc2b8ac9f92867a6d6054473a2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6675818e9baab4bfcad6e2d9cec3b8ab9e9285796d60554b4034291e1308000000000000000000000000000000000000000000000000000000000000000000000000000a141e2b353d464e5456544e463f3728221c140b030000000000000000000000000004101c2834404a546673808c99abb4bfcbd7cfc2b5a99c8f8276685d5245392c20191e2025292d2e313035393a3b3c3d3e3e3e3d3d3b3a38352f322f2d2b2722201d1821272c2e2f302f2c27211a150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000050d141a21282c33383b4246474c5254575a545c6061626263636262615e565b595553504948433d38414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000006131f2b37434e58626e7c87939fabb5bfced8d5c9beb3a99e9285796d60564c4132281e0e050000000000000a15202b37434e58626e7b87929fabb4bfcbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0202020202020202020202020200000305060a0f12181d262f38414c56616c7683909cabb5c0cbd7e3dbcec1b4a89b8e8175685b4e423025190e0200000000000000000000000000000000000000000000040404040404040404040404040404040404040404040404040404040404040404020c17212935414c56606b73808c959faab4bfcad6d9d0c4bbafa59f92867b6e665c51443d31281e1308000000000000000006131f2c3945515d6774818e9ba9b3bec9cac5bebab4aeaba39f99938e8882828f9ca8b5c2cfdbdfd2c6b9ac9f9386796c605346392d2013000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c06000000000000000000000000000000000000070e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1a1a17130e08010000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1d2beb1a5988b7e7265584b3f3225180c000000000000000000000004111d2935414c5565727e8b99a3afbbc7cbbfb4aa9e9184786d60554b40332a1f12192029323b444e58606d7883909da8b2bdc9c7baaea2988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8a98a2aebac6d3e0dfd2c6b9ada2978c7f72675c51453a3025190d04000000000000000000000000000000000000000000000000000000000000000000000006111c26303d474f5860626058514940332d261d150c03000000000000000000000000000c18232e3d495663707d8999a3aebac7d3d2c5b9ac9f92867a6d6054473c31261a1113191d20212425292d2e2f2f3031313130302e2d2c29242522201f1b171319222b32383b3c3d3c38332b261f19130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000003090e161c21272c30363a3b4145474a4d4a50535455565656555554524c4e4c4846443f38383234414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000020b1a232e3b4754606a75828f99a4afbdc6d1ded2c6b9ada1978c7f72675d51433a2f20160c00000000000000040f1b26313c47535f6974818e99a3aebac6d0d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0f0f0f0f0f0f0f0f0f0f0f0f0f0f060b0f1213151b1d24292f384149525d68717e8a949fabbdc7d1dce1d5c9bdb2a8988b7e7265584b3f322518090000000000000000000000000000000000000004080a0a11111111111111111111111111111111111111111111111111111111111111111111110f19242f3a444f59606d78839098a2aebac1ccd6d6cdc1baaea2989083786d60594f433a2f24190f05000000000000000714202d3a4753606d7985929facb8c4cacfd0cac6bfbab5aeaba49f9b948f8f949eaab7c3d0dcdfd2c6b9ac9f9386796c605346392d201300000000000000020608080f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b090501000000000000000000000000000000000000000002070a0c0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e06050300000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0e0d0b0703000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfcdc0b3a69a8d8073675a4d4034271a0600000000000000000000000613202c3945515d6776828f9cabb5c0cbc7baaea3988b7e72665c5043392f21180e0e172029323c44505c66717e8a96a1acb9c5cabfb4aa9c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb8c3ced9e2d6cabeb3a99e9185796d60564c41352920160b02000000000000000000000000000000000000000000000000000000000000000000030d17232e38424f59606a6f6a635b52443f382f271e150d040000000000000000000000000714202d3a4753606d7a86929facb9c5d1d3c7bbaea3998b7e7164584e43372b1e13080d11131417191d2021222324242524242322201f1d18181513120f0b16212b343d4348494a48443d373129241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b10161c1f252a2d3035393a3d403f444648484949494948474641423f3c3937332d2c2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000a141d2c38444f59626f7c88939eabb5c0cfd8d5c9bdb2a89e9185796d60554b4031281e0e0400000000000000000a15202b37424d57616e7b86929faab4bfcad6cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c171b1f2022272b2f353c424a535b606d7a85919ea6b0bccfd9e3dfd2c5b9ada196887b6e6255483b2f2215080000000000000000000000000000000000050b101416171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1e28323d44505c666e7b86929fa5afbac4d0d9d6cabfb4aa9f958d80736b60564c41352921170b020000000000030f1c28333f4a5464717e8a98a2aeb5b9bec5c8ced0cbc6bfbbb5afaca69e9c9c9ea6b0bbc7d3dfdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f414d5a6774808d9aa7b3c0cdcec1b5a89b8e8275685b4f422e23170b00000000000000000000000714212d3a4754606d7a86929facb9c5d1c5b8ac9f92867a6d60544a3f31271d0f06050e172028343f4a54606d7984919eabb7c4d0c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcc8d4e1dbcfc5b9ada1978b7f72685e52463d32281d140a0000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a54606b6f7c726d635c504a423930271f160d0500000000000000000000000613202c3945515d6775828f9cabb5bfcbd7cbbfb5ab9c8f82766a5f53473a3025190d03050707080d1113141516171818171716151413100c07090605030f1b27323d464e545656554f47423c352f28231c140c090300000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000050b10141a1e2024292c2d302e34383a3b3c3c3d3c3c3b3b393630322f2d2b27221b2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2ded2c5b9ada1968b7f72675d51433a2f1f160c000000000000000000040e1a26313c46535e6974808d98a2aebac5d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134282828282828282828282828282828282822272b2d2f32373940454e545b656c75818e97a1adb8c2cde1eaded1c4b7ab9e9184786a5f53473a2e211408000000000000000000000000000000000810171c2023242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28343f4a545f69717e8b939ea8b2bdc7d2dbd0c6bcb1a79f93877d6f685d52453e33291d140a000000000006121f2b3844505b6675828f9b9fa3abadb3b8bcc3c9cfd1cbc7c0bbb9b0aaa8a8aab0b8c1ccd7e3dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0d0e0e0d0d0c0b0b0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1becbd0c3b6aa9d9083776a544a3f34281c1003000000000000000000000a1623303d495663707c8999a3afbbc7cec1b5a89b8e8275685d5242382e1f150b0000050e17232e3844505c6673808d99abb5c0cbc6baaea298887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55636f7c8995a0acb8c5cfdbe1d5c9beb3a99e92857a6d61594f443a2f261b11060000000000000000000000000000000000000000000000000000000000000007121d27313944505c666f7d867f736e605b544a423931281f170e050000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d1c6b7ab9f94887c6f62564c41362a1f1509000000000105070708090a0b0b0b0a0a08070604000000000007131f2c38434e586062636059534d45413a342e261e1a140d07010000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002090e1114191d20212423282c2d2e2f2f30302f2f2e2d2a252622201f1b171a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000b17222d38414f59636f7c89949faab7c1d0d9d5c9bdb2a89e9184796d60554b4031281d0d040000000000000000000009151f2a36424d57616e7b86929faab4becad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413535353535353535353535353535353535352d3337393b3e43474b51585f666c77808d939ea9b3becad4dee1d3c7bcb0a6998d807366574e42372b1e120600000000000000000000000000000008111a22282d3031373737373737373737373737373737373737373737373737373737373737373737373737373737372e38424d57626c75818e96a1abb5c0ccd7d8cec3bbafa49991847a6d605a50453b2f261c1106000000000613202d394653606c7882898e92999ea1a9acb1b9bec4cbd0d2ccc7c1bbb7b5b5b7bbc1cad3dee9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050708090e121415171819191a1b1b1a19191817171513120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcd2d2c5b8ab9f928578665c5044382b1f1206000000000000000000000c1926333f4c5966727f8c99abb5c0cbcabfb4aa988b7e7165564c4130261c0d0300000006111c28343f4a5463707d8999a3afbbc7cabeb3aa988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4854606b7784909da9b3becad6e1dacfc4b9ada1978e81746b60564c41382d221712060000000000000000000000000000000000000000000000000000000000071318242f39434d57606d7883908c80746c665c544b433a312920170f05000000000000000000010d18242f3a4754606d7a86929facb9c5d0d3c7bbb0a69a8d8174685e52463c31261a0f060000000000000000000000000000000000000000000000040e1a232e3b4854606a6f706b625f57524c443f38302a261f18130c0400000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201e19191513120f0b1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000030f1b27333f4953616b7683909ca6b0bbc9d3ddd2c5b9aca0968b7e72675c5143392f1f160c0000000000000000000000030e1a25313b46525e6873808d98a2aebac5cfd4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e42424242424242424242424242424242424242433f4446484b4e54555d606a6f78818d929da5afbbc4cfdce3d9cfc7b7ab9f94887b6e6255483c31261a0e02000000000000000000000000000005101a232c33393c3d4444444444444444444444444444444444444444444444444444444444444444444444444444444444444445505a606d7a849199a4afbbc3ced8d7ccc0b5aba1968e81756c61574d42382d22170b0200000006121f2b3844505b666c767c81868d92979da0a7adb2babfc6ced7d4ccc7c3c2c2c3c7ccd3dce5efdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d111414181a1e21212425262627282727262525242322201f1c17171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895acb6c0ccd3c6baada29786796d6053463a2d201307000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c6baaea298887b6e6255483b2f22140a00000000000c17232e3a4754606d7a86929facb9c5d0c0b3a79a8d8074675a4d4134271a0e010000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b97a2adb9c5cfdae1d6cabeb3a99f93887c6f685d53493f33272417110a0200000000000000000000000000000000000000000000000000030b1218252935404b555f69727f8b95928d80786d665d554c433a322921170f050000000000000000000713202c3945525d6876828f9ca9b3becad6ccc2b8ac9f92867a6d61574d42372b21180d04000000000000000000000000000000000000000000020c16202c38434e58626f7c7d756e69605d56504a423d363129241d160d04000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000001040707060c101213151516161616151414110d08090605030e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000005121f2b3744505b65707d89949fabb8c2ccdbd4c8bdb2a89e9184796d60554b4031271d0d0400000000000000000000000009141f2a36414d56616d7a85929fa9b3becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4f504950535557586062676d737c828e939da4aeb7c1cdd6e1dcd1c7bdb0a69c9083766a5f53473a2a2015090000000000000000000000000000000b17222c353e44494a505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050525d68707d87939fa7b1bcc6d0dbd2c7bdb2a89e938a7e71695e544a3f33281d140a000000030f1c28333f4a545b606a6f757b80858b91959ea1a9aeb4bcc2cbd1d8d3d0cfcfd0d3d7dee5eeecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1315191e202125252a2d2e303232333434343333323131302f2d2b28222321201d1913100d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a879aa4afbbc8d4cabeb3a993867a6d6053473a2d20140700000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579695f53473a2e21140200000000000613202c3945515d677884919eabb7c4cec1b4a89b8e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b27323d4754606d7a85929ea9b3bec9d5e0dacfc5bbafa49a91847a6d655b50443f3627221b140b050000000000000000000000000000000000000000000000050c151c2328373f45515d676e7b86929f9c928d81786d675d554c443b332921170d03000000000000000004111d2935414c5665717e8b97a2adbac7d2d3c6baaea2988d8074695f53473f33291f160c03000000000000000000000000000000000000000008131e28323a4854606a768289827b736d68605c544f46423b352f281f160c010000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a0909080807050100000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000030f1c28333f4a54606c7883909da6b0bbcad3ddd1c5b8aca0968b7e71665c5143392e1f150b00000000000000000000000000030e1925303b46525e6873808c97a2adb9c4cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c535b606264676a6f7479808790949da5aeb7c0c9d3dfddd7cbc0b5ab9f94897d7063584e43372b180e03000000000000000000000000000004101c28333e475055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606b73808d959faab4bfcad6d9d0c4baafa59f92857b6e665b50443d2f261c11060000000b17222d38424a50586062696e73797e838b91979fa3aab1bbbfc6cfd6dcdbdbdcdfe3e9eff7ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151b1f22252a2d2e3131363a3b3d3e3f4040414140403f3e3e3d3b3938332d302d2c2924201d1812100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2d0baada094877a6d6154473a2e21140700000000000000000004111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b574d42372b1e1206000000000004111d2935414b556a7784909daab7c3cfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d67727f8c97a1adb9c4cedae1d8ccc0b6aca0968f82776c605a50483e332d261d160e090300000000000000000000000000000000000000040a0f171e272e343f49515b606d79839098a2a49d938e82796d675e564d453b33291f14090000000000000000010d1924303a4753606d7a85929fabb5c0ccd6cabfb4aa9f92867b6e615a50453b31281e150c0400000000000000000000000000000000000108131924303a444f59626f7c89948f86807a726d666059534d45413a31281d13070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000010b151f2b3844505b66717d8a959fabb8c2cddcd4c8bcb1a79d9184786d60544a4030271d0d03000000000000000000000000000008141f2935414c56606d7a85929ea9b3bec9d5cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817468686868686868686868686868686868686868686868696a656c6e7174777c81858d92999fa6afb7c0c9d2dbded5cbc3bbafa3998f82766b6054463c31261a060000000000000000000000000000000814202d3944505a61646a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d78839098a2aebac6d3e0d6ccc1baada2979082786c60584e42382d22170b00000006111c262f383f444e54575e61676d71787e848c92989fa7aeb5bdc4ccd4dde5e9ebeff4faf9ecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d20272b2e3036393b3e414246484a4b4c4c4d4e4e4d4c4c4b4a4a4846443f3f3d3a39352f2c29241d1c160f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667885929eabb8c5d1c7bbaea194887b6e6155483b2e22150800000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d504431261a0e020000000000010d18242f43505c6976838f9ca9b6c2cfc3b6a99d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55606d7985929ea8b2bdc9d5dfddd2c7beb2a89e938c7f726c625a50443f382f28201a150e0904000000000000000000000000000001050a0f151b212930394044515b636d75818e95a0aaaea59e948f82796d685e574d453b30251a0e0200000000000000000813202c3945515d6773808d99a4afbbc7d4d0c6bbaea3998f82756c62574d433a30271e160d07000000000000000000000000000000040c1319252935414c56616b75828f9c99928d857e78706b615f57514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000007121d2834404a54606c7883919da7b1bccad4ddd1c5b8aca0958a7e71665c5042392e1e150b000000000000000000000000000000020d1925303a45525d68727f8c97a1adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817575757575757575757575757575757575757575757575767777797b7e8083888d92979fa3abb0b8c0c9d2dbded5ccc3b9b1a79f92877c6f62594f44332a2015090000000000000000000000000000000a1623303c4955616c707777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777b85929facb8c5d2dfded6cabeb3a99f948c7f726a60544a3f33281c0f030000000a141d262d333d43474d52555d60656c7179808690959fa3abb2bac2cbd3dbe5edf6fffff9ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a1d24292c32373b3c4146474b4e4d5354575859595a5b5a5a59585857565553504a4c4a4745413a39352f2c27211a150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1c8bbaea295887b6f6255483c2f22150900000000000000000004111e2b3744515e6a7784919daab7c4d0c4b7aa9e9184776b564c41362a1e1105000000000000071d293643505c6976838f9ca9b6c2cfc4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a45515d67727f8c96a1acb9c1cdd6e1d9d0c4bab0a69f93887e716c615a5049413a322b26201a15100c070604010001000100020507080d11151a20272b333b424a515b636d727f8c939ea7b1b7afa69e9490837a6e695e574d42362a1e1205000000000000000004111d2935404b55616e7b87939facb9c1cfd7cbbfb5ab9e948b7e71695f564c423930281f18120b060000000000000000000003060b0d161e2429373f45525d68707d8a949ea39f97928b837d756e69605d554b4135291d110400000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000c18232f3844515c66717e8b95a0acb9c3cddcd4c8bcb1a79d9083786c60544a3f30271c0c030000000000000000000000000000000008131e2935414c56606d7985919ea8b2bdc9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd1c4b7aa9e9184818181818181818181818181818181818181818181818283838485888a8d90959a9fa2a9aeb5bdc2cad2dbded6ccc3bab1a79f958c80736a5f53473d3321180e030000000000000000000000000000000a1724313d4a5764707e8383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838385929fabb8c5d2dee6dbd0c5bcb0a69f92877c6f665b5044382b1f1206000000020b141c222832373b42464b51535b60676d737b838c9299a1a8b1b9c1c9d3dbe5edf7fff9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13191f252a2f35393d4347494c5254585b575e616365656667676766666564646362605b54595654514c4745403938332b262019130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e44515d6a7784909daab7c3d0c8bcafa295897c6f6256493c2f23160900000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579685e5246392d20150a000000000006121e2b37424e576a7784909daab7c3cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea5afbbc4cfdae2d6ccc1bbafa49a92877e716c605b534c443e37312b261f1d181413100d070d0d0e080e111414191d20262b32373e454d545c606d727f8c919ca5afb9c1b8b0a69f9590837b6e695e52463a2d2014070000000000000000010d18242f3a46535f6975828f9ba5afbdc6d1d1c6bdb0a69f92867b6e685d544b433a3128231c17110d08070706060708090a0f12161c1f282f353f49515b606d7a84919ea6aea9a19e959089827b736d675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000004101c2934404b55606d7984919ea7b1bccbd4dcd1c4b8aca0958a7d71665b5042382e1e150b0000000000000000000000000000000000020d19242f3a45515d67727f8b96a1adb9c4ced5c9beb2a99e92857a6d60564c4135291e1308000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c5b9aca096918e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f90919298979a9da0a7abadb3bbbfc6cfd4dcdad5ccc4bab2a8a0959083786d60584e43352b210f06000000000000000000000000000000000b1825323e4b5865717e8b9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909297a2adbac6d3dfece1d7cec2bbafa3999184786c605346392d20130600000000020a111720272b30363940454950555d60696e787f8791969fa7afb7c1c9d3dbe5eef7ffecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931363a4045474e5456565e6164676a696e707172737374747373727171706e6c66686563605d5553514b48443d373129241e160e07000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3743505d6a7683909da9b6c3d0c9bcafa396897c706356493d3023160a000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6baaea298877a6e6154473c31261b1108020000020a14212e3a47535f6a7885929eabb8c5cec1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3945515c67707d89939da9b3bec9d5dcded8ccc0b6aca39992877e736c655e565047433c37312c292420201d181b1a1a1b1b191e2021252a2d31373d434750575e666d737f8c919ca3adb7c1cac1b8b0a7a09591847b6e6154483b2e21150800000000000000000007131d2a36424d57636f7c89939eabb5bfcbd7cfc1baaea29891837a6d665c554b433c342e27221b191514131213141415171a1f21272c313a4145515b636d75818e97a1adbbb3ada7a09d938f8680796d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000020c16202c3845515c67727e8b96a0acb9c3ceddd4c8bcb1a79d9083786c60544a3f30261c0c0300000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5c9bdb2a8a09e9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c9d9e9fa2aaa7aaacb1b8babec5cbd1d8dfd6cfc9c0bab2a8a09690837a6d665c51463c3223190f00000000000000000000000000000000000b1825323e4b5865717e8b989d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa2a9b3becad6e2eee9e0d7cbc0b5aba09686796d6053463a2d201307000000000000060b161b1f252a2f35383f444b51575f666d737c8490959ea5afb7c1c9d3dce5f0f9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c23282f353b42464b515358606266686e717476787b7d7e7f7f808181807f7f7e7d7d7b79777472706d6764605d55554f47433c353028201910070000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc9bdb0a3968a7d7063574a3d3024170a000000000000000000010e1a2734414d5a6774808d9aa7b3c0cfcabfb4aa988b7e7165584e43372b2319130e09090b141d27303b4855626e7b8897a2adb9c6cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2934404b55606b74818e97a1adb9c0cad3deddd2c7beb5aba399928b80776d68615a534e47423c38352f2d2c29242727272728252a2d2e3036393c43474e545a61696e78808c919ca3adb5bfc9d3cac2b9b0a69e91847a6d6053473a2d201407000000000000000000010e1a26313b4854606b75828f99a3aebbc5cfd6cabfb4aaa0958f82786d675d554e444039332d2a252221201f2021212224262b2e33383d434c515b626d727f8c939ea9b2bebeb9b1aca59e98928a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000008131e2935414b55606d7984919ea8b2bdcbd5dcd1c4b8ab9f958a7d70655b5042382d1e140a00000000000000000000000000000000000000010c18242f3945515c67717e8b96a0acb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000f1b2835424e5b6875818e9ba8b4c1cedbe5d9cec4bab2acaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9aaaaacaeb4b3b7b8bcc3c6cad0d7dbd6d3cdc4bdb9afa8a19691847a6e685d544b40342a20110700000000000000000000000000000000000b1825323e4b5865717e8b98a4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5d0dbe6f2f2e8dcd1c7bdb2a89386796d6053463a2d20130700000000000000040a0f141a1d24292d333a40454d545c606a6f7a838e939ea5afb7c1cad3dee8f2ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e262e343a41454d53555d60656a6f73777a7e818385878a8b8c8c8d8e8d8d8c8b8b8a89888583817f7d7a75716d67636059534e46413a322b2219110800000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926323f4c5965727f8c98a8b2bdc9d0c2b5a89c8f82756a5f53473f352a251e1a1818191d262e39434f5965727f8b98a9b3becaccc0b6ac998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232f39434f59616d7a85919ea4aeb8c1ccd5dfd9d0c7bdb5aba39f928c817a706c625f58534d4745403c3a39352f34343334353036393b3d4146474e535860626c707b838d929ca3adb5bfc7d1d7cbbfb4ab9f948a7e71675d5145392c2013060000000000000000000009141f2c38434f59626e7b86929fa9b3becad6d0c5bcb1a79f948f81796d675f58514a443f3836302f2d2d2c2d2d2e2f3131373a3d44484f555d606d727f8b919ca5afbbc4c9c3bcb8afa79d9083786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000010d1924303945515d67727f8c96a1adbac4ceddd3c7bbb0a69d9083766b6153493f2f261c0c02000000000000000000000000000000000000000007121d2834404b55606d7884919ea7b1bcc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e0d5ccc4bdb9b7b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b5b6b6b7b8babfc0c3c5c8ced3d6d9d4d0cac6c1bbb2ada59d9691847b6e685e564c42392e22180e0000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b8babec5cdd7e1ecf7f9eee3d9cfb9aca09386796d6053463a2d20130700000000000000000002090e12181b22272f353c424a505860686e79818e939ea5afb8c1ccd6e0eaf4dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117212930383f444c52575e61676d72777c8083878b8e909298969898999a9a9a9999989797969892908e8c8986827e7a75706b625f58524c443c342b231a1108000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000915222f3c4855626f7c8896a1adb9c5d2c5b9ac9f92877c6f625a50473e36302b262525252a2f38404b55606b7683909da9b6c3cfc8bbafa49a8a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d46525d68707e8a929ca6b0bac3cdd6dfd9cfc6bdb5aea49c938f857d756e6a625f5753514b49474540424140404142434146474a4c5254585f626a6f767e8590959da4adb5bfc7d1d4cbc2baaea3998f82766c61554b4035291d110400000000000000000000030f1b27323d47535f6974808d97a2adb9c0ccd5cec3b9b0a69e938f82796f6a605c54504946413e3c3a3a38393a3b3c3d404347484f545960676d757f88939fa3adb7c1cdd5ccc3b8ab9f958a7d70655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000005111d2935414c56606d7a85929ea9b2bdccd6dcd0c4b7ab9f94897d7063594f41382d1d140a000000000000000000000000000000000000000000010c18232e3944505c66717e8a95a0acb8c3cdd6cabeb3a99f92867a6d61574d42362a1f140900000000000f1b2835424e5b6875818e9ba8b4c1cedbe3e7ded5cec9c5c4c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c2c3c4c5c6cad0d0d1d4d6d3d2cec8c6bfbab8afa9a19e938e847b6e695e564c443a30271d10060000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c6cad0d7dfe9e3e3e3e3ead3c6b9aca09386796d6053463a2d201307000000000000000000000001070c11171d242930383f444e565e676d78818e939ea6b0bac4ced8e2e3dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227333b424a50565d60696e747a7e83898c90939a9a9d9fa2aaa4a5a6a6a7a7a6a6a5a4a4aaa29f9d9b9898928f8a86817d766e6a615d564e463d352c231a110700000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000815212e3b47535f6a7884919eabb8c4cfc7bbafa3998f82756c62595046413a3731323130363a4149515c67707d89959fabb8c4d2c6b9ac9f93877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2935414c56616c73808d949ea8b2bbc4cdd6dfd8cfc6bfbbaea59e97928a827b746e6964605d555653514b4e4e4d4d4e4e4f4d525457565e61656a6f757c828a92979fa7aeb6bfc7d1d6ccc2b9afa59f92867b6e625a50433a2f24180d0100000000000000000000000a16212b37424d57616d7a85929ea5afbac3ced5cbc2b8afa59e948f847c726d66605b53524c4b48474644464747484a4c4e53555960636b707a818b939aa4afb5bfc9d3cfc3baafa59d9083766b6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000030d17212d3946525d68737f8c97a1adbbc4cfded3c7bbb0a69c9083766b6054473e2f261b0b020000000000000000000000000000000000000000000007121d28343f4a54606c7883919da7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000f1b2835424e5b6875818e9ba8b4c1ced6d6d6d6d6d9d5d2d1cecececececececececececececececececececececececfd0d1d2d3d3d2d1d0d0cbc7c5c3bdb8b4aeaca59e96918a817a6e695f574d443b32281e150b000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d6dbd6d6d6d6d6d6d6d6d3c6b9aca09386796d6053463a2d2013070000000000000000000000000000060b13181e262e343d444d555c666d78818e949ea8b2bcc6d0dcd6d6d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141d262d333e454d545c60686d737b80858b9095999d9fa4aca9abaeb4b1b2b2b3b4b4b3b2b2b1b0b4aeacaaa7aaa39f9b98928e89827c746d6860584f473e352c23190c0300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfcabdb0a3978a7d7064574a3d3124170a0000000000000000000006121f2b37434e586774818e9aa8b2bdc9cbc0b5ab9e948b7e716b615a524c4742403f3e3f42464c535b606d7983909da7b1bcc8d0c3b6aa9d908377685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1924303a44505a606c78828f96a0a9b2bbc4cdd6ded8d1cbbfb7afa9a19e938f87817b76716d676662605d555b5a5a5a5a5b5c565e616466686d72777c81878f949ea2a9b1b9c0c8d1d5ccc4bab1a79d938b7f72695f53483e31281d1307000000000000000000000000040e1a26313c46525e68717e8a939da8b2bcc6cfd4cac1b8afa69f9691867f79706c65615e565755545350535454555759585f62666b70767d848e939fa4acb6c0c7d1d1c6bcb2a89d93897d7063594f41382d22170b0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000009141f2a36414c56616d7a85929fa9b3becdd6dbd0c3b7ab9f94897d7063594f44352c1d140a0000000000000000000000000000000000000000000000000c17232e3844505b66717d8a95a0abb8c2cdd6cabfb4aa9f92867b6e61574d42362a201509000000000f1b2835424e5b6875818e9ba8b4c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c3c1bfbab8b6b2acaaa29f9a938e847d746d675f574d453b322920160c03000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d20130700000000000000000000000000000001070c141c2328323b434b545c666d78828f96a0aab4bfcbc9c9c9c9c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f4450575e666d727a80868d92989da0a7aaacafb6b6b8babebebfbfc0c1c0c0bfbebebdbfbab8b6b4b4aeacaaa29f9b948f87807a6f6a60594f473e352b1e150b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023170a00000000000000000000030f1b26323d4a5764707d8a96a1adb9c3cec7bdb0a69f92877d716c615e56534d4c4b4b4c4d52565e656c74808d95a0abb9c2cdc7bcb1a7998c807366564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e44505b666d7a849197a1a9b2bbc4ccd4dcdcd7c9c1bbb3ada59e99928e88837e7976726f6d6769686767666768696a686e7073767a7f83888e939a9fa6adb3bbc2cbd2d4cbc3bab2a89f958e81746d62574d42362c1f160c010000000000000000000000000009151f2935414c56616c74818e96a0aab4bdc7d1d3cac1b8b0a8a098928c847d78726e6866646260605c606061626466686a6f73777d838991969ea5afb6bec7d2d7cbbfb4aaa0968e81746b6054473e2f261b11060000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000020e1a25313946525e6873808d98a2aebbc5cfd6d3c7bbb0a69c8f82766b6054473d33231a0b0200000000000000000000000000000000000000000000000006111c28333f4a54606c7883909da6b0bcc7d3d0c6baaea3988d8174695f53463c31261a0e040000000f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbfbab9b8b7b5b4aeaca9a8a09e98928e88817a706b605d554d453c332920170e0400000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9aca09386796d6053463a2d2013070000000000000000000000000000000000020a111720293139424a545c666d7a849198a3aebabdbdbdbdbdbdb9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2730384149505a61696e787f858d92989fa2aaacb1b6b9bbc0c3c5c6cad0cbcccdcdcdcccccbcad0cac7c5c3c1bfbab9b4aeaca69f99928d857c706b61594f473d30271d1207000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa296897c6f6356493c3023160900000000000000000000000a13202d3a4653606d7984919ea8b2bdc8cfc1bbaea39992867e746d68615f5759585859565e61686d77808c929da7b1bccbd0c7b7ab9f95897c6f6356493c3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028333f4a545d686e7b859197a1a9b2bac2cad5dadbd3cdc5beb9afaba39f9b948f8a86827f7c7a78767574737374757676787a7d8082868b90959b9fa4acb0b9bec5cdd4d6cbc2b9b1a8a1969083786d605b51453c31241a0d040000000000000000000000000000030d1925303a44505a606d79849198a2abb5c0cbd1d3cac2bab2aaa39f96918a847f7a7773716f6d6d666c6d6e6f707375777b7f838990949ea0a8afbbc0c7d0d8c8c0baaea3989184796d60594f44352c1d140a000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000005121e2a36424d57616e7a86929faab3becdc9c9d0c7b7aa9e94897c6f62594f44352b21110800000000000000000000000000000000000000000000000000000b17222d3844505b65707d8a949fabb7c2ccc9cbbfb4aa9f92867b6e61574e42372b20150a0000000f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb4aeacabaaa8aaa39f9c9996918b86817c756d686159514c433c332a21170e050000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0aca09386796d6053463a2d20130700000000000000000000000000000000000000060e171f272f38424a545d686f7c86929fa7b1b0b0b0b0b0b0b0ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039424a535b606c707b828b92979fa3aaaeb4b8bcc3c6c8ccd2d0cfcac6c5c4c3c2c2c2c3c4c5c6cad0d0d0d1cbc7c5bfbab8b0aba39f9792867d706c61594f43392e23180c040000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f221609000000000000000000000006131f2c3845515c67717e8b96a0acb9c1cccbbfb5aba298928a807a736e69676665646667696e727a818c929ca4aeb9c3cdc7bdb0a69d9083766b6054483b2f1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17222d38424c565f696e7b859196a1a8b0b8c0c9cfd6dfd6cfc9c1bdb5afaca69f9c98928f8c89868482818180808181828384878a8c8f92999d9fa7acafb6bec2cacfd7d0cac1b9b1a7a09691847a6e665c51493f332a2012080000000000000000000000000000000008131e28323e45515d676f7c869299a3afbbc0c7cfd4ccc3bcb4aea8a09e96918c8783807e7b7a7979797a7a7b7d7f8284888c90959c9fa6acb2bac1ccd2d2ccc0b6aea49f92867c6f675d51473d33231a0b02000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdd6d4c7bbaea194887b6e6155483b2e2215080000000714212d3a46535e6974808d98a2aebcbdbdbdbdbdbeafa59c8f82756a6054473d32231a0f00000000000000000000000000000000000000000000000000000006111c27333f4953616b7683909ca6b0bbbdbdbdbdbbaea3998e81746a5f53473c32261b0f0000000f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aaa39f9e9d9b989892908d89847f7a746f6a605d564f45413a312a21180f05000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a09386796d6053463a2d2013070000000000000000000000000000000000000000050d151d263038424c565f6a727f8b95a0a3a3a3a3a3a3a3a3a39f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424a545c656c747e8590949ea1a9aeb4babec5c8ced2cdc8c4c3c0bebab8b7b6b5b5b6b6b7b8babfbfc3c6c8ccd2d0cac6c2bdb5afa9a19892867e706b60554b40342820150a0000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667985929facb8c5d2c8bbaea195887b6e6255483b2f221508000000000000000000000004101c2834404b55606d7884919ea6b0b9c3cdc6bdb4aaa29f928d85807b77747372717274777b7f858e939ca4aeb6c0cbccc0b5ab9f94897d7063594f43382c1f0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444d575f696e7b8491969fa6aeb9bec5cdd4d9dad5cfc7c0bbb9b0abaaa39f9c999a93918f8e8d8d8d8d8e8f90919697999c9fa3ababb1b9bbc0c7d0d6d5cdc5bebaafa79f9591847b6e685e544b40372d21180e0000000000000000000000000000000000020c16202935404b55606a707d87929fa3afb5bdc5ced8cfc6bfbab2aca8a09e9a93908d8a88878685868787888a8c8e9196999da0a7abb0b9bdc4ccd8d0c7c0bbaea49d928b7f726a5f554b40352b21110800000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0c9c9c9c7bbaea194887b6e6155483b2e221508000006121e2b37424d57616e7b86929faab4b0b0b0b0b0b0b6ac9e93887c6f62584e43352b211108000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb0b0b0b0b0b0b5ab9f92877b6e62584e43372b1c110600000f1b2835424e5b6875818e969696969696969696969696969696969696969696969696969696969696969696969696969696969594989291908e8b898683807d78726d68625f58524c443e352f281f180f0600000000000000000000000000000000000000000000000b1825323e4b5865717e8b96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d201307000000000000000000000000000000000000000000030b141e26303a444e58606d78839096969696969696969696969386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232834404a545c666d77808a92979fa6adb3babfc6cad0cdc8c4c2bcb8b6b3b3adabaaa9a8a8a9a9aaacaeb4b3b6b9bbc0c7cbd1d3cfc7c0bbb3aaa29892877d6f675c51453c31261b0f000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a2aebac6d3c7baaea194877b6e6154483b2e2115080000000000000000000000000c18232e3944505c66717e8a949ea7b1bbc5cec6bcb4aea49d98928c8884817f7e7e7f8083878c92989ea5aeb6bfc8cac2bbafa4998f82766b6054463d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323c454d575f696e7b848f949ca4adb3bbc1c8ced5d9d9d1cbc7c2bbb7b4aeaca9aca49f9e9c9b9a9a999a9b9c9d9ea1a8a6a9acaeb5b8bcc3c8ccd2d5cfc9c2bbb3ada59e9590837b6e695f564c42392e251b0f06000000000000000000000000000000000000040e18242f3a434e58616b717e8b919fa3abb4bcc3ccd2d1cbc3bdb9b2acaca49f9d999795939892939a949597999b9ea0a8aaacb1b7bcc2c9ced5cdc4beb6afa49d928d80746d62584e43392f23190f0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbbaea194887b6e6155483b2e22150800000814212e3a47535f6974818e99a3a3a3a3a3a3a3a3a3a3a49a8f82756a6054463d3223190f000000000000000000000000000000000000000000000000000000000006111b262f3e4854606b76828f9ca6a3a3a3a3a3a3a3a3a3998e81756a5f5347382e23170b00000f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786868584827f7c797673706c65605d56534e45413a3229241e160d060000000000000000000000000000000000000000000000000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a86796d6053463a2d20130700000000000000000000000000000000000000000000020c151e28323c44505c66707d898a8a8a8a8a8a8a8a8a8a8a8a86796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44515c666d78818d929fa2a9b0b9bec5cbd0ccc7c3bcb8b6b1aba9a6a9a29f9d9d9c9b9c9d9d9fa2aaa6aaacafb6babfc6cfd5d1cbc5bcb4aaa3999184796d60584e43372b1d12070000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcad6c7baada094877a6d6154473a2e21140700000000000000000000000007121d28343f4a54606c77828f95a0a9b3bcc4ccc6bfbaaeaaa29f9996918e8c8b8b8c8d90939a9fa2aaafb7bfc8ccc2b8afa59f93877c6f62594f44342b21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202a333c454d575f696e7a828d929ea1a9afb8bdc3c9ced4d9d7d4cdc7c6bfbab8b6b6afacaba9a8a7a6a6a7a8a9a9abadb2b3b6b9bbbfc6c8cdd4d5cfc9c5beb9b0a9a29f938e827a6e695f574d443b30271d1309000000000000000000000000000000000000000007131d28313c464f59626c727f8b9299a2aab1bbc0c7d0d5cec8c4bdb9b6afacaaa6a4a2aaa39f9fa4a1a2a3a6a8aaacb2b7b8bcc3c7cdd5cfc9c1bbb2aca49f928d80746e645b51463c31281d11070000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0aea194887b6e6155483b2e22150800030f1b27333f4953626e7b879296969696969696969696969693877c6f62584e43342b2011070000000000000000000000000000000000000000000000000000000000000a141d2c38444f59626f7c8994969696969696969696969693877c6f62544a3f34281c1003000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7a79787775726f6d666663605b53524c47433c3530282019130c04000000000000000000000000000000000000000000000000000815212e3b4854616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d2013060000000000000000000000000000000000000000000000030c162028343f4a54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d47515b606d78818e939da4adb3bbc2cacfccc7c2bbb7b1acaaa79f9d9997979291908f8f8f9091929896999d9fa4acaeb4bdc3cbd4d7cec5bcb4aba0968c80736a5f5347392e23180c0000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0d5c9beb3a993867a6d6053473a2d201407000000000000000000000000000c17232e3844505b656d79839197a2aab2bac2cbcac0bcb4aeaba8a09e9a999897999a9d9fa4acaeb3bcc1c9c7c0bbb0a69d938c7f726a6054473d3222190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a333c454d575f686d78808a92979da5acb2b9bdc4c8ced3d6d8d3d0cbc7c5c2c0bbb9b7b5b4b4b3b3b4b4b5b6b8b9bdbfc2c5c7cbd1d4d3cec9c4beb9b3ada69f97928b81796d685e574d453c32291e150b010000000000000000000000000000000000000000010c161f2b343e47505a636d727e879298a0a7afb6bec3c9ced4cec9c7c0bbb9b6b3b1aeb4aeacacafb6aeb0b2b5b7b9bdc3c5c8ced3cec9c4bdb9afa9a19a938c80746e645c52493f342a1f160c000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd6d6d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a194887b6e6155483b2e2215080005121f2b3744505b6575828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a81756a5f53463c3222190f00000000000000000000000000000000000000000000000000000000000000020b1b27323d4754606a75828a8a8a8a8a8a8a8a8a8a8a8a8a8a8275665c5044382b1f1206000815212e3b47535f6a6f70707070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d676b6a686562605c545653504945413a373129241e160e080100000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706c665b5044382b1f1206000000000000000000000000000000000000000000000000040e17232e38424f59606b70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59626d75818e939da5aebabec5cdcfc9c2bbb7b0aaa7a09d9995908d8a8785848382828383848587898c90939a9fa3abb1b9c2cad4d7cec6bdb2a89f92867c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c6b9ada19786796c605346392d2013060000000000000000000000000006111c27333f49535d676e7b859298a1a8b0babfc6cbc5bebab8b2acaaa7a6a5a4a5a7aaacafb6babec5c9c5bdb5afa69e948e81746d62584e43352b21100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c454d565d666d737e858e939ea0a8acb2b8bdc3c6cad0d2d5d6d3d2d2ccc8c6c4c2c1c0c0c0c0c1c2c3c4c5c9cfcfd2d3d2d0cac6c4bdb9b2ada9a19e948f857e756d675d564d453c332a20170c0300000000000000000000000000000000000000000000040d19222c353f48515b636c717d8691959fa4acb2b9bdc4c8ced3d2ccc8c6c3c0bdbbbfbab8b9bbc0bbbdbfc1c4c5c9ced1d2cec8c4bdb9b2ada59e96918880736e645c524a41372d22180d04000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c9c9c9c9c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d969696969696969696969694887b6e6155483b2e221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e61584e43342b20100700000000000000000000000000000000000000000000000000000000000000000b16212b37434e58616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363636363636363636261605d555d5b585653514a4a46443f38352f2b262019130c040000000000000000000000000000000000000000000000000000000005121e2a36424d575e616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b544a3f33281c0f030000000000000000000000000000000000000000000000000006111c26303d474f5960636363636363636363636363636361594f44382c2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b727f8c939ea5afb7c0cacfcdc4beb9b0aaa69f9c95908c8783807d7b7877767575767677797b7c8083878e9299a0a7b0b8c2cdd6d8cfc3bbaea3998e8174665c5145382c1f13060000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d1c5b8ab9e928578655b5044372b1f120500000000000000000000000000000b17222d38414c555f69707d8691969fa6aeb4babfc6cac6c4bdb9b7b4b2b1b1b2b3b6b9bbc0c7c9c5beb9b3aba49f948f82786d605b51463d3223190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c444c545c606c717a818991969ea0a8acb2b8babec5c6c9cfd1d2d3d7d4d2d1cfcecdcdcccdcecfd0d1d2d2d1cfcfcac6c5bebab8b2aca9a19e97928b827b716c605d554c443b332a21180e0500000000000000000000000000000000000000000000000007101a232d363f49515a626b707c838d939aa0a8acb2b8bcc3c6cacfd2d2d0cccad0cbc7c5c6c8ccd2caccced1d2d2ccc8c6c3bcb8b2aca8a19e938e847d736e645c524a41382f251b100600000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5bdbdbdbdbdbdb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a887b6e6155483b2e2215080005121f2b3744505b656c707070707070707070707070707070706e685e52463c3122190e000000000000000000000000000000000000000000000000000000000000000000040f1b27323d46525e696e7070707070707070707070707070706d665c5044382b1f120600030f1b26323c464e53555757575757575757575757575757575757575757575757575757575757575757575757575757575756555453514b514f4c494644403d3937332d29241e1b150d08020000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382d22170b0000000000000000000000000000000000000000000000000000000a141e2b353d474f545657575757575757575757575757554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d87929fa5afb7c1c9d1cbc0bbb2ada69e9c948f89837f7b7673706e696a6a6968696a656c6e7073777b818690959fa6b0bbc4cfdad7cbbfb5ab9f9285796d6053463a2d20130600000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a53493f33271b0f03000000000000000000000000000006111b262f3a434d57606b707c848f949fa3abaeb4babfc3c4c8c5c4c1bfbebebfc0c3c6c7c5c2bdb9b3ada9a199938c827a6d665c51493f342b20110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a323a424a505a61686d747d848b91969da0a8abaeb3b8b9bec1c4c5c7cbd1cccdcdcecfcfcecdcccccbcfcac6c5c2c0beb9b8b3aeaba8a19e97918c857e766e69615a514b433a322920180f06000000000000000000000000000000000000000000000000000008111b242d373f485059606a6f79808891969ea1a8acb1b8babec2c5c6cad0cccdcececfcececdccccd0cac6c5c3c0bbb9b6b1aca8a09e96918b817a706b635c524a40382f261d13090000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b0b0b0b0b0b0b0b0aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d20140700030f1b27333f49535b6063636363636363636363636363636363615e564c41342a201007000000000000000000000000000000000000000000000000000000000000000000000a16202a36424d575e61636363636363636363636363636363605c544a3f34281c100300000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484747454044423f3c3a38342e2d2b27221b19130f0a04000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c1106000000000000000000000000000000000000000000000000000000020c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77849099a3afb7c1c9cfc6bfbaafa9a19e948f88827c77726e696664615e575d5c5c5c535b60616366696e747b838f949fa9b2bdc9d5dcd1c6baada2978a7d7063574a3d2e23170b00000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcec1b4a89b8e8175685b4e422d22170b000000000000000000000000000000000a141d28313c454f59606a6f7a828d92999fa3abaeb4b7b8bcbebfc0c1c2c1c0bfbebfbab8b5b2ada9a19e9792877f786d685d544b40372d22190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18202830383f4450565e616b70797e848b91969a9fa2aaabadb3b5b7b9bbc0bebfc0c1c1c2c2c1c0c0bfbebdbeb9b8b6b3b3adabaaa29f9b96918b847f79726d615e5750454039312820170e060000000000000000000000000000000000000000000000000000000009121c252d363f474f585f676d737d848b91969da0a7abadb3b5b8babfbec0c0c1c2c2c2c1c0c0bfbebebab8b6b6afaca9a7a09d96918b847e756d686059524a40382f261d140b010000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f70707070707070707070707070706d675d5145392c1f130600000b17222d38414950535757575757575757575757575757575754524c443b3022180e0000000000000000000000000000000000000000000000000000000000000000000000040e1a25303b454d525457575757575757575757575757575753504a42382e23170b000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a38352f35322f2d2c2823201f1b17110d080100000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a0000000000000000000000000000000000000000000000000000000000071119232b33383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b95a0acb8c1ccc4bcb4aea59d97918a827c766f6b66615e575754524d504f4f504950535456575f61696e79828f96a1adb9c6d0dbd6cabeb3a99b8e817468544a3f34281c100300000000000000000000000000000000000000000000000000000004101c2834404b546975828f9ca8b5c2cfccbfb3a6998c807366594d4033261a0600000000000000000000000000000000020b161f2a333d474f585f686d7880868d92999fa2aaaaacb1b1b2b3b4b5b5b4b3b2b4aeaca9a8a19e97928c857d736c665d564c42392e251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e262e343e444c525960666d71787e84898e92989b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b4b3b2b1b1b3adaba9a7a9a29e9b98928e8a847f79726d67625b524d453e352f271f160e050000000000000000000000000000000000000000000000000000000000000a131c242d353d464e555c606b70787e848b90959a9fa2a9a9acaeb4b1b3b4b4b5b5b5b4b3b3b2b1b3adaba9aca49f9d9995908b847e79716c615e564f4740372e261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9696969696969696969696969083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636363636363636363605d554b4035291d1004000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e100600000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c11060000000007101820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2d2c2924282523201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28221c140b0200000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030302f2c28211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7883909da5afbcc4bab2aaa39f938e847e766f6a63605954534d4a484642434242433f444647494d53575f676d7a84919eaab4bfcad6dbd0c4b8ab9e918578665c5044382b1f120600000000000000000000000000000000000000000000000000000006131f2c3845515c667784919eaab7c4d1cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000000000000040d18212b353d464e565e666d737b81868e9298999da0a7a4a5a6a7a8a8a7a6a5aaa29f9c9996918b857f7a706b605b544c443a30271d130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323a41464f545c60666d71787c81858a8e9297989b9e9fa3aba5a6a7a7a8a8a8a8a7a6a5a5a4a9a19e9c9a9797928e8a85817d79726d67605d555146423b3329241d150d0400000000000000000000000000000000000000000000000000000000000000010a121b232b343c434b515960666d71797e83888d9297999c9fa2aaa4a6a7a7a8a9a8a7a7a6a5a5a9a29f9c9a9a93908c88847e78716d66615a524c443d352e251c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c464e5355575757575757575757575757575753514b43392f24180c000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d00000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a000000000000070e151b1f212224242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1d181c19161312100c0705030000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242423201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666f7c89939eaab4bab2a8a198928b817a716c626058544f4846423d3b3a363036352d3337393b3d42464d555e68727e8b98a2aebac6d3dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab96897c706356493d3023160a000000000000000000000000000000000000060f19232b343c444c545c60696e747b8186898d9095969798999b9c9b9a99989798928f8c89847f79726d676059504a423a32281e150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202830353d424a51545c60656c7074797d8285888b8e9192999698999a9a9b9c9c9b9a999998979697928f8d8b8885817d7975706d66605c55514b433f3630292118120b030000000000000000000000000000000000000000000000000000000000000000000009111a222a313940454f545c60666d72777c8185898c8f92989698999a9b9b9c9b9b9a999998969792908d8b87837f7b77716d66605c545046413a322b231c130a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000020b141b22272b2d303030303030303030303030303030302e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e3030303030303030303030303030302d2b28231c140c0200000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171615141413100c070c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000050b10131616171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606b75818e98a2aeb2a8a19691867e746d68615a544e48443d3a36312e2d2a25292922272b2d2e31363c434c56606d7a85929facb8c5d2dfd4c7bbafa499877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a3afbbc7d3c7bbafa399877b6e6154483b2e21150800000000000000000000000000000000000000071119222a323a424a50575e61696e74797d808387898b8c8d8e8f8e8d8c8b8a8986827f7c79726d67605d554f443f382f2820160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e2529303940444a50535b6063676d7175797b7e828486888a8b8c8d8e8e8f8f8e8d8d8c8b8a89878583807e7c7974706d6664605c54514b454039312a251f170f07010000000000000000000000000000000000000000000000000000000000000000000000000810181f272f343d424a50545c60656a6f74797c7f828587898b8d8d8e8f8f8f8e8d8d8c8b89878583817e7b76726e6964605c54514b423e353028201a110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f70707070707070707070707070706f6b6054483b2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b010000000000020a11171b1f202424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424201f1c17110a0200000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59616e7b86929fa8a8a19691847c716c605d565047433c38322d2a2521201e1a1c1c171b1f2021262a313a45515d677783909daab6c3d0ddd7ccc0b5ab95887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0cbd2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000071019202830383f444d52575e61676d7073777a7d7e7f8081828281807f7e7c7976726f6d66605d55514c433d332d261d160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383f44495053555c6064656c6e727577797b7d7f8080818282828181807f7e7e7d7b787674716f6d6663605c5453514a454039352f271f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d232930383f444b5153586062666d6f7276797b7c7e8081818282828180807f7e7d7a787674716e6866625f5753504a4540393029251e160e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58606263636363636363636363636363636360594f43382c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c29241d150d030000000000000000060b0f1213171717171717171717171717171717171414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141717171717171717171717171717171312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3d46525e68727f8c96a0a19691847b6f6a625a524c433e37322c27211e1a1514120e09060b0f1213141a1f2935414c556875828f9ba8b5c2cedbddd2bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfd1d1c4b7aa9e918477665c5044382b1f1206000000000000000000000000000000000000000000070e161e262e343b42464d53555c606366686e70717273747575747372716f6d676662605c54514b45413a3128221c140b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151c23282e34383f44464b5153535b60626568666d6e7072737474757575757473727271706e6969676462605c5453514b46444039342e29241d150d09020000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e262e34394045464e54545c606266656c6e70717374747576757474737272706e69696765615e5655534d46443f38342e271e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e5456575757575757575757575757575756544f473d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222424242424242424242424242424201f1d18120b0300000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f10131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000002050708121313131313131313131313131313131006060300000000000000000000000000000000000000000000010406070b0b0a0a090908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56606d7884919d9791847b6e6960585045413a312b27201b16120e0907050200000003050609101c28343f4a546875828f9ba8b5c2cedbd6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000006121f2b37434e586875818e9ba8b4c1cecfc2b5a99c8f827669544a3f34281c100300000000000000000000000000000000000000000000050c151c232830363b42464b515356565e61636465666869686766656463605c555653504a454039352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c23282d3337394045474950535558545c6061636566676768696968676666656463615e575a585553504a4645403a38342e28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141c23282e34383c43474a505356535b60616365666768686968686766666563615e565a5854524d4847423c38342e28231d150c080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d352b21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151517171717171717171717171717171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000030a10161a1c1d20202020202020202020202020181715110c06000000000000000000000000000000000000000000000002090e1114141f2020202020202020202020202020201c13120f0b0600000000000000000000000000000000000001070d111314181817171615151413110d080b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44515c66707d899391857b6e695f574e463f352f281f1b150f0a05020000000000000000060b1218222b3844505c667783909daab6c3d0ddd5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000815212e3a47535f6a7885919eabb8c4d1cbbfb5ab998c7f7366594c402e23170b000000000000000000000000000000000000000000000000030a11171f252a313639404546494c52545658595a5b5c5b5a5958575653514b4946443f38352f29241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c11171b22272b2f34383a3f4446484b4a5153555758595a5b5b5c5c5b5a5a5958575654524d4d4b4946443f3a38342e2c28231c18120c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c3237383f4446494950535456585a5a5b5c5c5c5b5a5a59585654524d4e4b4746413b3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e101113131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000003080c0e0e1313131313131313131313131313131313100605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d181109000000000000000000000000000000000000000000050d14191e20212b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000040c13181d20202524242323222221201d1919171514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2834404a54606b75828f877d70695f574d453d3429241e160d0a04000000000000000104080d11171d2329343c4653606d7985929fabb8c5d2ded6cabfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000915222f3c4855626f7b8897a1adb9c6d2c7bbaea399897c706356493d302316060000000000000000000000000000000000000000000000000000060c141a1f252a2e34383a3d4146474a4b4c4d4e4f4f4e4d4c4b494645403c3a38342e29241d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b11171b1f23292c2d3337393b3f404446484a4c4d4d4e4f4f4f4e4e4d4c4b4b4a474642413e3c3a38342e2c28231f1c18120c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f272b2e34383a3c3f444647494b4d4e4e4f4f4f4e4d4d4c4b4a474642413e3b3936302e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3030303030303030303030303030302f2c2721191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e2020202020202020202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b20202020202020202020202020202020201c13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e313239393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000030d161f262d3235363939393939393939393939393932312e29231b120900000000000000000000000000000000000000050e171f252a2d2e38393939393939393939393939393939362d2b28221c140b0200000000000000000000000000040d161d24292c2d32313130302f2e2d2c2924262422211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424f59616e7b8680736b60574d453b332b2219130c040000000000000305070d1113191b22272f343d46505a63707d8a97a2adbac6d3dfd3c6baaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000004101c2834404b5465727f8c98a9b2bec9d2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000003090e141a1d23282c2d3036393b3d3e3f4041424241403f3e3c3a38342e2d2b28231c18120d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f22272b2d2f2e34383a3b3d3f4041414242424241403f3f3e3d3b3a3630312f2d2c28231f1c1812100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10151b1c23282b2d2d3337393b3d3e4041414243424141403f3f3d3b3a3630322e2d2a25211e1a15100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242423221f1b160f070000000000000000000000000000000000000000000000000000000000000306080913131313131313131313130b0b09050100000000000000000000000206080813131313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1b17110a0200000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000030c17202930363a3b45464646464646464646464646464646433938332d261d140a000000000000000000000000010c161f282f35393a3e3e3d3d3c3c3b3a39352f33312e2d2a26201f1c18120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d46535f69707d786c60594f453c332921191008010000000306060b0f1213181d2024292d333940454f58616c75828f9ca9b3becad6dfd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000000000000000000000006131f2c3845515c6676828f9ca9b5c2cfd0c3b6a99d908376675d5145392c1f1306000000000000000000000000000000000000000000000000000000000003090e12181c1f20252a2d2e3031323335363534333231302d2c2823201f1c17110c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c1013171b1f202223282c2d2e3032333434353636353433333231302e2d2a252522201f1c1713100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2022272b2d2e30323334353536353534333332302e2d2a252521201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171615130f0a040000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020181715110c06000000000000000003090e1214152020202020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000b151d252b3034353939393939393939393939393939393939362d2b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000010c17222d363f454a4b5353535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000000000000000000000000000000000005101c26313a434a4e50535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000b151e29323b424647525353535353535353535353535353534f46443f382f261c1106000000000000000000000007131d28313a4045474b4b4a4a49484847454141403e3b3a36312d2c28231d1a150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36424d57616c706c665b50473d332a21170f07000305060b101213171b1f2024292c3035383f444b5159606a717e8a949eaabbc5cfdbdccfc2b5a99c8f827669554b4035291d1104000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ccc0b6ac9a8d807367554b4035291d10040000000000000000000000000000000000000000000000000000000000000000070c101313191e2021232526272829282726252423201f1c181312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181c1f202224252627282829292827272625242321201e1a18161312100c0604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213171b1f2021232527272829292928272726252321201e19181414110e0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a09090703000000000000000000000000000000000000000000000000000000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2524211d181109000000000000060e151a1e21222d2d2d2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f434446464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000008121d272f373c40414646464646464646464646464646464646433937332d261d140a0000000000000000000000000000000000000000000000000000000000000000000005111d29343f48505658606060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60606060606060606060606060585651483f34291d110500000000000000000000000000000007121c27303b444d52545e6060606060606060606060606060605c53504a42382d22170b00000000000000000000010d18242f3a434b51535857575656555554514c4e4c4a4846423d3a38342e2b26201b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1a26313b45505a6164605b544a3f352b21180f06060b0f1213171c1f2022272b2d2f35393a41454950555c606b707c86929fa6b0bbcdd7e1d4c8bcb1a7988b7f7265584c3f2f24180d01000000000000000000000000000000000000000000000000000a1623303d495663707c8998a2aebac6d3c8bbafa49a8a7d7063574a3d2f24180c00000000000000000000000000000000000000000000000000000000000000000000000406080e1114141718191a1b1c1c1b1a1918161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1012131517191a1a1b1c1c1c1b1b1a191818171414110e090907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131416181a1b1b1c1c1c1b1a1a1918171414110e0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f393939393939393939393932312e29221b120900000000060f1820262b2e2f393939393939393939393932312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f5153535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000060f1a242f3941484d4e53535353535353535353535353535353534f46443f382f261b11060000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e22150900000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000060f18232e39424d565e616b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b544a3f33281c0f0300000000000000000004111d2935404b555d6065646463636261605d555b595755534d4a4645403937312b262019130d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333e4850555753504a42382d23190f0c1012171b1f2023282b2d2d3337393b4045474c52535b60676d737d859298a2aeb8c1ccdfdbd1c4b8aca095877b6e6154483b2e2115070000000000000000000000000000000000000000000000000005121e2a36424d576673808d99aab4bfcad2c6b9ac9f93867a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0e0f0f0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0e0e0f0f0f0f0e0d0c0c0b0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0e0e0d0c0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646463e3d3a342d241b11060000030e18212a31373a3b46464646464646464646463f3e3a352d251b11070000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e6060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000030c17212c36414b53595b60606060606060606060606060606060605c53504941382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c71797979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797979797979797979797979726d62564a3d3124170b00000000000000000000000000040d18222834404a545e696e78797979797979797979797979797979766c665b5044382b1f12060000000000000000000613202c3945515d676d717170706f6f6e6d6769686664615f575653514b47433c37312a251e170e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c363e44494a46443f382f261c1112181c1f22272b2d2e34383a3c3f4446484b5153565d60656c71797f879297a2aab4bfcad3ddd4c8bcb1a79d908377695e53463a2d211407000000000000000000000000000000000000000000000000000714212d3a46535f697783909daab6c3d0d0c3b7aa9d908477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343c43474953535353535353535353534b4a453f362d22180c01000915202a333c42474853535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e221509000000000000000000000000000000000000000000000000000000000a151e29333e48535d64686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697682868686868686868686868686867e7265584b3f3225180c000000000000000000000000010c161f2a343c44515c666e7b8586868686868686868686868686868682786c605346392d2013060000000000000000000714202d3a4753606d797e7e7d7d7c7b7b7a78767473716e696763605c54534e47433c363029201910090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242c33393c3d3938332d261d141b1c23282c2d3337393c3f44464949505355555d6064686d72787e848c9299a2a9b3bcc5d0dcd4cbc3b8aca0958b7e7265574d42362a1e120500000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9c6d2cabeb3a99a8d807467564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000010507070f0a0a080400000000000000000000000000000000000000000306131313131313131313131313131313131311110e0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709090a0b0b0c0b0b0a09090706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0b0b0c0b0b0a090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a0b0c0c0b0b0a090806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c464e54556060606060606060606060585650483f34291d1105020e1a26313c454e53556060606060606060606060595751493f35291e12060000000000000000000000000000000000000000000000000000000000000000000000101d2a36434f5b6771777979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000006111c26303b45505a646f747979797979797979797979797979797979766c655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839093939393939393939393938b7e7265584b3f3225180c00000000000000000000000007131d28313c46505a606d7882909793939393939393939393939991847a6d665b5044382b1f1206000000000000000003101c28343f4a5464717e8a8a8a89898888878583817f7d7b7773706d66625f58534e46413a322b221b130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d30312d2b28221c1c1f272b2e34383a3f4446484a505355535b606265676d71757a7f848a91969fa3abb3bcc5ced7d5cbc3b9afa59d9083786c6053463b31251a0e0200000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbbc8d2c6b9ada197897d7063564a3d3024190d01000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b171614100b0500000000000000000000000000000000060b101220202020202020202020202020202020201e1d1b17120b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080d11131415161717181918171716151413110d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608060b0f1213151617171819181717161513120f0b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131414151617181818181717161413120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c65625a50453a2e21150906121e2b37424e575f6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a778386868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000040e17232e38424d57616c7481868686868686868686868686868686868682786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000071118242f3a434e58616c74808d949fa99f9f9f9f9f9f9f9fa69f92877d6f685e544a3f33281c0f03000000000000000006121f2c3844505c6675818e9797969695949792908e8c8a8884807d79756e6a625f58524c443d342d251d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324201f1c1c22282b32373940444649505355545c606265656c6e72757a7d81868c91969ea1a8afb5bdc5ced7d7ccc3b9b1a79e93897c6f665b504438291f1409000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0ccd1c5b8ab9e9285796d6053463a2d2013080000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021282423201c17100800000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e06000000000000000000000000000000000000000000000000000000000000000000000000000000000104060a0f12151518191d2021222323242525252423232220201d18181514120e090604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515171c1f202223232425252524232322201f1c171515120f0a05030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e12141517181c1f20212223242425252524242321201f1b17171413110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a767979797979797979797979716c62564a3d312417070814212e3a47535f6a767979797979797979797979726d62574a3e312518080000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919393939393939393939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000020c162028343f4a545f69717e8a93939393939393939393939393939392857a6e655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9acacacacacacaca5988b7e7265584b3f3225180c00000000000000000000050e19232935414b555f6a717e8a929da6b0acacacacacacb2a89e948c7f726b60564c42382d22170b0000000000000000000713202d3a4653606d7985929fa3a3a2a2a9a19e9c9b999796918d8985817c756f6a615e564e463f372f261d130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617131b1d262d33383c43474a5153535b606265666d6f7275797b7e82868a8e92989da0a8acb2bbc0c7cfd7d1cbc2bab1a79f958e81756b60544a3f3328170d0300000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adbec7d2c9bdb2a99a8e8174665c5044382c1f120600000000000000000000000000000000000000000000000000000000000000000003090e161e25292d2e3531302d28221a12080000000000000000000000020c141c23282b39393939393939393939393939393939393836332e2820180e040000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141a1f21222524292c2d2f3030313232323130302f2d2c29242522211e1a1413110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1f212222282b2d2e2f303131323231302f2e2d2b282222211f1b13120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e21212423292c2d2e2f2f303132323131302f2e2d2b27222321201d1914120f090401000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c86868686868686868686867e7165584b3e2f24180c0815222f3b4855626e7b86868686868686868686867f7265594c3f3024190d0100000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000008131e28323a44505c666e7b85929fa59f9f9f9f9f9f9f9f9f9fa79d928a7d70685e53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6b9b9b9b9b9b1a5988b7e7265584b3f3225180c000000000000000000030c17202b353d45515d676e7c86929fa4aeb9b9b9b9b9bfb5aba1968f82776c60594f443a2f261c11060000000000000000000a1623303d495663707c8997a2adb0afaeb3adaba9a7a6a8a09d9a98928e87817c756d686058514941382f251c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108101920272b2f383f44464e54545c6064656c6f7275797c7f8285888b8f92989b9fa2aaacb2b9bdc4cbd1d5cfc6bfbbb0a8a0959083796d60594f42382d221705000000000000000000000000000000000000000000000000000b14202d3a46525e6975828f9ca9b2bed0d2c5b9ada196897d7063544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000060b141a20283035393a423d3c39332c241a0e04000000000000000000000a141e262e3438464646464646464646464646464646464644433f39322a20160b0000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2021262b2e2f322f35393a3c3c3d3e3e3f3e3e3d3c3c3a39352f322f2e2b2621201d18130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f20262b2e2f2d3338393b3c3d3e3e3f3e3e3d3c3b3938332d2f2e2b26201f1b17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312f34383a3b3b3c3d3e3f3f3e3e3d3c3b3937332d302d2c2924211f1a15110d070100000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869293939393939393938e817467554b4035291d100613202d394653606c79859293939393939393938e817568564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daaacacacacacacacaca5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000006101925303a444f59606d78839098a2aeacacacacacacacacb4aaa0958d80746b61564c41382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000a151e29323d47515b606d79849198a2aeb6c0cbc6ccc4bbaea39991847a6d655b50473d32281d140a00000000000000000006121f2b37434e586774808d9aa9b3bebcbbbeb9b8b6b4b2b2acaaaaa29f9a938e87817a6f6a625b534a41372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222b32373e424a5053586062666d7075787c7f8285888c8f9297989c9fa3aaacaeb4b8bdc3c9ced5cfc9c3bdb5aea69f9690837a6d675d51473d2f261c110600000000000000000000000000000000000000000000000007121d28333f4a54616e7b87939facb9c4cfccc0b5ab9e9184796d6053463a2e23170c00000000000000000000000000000000000000000000000000000000000000020a11171f252a323a4146474e4a49443e362c20160c02000000000000000006111c2630383f445353535353535353535353535353535353514f4b443c32281d12060000000000000000000000000000000000000000000000000000000000000001070c10161b1e24292c2d31373a3c3f4141454748494a4a4b4c4b4a4a4948474540413e3b3a37312d2c29241d1b16100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c12181c22282b2d31373a3c3f3f444648494a4a4b4c4b4a4a494846443f3f3c3a37312d2b27221b18120c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d31363a3b3d404045474748494a4b4b4b4b4a4a494746443f3f3d3a39352f2e2b26201d18130d080200000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667683909c9f9f9f9f9f9f9d908377675d5145382c1f1306121f2b3744505b6576828f9c9f9f9f9f9f9f9e918477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000030d18222935414c56606b73808d959faab3beb9b9b9b9b9b9baaea2989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd2cbbeb1a5988b7e7265584b3f3225180c000000000000000006111c26303b444f59626d75818e96a0aab4bfc8d2cfc4baafa59f92877c6f685d53493f342b20160b020000000000000000000815212e3a47535f6a7784919eaab7c4d0cfc9c6c5c3c1bfbdb8b7b4aeaca49f9a938e847c726d645d534940362c22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e2429343d434750545b60646a6f74797d8285888b8f9297989b9ea1a9a8acaeb4b8babfc6c8ced4cfc9c4beb9b2aba39f9490847a6e685e554c41352b1d140a000000000000000000000000000000000000000000000000000c18232e3844505b66737f8c99a4afbbc7d4c7bbafa4998c8073665c5044382c1c1106000000000000000000000000000000000000000000000000000000000000070b141b222730363e444c52545b575550483e32281e130800000000000000000b17232e38424a505f606060606060606060606060606060605e5c564e44392e23170b000000000000000000000000000000000000000000000000000000000000060b12181d1f272c2f35393a3e4347484b4d4c5254555656575858585756565553514b4d4b4847423d3a39352f2b271f1c18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292d3338393d4347484c4a5053555656575858585756565553504a4c4847433c3937332d28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d23282c2f35393a3e4246484a4d4b51535455565757585858575756545350494c4a4745413b3a37312c29241d19140d08020000000000000000000000000000000000000000000000000000000000000004101c2834404a546773808d9aa6acacacacac9f92867a6d6053473a2d2014070f1b27333f49536673808d99a6acacacacaca096877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4c6c6c6c6beb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000010b151f2a343c46525e68707d87939fa7b1bcc5d0c6c6d0c4bbafa59f92867c6f675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f17232e38424d56606b727f8c939ea8b2bcc6d0d1c6bcb2a89e938b7f726a60564c41382d22190e05000000000000000000000915222f3c4855626f7b8896a0acb9c5ced0d2d2d1cfcecec8c5c4bfbab6afaca49f9691877f746f645b52483e342b1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720282f353f464e545a61666c71777c80858a8e9297989b9fa2a9a8abadb3b5b9babfc5c7cad0d2cec8c4bdb9b3ada8a099928c827b6e685e564c433a2f23190b0200000000000000000000000000000000000000000000000004101c2834404b54606c7884919eabb5c0ccd2c6b9ac9f93877b6e61544a3f34281c0a0000000000000000000000000000000000000000000000000000000000030b12181d262d333b424650565e616864615a50443a3024190d0400000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6760564b3f33271b0e00000000000000000000000000000000000000000000000000000000020a11171d24292c32383a4145474a4e5355585a565d606263636465656564636362605d555a5855534e4a4745413a37322c29231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151d24292f35383f44464a4e535559545b606162636464656564636261605b545855534e4946443f38342e28231c150c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191f252a2e34383a4145474b4d5354575a555c60616262636465656464636261605b53595654524c4847433c39352f2a251e19130c04000000000000000000000000000000000000000000000000000000000000000c18232e3e4a5764717e8a97a9b3beb9bbafa399897c6f6256493c2f2316080b17222d3d4a5764707d8a97a8b2bdb9bdb2a896897d7063564a3d3023170900000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afb9c2ced7ddd2c7bdb2a99e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000000040d182128343f4a545e686f7d87929fa5afbac3ced7cbbfb4aaa0968f81756d62584e443a2f261b10070000000000000000000005111e2a36414d5666727f8c99a8b2bdc0c2c3c5c6cad0d1d2d4d1d0cac7c0bbb6afa8a199928b81746d635a50473d31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a4145515860626c70787e83888d92979b9ea1a9a8abadb3b5b8b9bec2c5c7cbd1d2cec9c5c3bcb8b2ada9a19e9691877f786e695e564d443a31281e1007000000000000000000000000000000000000000000000000020c17202c3845515c66717e8b96a1acbdc7d2c8bcb1a79c8f8275695e5342382e23170c00000000000000000000000000000000000000000000000000000001070c151c23282f383f444d525a61686d75706c61564c4135291f160c01000000000006121f2b3844505c6676797979797979797979797979797979797772675c4f43362a1d11000000000000000000000000000000000000000000000000000001080b141c22282f35393d43484c525457585f62656769686d6f6f707171727171706f6f6d67696765625f575754514b47433d38342f27221b140b07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191f272f353940454a505356585f626568666c6e6f707171727171706f6e6c666865625f5856535049444039342e271e18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e25293136394045464c525458575e61646669676d6e6e6f707172727171706f6e6c65686663605d5655534e4745413a363029241e160e080200000000000000000000000000000000000000000000000000000000000715212e3b4854616e7b8797a1adb9c6c0b5ab988b7f7265584c3f2f24190d0614212e3b4754616e7a8796a1adb9c5bfb2a6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0cbd4e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000000000010c161f2a333c44505c666e7a859199a3afb7c1ccd5ccc3baaea39891847a6d605b51463d32281d140a00000000000000000000000714202d3946525e687683909da9b2b3b4b5b7b8babec0c4c5c9ced3d6d2ccc7c0bbb2aba39f938c7f736c61594f433a2f24180d03000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c525b626a6f767d838a90959a9ea1a9abadb3b5b8babec2c5c6cacfd2d1cec9c5c4bdb9b7b1aca9a19e97918c847c726c665e574d443b32281f160c0000000000000000000000000000000000000000000000000008131e2935414b55606d7984919ea8b2bdd0d1c5b8aca0958a7d7063574d4230261c11060000000000000000000000000000000000000000000000000000030b12181e272e343c414950575e616c717a817e70685d52453e31281d130700000000000713202d3a4653606d788686868686868686868686868686868684776b5e5144382b1e1100000000000000000000000000000000000000000000000000040c13191d262d33394045474f54565d6064676a6f727476787a7b7c7d7d7e7f7e7d7d7c7b7a787674716e6a6764605d55544e47454039332d261d18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a313940454b51545b6063676a6f727477797b7c7d7d7e7f7e7d7d7c7b797774726f6a6763605b53514a4440393029241d160d0500000000000000000000000000000000000000000000000000000000000000000000000000060d151d242930353b42464b5153565d606569696e707376787a7a7b7c7d7e7e7e7e7d7d7c7a79777572706d6865625f5854514b46413b3530282019140d05000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919eabb8c4c1b4a89b8e817568554c4135291d110714202d3a46525e697884919eabb8c4c2b5a89b8f827568564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000020b17212935404b555f6a727f8b939ea9b2bdc7d2ddd7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000007131d28313c46505a606d78829097a1abb5c0c9d3cec3baafa59f92867c6f685d52493f342b20160b0200000000000000000000000814212e3b4754616e7b87939fa5a5a6a7a8aaabadb3b3b7b9bdc4c7cdd5d8d2ccc4bdb5aea59c928a7e716b60554b4135291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28313b444c565d606d727c838a90959da0a7abadb3b8b9bec2c5c6cad0d1d1cfcac6c5c2bdb9b7b2acaba7a09d96918b857f796f6a605b544d453b322920160d04000000000000000000000000000000000000000000000000030c1925303945515d67727f8b96a1acbac4cec9bdb2a89d9083786c6053463b3120150a0000000000000000000000000000000000000000000000000002080d151d2429303940444e535b60696e757e858e857a6d60594f433a2f24180d03000000000713202d3a4653606d798693939393939393939393939393939184776b5e5144382b1e11000000000000000000000000000000000000000000000000060d161e24292f383f444b5153596063686d7174787b7e808285878889898a8b8b8b8a898988868482807e7b7874706d6762605853514b443f382f29241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930363e434b51555d60666c7074787c7f8183858889898a8b8b8b8a8989888583817f7b77736f6c65605c54514a423d352f281f170f0700000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353a41464d53555c6064686d7175787b7d808285868788898a8a8b8b8b8a8a89878684827f7d7a76726e6a65605d55524c46413a322a251e170e0700000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2c4b7aa9d918477675d5145392c201306111e2a36424d566875828f9ba8b5c2c4b8ab9e918578695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000a141d29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000071118242f3a434e58616c74808d949fa9b3bdc7d1d0c6bcb2a89e938b7f726a5f564c41372d22190e040000000000000000000000000b1825323e4b5865717e8b9a989899999a9b9d9fa2a9a7aaacb2b7bbc2c9cfd6d8cfc6bfbbada49f92867d6f675d51453c31261a0e050000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a434c565e686d757f8790959da0a7acb1b8b9bec5c6c9cfd2d2cfc9c5c4c1beb9b8b5b2acaba8a19e9995908b847f79726d676058504a423b332920170e04000000000000000000000000000000000000000000000000000b151e2a36414c56606d7a85929ea8b2bdccd2c5b9aca0968a7e71655b5044372b1f1203000000000000000000000000000000000000000000000000040c13191f272f353d424a51575f656c727b828a92978e81746b61554b4135291f150b010000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9f9f9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000020a11171f282f353d424a50555d60656b6f757a7d8184888b8d8f9196959696979898989796969596918f8d8b8884817d7a746f6a65605c555049413d352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222a323b41464f555d60676d72787d8084888c8e9092989596979798989796959892908e8b8884807c78716d66605c544e45403a3129211910080000000000000000000000000000000000000000000000000000000000000000050b141c2228313940454c52575e61676d70757a7e8285878a8d8f929794959596979898979796959992918e8c8986837f7b77716d67615e56524c443e363029201910090000000000000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99abb5c0c6b9ac9f93867a6d6054473a2d2114070e1925303f4c5966727f8c99abb5c0c5b9ada196877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000006111c262f3b45505a606d79839098a3aeb8c1cdd6ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000050e19232935404b555f6a717e8a929da6b0bbc4cfd6cabfb4aaa0968e81756d62584e433a2f251b1007000000000000000000000000030f1c2936424f5c6975828b8b8b8c8c8d8d8f909297969a9ea0a8abb0b9bec4cdd6d8d1cbbfbaaea3989185796d60574d42372b21160b000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b555e686e7a828c92999fa7acb1b8bcc3c6c9cfd2d0cac6c5c1bdb9b7b4b3adaba8a8a19e9a96918d88837e79726d67605d554e443f382f2921170e050000000000000000000000000000000000000000000000000007121d27303946525e6873808c97a1adbac4cec8bcb1a79e9184786d6053493f33271b0f030000000000000000000000000000000000000000000002090e161e2429313940454e545c606a6e777f868f949e9d938a7d70675d51453d31271d12070000000713202d3a4653606d798693a0acacacacacacacacacacaa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000030b141c2228313a41454f545b60676d72777c81868a8e9196989a9c9ea1a9a2a3a4a4a5a4a4a3a2a8a19e9c9a9896918d8a86817c77716d67605b534f45403a3127221b140b03000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c343c444c525961676d73797f84898d9196989b9d9fa2aaa3a4a4a5a4a4a3aaa29f9d9b9896918d89847e79726d666058514b433b332b221a1208000000000000000000000000000000000000000000000000000000000000070e161d262d333e434b51565e61696e74797d82868b8f929797999c9ea1a9a1a2a3a4a5a5a4a4a3aba39f9e9b9999928f8c88837e7a746e68615d565046413b322b221b12090100000000000000000000000000000000000000000000000000091623303d495663707c8999a4afbbc7bbafa49a897c706356493d30231608091623303d495663707c8999a4afbbc7bdb2a9978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000040d17222d38424d57616c74808d95a0aab4bfcad3dfd6ccc4baaea2989083786d60594f443a30241b100600000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000030c17202b353d45515d676e7c86929fa4aeb8c2cdd5cbc3baaea2989184796d605b51463c31281e130900000000000000000000000000000b1825323e4b5865717e7e7f7f7f7f8081828485878a8d91969c9fa6adb3bbc4ccd5dcd7cbbfb4aaa1978d8073695f53463d33271c1003000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545d676e7a848f939fa3abb1b8bcc3c8ced2d0cac6c5bebab8b4b2adaba7a9a19e9b9896918d8984807b77726d67605d55514b433c332d261d170f0500000000000000000000000000000000000000000000000000030d18232e39424e58616d7a86929fa9b3becccfc7b8aca0958b7e71665c5041382d22170b00000000000000000000000000000000000000000000060b141a202830353d434b515860666d737b838b92989ea6a59e9184796d60594f43392f24180c0400000713202d3a4653606d798693a0acb9b9b9b9b9b9b9b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000040c151d262d333d434c525960666c71797e83898e92999a9ea1a8a7a9abadb2afb0b0b1b2b1b0b0afb2adaba9a7a8a19e9a98928e89837e79716c656059514b433d332d261d150c0300000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e464e565e616b707980858b91969a9ea1a8a7aaacaeb4b0b0b1b2b1b0b0b4aeacaaa7a8a09e9a95918b847f786f6a605d554d453d342c241a11080000000000000000000000000000000000000000000000000000000007101920282f383f444f555d60686d737b81858a8f92989c9ea1a9a6a9abadb3aeafb0b1b1b1b1b0b0b4aeacaaa8aba39f9c9895908b86807a736d68615a524c443d342d241b1309010000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6c0b6ac998c7f7266594c3f3025190d0714212d3a4754606d7a86939facb9c6bfb3a6998c807366594d4031261a0e020000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000010c161f28333f4a545e69707d8a929da7b1bcc6d0dcd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000a151e29323d47515b606d79839198a2aeb6c0cad4cec3b9afa59f92867c6f675d51493f342a1f160c0100000000000000000000000000000b1724313d4a56626c71727272727273747577787a7d80848990949ea1a9b2bac4ccd5dcd1c6bcb3a99f92867b6e61594f44382c1f140900000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c666d798390969ea5aeb5bdc2c8ced4cdc8c5bebab8b3adaba8a8a19e9b9897928f8b8884807c78736f6a65605c55514b4540393128221c140b0500000000000000000000000000000000000000000000000000010b151f2834404b545f6a74808d98a2aebbc5cfc7bdb0a69d9183786d60544a3f2f261b11060000000000000000000000000000000000000000020a11171f252a323a41464f555d606a6f787f8690949fa2aab0ada1968d81746b60554b40352920160a00000713202d3a4653606d798693a0acb9c6c6c6c6c6c6c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000050d161e272f383f444f565d606b70787e848b90959b9fa3ababadb2b3b5b8b9bdbcbcbdbebebebdbcbcbdb9b7b5b3b2acabaaa39f9b95908b847e786f6b605d554e443f382f261e150d040000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4850585f686e757d848c92979ea0a8abacb2b4b6b8babfbcbdbebebebdbcbfbab8b6b4b2acaaa7a09d96918c837c746d675e574f473e362c231a11070000000000000000000000000000000000000000000000000000071019222b323a424a505961676d727a80868e92979b9fa3aaabadb3b3b5b8b9bebbbcbdbdbebebebdbdbfbab9b7b5b5afaca9a79f9d98928d86807a716c615e564e463f362d251b13090000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3c1b5a89b8e827568564c41362a1d110613202c3945515d677784919daab7c4c2b5a99c8f827669574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008131e28313a44505b666e7b85929ea4aeb9c3ced8dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0006111c26303b444f59626d75818e95a0aab4bfc8d2d0c6bcb1a79e938b7e716a5f554b41372d22190d040000000000000000000000000000000915212e3a45505a626565656565666667686a686d7074777c838a9197a1a8b2bac4cfd9d8cfc4baaea3998f82756b6054483b31261a0e000000000000000000000000000000000000000000000000000000000000000000000a15202a36424d57606d78828f95a0a8afbbbfc6cfd4cfc9c3bcb8b3adaba9a29f9b9796918e8b8885827f7b78746f6a66625f5853514b454039352f271f17110a02000000000000000000000000000000000000000000000000000007121d27313945515c666f7c86929faab4bfcdcbc0b5ab9f948a7d70665c5042382e1d140a0000000000000000000000000000000000000000060b141b222730363e444c525960676d737c838c92989fa6aeb4bcb2a89f93887d70675d51453d32271b0f03000713202d3a4653606d798693a0acb9c6d2d2d2d2d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000050e171f283039424a505960686d757d838b91969da0a7acaeb4b7b9bdc0c2c4c5c9cfc9cacbcbcbcac9cfc9c5c4c2c0bdb9b7b4aeaca7a09d96918a837d746d6760585049413830271f160e04000000000000000000000000000000000000000000000000000000000000000007111a242d373f49515a616a6f7a828a91969ea2a9acb2b7b9bdc1c3c5c6cad0cacacbcbcad0cac7c5c3c1bdb9b7b1aca8a19e95908780796e69605950483e352c23191006000000000000000000000000000000000000000000000000060f19222b343d444c545b606b70797f858d92989fa2a9acaeb4b8b9bec0c2c5c6c9cfc8c9cacbcbcacad1cbc7c5c4c1c0bbb9b6b1abaaa29f98928d857e756e68605850483f372d251b1209000000000000000000000000000000000000000000000004111d2935414b556774818e9aa7b4c1c4b7ab9e918478685e5246392d201307111d2935414b556874818e9ba7b4c1c5b8ab9e928578695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000060f19242f3a434e58606c78828f97a2adb6c0cbd5dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c060f17232e38424c56606b727f8c939ea8b1bcc5d0d6cabfb4aaa0958e81746c62584e433a2f251b10070000000000000000000000000000000005111d29343f4850565858585859595a5a5c565d6063676a6f767d859196a0a8b2bdc7d1dcd7cbbfb4ab9e94897d7063574d42362a1d12070000000000000000000000000000000000000000000000000000000000000000030f1b26323a46535f6973808d949fa7b1bac1cbd1d4cdc4beb9b1aca9a29f9a97928e8b8884817e7b7975726e696762605855534e46454039352f29241d150d0b050000000000000000000000000000000000000000000000000000060f18242f39434e58606d79839099a3aebcc5d0c7bbafa3998f82766b61544a3f30261c0b02000000000000000000000000000000000000030a11171d262d333b424650565d616b7079808790959fa3aab0babec4bbafa49a9184796d60584e43382b1f1306000713202d3a4653606d798693a0acb9c6d3dfdfddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000040d172029313a424b545b606b6f7a818990959ea1a8acb1b9babfc4c5c9cfcfd1d2d5dad5d5d4d3d4d5d6dad5d2d1cfcec9c5c4bfbab8b1aca8a19e95908981796f6a605b534a4239312820160d04000000000000000000000000000000000000000000000000000000000000050e19232c363f49515b626c717c848f939ea1a8adb3b9bdc4c5c9ced0d2d3d6dbd6d3d2d2d4d7d6d3d2d0cec9c5c3bcb8b2ada7a099938d837b6f6b615a50473e352b22180d0300000000000000000000000000000000000000000000050f18222b343d464e565e666c737d848c92979fa3aaadb3b9babfc5c6c9cfcfd1d2d5d4d2d2d1d0d0d1d2d4d7d3d2d1d1cbc7c5c2bcb8b4aeaaa29f97928a827a6f6a625a51493f372d241b100700000000000000000000000000000000000000000000010d18242f3e4b5865717e8b98aab4bfc5b9aca196877a6d6154473a2e2114070d18242f3f4b5865727e8b98aab4bfc6b9ada297887b6e6155483b2e2215060000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000030c18212935414c56606a737f8c949fa9b3bec8d2ddd7cdc5bbafa39991847a6d605a50453c30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0d182128343f4a545e686f7d87929fa5afbac3ced5cbc3baaea2989183796d605a50463c31281d12090000000000000000000000000000000000010c17222d363f454a4b4b4c4c4c4c4d4e4f4c5254575860626c707b849196a0abb5c0cbd7dcd1c6bdb0a69c8f8276695f5346392e23180c000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58616e7b86929fa6b0b9c3ccd7d4cac2bbb3ada7a09d97928d8985817e7b7874716e6c6565625f5756544e4847433c38342e2924222323201c160f08000000000000000000000000000000000000000000000000040e18212935404b55606a73808d95a0abb4bfcec9bdb2a89f92877c6f62594f42382e1e140a000000000000000000000000000000000001070c151c23282f383f444d525a61686d747d848d9399a0a7aeb4bcc2caccc0b6aca0968d80736a6054473b2e221508000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000030c161f29323a434b545c666c737c848e939da0a7adb2b8bcc3c7cbd1d2d5d6d3d2cfcdcac9c8c7c7c7c8c9cbcdcfd2d3d7d5d2d0cbc7c3bcb8b2aca79f9d938e847c726c655c544b433a32281f160c0300000000000000000000000000000000000000000000000000000000020b17202b353e48515b626d727e8691969ea5acb2b9bec5c9ced2d5d6d3d2cecbd0cac6c5c6c7ccd2ced1d2d5d5d2cec8c4bdb9b1aba49f9590857d716c61594f473d342a1f150b010000000000000000000000000000000000000000040e17212a343d464e5860686d78808891969fa2a9aeb4babec5c7cbd1d2d5d2d1ced2ccc8c6c5c4c3c4c5c6c8ccd2cfd2d3d6d3d2cdc8c6bfbab4aea9a19e948f847c716c625b51493f362d22190e05000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6bdb2a8968a7d7063574a3d302417090716222f3c4955626f7c8898a3aebac7beb3a9978a7e7164574b3e2e23170b0000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000b151e2a333c45525d686f7c87929fa6b0bbc5cfdbdbd0c5bbb0a69f92877c6f685d52483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c161f2a333c44505c666e7a859199a3afb7c1ccd5cec3b9afa59f92867c6e675d51483f342a1f160c0000000000000000000000000000000000000006111b242d343a3d3e3f3f3f3f3f4041424145474a4e545961696e7b849199a3afbbc3ced9d8cfc1b9ac9f93877b6e61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a75828f99a3aeb8c2cbd5d4cac2b8b0a9a19e95908b85817d7975716e69686562605b5355534d4948433d3a37312c28262b2e2f302f2c27211a110800000000000000000000000000000000000000000000030c16202a333c45515d676f7c87929fa7b1bdc6ccc4b9aca1968d80736a5f54473e30261c0c0200000000000000000000000000000000030b12181e262e343c414950575e616c717a818991969fa4abb1babfc6cfd0c7c0bbb2a89f93877c6f6256493c2f231609000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000020b151e28313a444c555d666d787f8791969ea5acb1b9bdc4c8ced3d7d6d3d0cac6c5c2c0bebcbbbabababbbcbec0c3c5c7cbd1d3d6d6d3cdc8c4bdb9b1aba59d9691877f776d665d554c443a31281e150a000000000000000000000000000000000000000000000000000000000a141d29323d47505a626d727f8a9298a1a8afb9bdc4cacfd5d9d4d0cac6c5c1bebbbfbab8b9bbc0bec1c5c6c9cfd4d8d4cfc9c3bdb5afa7a09792877e716b61594f463c31271d120700000000000000000000000000000000000000020c162029333c464e58606a6f7a828c939aa1a9adb3babfc6cad0d3d5d2cfc9c5c4c1bfc0bbb9b8b7b7b7b8b9bbc0bfc2c5c7cbd0d3d8d4d0cac6bfbab3ada69e9691867e726d625b51483f342b20170d020000000000000000000000000000000000000000000613202d394653606c7985929facb8c5bfb2a6998c7f7366594c4030251a0e0713202d3a4653606d7986929facb8c5c0b3a69a8d807367544a3f34281c100300000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000007121d27303c45505a606d7a849199a3afb8c2cdd7ded6cabeb3a99f948c7f736a60564c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322518131d28313c45505a606d78829097a1abb5c0c9d3d0c5bcb1a79d938b7e716a5f554b40362d22180d04000000000000000000000000000000000000000009121b22292e3132323232323333342f35393a3d43474f575f696f7c87929fa7b1bcc8d4e0d4c8bbafa49a8d8073665c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88939eabb4bfcad4d7cec2b8b0a69f97918b837e7974706d6664615f5758555350494847423c3b38322e2b26222a31373a3c3d3c38332c231a0c030000000000000000000000000000000000000000000b151e28323c454f59606d79849199a3afb9c3cfc4baafa59e9184796d60584e43352c1e140a00000000000000000000000000000000070d151d242930383f444d535b60696e757e858e939ea0a8afb5bdc3cbd1ccc4beb6afa8a099928c8275685b4f4235281c0f000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000a141d27303a434c565e676d78818c9299a1a8afb8bcc3c9cfd4d9d5d0cac6c5bfbab8b6b3b1afaeaeadaeaeafb1b4b6b9babfc5c7cbd0d6d9d4cec9c2bcb8afa8a099928c81786d675d564c433930261c1106000000000000000000000000000000000000000000000000000006111b262f3a444f59616c727f8b919fa2aab2bac1c9ced6dbd6cec8c5bebab8b4b2afb4aeacacafb5b1b4b8b9bec5c7cdd5dad5d0c7c0bbb1a9a19992877d706b60584e43392f24180e0500000000000000000000000000000000000008131e28323b454e58606a6f7c848f949fa4acb2babec5cbd1d6d4cfc9c5c4bdb9b7b5b2b6afacababaaaaabacafb6b2b6b8babfc6c7cdd4d7d6d0cac5beb9b0a9a198928b7f726d625a50463d32291e140800000000000000000000000000000000000000000006121f2b3844505b6676838f9ca9b6c2c2b5a89c8f827569574d42362a1e1206121f2c3844515c667683909da9b6c3c3b6a99c908376665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0cad4dfd5ccc3baada2979082786d60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f32251818242f3a434e57616c73808d949fa9b2bdc7d1d6cabeb4aaa0958e81746c61584e43392f241b1006000000000000000000000000000000000000000000000911171d2124252525252626272724292c2d32383e454d57606a73808d95a0acb8c3ced9d8ccc0b6ac9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a5afbdc6d1dbd0c5bcb0a69f9490857e78716d6763605c5455534d4b4846443f3b3a37312e2c27211f202a343c4347484a48443d352c1e150b000000000000000000000000000000000000000007121d27303a444d57606b74808d96a0abb5c0cbc6bdb2a89e93897d70675d51463c32231a0c020000000000000000000000000000000711191f272f353c424a50575f656c727b828a91979da5acb2bbc0c7d0cfc9c0bab2aca49f96918780786d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3dededdd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000006111b262f39424c565e686d79828e939fa3abb2bac1c8cdd5dad6cfc9c5bebab8b4aeaca9a6a4a2a2a1a0a1a2a3a4a7a9acaeb4b8babfc6cad0d7dad5cdc8c1bab2aba39f938e82796d685d554b42382e23171007000000000000000000000000000000000000000000000000000b17222d38414c56606b717e87939fa3aeb4bcc4ccd5dad7cfcac3bcb8b4aeaba8a5a2aaa29f9fa4aba4a7abadb3b8bcc2c9cfd6d9d2ccc3bbb3aba39992867d6f6a5f554b40352920160c0200000000000000000000000000000000040e1924303a444d575f6a6f7d8691969fa6afb6bec4cad0d7d5cec8c4bdb9b8b2adaba8a5aca49f9f9e9d9d9e9fa4aca5a9acaeb4b7bbc2c7ccd2d9d6cfc9c1bbb2aaa39f918b7f726c62584e443b3025190e040000000000000000000000000000000000000000030f1c28333f4a546673808d99a6b3c0c4b8ab9e918578695e52463a2d201407101c2834404a546774808d9aa7b3c0c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000020b17202834404b545f69717e8b939ea8b2bdc7d1dcd8cfc3baafa59f92857b6e665c50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322519222935404b555f6a717e8a929da6b0bbc4cfd5cbc3baaea2989083796d605a50463c31281d1209000000000000000000000000000000000000000000000000060c1115171818191919191a1b191d2021272b333c454e58606d7983919da8b2bdc8d4ddd2c7b9ada1978a7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909daab7c1cfd8d6cabeb4aa9f948f827a716c65605d5553514a4846423e3b3937332d2e2b26221f1b151e28323c464e535556554f473d30271c1207000000000000000000000000000000000000091218232e39424c565f69707d88939fa8b2bdc7cbbfb5aba0968e81746b61554b40342a201108000000000000000000000000000000020b19232b313940454e545c60696e777e858f939ea1a9afb9bdc4ccd2cdc4bdb9afa8a19a938d847c736d665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d1d1d1d1d1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000040e17222d38414b545d686d7a838f949ea5afb5bdc4ccd4d9d7d0cac4bdb9b3adabaaa29f9c9a9796959494949596989a9c9fa3aaacaeb4babec5cbd1d9d8d4ccc3bdb5aea59e948f837a6d675d544a3f342822190d040000000000000000000000000000000000000000000000030f1b27333f49535e68707d879299a4afbabfc6ced6ddd4cdc5bebab1acaaa29f9b9895949892939995989b9ea1a9abb1b9bec4cdd3ddd7cdc5bdb4aba29892857c6f675d51453e32281e1308000000000000000000000000000000020c16202935414c565e696e7c859298a1a8b0bbc0c7d0d6d5cec9c3bcb8b2adaba8a19e9b99969a939291909192939a95999c9fa3aaabb0b9bbc0c7d0d6dad5cdc4bcb4aea39b918b7e716a60564c41362a20160c0200000000000000000000000000000000000000000b17222d3d4a5764707d8a97a8b2bdc6b9ada197877b6e6154483b2e2115060c18232e3e4b5764717e8a97a9b3bec6baaea298887b6f6255483c2f22150700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000a141d29323a45515c666e7b86929fa5afbac4cfd9dcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f342a212b343d45515d676e7c86929fa4aeb8c2cdd6cec3b9aea49f92867b6e675d51483e342a1f160c00000000000000000000000000000000000000000000000000000105090b0b0c0c0c0c0c0d080d1113141b212a333d45515c66717e8a96a0acb8c4cfdad5c9beb3a99c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d3dfd3c6baaea2988f82796d68605b53514b4644403b3a36312f2d2b2722211e1a1513151e26303a444e585f626360594f42392e23180c020000000000000000000000000000000009121b242834404b545e686e7b85929aa4afbac3ccc3bbaea3999184796d60594f43392f22190e000000000000000000000000000000000a141d2b353d434b515860666d727b828b92989ea6adb3bbc1c9cecfc9c1bbb2ada59d96918880796f6a605c544b4034281c1004000713202d3a4653606d798693a0acb9c4c4c4c4c4c4c4b7aa9e9184776b5e5144382b1e11000000000000000000000000020c162027333f49535c666d7a8390959fa6afbbc0c7cfd6dcd7cec6bfbab2ada9a29f9a98928f8d8b898887878788898b8d9092989b9fa3aaadb3bbc0c7cfd4ddd5cfc6bfbbafa69e959083796d665c504440342b1f160c01000000000000000000000000000000000000000000020b19232b3744505b656d7a859199a3abb5c0cad0d8dbd2cbc2bbb3ada7a09d98928e8b888786858687888b8e92979d9fa7adb2bbc2cad2dad6cfc6bdb4aaa2979183796d605a50443a3025190d04000000000000000000000000000008131e28323a46525d686e7b849197a2aab2bac2ccd2d9d6ccc4bdb9b1aca8a19e9a96918e8c89878685848484858687898c8f92989c9fa6acafb5bdc4ccd7dcd6cfc6bfbaada39f92877c6f685e52463e32281e130800000000000000000000000000020608080a0a0a0614212e3b4754616e7a8796a1acb9c5beb3a9978a7d7064574a3d2d22170b0715222e3b4855616e7b8897a2adb9c6bfb4aa978b7e7164584b3e2e23180c0a0a0a0a0a0a0a0a0a0a0a0a08080602000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000006111b262f3a444f59606d79839098a2aeb7c1ccd6dfd7cbbfb4aba0968e81746c61574d42382e22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584e463c3329323d47515b606d79839198a2aeb6c0cad4d0c5bcb1a79d928a7e71695f554b40362d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000104070a0f18212834404b54606c7884919ea9b3bec9d5dacfc5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a7b1bcc8d4ded2c5b8ab9f92857b6e675e56504945403a38342e2d2a2622201f1b1714120e0f171e273038424c565f6a6f706b60544a4034281e13080000000000000000000000000000000a121b242d363e45515c666d7a849197a1acb6c0ccc3b9b0a69f92877c6f675d51473d31281d100700000000000000000000000000000006111b262f3d474f555d606a6f787f8690949fa2aab0b9bec4cdd5cdc5beb9afa9a19e938e847d746d676058514b42392e23180c00000713202d3a4653606d798693a0acb8b8b8b8b8b8b8b8b7aa9e9184776b5e5144382b1e1100000000000000000000000008131e28323a44505b656d78828f95a0a7b0b8c1cbd1d9d9d1cbc1bcb4aea8a19e97928e8a8583807e7c7b7b7a7b7b7c7e8183868a8e92989fa2a9afb5bdc3cbd7dcd8d1cbc1b8b0a79f958f82786d605b51463d31281e13080000000000000000000000000000000000000000000a141d2a36424d57606c77828f97a1abb5bdc7d2dbdbd2c9c0b9b1a9a29f95908b85817f7c7a7979797a7b7e81858a90959ea1a9b0b8c0c8d1dad8cfc6bcb3a9a0958e81746c61564c41362a20150a00000000000000000000000000010d1924303a44505a616d7a839196a1a9b3bcc4ccd8d8d0cac0bab2aca7a09d96918d8984827f7d7a797878777778797a7c7f83868a8f949b9fa4abb2bac1cbd1d9d8d1cbbfbaaea39991847a6e615a50443a3024190d020000000000000000000003090e1214151616161616202d3946525e687884919eabb7c4c0b3a6998d80736653493f33271b161616212d3a46535f697885929eabb8c5c0b4a79a8d817467544b4034281c161616161616161616161616161514120f0a0300000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000040d17222d38414c56606b73808d95a0aab4bfc9d3ded6cdc5baaea3999184796d605a50453b30261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f726a60584e453b333b444f59626d75818e95a0aab4bec8d2d6cabeb3a9a0958d80746c61574d43392f241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232e3944505b66717e8b97a1adb9c6d2dfd3c7bbafa3998b7e7165564c41362a1d1105000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beced9dacdc1b4a79a8e8174695e554c443f38352f2c2823211e1a1513120f0b080d141921293039424a545d686f7c7d70665c51443a3025190d030000000000000000000000000006131c242d363e48525b606d78829096a0a9b3bec7c5bbb1a79e948c7f726a60554b41352c1f160c000000000000000000000000000000000b17222d38414f5960676d737c838c92989fa6aeb3bcc1c9cfd0cac1bbb3ada59e96918a8179706b605d554e45403930271d120700000713202d3a4653606d798693a0ababababababababababaa9e9184776b5e5144382b1e110000000000000000000000040d1925303a444f59606c77818e949fa7b1b9c2cad7dcd7cfc7c0bbb0aaa29f96918c85817d797673716f6f6e6d6e6f707174767a7e82868d92979fa3abb1b9c0cbd1d9dcd7cac1b9b1a79e948e81746d63594f433a2f24190d030000000000000000000000000000000000000006111b262f3846535e69727f8c949fa9b3bdc7d0d9dbd2c9c0b7afa79f97928b837e7a75726f6d6d666c6d6f7174797e838a91979fa6aeb6c0c8d1dbd8cec5bcb1a79d938a7e71685e52463c32261b0f0500000000000000000000000005111d2935414c56616c76828f95a0a8b2bbc5ced6d7cec6bfbaafa8a09e95908a84807c787572706e6c666b6a6a666d6d6f7276797d82898f9399a0a8afbbc0c7cfd9dcd7cbbfb4aba1968f82766c61564c4135291e1308000000000000000000060e151a1e21222323232323232a36414c566875828e9ba8b5c1c2b6a99c8f8276655b5044372b23232323232b37424d576976828f9ca9b5c2c3b6aa9d908377665c5145382c232323232323232323232323232322211f1a150e06000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000010c161f27333f49535e68707d88939fa7b1bcc6d0dbdacfc5bbb0a69f92867c6f675d51483e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f92867c6f6a5f574d453b424c56606b727f8b939ea7b1bcc5d0d4cbc2baada2979083796d605a50453c31271d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7985919eabb8c2cdd8d7cbc0b5ab9c8f8276685e5246392d201408000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d6cabdb0a3978a7d7064574d433a332d29241f1c1814120e0906060a0f13191f252a333b424b545c666d7a8484786d60564c4135292015090000000000000000000000020a1117252d373f48505a636d75818e949fa8b2bbc5c7bdb3a9a0958f82776c60584e433a2f231a0d04000000000000000000000000000000030f1b27333f4953606b7079808790959fa3aab0babec5ced5cec5bebaafa9a19e938e847d746d676059514b433d342e271e150b0000000713202d3a4653606d7986939e9e9e9e9e9e9e9e9e9e9e9e9e9184776b5e5144382b1e1100000000000000000000010c161f2935414c56606b73808c939ea6b0b9c3cbd4dcd7cdc5bdb5afa69e98928c847f7a74706d676764636261616162636567676d71757a80858d92999fa7afbbc0c7cfd9dcd3cbc2b9b0a69d938c7f726b60554c4135291f150b010000000000000000000000000000000000000b17222d38414f59616e7b86929fa6b0bbc4cfd9ded3c9c0b7afa59d9590857f78716d67656261605c60616265676d71767e848f949da4aeb6c0c8d2ddd7cec3b9afa59f92857a6d61584e43372b21160b0000000000000000000000030e18212d3946525d68717e8b949fa7b1bac4cdd7d7cec5bcb4aea59d96918a837d78746f6a68666361605b5e5d545c60616266676d70767c828791969ea5afb5bdc7d1dcdcd1c6bdb2a99f948a7e71685d52453a3025190d0100000000000000060f1820262b2e2f30303030303030303f4c5965727f8c98abb5bfc5b8ab9f9285796c605346393030303030303031404d596673808c99a6b3bfc5b9ac9f9286796d6053463a3030303030303030303030303030302f2e2b2620180f060000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000007121d28313944505b656d7a85919aa4afb9c3ced7ddd5c9beb3a99f948c7f726a5f554b40362c21170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c6baaea29892857c6f695f574d444a545e686f7d87929fa5afb9c3ced7cdc2b9aea49f92857b6e675c51483e332a1f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515c6673808d9aa7b1bcc7d3dcd1c5b9ac9f92867a6d6154473b3025190d010000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbafa295887c6f6255493c3027221b1812100c070c070c1013141a1e242930363d454d545c666d78828f8b7f72685e52463c31261a0c03000000000000000000020b141b2227373f49515a616c73808c939ea6b0bac3c7beb5aba2979183796d655b50463d31281d11080000000000000000000000000000000005121f2b3744505b65707d848d9299a0a7aeb4bcc2cad0d0cac2bcb3ada59e97928a817a706b605d554f4540393128231d150c030000000713202d3a4653606d788691919191919191919191919191919184776b5e5144382b1e110000000000000000000008131e28313a46525e68707d88939fa5afb8c2cbd5ddd7cdc5bbb3aba39f938f867f79726d6763605c55585655545454555658555d6064686e737a808790959da5afb5bdc7cfd9ddd4cbc1b8afa59f92877c6f675d51453e31271d12070000000000000000000000000000000000030f1b27333f4953606b75828f98a3aeb8c2cdd6e0d5ccc1b7afa59d938e837a726d66605d5555545350535455555c60646c717a828d929ca4aeb6c0cbd4dfd5ccc0baada2978d81746a5f53473d33271c1004000000000000000000000915202c38434f59616d7a85929ea6b0b9c3ccd6d8cfc5bcb3aaa29f938e847e78706c6562605859565453504a514a50535456555c60636a6f757c848e939fa3abb5c0cbd7dbd8cfc4bbb0a69e91857a6d60564c41362a1d1307000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d4956636f7c8999a3aebbc6baada297887b6e6155483d3d3d3d3d3d3d3d3d3d4a5763707d8a96a8b2bdc7baaea399897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e0300000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000050f18242f39434e58606c77828f97a1acb6c0cbd5e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd6cabeb4aaa29791857b6e695e564c505c666e7a849199a3aeb7c1cbd5d0c5bbb1a79d928a7e70695f554b40362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54626e7b88959fabb7c4d1ddd4c7bbafa3998b7e7265564c41362a1e11050000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f26201e19191818181819181c1f20262b2f353b41464f575e666d78818e9492857a6d61584e43372b1e150a0000000000000000000a141d262d334049515b626c717e8b929ca5afb8c2ccc0b6aca39992857b6e675d53493f342b1f160c00000000000000000000000000000000000613202d394653606c798390969fa3abb1babfc6ced6cec6bfbab0a9a29f938f857e756d686159514b433d352f271f18120b03000000000713202d3a4653606d788585858585858585858585858585858583766a5d5043372a1d10000000000000000000010d19242f3a43505a616d7a84919aa4afb7c1cad4ddd7cdc5bbb3a9a299928c827b726d66605d5553514b4b494848474848494b4b5154565e61676d737c838e939fa3abb5bdc7cfd9ddd3cac0bbafa39991847a6d605a5043392f24180c020000000000000000000000000000000005121f2b3744505b65707d89939eaab4bfcad4dfd8cec3baafa59d938e81786e68605c54514b494746444647484b51535a61686d78808d929ca4aeb9c2cdd7ded6cabeb3a99f93877c6f62594f44382c20150a000000000000000000020e1a26313b4854606b74818e97a1adb8c2ccd5d9d0c6bdb3aaa298928b8179716c66605b53544e4c4a4746443f443f444647494b51535860626a6f7a818b9299a3afbbbfc8d2ded6cdc2b9ada1978d8073685e52463a2f24180d0100000000000915202a333c4247484949494949494949494953606d7986929facb9c5beb3a9978a7e7164574b494949494949494949494954616d7a8796a1acb9c5bfb4ab988b7e7265584b494949494949494949494949494949494847433c342a20150a00000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000030c17212935404b555f6a727f8c949ea9b3bec7d2ddd8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdbd0c5bcb3a9a19791847b6e685e555a606d78828f96a1abb5bfc9d3d2c7beb3a99f958d80746c61574d43392e241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7683909da9b6c3d0dcd7cbc0b5ab9c8f8276685e5246392d2014080000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becfdad6c9bdb0a3968a7d7063554b4038302d2a2526252424252623292c2d31373a41454d525960696e78818e939e978d80746a5f53473d30261c11060000000000000006111b262f383f44525b636d727e87929fa4adb7c1c8c0bbafa49a92877d70695f554c41382d22190d04000000000000000000000000000000000005121f2b3744505b656e7b85929fa5afbac3cbd0d1cbc2bcb4aea69f97928b827a716c605d564f45413a3129241d150d0700000000000006121f2b3844505c666d787878787878787878787878787878787671665b4e4235291c1000000000000000000004111d2935414c55626c75828f96a1acb6c0c9d3dcd8cfc5bbb3a9a19792877f756e69605c54514b4645403e3c3c3b3a3b3c3d3e4145474c52555d606a6f79818b9299a3abb5bdc7d1dcdcd7cbc0b5aba1968e81756c61554b4035291f1409000000000000000000000000000000000613202d394653606c7883909da5afbcc6d0dcdcd0c6bcb1a89e938e81776d665e56504a45403c3a3a38393a3c40454650565d666c73808d929da7b1bbc5cfdbdbcfc5bbafa4998f82766b6054483c31261b0f02000000000000000006121e2b37424e57636f7c87939fa9b3becad4ddd2c7beb4aba29892867e746d67605b54504947433f3d3b3938332e34383a3a3c4045474e545860676d757e87929fa3adb6c0ccd5dfd5c9beb3a99f92867a6d61554b4035291d110400000000020e1a26313c454d535556565656565656565656565c677783909daab6c3c0b3a79a8d80746754565656565656565656565656565e687884919eabb7c4c1b4a79b8e81746855565656565656565656565656565656565655534e463c31261a0f02000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000a151e29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce2d7cec5bbb2a9a09691837a6d675d616c73808d949fa9b2bdc6d1d8ccc0b6aca2979083786d605a50453b30271d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424e5765717e8b98a4b1becbd7dcd1c5b9ac9f92867a6e6154473b3025190e0200000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3bec9d5d9cdc0b3a69a8d8073675d514a423c3936303232313132332f34383a3d43474c52565e616b707b828f939ea59f92877c6e62594f42382e23170c010000000000000b17222d384149505c636d727f889299a3afb6bfc8c0b6aea49f93887e716b60574d433a2f261b1007000000000000000000000000000000000000030f1b27333f49535e69717e8a939ea8b2bdc7cfc6bfbab0aaa29f948f857e756e68615a524c443e352f281f18120b030000000000000003101c28343f4a545c606b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6a665e554a3e32261a0d0000000000000000040e18222c3945515d67717e8b939ea9b2bec7d2dbdcd1c6bcb3a9a19792857d726d615e57514a45413a38342e302f2e2e2e2f302f35393b41464c51585f666d747f879299a3abb5c0cbd7dcdcd1c7bdb2a89e938a7e71675d51453b30251a0e03000000000000000000000000000007131f2c38434f5964707d8a95a0acb7c1ced8e2d6cbbfb4aaa0958e81786c655c544d443f38352f2e2d2c2d2e2e34383e444c545b606e74808d959fa9b3becad6dfd7ccc0b5ab9f94897d7063584e43372b1e130800000000000000000814212e3a47535f6a7683909aa4afbbc5cfdcd8ccc0b6aca39992867c716c605d55504a443f383832302e2d2b2823282b2d2e2f34383d43474e555d606c717e8b919ca4aebac3ced9dacfc4baaea2988c8073675d5145392c2013080000000006121e2b37424d575f626363636363636363636363636774818d9aa7b4c0c3b6a99c908376666363636363636363636363636363636875828e9ba8b5c1c3b7aa9d90847767636363636363636363636363636363636363625f584e43372b1f1206000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000006111c26303b45505a606d79849199a3aeb8c2cdd6dfd6cabfb4aaa0958d80746b61564c41382d22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e0d7cdc4bbb2a8a0959083796d6769717e8a929da6b0bbc4cfd7cdc5bbafa49a92857b6e665c51483e33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5965717e8b98a4b1becbd7e0d4c7bbafa3998b7e7265564c41362a1e110500000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2ded1c5b8ab9e9285796d605c544e474641403f3e3e3e3f3f40404547494e53565d60686e747d8590949ea5afa3998f82756b61544a3f34281e13080000000000030f1b27333f49535b606e737f8b939aa3abb5c0c8c0b6aea49c928c7f726c62594f453b31281d140a00000000000000000000000000000000000000000b17222d38414d57616c75818e96a0abb5c0c3bcb4aea69f98928b827b716c615e565045413a3229241d160d07010000000000000000000b17232e38424a50535e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d5b554c43382d22160a00000000000000000a15202b37424d57606d7a85929ea5afbbc4d0d9ded7cbbfb4aaa19792857c706b625b524d444039352f2c28232322212121222324292c30363a41454e545c606d727e879299a3afbbc0cad4e0d9cfc4baafa59e9184796d60574d42362a1f140900000000000000000000000000000915222f3b4854606b7683909ca7b1bcc9d3e0ddd3c7baaea3989183796d665b534b423b342e292421201f202123282c323a424a505c606d78839097a2adbac2cdd8ddd2c7bdb0a69c8f82766a5f53473a3025190d0100000000000003101c28343f4a54626e7b88949facb6c0cdd7dcd4c8bbafa49a92877d706a625a514b443f38332d2b272321201f1c171c1f202123292c32373d434c515a626c737f8c929da8b2bdc8d4e2d6cabfb4aa9f92857a6d6053473a3025190d010000000814212e3a47535f696e70707070707070707070707070717e8b97a4b1bec5b8ac9f9285787070707070707070707070707070707070727f8c98a5b2bfc6b9ac9f93867a707070707070707070707070707070707070706e6a5f53473a2e211408000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000040e17232e38424d57616c74818e96a0abb4bfcad3dfd6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e9dfd6cdc4bab1a7a0959082796d6e7b86929fa4aeb8c2cdd6d0c5bbb0a69f93887d70695e544a40362c21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7783909daab6c3d0dde3d7cbc0b5ab9c8f8376685e5246392d20140800000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb8c3ced9d2c6b9ada1978e81746d66605854524c4d4c4b4b4b4b4c4d4b515356585f62686d727b818892979fa6afb5ab9e94897d70665c50443a2f24190d010000000005121f2b3744505b656c74808c919fa4acb5bdc7bfb6aea49d928c80736d625a50473d332a1f160b02000000000000000000000000000000000000000006111b262f3b45505a606d79849199a3afbbbbb1aaa39f9490867f776e69615a524c443e3530282018130c04000000000000000000000006111c2630383f444652525252525252525252525252525252504e4a433a31271c110500000000000000030f1b26313a47535f6973808d97a1adb8c1cdd6e2d5ccc3baaea39892857c6f6a60595146423b342e29241f1c1816151514151516181d20252a2f353c424b515b626c717e87929fa4aeb8c2ced8e1d6ccc1b9ada1968c7f73695e52463b31261a0e0200000000000000000000000005111e2a36414c56636f7c89949fabb9c3cedbdfd5c9bdb2a89f92867c6f675d544a41393028231c181413121314181c20282f383f44505c666e7b85929fa7b1bcc8d4ded9d0c2b7aa9e94887c6f62564c4135291d110500000000000006121f2c3844505c6673808d9aa6b0bec5c7cbd1c9beb2a99f93887e716b605850454039332d27221b1b171413120f0b10121314181c1f272b313a4145505a636d74808d96a0acb8c2d0d9dbd0c6baada2978a7e7164564c41362a1d11050000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8b97a4b1bec6baaea2988b7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7f8c98a5b2bfc7bbafa4998b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6e6255483b2f221508000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000020c162028343f4a545e69717e8a939da8b2bdc6d1dcd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f1e8dfd6ccc3b9b1a79f948f827979839098a2aeb6c0cad4d2c7beb3a99f948d80736b61574d42392e241a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d56636f7c8995a0acb8c4d1dee8dcd1c6b9ac9f93877a6e6154473b3025190e020000000000000000000000000000000000000000000000000006121f2b3844505c6673808d9aa7b1bcc8d4d5c9beb3a99d938d80786f6a64615e565a5958575758595a555c6063676a6f747a7f868e939aa1a9b0b9bdb0a69d9183786d60564c4135291d1104000000000613202d394653606c77808c929ca3afb6bec7c0bbada49c928d80746e635b51483e352b21180d04000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0afa7a098928c827b726c655e575046413b3229241e160e0701000000000000000000000000000a141e262e34383a4545454545454545454545454545454543423e3831281f150a000000000000000006121f2b37434e58616e7b86929fa9b3becad3dfd9d0c3baaea49f92867c6f6a5f584f473f363028231c1813100c070908070809070d1114191e242930394045515a616c717e8b929da6b0bcc6d0dbded5c9bdb2a89f92867b6e61574d42362a1e13080000000000000000000000000713202d3946525e6875828f9ba6b0bccbd5dfd9cdc5b9aca0968c7f726a5f554b42382f271e17110d07070606070c10161d262d343f4a545e69717e8b959fabb8c1ccd7e2d3c7bbb0a69b8e8174685e5246392d2014090000000000000713202d3a4653606d7985919eabafb5b9babfc5c6b9ada1978d80736c61594f463f352f28221c17110f0a0806060300030607070c10151b1f282f353f48515b606d7884919da6b0bdc7d2ddd6cabeb3a99c8f8275685e5246392d2013070000000e1b2835414e5b68748189898989898989898989898989898b909ba6b3bfcabfb4aa9a908b8989898989898989898989898989898989898c919ba7b3c0ccc0b5ab9b918b898989898989898989898989898989898989898175685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000008131e28323a44505c666e7b85929fa5afbac3cfd8ddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0e9e4ded5ccc3b9b0a69e948e81818e95a0aab4bec8d2d8ccc0b6aca1979082786d60594f453b30271c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975818e9ba7b1bcc8d4e0ede0d4c7bbafa4998b7e7265564d41362a1e11050000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c1cdd6cfc5bbafa59d928d827c76716d6868666565646465666668676d7073777b81868c92989fa4acb3bbc2c1b8aca0958b7f72685d5245392c201307000000000815222f3b4855626e7b858f949fa3aab1b9bdb5afa49c928d80776c605c52493f362d23190f060000000000000000000000000000000000000000000000020b17212935414b55606a737f8c949fa9a39f9590867f786e69605b534d453e3630292019130c04000000000000000000000000000000020c141c23282b2d383838383838383838383838383838383735322d271f160d0300000000000000000815212e3a47535f6a75828f99a3aebbc5cfdcddd2c7beb2a89d928b7e716a60584e463d352a251f18120d070400000000000000000104080d13191e272e343f48505a626c74808d949faab4bfcad6dfdacfc4baaea2988e8175695f53463a3024190d0000000000000000000000000714212e3a4754616d7a86929facb9c2cddfe0d4c8bcb1a79e9184796d60584e43392f261d150c0600000000000000040b141c232e38424d57606c7883909da6b0bbc7d3ded8ccc2b9ac9f92867a6d6154473b31261a0e0200000000000a1724313d4a5764707d8a979c9fa3abacaeb4b8bab1a79e9184796d605a50473d3429241d17110b06000000000000000000000000040a0d161e2429364044515c66707d8a949fabb5c0ccd7dbd0c5b9ac9f92867a6d6154473a2e2114080000000e1b2835414e5b6874818e96969696969696969696969696979ba2acb7c3d0c6bcaca29a97969696969696969696969696969696969696989ba3adb8c4d2c7bdada39b989696969696969696969696969696969696968e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000060f1924303a444f59606d78839097a2adb7c0ccd5e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e6ded8d3d1d0cbc2b8b0a69e938e8e939ea7b1bcc5d0d6cdc4bbafa49a92857b6e665c50473e33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cdd9e4f0e3d7ccc0b5ab9c8f8376685e5246392d20140900000000000000000000000000000000000000000000000000000b17232e3847545f6a7784919da5afbbc4cfd7cdc1b7aea49d948f88827e7a777573727171717272737577797c8084888d92989fa2aaafb6bec5cdc7bcb1a79e92857a6d6054473a2d211407000000000814212e3a47535f696e7a828b9298a0a7aeb4aba49f918c80746c655b504a40372d241b110700000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a099928c837c726c665f575049413b332a251e170e08020000000000000000000000000000000000020a11171c1f202b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a2926221c150d04000000000000000005121e2a36424d57626f7c88939eabb4bfcdd6e1d8ccc0b6aca0968d80746c62584e463c342b231a140c07000000000000000000000000000001080c151d2328363e48505a606d78829098a2aebac2cdd8e0d6cabfb4aa9f92877b6e61564c4135291c11060000000000000000000005121e2b37424d5765727f8b99a3afbbc7d3e0ded1c4b8aca0958a7d70675c51463c31281d140b03000000000000000000020a111c26303b44505b656f7c89949eaab7c2cdd8e0d3c7bbaea3998b7e7265574d42362a1e120500000000000d1a2733404d5a667380888b8f92999c9fa3abacaeab9f958a7e71675d51483e352b2218120b0600000000000000000000000000000000040c1319242834404a54616c76828f99a4afbbc7d4e0d3c7bbafa3998b7e7164584b3e3025190e0200000e1b2835414e5b6874818e9ba3a3a3a3a3a3a3a3a3a3a3a3a4a6acb4bec9d8cebeb4aca6a4a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a5a7adb5bfc9d9d0beb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000030d18222935414c56606b73808c949fa9b3bec9d2ded7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce6ddd4cdc7c4c3c4c7c1b8afa59e9b9b9ea5afb9c3ced7d0c4bbb0a69f93887d70695e544a3f352c21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3aebbc7d5dfeaf4e8ddd2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000006111c2b37434e5864707d8a939ea9b3bdc6ced2c9c0b6aea69f9c948f8b878482807f7e7e7e7e7f80828486898d91959a9fa2aaaeb4bbc0c7cfc6bdb5afa39992857b6e6154483b2e2115080000000006121e2b37424d575f686d777f8690959da4aaa299938b7f736e605b53493f382e251b120900000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b859295918780786f6a605b544d443f382f292119140d05000000000000000000000000000000000000000000060b1012131f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1d1c1a16110a030000000000000000000714202d3a46525e6974818e9ba5afbdc6d1dfdfd4c8bbafa49a9184796d605a50463d342a22191109030000000000000000000000000000000000030b1218242c363f44515c666e7b86929fa7b1bcc8d4dedbd0c6bbafa3998d8074685d5246382e23170b000000000000000000000714212d3a46535f697683909dabb5c0cbd7e1d5c9bdb2a89d9083776c61554b40342a1f160b020000000000000000000000000a151e27333f4953606a75828f9ca7b1bcc7d3e2d7cbbfb5ab9c908376695f53463a2d21140800000000000c1926323f4b58636e737b7e82868b8f92999b9fa2aa9d9083766c61554b41362c231910070100000000000000000000000000000000000001081218232e39424f59626f7c87939facb9c6d2dfd7cbc0b5ab9b8e817468564d41362a1e110500000e1b2835414e5b6874818e9ba7afafafafafafafafafafafb1b3b7bec6d0e0d0c6beb7b2b1afafafafafafafafafafafafafafafafafafb2b3b8bfc7d1e2d0c7beb8b3b1afafafafafafafafafafafafafafafafa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00010b151f2a343c46525d68707d87939fa6b0bcc5d0dbdbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcded4cbc2bcb7b6b7bcc2c1b7afaaa8a8aaafb7c1cbd5d2c7bdb3a99f948c80736b60574d42382e231a0f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb5bfcbd7e7e9e8e9e0d4c7bbafa4998b7f7265574d42362a1e110500000000000000000000000000000000000000000000000000000f1b26323c4955616c75818e97a1abb4bcc5cdd6c8c0b8b0aba69f9c9a93918f8d8c8b8a8a8b8c8d8f9193999a9da0a8acaeb4babfc5ccccc3bdb4aba49f92877d70695e52463a2d20140700000000020e1a26313c454d565e656c727c838d929ea19892877f736d635c504941382d261c130900000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a8d837c736d665f58504a423b332d261d170f08020000000000000000000000000000000000000000000000000306071212121212121212121212121212121210100d0a050000000000000000000004101c2934404b55616e7b86929facb9c1cfd8e1d6cabeb4aa9f93887d6f675c51483e342b2218100700000000000000000000000000000000000000000007121a242834404a545f69727f8b959fabb8c2ccd8e2d7cbc0b5ab9f92867a6d61544a3f34281c10030000000000000000000815222e3b4855616e7b88959fabbdc7d1dcded2c5b9aca0968a7e7164594f43392e22180d0400000000000000000000000000030c17222d38414e58636f7c89959fabb7c6d0dbdcd1c6b9ac9f93877b6e6155483b2f24190d01000000000a17232f3b47525c63696e72767a7e82868a8f92989b998b7e72655a50433a2f241a11070000000000000000000000000000000000000000000007121c27303e47535f6a76828f9ca9b5c2cdd9dcd1c4b7aa9e918477685e5246392d20140700000e1b2835414e5b6874818e9ba7b4bcbcbcbcbcbcbcbcbcbcbebfc3c9d0d9e2d8d0c8c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbfc0c4c9d1d9e2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0007121d27313c46515b616d7a849199a4afb9c2ced7ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd8cdc2b9b1aba9abb1b9c0c1bab6b5b4b6bac1c9d3d7ccc0b5aba1978f82786d60594f453b30261c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc6d1dcdfdcdbdcdfd7ccc0b5ab9c908376695e52463a2d20140900000000000000000000000000000000000000000000000000000a15202d3944505a616d7a859199a2aab3bbc3cad0cac2bbb7b0aaaca49f9d9b99989897979899999b9e9fa4abaaacb1b8babfc6cad0c7c0bbb1aba399938b7f726b60574d42362a1e120500000000000915202a333c444c535b606a6f79808a929792867e726d635b52443f382f261b130a010000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c748180796f6a605c544e443f382f27221b140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3aebbc7d3e1dacfc6baaea2988d80746b60554b40362d221910060000000000000000000000000000000000000000000000081218232e39424d57606c7883909da6b0bbc7d3dedcd1c7baaea2988c7f73665c5044382b1f1207000000000000000004101d2935404b5566727f8c99a7b1bccfd9e3d8ccc0b6ac9e9184786c6053463e30271d100600000000000000000000000000000006111b262f3d4854606b7683909daab4bfcad6e0d4c8bbafa49a8c7f7266554c4135291d11040000000007131f2a35404a52565e6165686d71757a7e82868a8e92867a6d6054473e31281d12080000000000000000000000000000000000000000000000000b151e2b37434e5865727e8b98a7b1bcc8d4ded2c5b9aca096877a6e6154473b2e21140800000e1b2835414e5b6874818e9ba7b4c1c9c9c9c9c9c9c9c9c9cacccfd4dfe1e6e2dad3cfcbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cbccd0d4dee1e5e2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225170e050e18232f39434e58626d75818f96a1abb5c0cbd4e0d6ccc4baaea2989083786d60594f443a30241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c7bcb1a79f9d9fa7aeb6c0c6c3c1c1c2c6cbd3d6cdc4bbafa49991857a6e665c50473d33291e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7683909da9b3becfd8d7d3d0cfd0d3d7d2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000004101c28333e46525e68707d879298a2a9b1babec5cccdc7c2bbb7b6afacaaa8a6a5a4a4a4a5a5a6a8aaacafb5b7b8bdc3c6caccc8c1bdb5afa7a09992877f726d62594f453b30251a0e020000000000030e18212a323a414950585f676d747d858e857c706c625b514940332d261d140a010000000000000000000000000000000000000000000000000000000000000006111c26303b45505a646f74736d676058504a423c332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5bfcbd7e2d6cabeb3a99f92857a6d61594f43392f241b10070000000000000000000000000000000000000000000000000007121c27303b44505b666f7d89949faab7c2cdd8e3d6cabfb4aa9e9184796d6053463a2f23180c000000000000000006131f2c3945515d6776838f9ca9b6c2cddce0d4c8bbafa49a8c7f73665b5044382c1e150b00000000000000000000000000000000000a141d2c38444f5965717e8b98a2aebac6d3e0d8ccc0b6ac9c908376675d5145392c20130600000000020e19242e3840444d5254565e6165686d7175797d81858175685d5245392c1f160c00000000000000000000000000000000000000000000000000030c1b26323c4854616e7b8795a0acb8c4d1ded4c8bdb2a8978a7d7064574a3d3124170a00000e1b2835414e5b6874818e9ba7b4c1ced0d0d0d0d0d0d0d0d0d0d0d1d2d5dae1e8dfdbd8d9d4d2d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d5dae0e8e0dbd9dad5d2d1d0d0d0d0d0d0d0d0d0d0cec1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322920170e17202934404b555f6a727f8b939ea8b2bdc7d2ddd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9f9590959da4aeb9c3cecececfd2d7dacfc4bbb0a69f93877d70685e544a3f352c20170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88959fabbbc4cfd3ccc7c3c2c3c7ccd4c8bbafa49a8b7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000b17222935414c56616b707d869297a0a7aeb3bbc0c7c8ccc7c7c0bbb9b7b5b3b2b1b1b1b1b2b3b5b7b9bbc0c4c5c8cec8c7c0bbb9b0aba49f9591877e726d625b51473d33291f140900000000000000060f1820292f383f444e555d606b707b817b6f6a615a5149403727221b140b020000000000000000000000000000000000000000000000000000000000000000000a141e29333e48535d646867605c554e443f383028221c140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717d8a98a2aebdc6d1dcdfd2c6b9ada1978c7f73685e52473d31271d12090000000000000000000000000000000000000000000000000000000b151e28333f4a54606b76828f9ca6b0bcc7d3e2dbd0c6b9ada197897d7063554b4034291c1004000000000000000714202d3a4753606d7a86929facb9c5d2dfdfd2c6b9ac9f93877b6e61544a3f33281a0c030000000000000000000000000000000000020b1b27323d4754606d7a86929facb8c5d2ddddd2c5b9ac9f92867a6d6054473a2d211408000000000008121c262e323b4246474c5254565d6064676d7175797a6e61564c4135291a0d0400000000000000000000000000000000000000000000000000000a15202d3a46525e697783909daab6c3d0ddd9cebfb2a5988c7f7265594c3f3226190c00000e1b2835414e5b6874818e9ba7b4c1c4c4c4c4c4c4c4c4c4c4c4c4c4c6c9cfd6dfe7ded5cec8c5c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c9ced6dee8ded6cfc9c5c4c4c4c4c4c4c4c4c4c4c4c4c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265564d443b322920171d29323b45515c676e7c86929fa5afbac4d0d9dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d90838d929da7b1bcc6d0dbdcdee1d5c9bdb2a99f948c7f736b60564c42382e231a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3946525e6874818e9ba7b1bccdd3cac1bbb7b5b7bbc1caccc0b6ac9c908376695e52463a2d2014090000000000000000000000000000000000000000000000000000050d1925303a444f59616b707d8591959fa2aaafb6b9bdc3c5c9ccc8c6c4c2c0bfbebdbdbebfc0c2c4c6c7cccac7c5c2bdb8b6afaca69e99938d837c716c625b51493f352b21170d020000000000000000060e171d262d333c434b515961686e746e69605850483f372e2517110a0200000000000000000000000000000000000000000000000000000000000000000000020c17212c36414b53595b5a53514b433c342e261e17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828f9baab3becfd8e3ded1c5b8ab9e92857a6d60564c41352b1f150b00000000000000000000000000000000000000000000000000000000030c17222d38424f59626f7c88949fabb7c6d0dce2d5c9beb2a99b8e8174675c5145382c1f1306000000000000000a1723303d4a5663707d8999a3aebac7d3e0dccfc2b6a99c8f8376695e5342382d221708000000000000000000000000000000000000000a16202c3945515d6775818e9bacb6c0ccd8e0d3c7bbafa3998a7d7064574a3d2f24190d0100000000000a141c202930363a3b4146474c5254555d6064676d6e685e52443a3024190800000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a6b3bfd1dcdacdc0b4a79a8d8174675a4e4134271b0e01000e1b2835414e5b6874818e9ba7b4b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec4cdd6e0d5ccc3bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b9bdc4ccd6e0d6ccc4bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72685e564c443a322920262f3b444f59606d79839098a2aeb7c1ccd6dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f808d95a0aab4bfcad6dfe8dfd2c5b9ada1968f82786c60594f443b30261c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb9c2cdccc1b8b0aaa8aab0b8c1ccc6b9ac9f93877b6e6154483b30251a0e02000000000000000000000000000000000000000000000000000008131e28323e474f59616b6f7c838c92989fa4acacb2b7b9bdbfc1c4c5c6c7ccd2c9c9c8d1cbc7c5c4c2c0bfbab8b6b2acaca49f9c948f8780796f6a615a51493f372d23190f0500000000000000000000050b141b2227313940454f565e6167615f574e463e362d251c130600000000000000000000000000000000000000000000000000000000000000000000000000050f1a242f3941484c4e4d464540393028231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d0dfe0d4c8bcb1a79a8d8073675d51443a3023190d03000000000000000000000000000000000000000000000000000000000006111c262f3d47545f6a7683909caab4bfcbd6e3dacfc4b8ab9f9285796d6053473a2d20140a00000000000004101c2834404a546773808d9aabb4bfcbd7e2d6cabeb3a9988c7f7265574d422f261c11060000000000000000000000000000000000000004111d2935414b5564717e8a9aa4afbbc8d4e0d7cbc0b5ab9a8d817467564c4135291d11040000000000020a0e171f252a2d3036393a4145474b5153555c60615e564c4132281e1308000000000000000000000000000000000000000000000000000000020e1a25303d4a5663707d8996abb4bfcbd7dccfc2b5a99c8f8276695c4f4336291c1003000e1b2835414e5b6874818e9ba7aaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc4cfd9cec3bab2acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacb2bac4cedacfc4bab2adabaaaaaaaaaaaaaaaaaaaaaaaaaaa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7aa9d91847a6e685e564c443a32282d38424d56616c74808d95a0aab4bfc9d3ded7cdc5bbafa39991847a6d605a50453b30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb2a6998c7f79839098a2aebac1cdd6e2ded1c4b8ab9e91847a6d665b50473d32291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66727f8c98a3aebac7d3c7bbb0a69e9c9ea6b0bbc7c8bbafa49a8b7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000020c16202c353e474f59606a6f787f858e939a9ea0a8aaacb2b2b4b7b8b9bbc0bbbcbcbcbbc0bbb9b7b5b4b4aeaca9a8a09d9a938f89827c736d67605850483f372d251b1107000000000000000000000000020a11171f272f353e444d52545b55534d453d342c241b130a00000000000000000000000000000000000000000000000000000000000000000000000000000008121d262f363c4041403a38342e271e17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0ded1c4b8aca095887c6f62554b4132281e1007000000000000000000000000000000000000000000000000000000000000000a141d2b37434e5865717e8b98a3aebac7d3e0dfd3c6baaea2988a7d7164574a3e31261a0f03000000000006121f2c3844515c667783909daab6c3d1dcdfd3c6baada297887c6f6255493c3122140a0000000000000000000000000000000000000000010d18242f3a4754616d7a87939facb9c6d2dfdcd1c4b7aa9d918477685d5245392c20130600000000000000050d14191e20252a2d2f35393a4045474b515354524c443b3020160c02000000000000000000000000000000000000000000000000000000000915222e3b4855616e7b8899a3aebac7d3ddd0c4b7aa9d9184776a5e5144372b1e0700000e1b2835414e5b6874818e9b9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a9b3bec9d4c8bdb2a8a09e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a8b2bdc9d5c9bdb2a8a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddded1c5b8aca09691837a6e685e564c443a32333f4a545e69707d8a929da7b1bcc6d0dbdbcfc5bbb0a69f92877c6f675d51483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d80737b86929fa5afbbc4d0d9d6c9bcb0a396897d70685e544a41382d22171309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919eaab4bfcbd0c3b7aa9e948f949eaab7c7ccc0b6ac9c908376695e52463a2d201409000000000000000000000000000000000000000000000000000000040e1a232c353d464f585f666d727a81878c91969a9ea0a8a5a8aaabacafb5aeafafafaeb5afacaaa9a7aaa29f9c9996918c87827c756f6a605c554e463e362d251b1309000000000000000000000000000000060d151d2429323b4146474e4846423b332b221a110901000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b303335342d2c28231d150c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9cabb4bfcbd7e3d7cbc0b5ab9d9083776a5f53433a2f20160c0000000000000000000000000000000000000000000000000000000000000000020b1b26323c4754606d7a86929facb8c4cfdae2d6cabeb3aa9b8e817568584e43372b1f120600000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d1dcdfd2c6b9ac9f93867a6d6054473a2d211407000000000000000002090e1114191d2024292c2f35393a4045464746413b32291e0e0400000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2ded1c4b8ab9e9185786b5e52452e23180c00000e1b2835414e5b6874818e919191919191919191919191919191919197a1adb9c7d2c5b9aca096919191919191919191919191919191919191919196a1acb9c4cec5b9ada196919191919191919191919191919191918e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0dde1d4c8bdb2a8a09591837a6d685e564c443a3a44505b666e7b85929ea4aeb9c3ced8ded6cabeb3a99f948c7f736a60554c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b4a79a8d8174717e8b939ea9b3bdc7d2ddcfc2b5a99c8f82796d665c53493f3327251b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864707d8a96a1adbcc6d1cabeb3a99c8f828f9cacb6c0ccc6b9ac9f93877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000008111a232c343d464e545c60686e747b7f84898d919696989b9d9f9fa4a1a2a2a3a2a2aba39f9e9c9a9898928f8c89847f7b756f6a625f58514b433d342c241b13090100000000000000000000000000000000030b121820293036393b413b3a36312921191008000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a2024272827201f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dce0d3c7bbafa3998b7f7265584e4331281d0e050000000000000000000000000000000000000000000000000000000000000000000a15202c3945525d6875818e9ba9b2bec9d5e1dbd0c4b8ab9e9185786a5f53473a2e21150800000000000915222f3c4855626f7c8898a3aebac7d3e0dbcec2b5a89b8f8275665b5044382b1f120600000000000000000000000000000000000000000005111e2a36414c566774808d9aabb5c0cbd7e0d4c8bbafa49a897c706356493d30231606000000000000000000000205080d1113191d2024292c2e34383a3b3936302920170d00000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885919eabb8c4d1ded2c5b8ab9f9285786c544b4034281c1004000d1a2733404d5a667380848484848484848484848484848484848485919eacb6c0ccc4b7aa9e918484848484848484848484848484848484848484919ea8b2bdc9c4b7ab9e9184848484848484848484848484848484848074675a4d4134271a0e010000000000000000111e2b3744515e6a7784919daab7c4d0dde5d9cec3bab1a8a09590837a6d685e564c44434e58606c78828f97a1adb6c0cbd5e0d5ccc3baada2979082786c60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746c75818e97a1abb5c0ccd7d0c3b7ab9f948f81786d655b504440372d241b1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15212e3a47535f6a76828f9ca8b2bdcfd2c6b9ada1978a7d8a9aa4afbbc8c8bbafa49a8c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000008111a222b343c424a50565e61696e73777c818487898c8e91929399949596969595949992918f8d8b8986827f7c77736e69626058534e454039312b221a12090100000000000000000000000000000000000001070e171f252a2d2e342e2d2a261f170f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1a1313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a2aebac6d3e2dfd2c5b9ac9f92867a6d6154473c3121160c0000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a97a1adb9c6d2dfdfd2c6b9ada197887b6f6255483c2f22150900000000000b1825313e4b5864717e8b97aab4bfcbd7e1d5c9beb3a9988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000010d1925303d4a5764707d8a99a3afbbc7d4e0d8ccc0b6ac988c7f7265594c3f2e23170b000000000000000000000000000105080d1113181d1f23282c2d2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7784919eaab7c4d1ddd2c5b9ac9f928679665c5145382c1f1306000c1926323f4b57636e7377777777777777777777777777777777777d899aa4afbbc8bcafa295897c7777777777777777777777777777777777777a8796a1acb9c5beb1a4988b7e77777777777777777777777777777777746e64584c3f33261a0d000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae0d5ccc3bab1a7a09590837a6d685d564c4c55606a727f8c949fa9b3bec8d2ddd8cfc3baafa59f92857b6e665b50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b5a89b8e8275686d7a859199a4afbbbfc8d3c7bbb0a69e938e81776c605b52493f362d241a1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2935414c56626f7c88949fabbac4cfd1c5b8ab9e92857a86939facb9c6ccc0b6ac9d908376695e53463a2d2114090000000000000000000000000000000000000000000000000000000000081019222a30383f444c52575e61666a6f74777a7c7f81848586878788898989888787868482817f7c7976736f6a66615e57544e47433c342f271f19100800000000000000000000000000000000000000000000050d14191e20212822211e1a140d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0e0e0d070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99aab4bfcad6e2d7cbbfb5ab9b8f8275685e5246392d20130400000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606d7984919eabb8c4d1dce1d5c9beb3a9988b7f7265584c3f30251a0e02000000010e1b2734414e5a6774818d9aa7b4c0d1dcdfd2c6b9ada197887b6f6255483c2d22170b00000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d2dfddd2c1b4a89b8e817568544a3f34281c10030000000000000000000000000000000104070c1013181c1f2021201e19140d0500000000000000000000000000000000000000000000000000000000000000000b17222d44515d6a7784909daab7c3d0ddd3c7bbafa39986796d6053463a2d201307000a17232f3b47525c63666a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d7a86939facb9c6beb1a5988b7e726a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a687884919eabb7c4c0b4a79a8d81746a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67645c52473c3024170b000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae7ded5ccc3b9b1a7a09590837a6d685d56515d676f7c87929fa6b0bbc5cfdadcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcfc2b5a89c8f82756968707d87939fa3adb6bfc8ccc2b8afa59d938d80746d635b51483e362c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3945525d6874818d9aa6b0bbccd6cfc2b6a99c8f837784919eaab7c4d2c7b8ab9f95877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000000000710181e262e343b41464d535458606267686d7072757778797a7b7b7c7c7c7b7b7a79777674726f6d666662605854534d47433d373229231d150d0700000000000000000000000000000000000000000000000002080e1114141b1514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3d0dbe0d3c7bbaea3998a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505c6673808d9aaab4bfcbd7e3dacfc2b5a89c8f827569574d42362a1e120500000004101c2934404b55697683909ca9b6c3cfdcded1c5b8ab9e9285786a5f53473a2e1c110600000000000000000000000000000000000000000000000613202c3945525d687683909da9b6c3d0dcddd0c4b7aa9d918477665c5044382b1f12060000000000000000000000000000000000000004070c1013131414110d0802000000000000000000000000000000000000000000000000000000000000000000061e2a3744515d6a7784909daab7c3d0ddd3c7baaea39986796d6053463a2d2013070007131f2a35404a52575a5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d687784919daab7c4c1b4a79b8e817468555e5e5e5e5e5e5e5e5e5e5e5e5e566875828e9ba8b5c1c3b6aa9d908377665c5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362b1f1307000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf0e7ded5cbc3b9b1a7a09590837a6d685d5a606d7a849199a3afb8c2cdd7dfd7cbbfb4aba0968e81746c61574d42382d22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b6a99c8f837669616b717e8b919ba4adb6c0c9cac1b7afa59d928c7f736d625a50483e352b221910060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a86929facb8c2cdd8ccc0b6ac9a8d8075828f9ba8b5c2d2c7bcb1a7988c7f7265574d42362a1e1205000000000000000000000000000000000000000000000000000000000000060c151c232830363b4246484e5456565d606365686a656c6d6e6f6f706f6f6e6d6d6669676563605c5456544e4846423b37322b262018120b03000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdfd2c5b9ac9f92867a6d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54636f7c8998a3aebac7d3e0ded2c5b8ab9f928578695e52463a2d20140700000006131f2c3845515c677885919eabb8c4d1dedccfc2b5a99c8f827669584e43372b1f0a00000000000000000000000000000000000000000000000004111d2935414c566774818e9aa7b4c1cddadfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000020507080b0e100a0a08040000000000000000000000000000000000000000000000000000000000000004101c2834404b556b7884919eabb7c4d1ded2c5b9ac9f928679665c5144382c1f120600020e19242e3840474b4d51515151515151515151515151514c566874818e9ba7b4c1c4b7aa9d918477675d515151515151515151515151515966727f8c99acb6c0c5b9ac9f9286796d60535151515151515151515151514d4c4740382f24190e03000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e7ddd5cbc3b9b1a7a09590837a6d68616c75818e96a0abb5c0cad4dfd6cdc5baaea3999184796d605a50453b2f261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a59626c727f8c929ca4aeb7c0c9c9c1b7aea49c928b7f726c625a50473d342b22180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d4d4c8bbafa49a8b7e73808c99abb5c0cccdc2b6a99d908376695e53463a2d21140900000000000000000000000000000000000000000000000000000000000000030a11171e252a31363a3d4348494c525456595b535b60606162636362626161605c545a585653514b4947433d3a36312b27201b150c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a3afbbc7d3e0dcd0c3b6a99d908376675d514539291e1308000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7986929facb9c5d2dfdfd3c6baada297877b6e6154483b2e2115080000000714202d3a4753606d7a86939facb9c6d2dfdacdc0b4a79a8d8174675a4e4131261a0f010000000000000000000000000000000000000000000000010d19242f3f4c5966727f8c99a5b2bfccd8e0d3c7bbaea399877b6e6154483b2e2115080000000000000000000000000000000001040707090e121415181a1d171614100b05000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1ded1c5b8ab9e9285786b544a4034281c1004000007121c262e353b3f4044444444444444444444444444444b5865727e8b98aab4bfc6b9ac9f93867a6d60544744444444444444444444495663707c899aa4afbbc7baaea399887c6f6255494444444444444444444444413f3c362f261d130800000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f9f0e7ddd5cbc3b9b1a79f9590837a6d69717e8b939ea8b2bdc7d1dcdacfc5bbb0a69f92867c6f675d51483e33291d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d5a626d73808c929da5afb7c1cac9c0b6ada49f93887e716c61594f463d342a21180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d2c6b9ac9f93877a707d8a99a4afbbc7d1c4b8ab9f95877b6e6154483b31261a0e020000000000000000000000000000000000000000000000000000000000000000060c14191f252a2d32383b3c414547494c4e49505354545556565655545453514a4e4c494645403c3b37322d2a251f1b150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0b0b0b0b0b0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090c0f0f12121212121212120c0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7e3d9ccc0b3a6998d807366554b403529170c020000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3cfdce2d6cabeb3a9968a7d7063574a3d3024170a0000000815222f3b4855626e7b889aa4afbbc8d4e0d8cbbfb2a5988c7f7265594c3f3226190a00000000000000000000000000000000000000000000000000081724313e4a5764717d8a97a4b0bdcfdae3d7cbbfb5ab96897c706356493d3023160a000000000000000000000000040607080d111314171a1e212224272a2423201c171008000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2ded1c4b7ab9e9184786b5e51452e23180c000000000a141c242a2f3233373737373737373737373737373c4955626f7c8898a3aebac7bbafa499897c706356493d37373737373737373a4754606d7a86939facb9c6bfb4ab988b7e7265584b3f2f3737373737373737373433302b241d140b0100000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fff9efe7ddd5cbc3b9b1a79f959083796e7b86929fa5afbac4cfd9ddd5c9beb3a99f948c7f726a5f554b40362c21170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e515b636d73808d939da5afb8c1cac8bfbbafa49a92877e706b60584e463c332a20170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5763707d8a96a0acbcc6d0dbd0c3b6aa9d9083776d7a86939facb9c6d2c8bcb1a7988c7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000002080e141a1e21272c2e3035393a3d3f423f4446474848494949484847464440413f3c3a38342e2e2b27211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080d1113141516161717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c1f1f1f1f1f1f1f1f181815110c0600000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d1dce2d6cabeb3a9968a7d7063574a3d2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99a6b3bfd1dce6dbcfbfb2a5998c7f7266594c3f332619070000000a1724303d4a5763707d8a96acb6c0ccd8e4d6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000915222f3c4855626f7c8895a9b3bec9d5e1dcd1beb1a4988b7e7165584b3e3225180b00000000000000000000070c10121316191d202123262a2d2e31343731302d28221a12080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a4afbbc7d4ddd0c3b7aa9d9084776a5d5144372a1e0700000000020a12191f2326272b2b2b2b2b2b2b2b2b2b2b2b2d3a4653606d7986929facb8c5c0b5ab988c7f7265594c3f30252b2b2b2b2b2c3945515d677784919daab7c4c1b4a79a8e817467554b4034292b2b2b2b2b2b2b2b2726241f19130b020000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fffff9efe7ddd5cbc3b9b1a79f9590827a839098a2aeb7c1ccd6e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51525b646e74818e939ea6b0b8c2cbccc0b6aca39992867d706a60584e453b322920160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7d5c9bdb2a8998d8073687783909daab6c3d1cdc2b6a99d908376695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000003090e12161b1f2224292c2d30322d3337393a3b3c3c3d3c3c3b3a3a38342e32302d2c2823221f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d202122222324242424242422211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556976838f9ca9b6c2cfdcdfd2c6b9ada297877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a97aab4bfcbd7e3dbcec1b5a89b8e8275685b4f422f24180d0100000c1825323f4b5865727e8b98a5b1bed2dde1d5c9beb3a995887c6f6255483c2f221509000000000000000000000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000030b12181c1f202224292c2d3031363a3b3e41433d3c39332c241a0c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0ccd7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000070e1317191a1e1e1e1e1e1e1e1e1e1e1e1f2c3844515c667683909da9b6c3c1b5a89b8e827568564c41362a1d1e1e1e1d2935414c556874818e9ba7b4c1c3b6aa9d908377675c5145382c1f1e1e1e1e1e1e1e1a1a17130e0801000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7faf4efece9e6ddd4cbc2b9b1a79f94908590959faab4bfc9d3ded8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5249525c606c78818e949ea6b0b9c2cbc7beb5aba39892867c6f6a5f574d443b32281f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd2c5b9ada196897c6f6673808d99aab4bfcbd1c4b8ab9f95887b6e6155483b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000002050a0f1315191d2021232622272b2d2d2e2f30302f2f2e2e2d2c28232523201f1c1815130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f202324292c2d2e2f303131313131312f2e2b262018100600000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c313436393939393939393932312e29231b1209000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1deded1c5b8ab9e928578685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3b4855626e7b8898a3aebac7d3e0ddd0c3b7aa9d9084776a554b4035291d110400000d1a2633404d596673808c99a6b3bfccd9dfd2c6b9ada197867a6d6053473a2d201407000000000000000000000000000000000000000000000000000613202c3945515d677885919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000000070c151c23282c2d2f3035393a3d404246484b4d504a49443e362c1e150b0000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aa7b3c0d2dddacdc0b3a79a8d8074675a4d4134271a0e0100000000000002070a0c0d11111111111111111111101c2834404a546774808d9aa7b3c0c4b7ab9e918478685e5246392d2013110d19242f3f4c5865727f8b98abb5bfc5b9ac9f9286796d6053473a2d20141111111111110e0d0b07030000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e9e3dfdddcdfddd4cbc2b9b0a69f9792979fa7b1bcc5d0dbdbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524544505b666d78828f949fa7b1b9c3ccc7bdb4aaa29892857c6f695f564d443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774808d9aa4afbbc8d4ded1c4b7ab9e9184786c63707d8998a3aebac7d3c8bcb1a7998c7f7266574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000307080d1113141619171b1f20212122232323222121201f1c1819161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f151b1c22282b2d302f35393a3b3c3d3d3e3e3e3e3e3c3a37312a22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545453f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2dfdccfc3b6a99c90837669564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f928578675d5145392c20130600010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578675d5145392c2013060000000000000000000000000000000000000000000000000004111d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c070000000000000711191e272e34383a3c3f4145474a4c4d5355575a5d575550483e30271c12070000000000000000000000000000000000000000000000000a15212e3a47535f6a7884919eabb7c4d1ded8ccc0b6ac988b7e7265584b3f3225180c000000000000000000000000040404040404040404000c18232e3e4b5764717e8a97a9b3bec5b9aca196877a6d6154473a2e2114070816232f3c4956626f7c8999a3aebbc7bbafa399897c6f6256493c2f231607000404040401000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaeee6ded8d3d0cfd2d4d8d4cbc2b9b0a9a19ea1a9b1b9c3ced7dfd6cabfb4aaa0958d80746b61564c41382d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463f4a545c666d79828f959fa7b1bac3ccc6bcb4aaa29791857b6e695e564c433a31271e150b0200000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb6c0ccd8d4c8bcb1a79a8d807365606d7986929facb9c5d2cdc2b6aa9d908377695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a060b0f12131415151616161515141312100c0709070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a20272b2d3338393d404145474849494a4a4a4a4a4a4847433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f52525252525252524b4a453f372d23180c010000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b3bec9d5e1dacdc0b4a79a8d8174675a4e413025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667784909daab7c3d0dddfd3c6baaea298867a6d6053473a2d20140700020f1c2835424f5b6875828e9ba8b5c1cedbdcd0c3b6a99d9083766a554b4035291d110400000000000000000000000000000000000000000000000000010d18242f414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c0000000000040f19232b3039404446494b4c52545659575f6164676a64615a5042392e23180d040000000000000000000000000000000000000000000006111c26303c4855626f7b8896a1acb9c5d2ded4c8bbafa49a897d7063564a3d3023170a000000000000000000000000000000000000000000000715222e3b4855616e7b8897a1adb9c6bdb2a8968a7d7063574a3d302417090713202d3a4653606d7986929facb9c5c0b5ab988b7e7265584b3f2f24180c000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae6dcd4cdc7c4c2c6c8ccd2d4cbc2bbb3adabadb3bbc3cbd4e0d6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f524638424a545c676d79839095a0a8b2bac4cdc5bcb3a9a19791847b6e685e554b433930261d140a000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5965727e8b97a2adbec7d2ddd1c5b8aca095887c6f625c6776838f9ca9b6c2ced1c4b8ab9f95887b6e6155483c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070809090a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920262b3237383f4446494c4c515455555657575757575755534e463c31261b0f03000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b545a5c5f5f5f5f5f5f5f5f585651493f34291d1105000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdae6d8ccbfb2a5998c7f7266594c3f332619080000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbe2d6cabeb3aa95887b6e6255483b2f2215080003101d293643505c6976838f9ca9b6c2cfdcdbcec2b5a89b8f8275685c4f422f24180d010000000000000000000000000000000000000000000000000000071a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544a4034281c1004000000000b16212b353d424a51535558565d60636669696e717476706c61544a4034281f160c040000000000000000000000000000000000000000030d17232e38424f5966737f8c99a8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000000000000000000714212d3a46535f697885929eabb8c5bfb2a6998c7f7366594c4030251a0e06131f2c3845515c677783909daab6c3c1b4a79a8e817467554b4035291d10040000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaded4cac2bbb7b6b9bbc0c7d0d4cdc5beb9b8b9bec5cdd4ddd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52462f39424b555d676d7a839096a0a8b2bbc4cdc5bbb2a9a09690837a6d675d554b42382f261b11060000000000000000000000000000000000000000000000000000000000000000000000010b16222f3b4854606b7783909da9b3bed0d9d6cabfb4aa9d9184776a5f5566727f8c99a8b2bdc8d4c8bcb1a7998c7f7266574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e242931373c43474a50535659555d60616263646464646464625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49545d65696c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e4d7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e414e5a6774818d9aa7b4c0cddae6dbd0bcafa396897c706356493d3023160a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9ded2c5b8ab9f928578665c5144382c1f120600000004101b27323d474f545c60626568686d707375787b7e80837e70665c51443c31281e160d05000000000000000000000000000000000000030c151f28343f4a54616b7783909daab6c3cedaddd0c3b7aa9d908377685e5246392d2013070000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b5c2c2b5a89c8f827569574d42362a1e1205101c2834404b556774818d9aa7b4c0c3b7aa9d908477675d5145382c1f13060000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dde3d8cdc2b8b0aba9acafb6bec7d0d7cfcac6c5c6cacfd7dfddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246393039434b555d686d7a849196a1a9b3bbc5cdc4bbb2a8a0959083796d675c544a41382d221713090000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d5763707d8995a0acbcc5d0dfd3c6baaea2988b7f72655855626f7b8896a0acb9c5d2cdc3b6aa9d908377695f53463a2d2115090000000000000000000000000000000000000000000000000000000000000000000000000000000001040607080705020000000000000000000000000000000105070709090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f282f353c43474e54545b60636668676d6e6f707071717171716f6a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000020f1b2834414d5a6570757878787878787878726d62564a3d3124180b0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000006192633404c5966737f8c99a6b2bfccd9e4d7cabeb1a4978b7e7164584b3e3125180b0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8dfd3c6baaea29886796d6053463a2d2013070000000713202c38444f5960666d6f7274777a7d7f8285888a8d9084796d60584e433a30281f170e0701000000000000000000000000000000050b151e27313944505c66707d8a959fabb8c4d1e0d6cabeb4aa9a8d807467564c4135291d110500000000000000000000000000000000000000000000020e1a2631404c5966737f8c99a6b2bfc4b8ab9e918578695e52463a2d2014070c18232e3e4b5865717e8b98aab4bfc5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dddfd3c7bbb0a69f9c9fa4acb6bec7d2dad6d2d1d2d6dae1e3d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463927313a434c565e686e7b849197a1a9b3bcc5cdc4bab1a79f958f82796d665c53493f3327251b12090000000000000000000000000000000000000000000000000000000000000000000c18232f3a46535e6975828f9ba7b1bcced7dfd2c5b8ac9f92867a6d6054535f6a7784919eaab7c4cfd1c4b8aca095887b6e6155483c31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141514120e0903000000000000000000000002080d1113141615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129313a41454e53586062666c707375787a7b7c7c7d7d7d7d7d7d7c6f6255483c2f24180d010000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c69758285858585858585857f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb2a5988b7f7265584c3f3225190c0005121f2c3845525f6b7885929eabb8c5d1dedacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e2d6cabeb3aa93877a6d6054473a2d2114070000000916222f3b4854606b70797c7e818486898c8f9297979a968b7f726a5f564c423a31292018130c0701000000000000000000000003090e171d273039434c56606d7884919da7b1bcc8d4dfd3c6baaea2988a7d7064574a3d3025190d010000000000000000000000000000000000000000000000091724303d4a5763707d8a96a8b2bdc6b9ada197877b6e6154483b2e2115060715222f3c4855626f7b8898a2aebac6bbafa399897c6f6256493c2f2316070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7ab9f948f939aa4acb6c0ccd8d9dfdedfe2e6ece0d4c7bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c28313a444c565e696e7b859197a2aab4bcc6ccc3b9b1a79f948f81786d655b504440372d241b12080000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b87929facb9c3cedfd3c7bbb0a69a8d8174685d524e586673808d99a9b2bdc9d4c8bcb1a7998c7f7266574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202121211e1a140d05000000000000000000040c13191d202123221f1b160d0802000000000000000000000000000000000000000000000000000000000000000000000000050f18212a333b434c52585f626a6f74787d7f8284878888898a8a8a8a8a8a817568554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9292929292928b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb2a5998c7f7266594c3f3326190c0006121f2c3945525f6c7885929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e6dbd0baada094877a6d6154473a2e2114070000000a1623303d495663707d86888b8e91939a999c9ea1a9a89f92867c6e685d544b433a3229241d18120e090503000000000104060a0f141a20292f39424b555e68727f8b95a0acb9c3cdd8ded2c5b8ab9f9285796d6053473a2d2014080000000000000000000000000000000000000001010303030714212e3a4754616d7a8796a0acb9c5beb3a9978a7d7064574a3d2d22170b0713202d3a4653606d7985929facb8c5c0b5ab988b7f7265584c3f2f24180c0003030303030303030303030000000000000000000000111e2b3744515e6a7784919daab7c4d0dddccfc2b6a99c8f8288939aa4afbbbfc7d1dae3eceeece0d4c8bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f28323a444d575f696f7c859298a2aab4bdc6cbc2b9b0a69e938e81776c605c52493f362d241a110800000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc7d4ddd0c4b7ab9f94887c6f62564c4956626f7c8996a1adb9c5d2cdc3b6aa9d908377695f53473a2e2115090000000000000000000000000000000000000000000000000000000000000000000002080d161e24292c2d2e2d2a251f170f0500000000000000040e161e24292d2e302f2c272119130c0400000000000000000000000000000000000000000000000000000000000000000000020b17212a333c454d565d606a6e767c8084898c8f91969495969797979797918477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9f9f9f9f988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae0d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d0006131f2c3946525f6c7985929facb8c5d2dfd9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e0d4c7baada194877a6e6154473b2e2114080000000916232f3c4956626f7c8998989b9d9fa4aca8abadb3aea29891847a6d665d554c443d352f29241d1a13120f0b060c070d1113141b1f252a323a414a545d676d7a85929fa8b1bdcbd4dfd4c8bdb2a89a8e8174675d5145382c1f13060000000000000000000000000000000003080b0d0e1010101013202d3946525e687784919eaab7c4c0b3a6998d80736653493f33271b0f10121f2b3844505c667683909ca9b6c3c1b4a79b8e817468554b4035291d101010101010101010101010100a09070400000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7f7e88939fa3adb5bfc8d1dae3eceaddd1c4b8ab9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c162029323b454d575f6a6f7c869298a3abb5bdc7cbc2b8b0a69e938d80746e635b51483f362c231a100700000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d5c9bdb2a89c8f82766a5f53434653606c7884919eabb8c4cfd1c4b8aca095887b6e6255483c31261a0e020000000000000000000000000000000000000000000000000000000000000000050d14191f282f35393a3b3a36312921170b020000000000020c1620283035393a3c3b383229241e160e090300000000000000000000000000000000000000000000000000000000000000000a141d29333c464e575e686d747c82888d9197999b9ea1a8a2a3a3a4a4a49f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000001101d293643505c6976838f9ca9ababa5988b7f7265584c3f3225190c0401000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c7bbafa49986796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d9cdc0b3a69a8d8073675a4d4034271a0d0005121f2b3744505b657986929facb9c5d2dfd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e1d4c7bbaea194887b6e6155483b2e2215080000000815212e3b4854616e7b8794aaa7aaacafb6b5b8b9beb4aaa0968f82786d675e564f45403a352f2a25201f1b1719191a181d2020272b30363e444c535c666d79829097a2adbac3cedddcd1c5b8aca096897c7063554b4035291d1004000000000000000000000000000001080f14181a1b1d1d1d1d1d1d2935414c566875818e9ba8b4c1c2b6a99c8f8276655b5044372b1f1d1d1d1c28343f4a546774808d9aa7b3c0c3b7aa9d908477675d5145392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d171614100b050000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e727f8b919ba3adb6bfc8d1dae4e9dcd0c3b6a99d9083796d60594f443a30241b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f172029333c454e58606a707d869299a3abb5bec7cac1b8afa59d928c80736d625a50483e352b2219100600000000000000000000000000000000000000000000000000000006131f2b38434e5864717e8b97a1adbdc7d1dcd2c5b9ada1968a7d7064584e4344505b6574808d9aa9b3becad4c8bcb1a7998c7f7366574e42372b1e120600000000000000000000000000000000000000000000000000000000000003090e171e252a313a4145474846423b33291d140a000000000008131e28323a4146474948443d353028201a150c0700000000000000000000000000000000000000000000000000000000000006111b262f3b454e585f696e7a80878f949a9ea1a9a8abacb2afafb0b0b0afa49a897c6f6256493c2f23160600000000000000000000000000000000000000000000000000000000000000000206080d111d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251913110d080603000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d3e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e1d4c8bbaea195887b6e6255483b2f2215080000000714202d3a4753606d7a8698a2aeb7b9bbc0c2c5c6c5bcb2a89e948f82796d686159514b45403936302d2b272226252624292c2d32383b42464f565e656d78828f949fa9b3beccd5dfd4c8bcb1a79d9184786c605346392f24180c0000000000000000000000000000020b131a202427282a2a2a2a2a2a25303f4c5865727f8b98abb5bfc5b8ab9f9285796c605346392d2a2a2a2a2a232e3e4b5764717e8a97a9b3bec5b9ac9f92867a6d6053473a2d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2423201c16100800000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72727f8c919ca4adb6bfc8d2dae4dacdc0b4a79a8d81746d635b51493f362d241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f0e17212a333c464e58606b707d879299a4acb6c0cccac1b7aea49c928c7f726c625a50473d342b22180f0600000000000000000000000000000000000000000000000000000b15222e3b4754606a7783909da9b3becfd9d7cbbfb4ab9e9184786d6053463c3f495363707d8997a2adb9c6d2cdc3b7aa9d9083776a5f53473a2e21150a0000000000000000000000000000000000000000000000000000000000060b141a202930363e434c515454534d453b2f261c1106000000020c1924303a444c525456544f46413a322b261f18120b03000000000000000000000000000000000000000000000000000000000b17222d38414d575f6a6e7b838d92999fa6abadb2b5b7b9bdbbbcbdbdc0b6ac988b7e7265584b3f2d22170b00000000000000000000000000000000000000000000000000000000000205090e1214191d20293643505c6976838f9ca9b6b2a5988b7f7265584c3f322521201d1913120f0b0603000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1dacdc1b4a79a8e8174675b4e4134281b0e000713202d3a4653606d798693a0b5c0cbd7e3d7cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e1d5c8bbaea295887b6f6255483c2f22150900000006131f2c3945515d677985929facb8c5c8ccd2d1d2cec3bab0a69e948f837a706b605d55514b46423b3937332d3232332f35393a3d43474d525961686d77818e949ea6b0bbc5cfded7cdc5b8aca0958a7e71655b5044372b1d120700000000000000000000000000010b141d252b30333436363636363636363c4956626f7c8999a3aebbc6baada297887b6e6255483b36363636363636363b4855616e7b8897a2adbac6bbafa399897c6f6356493c363636363636363636363636363636302f2c28211a1108000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726d727f8c929ca4aeb6c0c8d2dbdbcec2b5a99d928c7f736d625b51483f362c231a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130f18212a343d464f59616b717e87939aa4afbbbfc8c9c0b6aea49b918b7e716c61594f463d342a21180f0500000000000000000000000000000000000000000000000007121c2a36414c56626f7c89959fabbbc5cfe0d3c7baaea3998c7f72665c5044383a4653606d7985929eabb8c5d0d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000000000000000000000000020a11171f262a323b41464f555d60615e574d42382d22170b0300000a141e2935414c565d61636059524c443e373128231d150c070000000000000000000000000000000000000000000000000000030f1b27333f49535e696e7c8490959fa3abb0b8b9bec2c4c5c9c6c5c3c2c0b4a79a8d817467544a3f33281c0f03000000000000000000000000000000000000000000000000000002090e11151a1e2124292c2d3643505c6976838f9ca9b6b2a5988b7f7265584c3f32302d2c2924201f1c17120f0b0600000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d4e0d7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d4c8bbaea195887b6e6255483b2f22150800000004101d2935404b556b7784919eaab7c4d1d8dddedfd5ccc2b8b0a69f9590857d746d67605d55524d4846443f403f3f40414045474a4e54575e616b707a818e939ea6b0b8c2cdd7dbcfc5bbafa59d9183786c6053493f33271b0b010000000000000000000000000008131d262f363c40414343434343434343434753606d7986929facb9c5beb3a9978a7e7164574b4343434343434343434346535f697885929fabb8c5c0b5ab988b7f7265584c434343434343434343434343434343433d3c38332c231a10050000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72656d737f8c929ca4aeb6c0c9d2dbd1c5b9aea49c918c7f726d625a50483e352c231a110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060f18222b343d474f59616c717e88939fa3adb6c0c9c8bfb6ada39f92877e716b60594f463c332a21170e0500000000000000000000000000000000000000000000000c18232e3946525e6875818e9ba7b1bccdd7dfd2c5b9ac9f92867a6d61544a3f343844505c6674818e9baab4bfcad4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000000020c141c232831363e444c525961676d6e695e544a3f33281f14090006111c26303846525d686d6f6b615d565047423c342e271e1910070000000000000000000000000000000000000000000000000005121f2b3744505b656e7b859196a0a7afb5bdc2c6c9c9c6c5bfbab8b6b5b4b4a99d908376665b5044382b1f1206000000000000000000000000000000000000000000000000030a0f141a1e20262b2e2f35393a3d43505c6976838f9ca9b6b2a5988b7f7265584c403f3d3a39352f2d2b28221f1b17110c060000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39886796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2dacdc0b3a79a8d8074675a4d4134271a0e0006121f2b3844505b667986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e1d4c7bbaea194887b6e6155483b2e221508000000000c18242f43505d6a7683909da9b6c3d0dce8ebe7ded3cac2b8b0a79f9791898179726d67615e57555350494d4c4c4d4e4b515356586062696e747d858f939ea5afb8c1cad4dbd6cabeb3a99e938a7d70665b5041382d22170b00000000000000000000000000030f1a252f3841484c4e50505050505050505050515c677783909daab6c3c0b3a79a8d807467544a50505050505050505050504d576976828f9ca9b5c2c1b4a79b8e817468554b505050505050505050505050505050504a48443e352c21160b0000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265636d73808d929da4aeb7c0c9d2d6cbc0b6ada49b918b7f726c625a50473e352c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1300061019222b353e47505a626c727f8b919ca4aeb7c0c9c8bfbbafa39992877d706b60584e453c332920160d0400000000000000000000000000000000000000000004101c2834404a54616e7a86929facb9c3cddfd4c8bcb1a79b8e8174685e5242382e343f4a5463707d8a98a2aebac6d3cec3b7aa9d9084776a5f53473a2e21150a000000000000000000000000000000000000000000000000000a141e262e343b424650565e616b707a7b6e665b50443b31251a0e040b17232e38424e58616d7a7c746d68615a534d454039302b22190f04000000000000000000000000000000000000000000000005111d2a36414c56606c77828f97a1a8b1bbc0c7cfcdc5beb9b8b4aeaca9a8a8a7a79f9285796c605346392d20130600000000000000000000000000000000000000000000040a0f151a1f252a2d31373a3b4145474a4c505c6976838f9ca9b6b2a5988b7f7265584f4d4c4a4745413c3938332d2b27221b17110c07010000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae3d7cbbfb4a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d9ccc0b3a6998d8073665a4d4033271a0d00030f1c28333f4a5f6c7985929facb8c5d2dfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e1d4c7baaea194877b6e6154483b2e21150800000000071c2935424f5c6875828f9ba8b5c2cedbe8f9f0e5dcd3cac2b9b1a9a19e928d857f79726e696562605b535a5958595a555d6063666a6f757b818a91979ea5afb7c1cad3dcd3c9c1baada2978f82756c61544a3f2f261b1106000000000000000000000000000814202b36414a53595b5d5d5d5d5d5d5d5d5d5d5d556774818d9aa7b4c0c3b6a99d908376665c5d5d5d5d5d5d5d5d5d5d5d5d5d5d6673808d99a6b3c0c4b7aa9d918477675d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d57554f473e33281c100400111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72655b636e73808d929da5afb7c0c9d3d2c8bfb6ada39f93887e716c615a50473d352b221910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600071019232c353e48505a626d737f8c929da4aeb7c1cacbc0b5aba39992867d6f6a5f574d453b32281f160c01000000000000000000000000000000000000000006121f2c3844515c66737f8c99a3aebac7d3ddd1c4b8ab9f95897c6f62564c4130262e3a4753606d7985929facb8c5d1d1c5b8aca095887b6e6255483c31261a0f02000000000000000000000000000000000000000000000006111c2630383f444d535a62686e757d8483786c60574d42362a20160c101c28343f4a54606a748086817a716c625f57514b433d342b21160a00000000000000000000000000000000000000000000000713202d3946525e68727e8b949fa9b2bac3cbd1c9c0bbb3adabaaa29f9d9c9b9a9a9a98887b6e6255483b2f221508000000000000000000000000000000000000000001070d161b20262b30363a3c4247484c525457595b566976838f9ca9b6b2a5988b7f7265555c5a585754524c4946443f3937332d28231c18120b0300000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae7dcd1baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e3d9ccbfb2a6998c7f7366594c403326190d00000b17222d45525f6c7885929fabb8c5d2ded9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e0d3c7baada094877a6d6154473a2e211407000000010e1b2834414e5b6774818e9aa7b4c1cddae7ece4dcd6d1cecbc3bbb2ada49d97928c857f7b76726e6c6567666565666768676d7073777c81868e939ea1a9afb8c1c9d3dbd3cac1b7aea49f92857a6e615a5042382d1d140a00000000000000000000000000000b1824303c48535d646769696969696969696969696969717e8b97a4b1bec5b8ac9f9286796d69696969696969696969696969696969707d8a97acb6c0c6b9ac9f93867a6d6969696969696969696969696969696969696361594f44382c20140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265585c646e74808d929da5afb7c1c9d3d1c8bfbbafa49a93877e716c61594f473d342b2218100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000007111a232c363f48515b636d73808d929da5afb8c1c1c1bdb4aba29892857c6f695f574d443a31281e130800000000000000000000000000000000000000000713202d3a4653606d7984919eabb4bfcbd7d5c9beb3a99d9083776a6054443a301f2c3845515c6775828e9baab4bfcbd4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000b17232e38424a50575f616c717a818a918b7f72695e53463e32281e1319232b3844505c666f7c87938e857e766e69605c554f473d32271b0f03000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa6b0bbc4ccd7c8bfb7afa9a19e999892908f8e8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000040c131820272b31373b4246474d5355565d60636567696876838f9ca9b6b2a5988b7f72676a68676563605d565653504a46443f38342e29241d150d06000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e1d4c7baaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d8cbbfb2a5988c7f7265594c3f3226190c0000121f2c3845525f6b7885929eabb8c5d1ded9cdc0b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb4aa93877a6d6054473a2d211407000000000d1a2633404d596673808c99a6b3bfccd9e6e4dad2cbc5c1c0c5c4beb9aea9a19e97918c87837e7b797674737272737475777a7d8083898e92999da5adb3bbc1cad3dbd6c9c1b8afa59c928a7e71685e52483e2f261c0b0200000000000000000000000000010d1a2733404c59646f7476767676767676767676767676767b8895a1aebbc7baaea398887c7676767676767676767676767676767676767b879aa4afbbc7bbafa499897d76767676767676767676767676767676767676706b6155483c2f23160900111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726558525c606c77808e939da5afb7c1c9d3d8ccc0b6aca49992877e706b60594f463d342a22180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000008111a242d363f49515b646e74808d939ea6b0b4b4b4b4b4b4aaa29791857b6e695e564c433a2f24190d0100000000000000000000000000000000000006131f2b37434e5864717e8a96a1adbdc6d1dcd2c6b9ada1978b7e7164584e4332291e2934404b5564717e8a98a3aebac7d3cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000003101c28343f4a545c60696e767e858e939e92867b6e615a50443a3024191e2a36414d56606d7883909a97928b827b736d6760594f43382c1f130700000000000000000000000000000000000000000005121e2a36424d5765727f8b98a2aeb8c2cdd3c9bfb6ada59d97928d888583828181818181817d7063574a3d3024170a000000000000000000000000000000000001070d161d242932373c43474d5254575f6265686d70727476787a83909da9b6b3a6998d807a7877757372706d686662605b54535049443f38352f271f17110a0300000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dfd3c6baaea29886796d6053463a2d201307000000000c1925323f4c5865727f8b98a5b2becbd8e5dcd2c8c0b9b5b3b9bbc0c0bbb3ada9a19e9a938f8b88858281807f7f8081828386898c90959b9fa3abafb9bec4cdd3d7d0cac0b7afa69e938c80736c61564c41362c1d140a0000000000000000000000000000010e1b2834414e5b677481838383838383838383838383838383909ca9b6c3cbbfb4aa9d91838383838383838383838383838383838383838288939facb9c6c0b5ab9d9184838383838383838383838383838383838383837d7063574a3d3024170a00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b505b656c77818e939ea5afb7c1cad3d2c7beb5aba39992877d706b60584e463c342a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000008121b242d374049525c606c78818e939ea6a8a8a8a8a8a8a8a9a19791847b6e685e554c4135291d11040000000000000000000000000000000000000a15212e3b47535f6a7683909ca9b2bdcfd8d7cbc0b5ab9e9285796d6053463d322018232f3a4754606d7a86929facb9c5d1d1c5b8aca095887b6e6255483c31261b0f0300000000000000000000000000000000000000000006121f2b3844505c666d727b828b92979ea2988f82756c61564c4135291f27303946525e68727f8b95a0a19e948f867f796f6b6054483b2f2215090000000000000000000000000000000000000000000714212d3a46535f697683909daab4bfcad4d0c1b7ada39c938e85807c797675757474747474706b6155483c2f23160900000000000000000000000000000000040c13181f282f353d43474e53575e6166696e72767a7d7f8183858790959fabb8b4a89c928d87858382807f7d7a76736f6c6663605b53504a4540393128231c150c06000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e3d6cabdb0a3978a7d7064574a3d3124170a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9ded2c5b8ab9f928578665c5145382c1f1306000000000b1724313e4a5764717d8a97a4b0bdcad7e1d6cbc0b6aea9a7acafb5bdc5beb9b3adaca49f9c9897928f8e8d8c8b8c8d8e909299999d9fa7acafb5bdc0c9cfd6d5cdc5bebaaea59e948e81776c605a50443b30241a0b02000000000000000000000000000004111d2a3744505d6a7783909090909090909090909090909090949fabb7c4d0c6b8aca0959190909090909090909090909090909090909090939aa4afbbc8c7b8aca096919090909090909090909090909090909090908b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b49535b656c78818e939ea5afb8c1cad4d0c7bdb5aba39992867d706a60584e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000009121b252e374044505b666d78818f949b9b9b9b9b9b9b9b9b9b9b9691837a6d675d5145392c201306000000000000000000000000000000000006111c2935414c56626f7c88949fabbbc4cfe0d4c7bbafa3998d8073675c5145382c1f13202c3945515d6775828f9cabb5c0cbd4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000000000000000000000713202d3a4653606d787f868f949ea2a9aa9e948a7e71685d52453d31272e39424f59616e7b85929fa7ada69f98928c847d6f6356493c302316090000000000000000000000000000000000000000000815222e3b4855616e7b88959fabbcc5d0d2c7bdafa59c918c8179736f6d66696867676767676361594f44382c201407000000000000000000000000000000050d161d2429313a40454e54585f62696e73777b7f83868a8c8e9092979d9fa7b1bcb9aea49c999792908f8d8b8a86837f7c7975706c65605c54514b433d342e261e180f080000000000000000000000000a1724303d4a5763707d8a96a3b0bdd0dbe7d8cbbeb1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedae3d7cbbfb5ab95887c6f6255493c2f2216090003101c2936434f5c6976828f9ca9b5c2cfdcdbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544b4034281c1004000000000a1623303d495663707c8996a3afbcd1dcddd1c5b9aea49d9a9fa3abb5bfc6c4beb9b6afaca9a9a29f9c9a999898999a9b9d9fa3abaaabb1b9bbc0c7cfd5d5cec9c2bbb3ada49d938e82796d655b50483e32291e120800000000000000000000000000000004111d2a3744505d6a7783909c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0bcc7d3c8bdb1a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa4acb6c0ccc8bdb2a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b4149535b666d78818e939ea6b0b8c2cad4d0c7bdb4aba29892867c6f6a5f584e453c332920170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000009131c2528333f4a545c666d79828e8e8e8e8e8e8e8e8e8e8e8e8e8e8e837a6d6054473a2d21140700000000000000000000000000000000000b17222d3946525d6874818e9aa6b0bccdd6dfd2c5b9ac9f92877b6e61554b4034281c111d2935414b5565717e8b99a3afbbc7d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000916232f3c4956626f7c8992989fa6adb3b0a69e91857a6d60594f43392f34404b54606b75818e98a2aeb9b0aaa39f958a7d7164574a3e3124170b0000000000000000000000000000000000000000000c1925323f4c5865727f8b98a7b1bcced7ccc0b5ab9e938c7f746d6762605c545b5b5b5b5b5b57554f473e33281c10040000000000000000000000000000060e171f282f353d434b515860626a6e747b8084888c8f9299989a9c9ea1a9abb1b9c2bfb6aea8a9a29e9d9b9a989992908c8985827d78716d66605d554f443f383029211a110800000000000000000000000915222f3c4855626f7b8895aab4bfcad6e2d9ccc0b3a6998d8073665a4d402f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfdce0d3c7bbaea399877a6e6154473b2e21140800020f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c00000000000815222f3b4855626e7b8895abb5c0cbd7dbcec1b5a99d928d9299a3aeb4bcc3c9c7c0bbb9b6b3adaba9a7a6a5a5a6a7a8aaacafb5b6b8bcc3c7cbd1d4cec9c4bdb9b0a9a29f928d81786d675c53493f362c20170d0000000000000000000000000000000004111d2a3744505d6a7783909da9a9a9a9a9a9a9a9a9a9a9a9a9abb0b9c2cdd8cec3bab1acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9acafb6bec7d2cec3bab2acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f414a545c666d78818f949ea6b0b8c2cad4cfc6bdb4aaa29892857c6f6a5f574d453b322920170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000010a1317222d38424a545c676d79818181818181818181818181818181817e7265584b3f3225180c00000000000000000000000000000000030f1c28333f4a54616d7a86929facb8c2cddfd4c8bdb1a89b8f8275695e5343392e23180d18242f3a4754616d7a86929facb9c5d2d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000000000000000000000815222e3b4754606a75828f99a3afb9beb9ada1978e81746b60554b40343845515c66707d89939eaab3bebcb0a69d9083786c605346392d2013060000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd4c7bbafa4998f81756d605d5553504a4e4e4e4e4e4e4a48443e352c21160b0000000000000000000000000000070f182029313a40454f555d606a6f757b81868d9196989c9fa3aba7a9abadb3b8bcc2cbc8bfb9b4b3adabaaa8a6aba39f9c9997928e8a837e79726d676059504a423b332c231a1007000000000000000000000714212e3a4754616d7a8798a2aebac7d3e0dbcec2b5a89b8f827568554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1dedfd2c5b9ac9f9286796c605346392d20130600010e1a2734414d5a6774808d9aa7b3c0cddaded1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c0700000000000714212e3a4754616d7a8799a3afbbc7d4dacdc0b3a79a8d8087929fa2aab1babec5c9c8c6c2bebab8b5b4b3b2b2b3b4b5b6b9bbc0c3c4c8cdd3d2ccc8c4bdb9b2aca69f97928a80786d665c554b41382d241a0e050000000000000000000000000000000004111d2a3744505d6a7783909daab6b6b6b6b6b6b6b6b6b6b6b6b7bcc2cbd4ded5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7d0d9d5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f38424a545c666d78828f949fa6b0b8c2cbd4cfc6bcb4aaa29792857c6f695f574d443b322920160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000006111c262f38424b555d676d74757575757575757575757575757575726d62564a3d3124180b0000000000000000000000000000000006121f2b3844505b66727f8c98a2aebac7d3ded1c5b8aca095897d7063574d4230271d120713202d3946525e6876838f9ca9b6c2cdd4c8bdb1a8998c807366584e43372b1f1206000000000000000000000000000000000000000006131f2b37434e58626e7b87929faab4bfbeb3a99d93897d70675c51453c424d57606d7984919da5afbcc5b7ab9f948a7d70655b5044372b1f12050000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2c6b9ac9f93877b6e625b514b46443f4241414141413d3c38332c231a100500000000000000000000000000071019212a323b434b515960676d747c82878e92999ea0a8a9acafb5b4b6b8b9bec5c8cdd4d1cac4c5beb9b8b6b5b3b5afaca9a9a29f9b95908b847f79706b605c544d453d352c22190f060000000000000000000713202d3946525d687985929facb8c5d2dfddd0c4b7aa9d918477675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfded1c4b7ab9e918478665b5044382b1f120600000d192633404c5966737f8c99a6b2bfccd9dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000006131f2c3845515d677884919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000613202d394653606c7986929facb9c5d2d6cabdb0a3978a7d7e8a9298a0a7adb3b9bdc4c6c9cac6c5c2c1c0bfbebfc0c1c3c5c7cbd1d1d1cbc7c5c0bbb9b2aca8a19e948f857e736c665c544b43392f261b1208000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c3c3c3c3c3c3c3c3c3c3c4c7cdd4dde6ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c6c8ccd2d9e2ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3beb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f2f38424a545c666d79828f949fa6b0b9c2cbd4cec5bcb3a9a19791857b6e695e564d443a32281f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000a141d263039434b555d606768686868686868686868686868686865625b51453a2e221509000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d6cabeb4aa9d9184776b6054453b311e150b05111d2a36414c5665727f8b98a7b1bcc8d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000030f1b27323d47535f6a74818e98a2aebac4bbafa59e9184796d60584e4246535f69727f8c96a0acb7c1bbb0a69c9083766b6153493f33271b0f03000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcfc2b5a99c8f8276695f5345403a38342e3434343434302f2c28211a110800000000000000000000000000071019222b333c444c555d606b707980878f939a9fa3abacb2b6b9bbc0c1c3c5c6c9cfd4d8dfdcd5d0cfcac6c5c3c2c0c0bbb9b6b3adaba7a09d96918b847d736d665f574f473d342b21180e05000000000000000005111d2935414c566a7784909daab7c3d0dddfd2c6b9ac9f93867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4e0dccfc2b5a99c8f827669544a3f33281c0f0300000b1825313e4b5864717e8b97a4b1bed0dbe0d4c7bbafa499887b6e6255483b2f221508000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d000000000006121f2b3844505b667885919eabb8c4d1d7cbbeb1a4988b7e717e8691959fa2a9acb2b8b9bec1c3c5c7cbd1cacbcbcbcbcac9cfc9c5c4c2c0bbb9b6afaca8a19e96918a827b706c605b544a423931271d140a00000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cfcfcfcfcfcfcfcfcfcfd0d3d8d8dbdfe7dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfd2d4d8dddfe2e6e0d9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f323038424b545c676d79828f949fa7b1b9c3cbd5cec5bbb3a9a19791847b6e695e564c443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000020b151e273039434b51535b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120500000000000000000000000000000006121e2b37424e5764707d8a96a1acbcc6d0dbd3c6baaea2988b7f7265594f4433291f0c03010d1925303b4854616e7b87959fabb8c4d1d1c5b8aca096887c6f6255483c32261b0f0300000000000000000000000000000000000000000a15202b37434e58616e7b86929fa9b3bec0b9aca0968d80736a5f544a505a616e7b86929fa8b2bdc7b7ab9f94897d7063594f41382d22170b00000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ccbfb2a5998c7f7266574d42352f2b282328282828282423201c16100800000000000000000000000000050e19222b343c454d565e676d747d848d939a9fa4acaeb4b9bdc2c5c7cbd1cfd1ced1d2d5dae0dcd5d0cdccc9caccced1cbc7c5c3bebab8b1aca8a19e96918780786e6960594f463d332a20170d0300000000000000010d192430414e5b6874818e9ba7b4c1cedae0d4c7bbafa499887c6f6255493c2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97acb6c0ccd8e4d9cdc0b3a69a8d8073675a4d402d22170b000000091623303c4956636f7c8996aab4bfcad6e2d7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000915222f3c4855626f7b889aa4afbbc8d4e0d7cbbeb1a4988b7e7165584b3e3225180b0000000000030f1c28333f4a546a7784909daab7c3d0d9ccbfb2a6998c7f73717c838b92979ea1a8abadb3b4b7b9babfbdbdbebebfbebdbcbbbdb9b7b5b5afacaca49f9c96918b847d766e69615a504a423930271f150b0200000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacbcccfd4dae2e5e1ded6d1cecdcacacacacacacacacacacacacacacacacacacad2d3d6dbe1e5e1ded5d0cdcccacacacacacacacacacacabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32263039424b555d676d798290959fa7b1b9c3cbd5cdc5bbb3a9a19691847b6e685e564c433a31271e150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000030c151e2831394045474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f372d23180c010000000000000000000000000000000a14212e3a47535f6a76828f9ca8b2bdced8ded2c5b8ab9f92857a6d6054473d3321170d00000814202d3a46525e697683909da9b6c3ced4c8bdb2a8998c807366584e43372b1f12060000000000000000000000000000000000000000040f1a26313c46525e6973808d97a2adb9c4bdb2a89f92877c6f665b5055616c75828f98a2aebac3bdafa59c8f82766b6054473e2f261b110600000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c9bcafa396897c706356493d31241f1c171b1b1b1b1b171614100b0500000000000000000000000000030d17202b343d464e575f686e79818991969fa4acafb6babfc6c8ced2d2d0cac6c5c2c4c5c9ced6d1cac4c1bfbcbec0c2c5c6cad0cfcac6c3bcb8b2aca9a199938d837b706b60584e453c32291f150b0100000000000000081926323f4c5965727f8c98a5b2bfcedae3d7ccc0b5ab988b7f726553493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aa7b4c0d2dde3d7cbbfb4ab978a7e7164574b3e312418060000000814212e3b4754616e7a8798a2aebac7d3e0ddd2beb2a5988b7f7265584c3f32251909000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97acb6c0ccd8e3d7cbbfb4aa96897c706356493d3023160a0000000000000b17222d434f5c6976828f9ca9b5c2cfdacdc0b4a79a8d81746a6f787f858c91969a9ea1a9a7aaacaeb4b0b1b1b2b2b1b0afaeb2adaba8aba39f9c9a938f8a847e79706c615f5750443f382f271e150d030000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbebfc3c9d0d9e2dad2cbc5c2c0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdc5c6cad0d7e0dad1cac4c1c0bdbdbdbdbdbdbdbdbdbdbdbdb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225273039434b555d676d798390959fa7b1b9c3ccd5cdc4bbb2a8a09691837a6d685d554c433930271e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000030c161f282f35393a414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000006111b2935414b55626e7b88949fabbac4cee0d3c7bbb0a69a8d8074675d5145392c201305000005121e2a36424d5766727f8c99a7b1bcc8d4cec3b7aa9e9184776a5f53473b2e21150a0000000000000000000000000000000000000000000915202a36424d57606d7a85929ea8b2bdc3bbafa3999083786c60575d67707d8a949eaab4bfc0b5ab9e93897c6f62594f44352c1d140a0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc8bbaea295887b6f6255483c2f2215100b060e0e0e0e0a0907040000000000000000000000000000010b151f29333d464e5860696e7a838e939ea1a8afb6bbc0c7cbd1d4cec9c5c4bebab8b5b7b9bdc4ccc8bfb9b4b3afb1b3b5b8babfc5c6cacfcec8c4bdb9b2aba49f9590867d706a60574d443b31271d1207000000000000000a1623303d495663707d8996a8b2bdc9d5e1ddd2c2b5a89b8f8275655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d0dde0d3c7baaea399887b6f6255483c2f2215090000000613202d394653606c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4131251a0e020000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfd2dde0d3c7baaea398877b6e6154483b2e211508000000000000061b2835424e5b6875818e9ba8b4c1cedbcec2b5a89b8f827568666d727a7f848a8e9197989b9d9fa3aaa3a4a4a5a5a4a3a2a2a8a19e9c999992908c87827e79726d67615a534d453e332d261d150c03000000000000000000000000000000000000000004111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b3b7bec7d0dfd2c8c0b9b5b4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b8babec5ced7d1c8bfb9b4b3b0b0b0b0b0b0b0b0b0b0b0b0b0a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32251e273039434b555d676d7a839095a0a7b1bac3ccd5cdc4bab2a8a09590837a6d675d554b433930271e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000040d161d24292c2d3435353535353535353535353535353532312e29231b1209000000000000000000000000000000000b17222d3945515d6774808d9aa6b0bbccd6ddd0c3b7ab9f94887b6e62554b4135291d11040000020e1a25303b4855626e7b8895a0acb8c5d1d2c5b8aca096887c6f6255483c32261b0f030000000000000000000000000000000000000000030e1a25303b45525d68727f8c96a1acb9c3c0b5ab9f958b7f72695e606d7984919ea6b0bcc6bbafa4998f82756a6054473d32231a0b0200000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e21140800000101010100000000000000000000000000000000000007121d27313b454e58606a6f7b8490959da5acb2bbc0c7ccd2d1cbc7c4bdb9b7b3adaba8abacb2bac4bfb6aea8a6a2a4a6a8acaeb4b8b9bec5c9cecec9c4bdb5afa79f9892867c6f695f564d43392f23180c040000000000000714212e3a4754616d7a8796a1acb9c5d2deded1c5b8ab9e9285796c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000005121f2b3744505b657784919daab7c4d0dddbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000000000000000000000000000004111d2935414b556774818d9aa7b4c0cddadfd2c5b9ac9f9286796c605346392d2013060000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d0c3b6a99d9083766a5c60686d72787d8185888b8e909298959797989898989796959496918f8c8a86837f7b76716d66605c555046423b3328221c140b0300000000000000000000000000000000000000000004111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a7acb5becdd7cbc0b6aea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4abaeb3bcc5d0cabfb6aea8a6a4a4a4a4a4a4a4a4a4a4a4a4a4a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225151e273139434b555d686d7a839095a0a8b2bac4ccd6ccc4bab1a8a0959083796d675d554b423930261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000040c12181d2020282828282828282828282828282828282524221d18110900000000000000000000000000000000030f1b27333f4953606d7a85929fabb8c2ccded5c9bdb2a89c8f82766a5f53433a2f24180d010000000914212e3a47535f697784919daab7c4ced4c8bdb2a8998d807366584e43372b1f130600000000000000000000000000000000000000000009141f2935414c56606d7984919ea7b1bcc7bdb1a79f92867b6e616a73808d96a1acb8c1c0b5ab9f93877c6f62584e43352b2111080000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000050e18232f39434d57606a6f7c859196a0a7afb9bdc4ccd2d4cfc7c0bbb9b2acaaa9a29f9b9ea1a8b2bdb9aea49c999697999c9fa2aaabadb3b9bdc4cbd1d0c7c0bbb1aaa29892857b6e685e554b40342920150a0000000000000713202d3946525e687884919eabb7c4d2dddfd2c6b9ada197887c6f6255483c31261a0f01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464707d8a9aa4afbbc8d4e0dcd0c3b6a99d908376665c5144382c1f1206000000030f1b27333f49536875828e9ba8b5c1cedbded1c4b7ab9e918478695e53463a2d21140700000000000000000000000000000000000000000000000613202c3945515d677683909da9b6c3d0dcddd0c3b7aa9d908477665b5044382b1f12060000000000000c1926333f4c5966727f8c99a5b2bfccd8d1c4b7ab9e9184786b56565d60666d7074787c7e81848687888a8a8b8b8c8b8a898887868482807d7a76726e6964605c54514b433e3631292117110a020000000000000000000000000000000000000000000004111d2a3744505d6a77839097979797979797979797979797979797989ba3acbbc5cfc5b9aea49d9a979797979797979797979797979797979797979fa2aab3becac4b9aea49c999797979797979797979797979797978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322518151f28313a434c565d686d7a839096a0a8b2bac4ccd5ccc3bab1a79f959082796d675c544a42382f261b110600000000000000000000000000000000000000000000000000000000000000000000000606060606060606060606060606060606060606060b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0606060606060606060606060606060606060606060100000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000001070d1013141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120c06000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d3ded2c5b9aca1968a7d7064574e4231281d13070000000006121e2b37424d576673808c99a8b2bdc9d5cec3b7aa9e9184776a5f53473b2e21150a000000000000000000000000000000000001020203020d19242f3a45515c67717e8b95a0acb8c2c2baaea2988f82756c6e7c87929fa8b2bdc7bbafa3998e81756a5f53463d3223190f000303020100000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000020d17202934404b555e696f7c869297a0a8b1b9c0c9ced8cec8c2bdb5afaca8a09e9997928f9196a1acb9b4a89c928c898b8d8f92989a9ea2a9acb2bbbfc6cfd2ccc2bcb3aaa19791847a6e675c51453c31261b0f04000000000005111d2a36414c566774818e9aacb6c0ccd8e2d6cabeb3a9998c807366584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6674818e9bacb6c0ccd8e2d6cabfb4aa998c807366544a4034281c1004000000000b17222d3f4c5966727f8c99a5b2bfcedaded2c5b9aca196877b6e6154483b2e21150900000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d2dfdacec1b4a79b8e817468544a3f33281c0f030000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679685d5252545c6063656c6f727477797a7c7d7e7e7f7f7e7d7c7b7a79787573706d6766615e5753504a454039312a261f170f0600000000000000000000000000000000000000000000000004111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b919ba9b3becac2b5a99d928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9298a2aebac6c1b4a89c928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180d161f28313a434c565e686e7a849196a0a8b2bac4cdd5ccc3b9b1a79f948f82796d665c544a41382d2217130a010000000000000000000000000000000000000000000000000000000002070a0c0d121212121212121212121212121212121212121212121825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322518121212121212121212121212121212121212121212120d0d0b0703000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000010406070e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0905010000000000000000000000000000000000000613202d394653606c7884919daab4becad6d6cbbfb4aa9e9184786d6053463c3120160c0100000000020e1a26313c4955626f7c8896a1acb9c5d2d2c5b9aca096887c6f6255493c32271b0f030000000000000000000000000407090a0e0f0f101008131e2834404b55606c7883909da6b0bbc7bfb4aa9e948a7e7176828f99a3aebac4bfb4aa9f92877b6e61584e43342b20110610100f0f0e0a090704000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000009141f29333b45515c676e7b859198a1a9b2bac3cbd5d6ccc3bdb8b0aba39f9b96918c89858284919eabb7b3a6998c807c7e808285898d92979ea1a8aeb5bdc3cbd7cec5bcb3a9a1969083796d60584e43372b20150a0000000000010d1925303e4a5764717e8a9aa4afbbc8d4e0dacfc4b7aa9d9184776a5f5347392f23180c00000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d2dde0d3c6baaea298897c706356493d2e23180c0000000000061723303d4a5663707d8996a8b2bdc9d5e1d5c9bdb2a8978b7e7164584b3e31261a0e02000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3afbbc7d3e0d7cbc0b5ab988b7f7265584c3f2d22170b000000000000000a1724303d4a5763707d8a96a3b0bdc9d6d3c7baaea398877a6d6054474a5053535b60626568656c6d6f707171727271706f6f6e6d66696663605d5554534d46443f38342f271f1a140d0600000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e8b97a1adb9c6c0b4a79a8d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e85929fabb8c5c0b3a6998d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0d161f28313a444c565e686e7b849196a1a8b2bbc4cdd5cbc2b9b0a69f948f82786d665c53493f3327261c130a010000000000000000000000000000000000000000000000000000070e1317191a1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f25323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f32251f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e080100000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000010202020202020202020202020202020000000000000000000000000000000000000000000005121e2a36424d5763707d8996a0acbcc5d0dbd3c7baaea3988c7f72665c5044382b1f12040000000000000915212e3b47535f6a7884919eabb7c4cfd5c9bdb2a8998d807366584e43372b1f130600000000000000000000050b101416171b1b1c1c1d1d1e18232e3944505b66707d8a949fabb7c1c5bcb0a69e92857a7e8a949fabb5bfc7baaea3988e8174695f53463c31221c171e1d1d1c1b1b171613100b0500000000000000000000000000000916222f3c4955626f7c8895a9b3bec9cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000030c1a25303b45515b606d79839097a1aab3bbc4ccd5d0cac0bab2aca69f99928f89847f7c7976838f9ca9b6b2a5988b7f72717375797d80858b91969fa3abb1b9c2cbd4cec5bbb2a8a0958d80736a5f53473c32261b0f0100000000000814212e3a4754616d7a87939facb9c6d2dfded1c5b8aca095887b6f62554b4034291b110600000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8997a2adb9c6d2e4dfd2c5b8ac9f9285796d6053463a2d20130700000000000714212e3a4754616d7a8796a1acb9c5d2dedacec1b4a79b8e817468574d42372b1e120500000000000000000000000000000000000000000005111d2935414c566773808d9aabb5c0cbd7e0d4c7bbafa399897c6f6256493c2f231606000000000000000916222f3c4955626f7c8895a2afbbd0dbd7cbbfb4aa95887b6e6255483f44464950535558535b60616264646565656564636261605c54595754514b4846423b38342e29231d150d09030000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717885929eabb8c5c0b3a69a8d8073717171717171717171717171717171717176828f9ca9b6c2bfb2a5998c7f727171717171717171717171717171716e695e53463a2d21140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c040d161f28323a444c565e696e7b849196a1a9b2bbc5cdd4cbc2b8b0a69e948e81786d655b504440382e251c1309000000000000000000000000000000000000000000000000020a12191f2326272c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b02000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7dfd2c5b8ac9f92867a6d61544a3f34281c100300000000000006131f2b37434e586773808d9aa9b3bec9d5cec4b7aa9e9184776a6054473b2e22150a000000000000000000080f161c202223282829292a2a2b2b2328333f4a54616b76828f9ca5afbdc7c1b9ada1978e8185919ea6b0bdc6bfb4aa9f92867b6e61574d42342d2c28232b2a292928282322201c160f08000000000000000000000000000714202d3a4753606d7a8697a1adb9c6ccbfb3a6998c807366594d4033261a080000000000000000000000000000000000000000000a151e2a36424d57626d75818e959fa9b2bcc5cdd6cec6bfbaafa8a09d948f87827d78736f6d76838f9ca9b6b2a5988b7f726566676d7074797f848c9299a0a7b1b9c2cbd4cdc4bab1a79f92877c6f62584e43372b1e130800000000000713202d3946525e687783909daab6c3cdd9e0d4c8bcb1a7998d8073675c5145382d22170b0000000000000000000000000000000000000000000000000000000000000000000b13202c3945525d6874818e9ba9b3becad6e2d7cbc0b5ab9c8f8276675c5145382c1f130600000000000713202d3946525e687884919eabb7c4d1deded1c4b7ab9e918478695f53463a2d2114080000000000000000000000000000000000000000000713202d3946525d687783909daab6c3d1dcdfd2c5b9ac9f92867a6d6053473a2d201407000000000000000815212e3b4854616e7b8794aab3becad6dcd1bcafa396897c706356493d383a3f4446494b49505354555757585859585756555453514b4d4a4745413b3a36312c28231c18120b0300000000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646975828f9ca8b5c2c2b6a99c8f8376656464646464646464646464646464646673808d99a6b3c0c1b5a89b8e8275686464646464646464646464646464615e574d42362a1e120500111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00040d162029323b444d575e696e7b849197a1a9b3bbc5cdd4cac2b8b0a69e938e81776c605c524a40372e251b120900000000000000000000000000000000000000000000000a141c242a2f3233393939393939393939393939393939393939393939393939393e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f393939393939393939393939393939393939393939393939393433302b241c140b010000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd4c7bcb1a79b8e8174685e5242382e23170b00000000000000030f1b26323c4956636f7c8997a1adb9c6d2d2c5b9aca096887c6f6255493c32271b0f030000000000000008111a21272c2f3034353536363737382e34383a424f59626f7c89939eabb5c0c9beb3a99e938e9197a1adb8c2c6baaea2988d8073695e52453b3a3a38342e373736363534302f2c27211911080000000000000000000000000613202c3945515d677885919eabb8c4cec1b4a89b8e8175685b4e423025190e020000000000000000000000000000000000000006111c26303846525e69727f8b939ea7b1bbc4ced6ccc4bcb4aea59d96918a827c75706c65626976838f9ca9b6b2a5988b7f7265555c6063676d72787f8790959fa7b1b9c2cdd6ccc3bbaea3998f82756a5f54473a2f24190d010000000005111d2a36414c566673808d99a7b1bcc8d4e3d9cec3b8ab9e9285796d6053493f33271c12070000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7a86929facb8c5cfdbe0d4c7bbafa3998b7f7265554b4034281c1004000000000005111d2935414c566875818e9ba8b4c1ced9dfd2c5b9ada196887b6e6155483b3024190d0100000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfddd0c3b6aa9d908377675d5145392c1f1306000000000000000714202d3a4753606d7a8698a2aebac6d3d7cabdb1a4978a7e7164574b3e312d3337393c3f3f444647494a4b4b4c4c4b4a494847464540403d3a39352f2d2a251f1c17110c070100000000000000000000000000000000000000000000000000000000000004101c27333d474f5456575757575757575757575757575757596673808c99a6b3bfc5b8ab9f9285796c60575757575757575757575757575764707d8a97a8b2bdc4b7ab9e918478685e5757575757575757575757575754534d453b31251a0e0200111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000040e172029323b454d575f696e7b859197a1a9b3bbc5ced4cac1b8afa59e938e80746e645c524940372d241b120900000000000000000000000000000000000000000007121c262e353b3f4045454545454545454545454545454545454545454545454545454b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b4545454545454545454545454545454545454545454545454545403f3c362e261c12080000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d99a4afbbc7d4ddd1c4b8ab9f95887c6f62564c4130261c110600000000000000000a13202d394653606c7985919eabb8c4d0d5c9bdb2a8998d807366584e43372b1f1306000000000000050f1a232b33383c3d414242434344444445404546474754606a75818e99a3afbbc6c5bbafa59e9b9ea1a9b3becabeb3a99f92867a6d61574d48484746443f454443434242413d3c38332b23190f05000000000000000000000004111d2935404b55697683909ca9b6c3cfc3b6a99d9083766a564c41362a1e1105000000000000000000000000000000000000000c17232e38424f59616e7b86929fa5afb9c3cdd5ccc4bab2aaa29f928e847d766f6a63605b536976838f9ca9b6b2a5988b7f7265585153555d60666d737c8390959fa7b1bbc5cfd7cbbfb5ab9e94887c6f62564c4135291d110400000000010d1925303b4855626e7b8895a0acb8c7d2dddfd2c6b9ada1978b7e71655b5044392e23180c020000000000000000000000000000000000000000000000000000000000000c18232e3844505b66727f8c98a2aebac7d7e1dfd2c5b9ac9f92867a6e6154473b2e23180c000000000000010d1925303e4b5865717e8b98a8b1bdc8d4e1d5c9bdb2a8988b7e7165564c4135291d11050000000000000000000000000000000000000004101d2935404b5564707d8a99a4afbbc7d4e0d6cabfb4aa998d807366554b4035291d10040000000000000006131f2c3845515c677885929fabb8c5d2d8cbbfb2a5988c7f7265594c3f3222272b2d2f2d3337393a3c3d3e3e3f3f3e3d3c3c3b3a38342e302d2c2924211e1a14100c06000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5763707d8a96a8b2bdc6baada297887b6e61554a4a4a4a4a4a4a4a4a4a4a4a54616e7a8796a1adb9c5b9ada196877a6e61544a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000050e172029333b454d575f696e7c859297a1a9b3bcc5ced3cac1b7afa59d928d80746e635b51493f362d241b120800000000000000000000000000000000000000020e19242e3840474b4d5252525252525252525252525252525252525252525252525252525865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265585252525252525252525252525252525252525252525252525252524d4c4740382e24190e0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5c0ccd7d5c9beb3a99d9083766a6054443a301e140a00000000000000000006121f2b3844505b6674818e9aa9b3becad6cec4b7ab9e9184786a6054473b2e22150a0000000000000b16212b353d44484a4e4e4f4f50505151524b515354545558616e7b87929faab4bfcac1b7afaaa8abadb3bbc4c6baada2978c8073685e565555545453504a515150504f4e4e4a48443d352b21160b0000000000000000000000010d18242f414e5b6774818e9aa7b4c1cdc5b8ab9f928578685e5246392d20140700000000000000000000000000000000000003101c28343f4a54606b75818e98a2aeb7c1cbd4ccc4bab2a8a198928a8179706b625f5853505c6976838f9ca9b6b2a5988b7f7265584c464b51545c606a6f7a8390959fa9b3becad6d1c6bdb0a69b8e8175685d5245392c20130600000000000814212e3a47535f6a7783909dabb5c0ccd7e2d6cabeb3a99d9083786c60544a4034281f1409000000000000000000000000000000000000000000000000000000000006101c2834404b54606c7884919eaab4bfcad6e2d6cabfb4aa9c8f8276685e5246392d1d1207000000000000000815212e3b4854616e7b8795a0acb8c5d1dedacfc2b5a89b8f8275685d5246392d20160b0000000000000000000000000000000000000006131f2c3945515d6774818e9babb5c0ccd7e0d3c7baaea298897d706356493d2f24180c000000000000000004101c2934404b556b7784919eaab7c4d1d9cdc0b3a69a8d8073675a4d4034271b1f202222272b2d2e2f31313232323231302f2e2d2c28232421201d1814120e0903000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e4754616d7a8796a0acb9c5beb3a9978a7e7164574b3e3e3e3e3e3e3e3e3e3e46525e697884919eabb8c4bdb2a8978a7d7064574a3e3e3e3e3e3e3e3e3e3e3e3b3a36312921170d030000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000050e172029333b454d575f6a6f7c859297a2aab3bcc5ced3c9c1b7afa59d928c80736d635b51483f362d241a110800000000000000000000000000000000000007131f2a35404a52575a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f65717e8b98a4b1becbd7e4d8cbbeb1a5988b7e72655f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5965717e8b97a2adbdc7d2ddd2c6b9ada1978a7e7164584e4332281e0c02000000000000000000030f1c28333f4a5463707d8997a2adbac6d3d2c5b9aca196887c6f6255493d32271b0f000000000004101c27333d474f54565b5b5c5c5d5d5e5e5e5f5c6060616162626974808d98a2aebac6c9c1bab6b5b8b9bec4cdc5b8ab9f92857a6d64636362626160605c5f5e5e5d5c5c5b5b56544f473d33271c10040000000000000000000000071926333f4c5966727f8c99a5b2bfd2c6baaea298877a6e6154473b2e21140800000000000000000000000000000000000006121f2c3844505c66707d89939eaab4bfc9d3cdc4bab2a8a19691867e746d676159534e46505c6976838f9ca9b6b2a5988b7f7265584c3f40454a50585f686d7a839097a2adb9c2cdd8cfc1b9ac9f92867a6d6054473a2d22170b000000000006121f2b37434e5865727f8c99a4afbbc7d4e0dacfc5b8aca0958a7e71665c51443b3025191007000000000000000000000000000000000000000000000000000000060f1a242c3845515c66717e8b96a0acbcc6d0dbe0d3c6baaea2988a7e7164564c41362a1e0b00000000000000000714202d3a46525e697784919daab7c4cfdadfd2c5b9ac9f92867a6d6154473d32271b0b020000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dddfd2c5b8ac9f9286796d6053463a2d2013070000000000000000000c18232f43505d697683909ca9b6c3cfdbcec1b4a89b8e8175685b4e4235281b121316171b1f20212224242525262524232221201f1c18171413110d07050200000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f30313131313131313131313131313946525e687784919eaab7c4c0b3a69a8d80736753493f333131313131313136424d566875828f9ba8b5c2bfb3a6998c80736653493f333131313131313131312e2d2a251f170f05000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000050e172129333c454e575f6a6f7c859298a2aab4bcc6ced2c9c0b7aea49c928c7f726d625a50483e362c231a110800000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c717e8b98a4b1becbd7e4d8cbbeb1a5988b7e726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b15222f3b4854606b7783909da9b3bed0d9d7cbc0b5ab9e9285796d6053463c3220160c00000000000000000000000b17222d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d807367584e43372b1b1106000000000714202c38444f59606367686869696a6a6b6b6c666d6d6e6e6f6f70707a85929facb8c5d2ccc6c3c1c4c6c9cfccbfb2a5998c7f72717170706f6e6e6d6d666b6b6a6a696968676360594f44382c20130700000000000000000000000a1724313d4a5764707d8a97abb5c0cccabeb3aa96897c706356493d3023160a0000000000000000000000000000000000000713202d3a4653606d7883909da5afbcc6d0cfc5bbb2a8a09691847c716c605c554f474343505c6976838f9ca9b6b2a5988b7f7265584c3f35383f444e565d686d7a85929ea6b0bbc7d3d3c7baaea3988b7e7165544a3f33281c0f0300000000020f1a26313c4754616e7b87939facb9c2cdd8e1d4c8bcb1a79e9184796d60564d42362a22190e0500000000000000000000000000000000000000000000000000040d18212a36414c56606d7984919ea8b2bdced8e2d7ccc0b5ab9f92867a6d6053473b3025190d000000000000000005121e2a36424d576774808d9aa8b2bdc9d5e0d3c7baaea3998b7e7265594f44382c1d140a000000000000000000000000000000000008131f2b37434e5864717e8a98a2aebac6d3e3d7cbbfb5ab9c8f8276675c5145382c1f1306000000000000000000071c2935424f5c6875828f9ba8b5c2cedbcfc2b6a99c8f8376695c50432e23180c06060b0f12131416171818191918171615141313100c070706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242a36414c566875818e9ba8b5c1c2b6a99c8f8376655b5044372b242424242425303f4c5966727f8c99acb6c0c2b5a99c8f8276655b5044372b242424242424242421211e1a140d0500000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000050f17212a333c454e585f6a6f7c869298a2aab4bcc6cfd2c9c0b6aea49c918b7f726d625a50483e352c23191007000000000000000000000000000000000c1926323f4b57636e737878787878787878787878787878787878787878787878787878787878787e8b98a4b1becbd7e4d8cbbeb1a5988b7e787878787878787878787878787878787878787878787878787878787878736e64584c3f3326190d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57636f7c8995a0acbbc5cfe0d3c7bbafa3998c8073665c5145382c1f1305000000000000000000000006121f2c3844515c6675818e9baab4bfcad6cec4b7ab9e9184786a605447382d22170b000000000916222f3c4854606b707475757676777777787879797a7a7b7b7c7c7d7e828f9ca9b6c2cfd7d2cfced1d2d5daccbfb3a6998c807f7e7d7d7c7c7b7b7a79797878777676757574706b6054483c2f22160900000000000000000000000915222f3c4855626f7b8899a4afbbc7d0beb1a5988b7e7265584b3f32251807000000000000000000000000000000000006131f2b37434e5864717e8b95a0acb7c1ced1c7bdb3a9a09691847b6e6a615a514b433e3743505c6976838f9ca9b6b2a5988b7f7265584c3f322e343c434c565e68717e8b949fabb7c5d0d7cbbfb4aa9b8f8275665b5044382b1f120600000000000a15202d3a46525e6975828f9ba7b1bcc7d3dfd9cec3b9aca0968b7f72695e52463f342b20170d040000000000000000000000000000000000000000000000030d16202a333c46525e68727f8b96a1acbac3cee0e0d4c7bbafa4998e8174675d514539291e14080000000000000000020e1a25303d495663707d8996a1adb9c5d2dfd7cbbfb4ab9d9083776b6054483d2f261b1106000000000000000000000000000000050e1a242e3b4754606a7683909caab4bfcad6e0d3c7bbaea3998b7e7265554b4034281c10040000000000000000010e1b2734414e5a6774818d9aa7b4c0cddad0c3b7aa9d9084776a544b4034281c1004000003050607090a0b0b0c0c0b0a0909080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013161617171717171717171717171925303f4c5965727f8c98abb5c0c5b8ab9f9285796c605346392d201717171723303d495663707c899aa4afbbc5b8ab9f9285796c605346392d20171717171717171514120e09030000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f18212a333c464e58606a6f7d869298a2aab4bcc6cfd2c8bfb6ada39b918b7f716c615a50473e352b231910070000000000000000000000000000000d1a2733404d5a66738085858585858585858585858585858585858585858585858585858585858586929facb8c5d2dfebdfd2c5b8ac9f92868585858585858585858585858585858585858585858585858585858585858073675a4d4034271a0d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a46525e6975828e9ba7b1bccdd7dfd2c5b9ac9f92867b6e61544b4034281c1004000000000000000000000004101c2834404a5464707d8a98a2aebac7d3d2c5b9aca196897c6f6253493f33271b0f030000000a1723303d4a5663707d8181828283838484858586868787888889898a8a8f949fabb7c4d0dddedcdbdedfe1dacdc1b4a89c928c8b8b8a8a8988888787868685848483838281817d7063564a3d3023170a00000000000000000000000714202d3a4753606d7a86939facb9c6cdc0b3a79a8d8074675a4d412f24180d01000000000000000000000000000000000815222e3b4754606a7683909da7b1bcc9d7cbc0b5aba19791847b6e695f5850454039313643505c6976838f9ca9b6b2a5988b7f7265584c3f322328313a434c56626c76828f9caab4becad6d1c5b8ab9f9285796c605346392d201306000000000005111e2a36424d56636f7c89959fabb7c3ced9dfd4c8bdb2a89f92857b6e615a50463c32291f160e05000000000000000000000000000000000000000000040d151f28323c46505a616e7a85929fa8b2bdccd5e0d9d0c6b9ac9f93877b6e62554b4035291d11040000000000000000000913202d394653606c7884919eabb8c3ced9dcd1c6b8ab9f95897d7063584e41382d22170b0200000000000000000000000000020b17202b37434e58626f7c89949fabbcc5d0dbdfd2c5b9ac9f92867a6d6154473a2e23180c000000000000000000000d1a2633404d596673808c99a6b3bfccd9d1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b081623303c4956636f7c8999a3afbbc6baaea298887b6e6155483b2e2215060b14212d3a4754606d7a86939facb9c6baada297887b6e6255483b2f2215070b0b0b0b0b0807050200000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000060f18212a343c464e58606a6f7d869298a3aab4bdc6cfd1c8bfb5ada39f93877e716c61594f473d352b2219100600000000000000000000000000000e1a2734414d5a6774808d92929292929292929292929292929292929292929292929292929292929298a2aebac7d3e0ece0d3c7baaea2989292929292929292929292929292929292929292929292929292929292928d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cedfd4c8bcb1a79b8e8275695e5242392e23180c000000000000000000000000000c18232e3a4753606d7986929facb8c5d1d5c9bdb2a89a8d8073655b5044372b1f12060000000d192633404c5966737f8c8e8f8f909091919192929993949495959696979c9fa6b0bbc7d3dfebe8e8ebebe9ddd0c4b9aea49c999898979696959594939992929191908f8f8e8c7f7266594c3f3326190c000000000000000000000006131f2c3845515c677884919eabb7c4cfc2b5a99c8f827669554b4035291d110400000000000000000000000000000004111d2935414c56626f7c88959fabb9c3cecec6bbafa39992857b6e695f574e463e342f273643505c6976838f9ca9b6b2a5988b7f7265584c3f32251f28313a44505a64717e8a98a2aebac6d3d3c6baada297887c6f6255493c2f2216090000000000020e1925303b4854606b7683909da7b1bcc8d4e1d9cec3baada2978f82756c62584e443b312820170e0600000000000000000000000000000000000000060d161f27313a444e58616c75828f97a2adbac4cededdd2c7beb0a69b8f8275695f53433a2f24180d0100000000000000000006121f2b3844505b6673808d9aa7b1bcc8d4e1d4c8bcb1a79c8f82766a6053493f33271d140a000000000000000000000000000a141d29323b47535f6a75828e9ba6b0bbced7e2d6cabeb4aa9c8f8275685e5246392d1d1207000000000000000000000c1825323f4b5865727e8b98a5b1becbd8d2c6b9ada29786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5beb3aa978a7e7164574b3e2d22170b0613202c3945515d677784919daab7c4beb3a9978a7e7164574b3e2e23180c00000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000060f18222a343d464e58606b707d869298a3abb5bdc7cfd1c7bfbbafa49992877e716b61594f473d342b22180f06000000000000000000000000000e1a2734414d5a6774808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa2aab4bfcad6e2efe2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3afbbc7d3ded1c5b8aca095897c7063574d4230271d12070000000000000000000000000007131f2c3945515d6775828f9babb5bfcbd7cec4b7ab9e9184786c605346392d22170b0000000d192633404c5966737f8c999b9c9c9d9d9e9e9f9fa3a0a1a1a2a2a3a3a4a9abb0b8c2cdd8e4eff5f4f7f8ede1d5cabfb6aea8a6a5a4a4a3a3a2a1a1aba39f9e9e9d9d9c9c998c7f7266594c3f3326190c000000000000000000000004101c2934404b556976828f9ca9b5c2cfc4b7ab9e918478675d5145392c2013060000000000000000000000000000000613202c3945525d6874818e9aa7b1bcc4ccc6bcb0a69f92877d70695e574d453c332923293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225161f29323e4753606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e3125180b00000000000009141f2c38434f5964707d8a95a0acb8c1cfd8e0d6cabeb3a99e948b7e716a60564c433a32292017110a02000000000000000000000000000000030910181f283139434c565f6a717e8a939ea9b3beccd6e0d8ccc0b6ac9f94897c6f63574d4231281d130700000000000000000000030f1c28333f4a54626f7c8895a0acb8c4cfdad8cdc3b7aa9f94897c6f655b50443b2f261c1107010000000000000000000007111b262f3b44505a626f7c87939facb9c2cddfdfd3c6baaea2988a7e7164564c41362a1d0b00000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7d6cabeb3a994877b6e6154483b2e211508060606060606060606060606060606060606060606060606060606060606060606060606060606040402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677783909daab7c3c0b3a69a8d80736753493f33271b0f04111d2935414c556874818e9ba7b4c1c0b3a79a8d807467544b4034281c1004000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000061018222b343d464f59606b707d869299a3abb5bdc7d0d7ccc0b5aba39992877d706b60594f463d342a21180f060000000000000000000000000e1a2734414d5a6774808d9aa7abababababababababababababababababababababababababababacaeb4bcc6d0dbe7f3e7dbd0c6bcb4aeacabababababababababababababababababababababababababababa79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb5c0cbd7d6cabeb3a99d9083776b6054453b301e150b000000000000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d2c5b9ada196897c6f6253493f33271b0f0300000d192633404c5966737f8c99a6a9a9aaaaaaababacafb5adaeaeafafb0b0b6b7bbc2cad4dee9f4fffffffdf2e6dcd1c8bfb9b4b3b2b1b0b0afafaeaeb4aeacababaaa9a9a5998c7f7266594c3f3326190c0000000000000000000000000c18232f414e5a6774818d9aa7b4c0cdc5b9ada196867a6d6053473a2d2014070000000000000000000000000000000714212d3a4754606d7a85929fa4adb2bac1bfb4aa9e948c7f726b60574d453b332a2118293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251917202c3945515d6775828f9ba8b5c2cedbd0bfb3a6998c807366594d4033261a0d000000000000020f1b27323d4653606c7884919da6b0bdc6d1dcdbd0c5bbb0a69f92867c6f685e564c443b3228221c140b0a04010000000000000000000004090e151a222a313a434b555d686e7c86929fa5afbbc5d0deddd4c8bbafa49a9083766b6054453c311f160c0100000000000000000000000b17222d3847535f6a7783909da9b3bec9d5dfd3c7bbb0a69d9083786c60564d42382d2218120b0300000000000000030b1218222d38414c56616c76828f99a4afbbc7d4e0d7cbc0b5ab9f9285796d6053473a3025190d00000000000000000000000a1623303d495663707c8996a3afbcd1dcdbcfbcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121211100e0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aa7b4c1c2b6a99c8f8376655b5044372b1f12050d19242f3f4b5865727e8b98aab4bfc3b6a99d908376665c5145382c1f1306000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000071019222b343d474f59606b707d879299a3abb5bdc7d0d2c7bdb5aba39992867d706b60584e463c332a21180f0500000000000000000000000e1a2734414d5a6774808d9aa7b3b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8babfc6ced8e2edf8ede2d8cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc7d1cecec6baada2978b7e7265594f4433291f0c030000000000000000000000000000000c18242f3a4754606d7a86929facb9c5d2cec9bdb2a89a8d8073655b5044372b1f120600000d192633404c5966737f8c99a6b2b6b6b7b7b8b8b9bbc0babbbbbcbcbdbdc2c4c7cdd4dce6f0fbfffffffff8ede3dad1cac4c1bfbebebdbdbcbbbbbabfbab9b8b7b7b6b2a5998c7f7266594c3f3326190c000000000000000000000000071926323f4c5965727f8c98a5b2bfcbc9bdb2a895887c6f6255493c2f2216090000000000000000000000000000000815222e3b4855616e7b848d929ea1a8afb9baaea3988f82756d62594f453b332921181d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519101d2935404b556773808d9aa6b3c0cdd9cec1b4a89b8e8175685b4e4235281b0f000000000000000a161f2b3744505b65707d8a949eabb5bfcbd7e1d7cdc1baaea29891847a6e685d564c443d332d261d1b15110d0707050100010507070c10151a20262b343c434c555d676d7a849198a2aeb7c1cdd7e0d6cabfb4aa9f93877c6f62594f43332a1f0d0400000000000000000000000006111c2b37434e5865717e8b97a1adb9c6d0dbd8ccc2b8ab9f958b7e71695e544a3f3329231d150d0a06040104060a0c151c2328333f49535e68717e8a949fabb5c0ccd7e0d3c7bbafa3998d8073675d514539281e130800000000000000000000000815222f3b4855626e7b8895abb5bfcbd7d6cabdb0a3978a7d7064574a3d31241f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1d1b17110b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3e4b5865717e8b98aab4bfc5b8ab9f9285796c605346392d2013060816222f3c4955626f7c8898a3aebac5b9ac9f9286796d6053463a2d201307000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000071019222b353d474f59616b707e879299a3abb5bec7d2d0c7bdb5aba39892867d6f6a60584e453c332a21170e05000000000000000000000e1a2734414d5a6774808d9aa7b3c0c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cad0d8e0eae3e3e3eae0d8d0cac7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7683909da9b3bec1c1c1c1c0b6ac9f9285796d6053473d3220170d000000000000000000000000000000000713202c3945525d6876828f9cabb5c0c1c1c1c1b7ab9e9184786c605346392d22170b00000d192633404c5966737f8c99a6b2bfc2c2c3c4c4c5c5c7cbd0c7c8c9c9cacfd0d3d8dee6eef8fffffffffffdf3eae1dad3cecbcac8c7d1cbc7c5c5c4c4c3c3c2c2c1bfb2a5998c7f7266594c3f3326190c0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfcfbdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000714212d3a46535f696e79808991969da5adb2a89f92867b6e615b51473d332921170f1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c18242f3f4c5965727f8c98a5b2bfcbd8cfc2b5a99c8f8276695c4f4336291c1000000000000000030f1b27333f4953616b75828f99a3aebbc3cfd8dfd6cabfb4aaa19690837a6d685e564f443f382f2b26201d181413110d080d111314181d1f262b31373e464e565d676d79828f96a0aab4bec9d3dfd7cec5baaea2988e81746a6054463d3221180e00000000000000000000000000000f1b26323c4653606d7985919eaab4bfcad6ded4c7bcb1a79e92857b6e665b50443f342f271f1b1413110d1013131b1e272e343f44505b656e7a85929ea6b0bdc7d2ddd8cec5b9ac9f92867b6e61554b4035291d100400000000000000000000000714212e3a4754616d7a8799a3aebbc7d3d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27221d160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6baaea298887b6e6155483b2e2215060713202d3a4653606d7986929facb9c5baaea398887c6f6255493c2f221608000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000071019232b353d474f59616c717e879299a4acb6c0ccd8cfc6bdb4aaa29892867c6f6a5f574e453b332920170e050000000000000000000e1a2734414d5a6774808d9aa7b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d6dbd6d6d6d6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfd6d2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c89959fabb4b4b4b4b4b4b4afa49a8d8074675d5145392c2013050000000000000000000000000000000004111d2935414c5665727e8b99a4afb4b4b4b4b4b4ada196897c6f6353493f33271b0f03000d192633404c5966737f8c99a6b2b5b5b6b6b7b7b8b8babfbabbbbbcbcbdc2c4c7cdd4dce6f0fbfffffffff6ebe1d8cfc8c2bebdbbbbbabfbab9b8b8b7b7b6b6b5b5b4b2a5998c7f7266594c3f3326190c0000000000000000000000000915222f3c4855626f7b8895a9b3becaccbfb2a6998c7f7366594c403326190700000000000000000000000000000005121e2a36424d575f676d747d848e939ea1a9a1968c7f73695f53493f352b21170f101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519071825313e4b5864717e8b97a4b1becad7cfc3b6a99c908376695d5043362a1d1000000000000000000b17222d38414f59626e7b87929fa8b2bdc6d1dcdbd0c6bcb2a89f9590837a6e686059504a423d37322c292421201e191d191e202124292c31373c424750585f686d79828f949fa8b2bcc5d0dbdbd0c5bcb1a79f92867b6e61584e43342b210f0600000000000000000000000000000a151f2c3845515c67737f8c98a2aebac4cfdad8cdc2b9ada1978f82786c605b51454039312c2720201d181c1f20272b30394044515b606c77828f97a1adb8c2d0d9dcd0c6bcafa59b8e8175695e5343392f24180c0000000000000000000000000613202d394653606c7986929facb9c5d2d9ccbfb2a6998c7f7366594c40393939393939393939393939393939393939393939393939393939393939393939393939393939393939393736332e2720170e040000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5beb3aa978a7e7164574b3e2d22170b06131f2c3845515c667683909da9b6c3bfb4aa988b7e7265584b3f2f24190d010000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000071119232c353e47505a616c717e87939aa4afbbbfc7d1cfc6bcb4aaa29892857c6f6a5f574d453b322920160d0400000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3c9c9c9c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874818e9ba7a8a8a8a8a8a8a8a8a89f93877b6e61554b4035291d100400000000000000000000000000000000010d19242f3b4754616e7a86939fa8a8a8a8a8a8a8a8a89a8d8074655b5044372b1f1205000d192633404c5966737f8c99a6a7a8a8a9a9aaababacaeb4adaeafafb0b0b6b7bbc2cad4dee9f4fffffffbf0e4dacfc6bdb7b2b0aeaeadb4aeacababaaaaa9a9a8a8a7a7a5998c7f7266594c3f3326190c0000000000000000000000000714212d3a4754606d7a8797a2adbac6cec1b4a79b8e8174685b4e412f24180c000000000000000000000000000000020e1a26313b454d555d606b707a818a91979e9e9184796d60574d42372d23190f05101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c1926323f4c5965727f8c98a5b2bfcbd8d0c3b6aa9d9083776a5d5044372a1d11000000000000000006111b262f3e47535f6a73808d96a0abb5bfcbd7ddd8cec4bab1a79f9590837a6f6b605b544e47433c39352f2e2d2a252a252a2d2e2f35383c42474e535a616a6f7a828f949fa6b0bac3ced7ddd6cabfb4aa9f958c7f72685e52463d3222190f00000000000000000000000000000004101c2834404b55616d7a86929fa8b2bdc9d5e0d5c9beb3a99f948d80736d635b514b433d38322d2c2924282c2d32373d424a515b626d73808c949fa9b3becad4e2d6cbbfb4aa9e93887c6f62574d4231271d120700000000000000000000000005121f2b3744505b657885919eabb8c4d1dacdc0b4a79a8d8174675a4e454545454545454545454545454545454545454545454545454545454545454545454545454545454545454544433f39322920160b00000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3c0b3a69a8d80736753493f33271b0f04101c2834404b546774808d9aa7b3c0c1b4a79b8e817468554c4135291d11040000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d6d6cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000007111a232c353e48505a616c717e88939fa3adb5bfc8d1cfc6bcb3aaa29792857c6e695f574d443b322820160d04000000000000000e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6bdbdbdbdbdb8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929b9b9b9b9b9b9b9b9b9b9b9b8f8276695f5343392f24180d0100000000000000000000000000000000000814202d3946525e687683909b9b9b9b9b9b9b9b9b9b9b9184786c605346392d201306000d192633404c5966737f8c999a9a9b9c9c9d9d9e9e9fa3aaa1a1a2a2a3a4a9abb0b8c2cdd8e4eff4f4f8f9eadfd3c8bdb4aca6a4a2a1a1a0a39f9f9e9e9d9d9c9c9b9b9a9a998c7f7266594c3f3326190c0000000000000000000000000613202c3945515d677885929fabb8c5cfc3b6a99c90837669554b4035291d100400000000000000000000000000000009141f2a333b434b515960686d747d858e93988b7f72675c51453b31251b110700101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190f1b27333f49536673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d100000000000000000000a141d2b37424e57606d79849199a3aebbc2cbd5dfd6ccc2b9b1a79f9590847d726c666058534e4745413d3a393630373036393a3d4045474d53575f626c717c848f949fa6b0b8c2ccd5ded4cbc2baaea2989083786d60564d41342b201007000000000000000000000000000000000c18232e3946525e6873808c96a1adb9c2ced7dacfc5bbb0a69c928c7f726d605c554f48433d3a39352f34383a3c43474f545c606d727f8b929ca6b0bbc5cfdcd9d0c7baaea3988e81756a5f53453b311f150b01000000000000000000000000030f1b27333f49536a7783909daab6c3d0dbcec2b5a89b8f8275685c525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252514f4a443b32271d1106000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0c2b6a99c8f8376655b5044372b1f12050c18232e3e4b5764717e8a97a9b3bec4b7aa9d918477675d5145392c2013060000000000000000000000000000111e2b3744515e6a7784919daab7c4c9c9c9c9beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000008111a232c363e48505a626c727f8b919ba3adb6bfc8c9cec5bcb3a9a19791847b6e695e564c443a32281f160c010000000000000e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b0b0b0b0b0b0b0ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c8e8e8e8e8e8e8e8e8e8e8e8e8e8a7d7063574d4231281d120700000000000000000000000000000000000005111e2a36414c5665727f8c8e8e8e8e8e8e8e8e8e8e8e8e897c6f6356493c30231609000d192633404c5966737f8c8d8d8e8e8f8f909191929298939494959696979c9fa6b0bbc7d3dfeae8e7ecece6dacec2b7aca29a9795949493999292919190908f8f8e8e8d8d8c8c7f7266594c3f3326190c00000000000000000000000004111d2935414c556a7783909daab6c3d0c4b8ab9e918578675d5145382c1f1306000000000000000000000000000000030e18212a313940454f565d606c707a818a92857a6d60554b4033291f13090003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519121f2b3744505b6575818e9ba8b4c1cedbcec2b5a89b8f8275685c4f4235291c0f000000000000000000020b1a26313c45515d676f7c87929fa6b0b9c3cdd6ded4cbc2b9b1a7a09691877f786f6a625f5854514b4a4746414443444146474a4b5153575f616a6e767e8691969fa6b0b8c2cad4ded5ccc2b9afa59f92867b6e665c50443b3022190f000000000000000000000000000000000007121d2935414c56606d7984919ea7b1bcc6d0dbd7cdc2b8aea49c918c7f746d676059544e4947454043404546494e545960666d747f88939fa4aeb8c2cdd6ddd2c7beb2a99f92867b6e61584e4333291f0d0300000000000000000000000000000b17222d434f5c6976828f9ca9b5c2cfdcd0c3b6a99d9083766a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5b554d44392e22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3e4a5764717d8a97a9b3bec5b8ab9f9285796c605346392d2013060715222f3b4855626e7b8897a2adbac6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000111e2b3744515e6a7784919daab7bdbdbdbdbdbdb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008111a242c363e48505a626d727f8b919ca3adb6bdbdbdbdbdbbb3a9a19691847b6e685e564c443a31281d13070000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8174675a4e4134271b0e00101d2a3643505d697683909ca3a3a3a3a3a3a3a3a39f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a677380818181818181818181818181818181786c6053463c3120160c01000000000000000000000000000000000000020e1925303b4854616e7b81818181818181818181818181817e7164574a3e3124170b000916232f3c4956626f7c7f8080818282838384848585868787888889898a8f949fabb7c4d0dddedbdadfe0e3d7cbbeb2a69a908a8888878786868585848483838282818180807f7c6f6256493c2f231609000000000000000000000000010d19242f424f5b6875828e9ba8b5c1cec6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000060f181f282f353d434c525a61686d757e858074675d5143392f21170d010003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251919202d394653606c7885929eabb8c5d1dacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000915202935404b555f6a727f8c949fa7b1bbc4ced7ddd4cbc3b9b1a9a199928c837c756f6a64605d555654524c5150514c525456555d6064696e747b828b9298a0a8b0b8c2cad4dcd6cdc3bab1a79e938b7e71695f544a3f32291f10070000000000000000000000000000000000000d1925303a45515d67717e8a959faab4bfcad6ded4cac0b6ada39b918c8179706b6260585653514b504b5153565860626b6f78818b939aa4afb6bfcad4dfd8ccc0b6aca1968c8073695e53463c3221170d000000000000000000000000000000061b2835414e5b6874818e9ba7b4c1cedad1c4b7ab9e9184786c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000615212e3b4854616e7b8797a1adb9c6baaea298887b6e6255483b2f2215060613202d394653606c7985929fabb8c5bbafa49a897c706356493d302316090000000000000000000000000000111e2b3744515e6a7784919daab0b0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00000000000000000000000000000000000008121a242d363f48515b626d727f8c919ca4aeb0b0b0b0b0b0b0b2a9a19691847a6e685e564c433a2f24180d0100000000000e1a2734414d5a6774808d9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968d8174675a4e4134271b0e00101d2a3643505d6976839096969696969696969696969285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737575757575757575757575757575746c665b5044382b1f120400000000000000000000000000000000000000000814212d3a46535e696e7575757575757575757575757575716c6155493c3023170a000815222e3b4754606a6f727374747575767677787879797a7a7b7c7c7d7e828f9ca9b6c2cfd6d2cfcdd2d3d7dccabdb0a4978a7e7b7b7a7a7979787877777676757574747373726f6a6054473b2e22150800000000000000000000000000081a2734404d5a6773808d9aa6b3c0cdc8bbafa49a887b6e6255483b2f2215080000000000000000000000000000000000060d161d2429313a414550565e616c717a7b6e61554c4131271d0f06000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251a232a36424d57626f7c8997a1adb9c6d2d9ccbfb3a6998c807366594d4033261a0d00000000000000000000030d18242f39434e58606c77828f95a0a9b2bcc5ced6ddd4cbc3bbb2aba39f959087817c76716d676563615e565d5d5d565e616365676d70757b81868f949fa2aab2bac2cad4dcd6cdc4bbb2a89f958e81756c62574d42382e20170d0000000000000000000000000000000000000008131e2935404b55606c77839098a2aebac1ccd5dcd1c8bfb5ada39b938e837d756f6a6663605d555d555c6063666a6f757c838e939fa4acb6c0c8d1dcd7cdc5bbafa49a9184796d60574d42342a200f050000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d2c5b9ac9f92867978787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787771675b4f43362a1d100400000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8bdbeb3aa978a7e7164574b3e2d22170b05121f2b3744505b6576828f9ca9b5bdc0b6ac998c7f7266594c3f3025190e0200000000000000000000000000111e2b3744515e6a7784919da3a3a3a3a3a3a3a3a3a3988b7e7265584b3f3225180c0000000000000000000000000000000000000008121b242d363f49515b636d737f8c929ca4a3a3a3a3a3a3a3a3a3a8a09690837a6d685d554b4035291d110400000000000e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675a4e4134271b0e00101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a86796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c6467686868686868686868686868686867605b544a3f33281c0f03000000000000000000000000000000000000000005121e2a36424d575e61686868686868686868686868686864615a5045392d2114080006131f2b37434e586062666667676869696a6a6b6b666d6d6e6e6f6f707a85929facb8c5d2cbc6c2c1c5c7cbd1cdc1b4a79a8e81746e6e6d6d666c6b6b6a6a69696868676766666260584e43372b1f1306000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbccc0b6ac968a7d7063574a3d3024170a000000000000000000000000000000000000040c12181f282f353e444c525a61686e6e695e53433a2f1f150b00000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225232c353d46535f6974818d9aa9b3bec9d5d6cbbfb4aa988b7e7265584b3f3225180c000000000000000000000007121d28313c44505b656d7a839196a1aab3bcc4cdd5ddd5cdc4bdb5aea7a099938e88827e7a7572706d686b6a6a6a6b686d707275797d82878d92999fa6aeb4bcc3ccd4dcd5ccc4bbb3a9a0969083796d605a50453b30261c0e0500000000000000000000000000000000000000020c18242f3944505b656e7b86929fa5afbac3ccd6dad1c7bfb5ada59e959089817c7773706d676a6a6a676d6f72777c818790959da5afb6bec7d2dad7cec5bbb1a79f93887d70675d51453b3122180e000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d3c7baaea3998985858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858583776a5e5144372b1e1104000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b0b0b0b0a69a8d80736753493f33271b0f030f1b27333f49536673808c99a6b0b0b0b0a89b8f827568564d42362a1e110500000000000000000000000000111e2b3744515e6a7784919696969696969696969696968b7e7265584b3f3225180c000000000000000000000000000000000000000009121b242d373f49515b636d73808c92969696969696969696969696969590837a6d675d5145392c20130600000000000815222f3b4855626e7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6f6255483c2f22150900091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2a36404a52585a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504a42382d22170b000000000000000000000000000000000000000000020e1a25313b454d53545b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e33281c110500030f1b27323d464e5456595a5a5b5b5c5c5d5e5e5f5c60606161626974808d98a2aebac6c9c0bab6b4b9babfc6cfc5b9ac9f92877b6e6160605c5f5e5e5d5d5c5c5b5b5a5a595956544e463d32271b0f03000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000001070d161e2429323a414650565e61615e574d4231281e0d0300000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a353e47515b616e7b86929facb9c5cfdad3c7baaea398897d7063564a3d3023170a0000000000000000000000010c161f27333f49535d686e7b849198a2aab3bbc3ccd7dcd6cfc6bfbbb1aba49f9b948f8a86827f7d7a787877767778787a7d7f82858a8f93999fa3abb0babfc5ced5dcd6cbc3bab2a9a19791847a6d675d51483e332a1e150a00000000000000000000000000000000000000000007121d27333f49535f69717e8b939ea8b1bac4cdd7d9d1c7bfb7afa7a09d938e89837f7c7a7877767778797c7f83888e939aa0a7afbbc0c7d0d9d8cfc6bcb3a9a0958d80736b60554b4033291f1006000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d7cbbfb4aba29792929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000020e1a2531404c5966737f8c99a3a3a3a3a3a39c8f8376655b5044372b1f12050b17222d3d4a5764707d8a97a8a3a3a3a3a39e918478695e52463a2d20140700000000000000000000000000111e2b3744515e6a77848a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7265584b3f3225180c00000000000000000000000000000000000000000009121b252d373f49515b636e7380898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a837a6d6053473a2d20140700000000000814212e3a47535f6a6e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473a2e211508000915222f3b4854606b6f70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e19242e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261c11060000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49453e362c22170c0000000a16202b343d4347494c4d4d4e4f4f505051514a5053545458616e7b87929faab4bfcac0b7afa9a7acaeb4bcc6c7bbafa3998e81746a5f53504a52515150504f4f4e4e4d4d4c4947433d342b20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000040c1319202830363e444d525454534d453b311f160c0000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f475059626d75818e99a3aebbc7d6dfd2c5b8ac9f92867a6d6053473a2d201407000000000000000000000000040d17222d38414c565e696f7c869298a1a9b2bac2cbd1d9d8d1cbc3bdb5afaca69f9c98928f8c89878584848384848587898c8f92989b9fa4abaeb4bdc2cad0d7d8d0cbc1b9b1a8a09791857b6e685e554b40362d21180c03000000000000000000000000000000000000000000010b17222d38414d57626c75818e95a0a8b2bbc5cdd6d9d1c9c1b9b1aca59e9b95908c8986858483848586898c90959b9fa4acb1b9c0ccd2d9d7cfc6bdb4aaa1979083796d60594f43392f21170d00000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dcd1c6bdb3a9a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000091724303d4a5763707d8a96969696969696969285796c605346392d2013060614212e3b4754616e7a87969696969696969696877a6e6154473b2e211408000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e2115080000000000000000000000000000000000000000000009131b252d374049525c636e737d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000006121f2b37434e585f626363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f12060007131f2c38434f596063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121c262e363b3f404242424242424242424242424242413938332d261d140a0000000000000000000000000000000000000000000000030d17212931363a3b42424242424242424242424242423e3c39332c241a1005000000040f19222b32373b3c3f4041414242434344453f44464754606a75818e99a3afbcc6c3b9afa59d9a9fa3aab4bfcbc0b5ab9f92877b6e62584e4345444443434242414140403f3c3b37322b22190f0400000000000000000000000000000916222f3c4955626f7c8895a2afbbc8cdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000001080e161e252a323b4146474846423b33291f0d040000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f343b4246515a616b727f8b939eabb5bfcbd7dccfc2b5a99c8f8276675d5145392c1f13060000000000000000000000000006111b262f3a444d575f6a6f7d869197a0a8b0bbc0c7cfd7dcd7d0c7c0bbb9b0abaaa39f9c989698929190909091929896989b9fa2aaacafb5babfc6cfd6dbd6cec6bfbab0a7a09691857c6f695f564c43392f241b0f06000000000000000000000000000000000000000000000006111b262f3c45505a606d7a839196a1a9b3bbc4ccd7ddd2cbc3bcb8afaaa7a09d99999392919091929299999d9fa7acafb6bec3cbd8ddd5cdc5bdb4aba29892857b6e665c51473d31281d0f0500000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd0dbe2d8cfc5bcb3adabababababababababababababababababababababababababababababababababababababababababababababab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a878a8a8a8a8a8a8a8a8a887b6e6255483b2f2215080714202d3946525e6878848a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a000000000000000000000000000916222f3b4854606b7070707070707070707070707070706e695e53463a2d211407000000000000000000000000000000000000000000000009131c252e37404a525c636b7070707070707070707070707070707070706e695f53463a2d2114070000000000020f1a26313c464e5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c31261b0f0300030f1b27323d464f54565757575757575757575757575756554f473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242a2f33343535353535353535353535353535342d2b28221c140b02000000000000000000000000000000000000000000000000050f171f252a2d2e353535353535353535353535353531302d28221a1208000000000007101920272b2e2f3333343435363637372e3438424f59626f7c87939fabb5c0c7beb1a79d938e9298a3aebac4c7bbafa3998e81756a5f53473d32373736363535343433332f2e2b27201910070000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000000000000000000050c131920293036393b3b3a36312921170d000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3f444d525b626c707d87929fa5afbdc6d1dcd4c8bcb1a7988b7f7265554b4035291d100400000000000000000000000000000a141d28323b454e58606b6f7c8591969fa6afb5bdc4cbd1d8d9d2ccc7c2bbb7b4aeaca8a5aaa29f9e9d9d9d9e9fa2aaa5a8acaeb4b9bbc0c7cbd1d8d7d0cac3bcb4aea69e9590847b6f6a5f574d443a31271d1209000000000000000000000000000000000000000000000000000a141d2a333f45525d686e7b849197a2a9b2bac2ccd2d9d5cec8c1bab6b1acaaaba49f9e9d9d9d9e9fa3abaaabb1b9bbc0c7d0d5dad5ccc4bbb3aba39992867c6f695f544b40352c1f160c0000000000000000000000000000000000000815212e3b4854616e7b8794a9b3becad6e2e1d7cec5bebab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68707d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e21140705111e2a36414d56626f7c7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000000000000000000000713202c38444f5960636363636363636363636363636363615e574d42362a1e12050000000000000000000000000000000000000000000000010a131c252e37404a525960636363636363636363636363636363636363615f574d42362a1e12050000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a0000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a12191f232627282828282828282828282828282828201f1c17110a020000000000000000000000000000000000000000000000000000050d141a1e212128282828282828282828282828282423211c17100800000000000000070f161b1f2223262727282829292a2b28333f4a54616b76828f9aa4afbdc7c0b6aca0958e8186929fa8b2bdc9c0b5ab9f93877c6f62584e43372b2a292928282727262623221f1b150f07000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000002080e171f252a2d2e2e2d2a251f170f05000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c444a50575e616d727e869299a3aeb7c1cfd8dbd1c4b8ab9f95887b6e6255483b2f24180c000000000000000000000000000000020b162029333c464f59606a6f7b848f949fa3abb2babfc6ccd2d7d7d4ccc7c6bfbab9b5b2b4aeababaaa9aaababaeb4b2b5b8babfc6c7ccd2d7d7d2ccc5bfbab1aaa39f948f837a6e695f584e453b32281f150b0000000000000000000000000000000000000000000000000000020b18212935414c565e696f7c859297a0a8b1bbc0c7d0d6d9d4ccc6c3bcb8b7b5afacabaaa9aaabacafb5b6b8bcc3c8ccd2d9d7cfc9c1bab2a9a29992877d706a60574d42392e231a0d040000000000000000000000000000000000000713202d3a4653606d798697a2adbac6d3dfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c4b7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56606b70707070707070707070706d685e5246392d201307020e1925303b4854606a6f707070707070707070706e695f53463a2d2114070000000000000000000000000004101b27323d474f5456575757575757575757575757575754534d453b31251a0e02000000000000000000000000000000000000000000000000010a131c252e3840474f5456575757575757575757575757575757575755534d453b31261a0e02000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000000040a0f131516191a1a1b1c1c1d161f2b3844505b66707d89949facb6c0c8bbafa49a918379808c96a0acb9c1c7bbafa49a8f82756a6054473d32271b1c1c1b1b1a1a191615130f0a0400000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000050d14191e202121211e1a140d0500000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584950545c60696e757f879298a2abb5bfc9d3ded3c7bbb0a69d908376695f53473a2e1d120700000000000000000000000000000000040d17212a343d474f585f696e7a828c9299a0a8aeb4bbc0c7cbd1d5d8d3d1cbc7c5c2bfbebab8b7b7b6b7b7b8babebfc2c5c6cad0d4d7d5d1cbc7c0bbb4aea7a098928b82796e685f574e463c332920160d03000000000000000000000000000000000000000000000000000000060f1924303a444d575f6a6f7d8591969fa7afb5bdc3cad0d5d7d2cec8c5c3c0bbb9b8b7b6b7b8b9bbc0c3c4c8cdd4d8d6d1cbc4beb9afa8a09792877e716b60584e453c30271d11080000000000000000000000000000000000000006131f2c3845515c667885929fabb8c5d2d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1c4b7ab9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444f59606363636363636363636363615e564c41362a1d11050008141f2c38434e58606263636363636363636363615f574d42362a1e120500000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000000000000000000000000010a131c262e353d44484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000060f1820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b2620181006000000000007101921272c2f3030303030303030303030303030302f2c27211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070b0d0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e060603000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000000030608090c0d0e0e0f08131e2834404b54606c7883909da6b0bec7beb2a99f93887c6f7984919ea5afbcc5c0b6ac9e93897c6f62594f43382c21160b0e0e0d0d0c09080603000000000000000000000000000001040607090915222f3b4855626e7b8895a1aebbc8d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000000000000000000000000002080e1114141514120e09030000000000000003101d293643505c6976838f9ca9b6b2a5988b7f726558535b60666d727b828b9399a2aab4bdc6d1dbd5ccc3b7ab9f94897d7063574d42372b1e0b010000000000000000000000000000000000050f18222b353d464e575f686d787f8791969fa3aaafb6bbc0c7c9cfd2d5d7d3d2cfd0cac6c5c4c3c3c3c4c5c6cad0ced2d3d6d5d2cec9c6bfbab5afaaa29f9590867f756d675e564d453c342a21170e04000000000000000000000000000000000000000000000000000000000008131e28323b454e58606b6f7c8490959fa4abb2babec5c9cfd3d7d4d1d2ccc7c6c5c4c3c4c5c5c7cbd1d1d4d7d4d0cac6bfbab3ada59e9691857d716c61594f463d332a1e150b000000000000000000000000000000000000000004101c2834404b546a7784919daab7c4c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c4b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f55565757575757575757575754524c443a3025190d0100020f1b27323d464e54565757575757575757575755534d453b31261a0e020000000000000000000000000000040f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d03000000000000000000000000000000000000000000000000000000010a141c232b33383c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921180d03000000000000000000060e151a1f2122242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e0600000000000000070f161b1f2223242424242424242424242424242323201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010d19242f3845515c66717e8a95a0acb8c2c5b9ada1978d80746b707d8a939eaab4bfc7beafa59c8f82766b6054483d32271c1005010100000000000000000000000000000000000001070d111314151516232f3c4956626f7c8995a2afbcc8d0c4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000020507080807050200000000000000000104071d293643505c6976838f9ca9b6b2a5988b7f72655c60656c71787e858f949fa4abb4bcc6cfd8d7cec3baafa59c8f82766b6054453c31261a0e00000000000000000000000000000000000000061019232b343c454d565e666c737c848d92989fa4acafb5b9bec4c5c9cfd1d2d4d7d6d3d2d1d0d0d0d1d2d3d6d7d3d2d0cec9c5c4bdb9b4aeaba49f98928c837c726d605d554c443b332a22180f06000000000000000000000000000000000000000000000000000000000000020c162029333c464f59606a6e7a838d9399a0a8adb3b9bec5c7cbd1d2d4d7d4d2d1d0d0d0d1d2d3d7d5d2d2ccc7c6bfbab4aea9a19e938e847b706b615a50473d342b21180c030000000000000000000000000000000000000000000c18232e43505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202c353d44484a4a4a4a4a4a4a4a4a4a4a4746413a32291e13080000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000007111921272c2f3030303030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000020a111921272c2f3030303030303030303030303030303030302e2d2a261f180f060000000000000000000000030a0f12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171515120f0a04000000000000000000040a0f13151617171717171717171717171717171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090b0c0c0d0d0e0e0e0c0b09060100000000000000000000000000000000000000000000000000000004111d2935414c55606d7984919ea7b1bcc5bcb0a69e91847a6d606b75828f98a2aebac3c1b7aa9e94897c6f63594f44382c21160b00000000000000000000000000000000000000040c13181d202122222223313d4a5764707d8a97a3b0bdcad0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111318293643505c6976838f9ca9b6b2a5988b7f7265676d71787e848b92979ea6afb5bdc6ced8d9d0c5bcb2a89e93897c6f63594f44332a2015090000000000000000000000000000000000000000071119222a333b444c545b606a6f7980868e939a9fa3abadb3b7b9bdc2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c1bdb9b7b2acaba39f99938e867f796f6a625b514c433b322a211810060000000000000000000000000000000000000000000000000000000000000000040e17212a343d464f575f686d79808791969fa2a9adb3b9babfc4c6c7ccd2cdcdcecfcececdcccec9c5c4c0bbb9b4aeaaa39f97918a817a6e69605950483e352c22190f0600000000000000000000000000000000000000000000071c2935424f5c6875828f9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33383c3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c02000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3b3a36312921180d030000000000000000000000000000000000070f161b202223242424242424242424242424242421211e1a140d050000000000000000000000000000000000000000000000000000000000000000080f161c202223242424242424242424242424242424242422211e1a140d060000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707070c10131415161718191a1a1b1b1b191815120d0600000000000000000000000000000000000000000000000000030e18212c3945515d67727f8b96a1acb9c3beb4aa9e938a7e71685d616e7b86929fa7b1bec7bbb0a69c8f82766b6054483e33281c0b020000000000000000000000000000000000040d161d24292c2d2f2f2f2f36424d576673808c99a6b3bfcccfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d2024293643505c6976838f9ca9b6b2a5988b7f726e73797e838a91969fa2a9b0bbc0c7d0d8d8d0c7bdb3a9a0968e81756b6054473d3321180e030000000000000000000000000000000000000000000710182129323a424a505860676d737b81878f92999ea1a9abadb2b5b7b9bbc0bfbfc0c1c2c2c1c1c0bfbfc0bbb9b7b5b2acaaa8a19e99928e87817a736d675f585145413a312920180f0600000000000000000000000000000000000000000000000000000000000000000000050f18222b343d454e565e676d737c848c92979ea1a9acaeb4b7b9bbc0bfc0c1c1c2c2c1c0bfbebdb9b7b5afacaaa29f98928d857d756d685f574f473e362c231a100700000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30303030303030303030302e2d2a251e170e05000000000007101921272c2e2f303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000040b1013161617171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000050b1013161717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d11131417181c1f20222324252626272727282524221e1811090100000000000000000000000000000000000000000000000915202a36414d56606d7a85929ea8b2bdc7baaea2988f82756c61565e69727f8c95a0acb6c0c2b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000010c161f282f35393a3c3c3c3c4046535f6976838f9ca9b6c2cfcec1b4a89b8e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12181c1f24292c2f353843505c6976838f9ca9b6b2a5988b7f767b80858b90959ea0a8adb3bcc1ccd2d9d6cec6bdb5aba2979184796d60594f43352b210f060000000000000000000000000000000000000000000000060f1720292f383f444e555d60696e757c82878c91979a9ea1a8a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a09e9a96918c86817c746e68605c554e463f352f281f170e06000000000000000000000000000000000000000000000000000000000000000000000000061019222b333c444c555d606b6f7980858c92979c9fa3abaaacafb5b2b3b4b5b5b5b4b3b3b1b2acababa49f9c98928d86817a706c615e564d453d352c241a11080000000000000000000000000000000000000000000000000d1a2633404d596673808c96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232424242424242424242421201d19130c0500000000000000070f161b1f22232424242424242424242422211e1a140d06000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a0602000000000000000000000000000104060707070707070707070707070707070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114191d20212423292c2d2e30313233333434343432312e29231b130900000000000000000000000000000000000000000000020e1a26313946525e6873808c97a1adbac4bdb1a79f92867b6e615a5057606d7883909aa4afbbc5bbb0a69d9083766b6155483e2f261b110600000000000000000000000000000007131d28313a414547484848494b515a616e7b87939facb9c6d2cbbfb4aa998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000060b0f161b1d23292c2f35393a4045474a5c6976838f9ca9b6b5a99c8f8283878c92979da0a7acb2babec5ced7dbd6cdc4bcb4aba49992857b6e675d51463d32231a0f00000000000000000000000000000000000000000000000000060e171d262d333d434b51575e616a6f757b80858a8e9196989b9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918d8a847f7a756f6a615e56514b433c3429241e160d050000000000000000000000000000000000000000000000000000000000000000000000000000071019212a323a434b515960676d737a7f858b8f92999b9d9fa4aba6a6a7a8a9a8a7a7a6a5a8a19e9b9993908b86807b746d68615a524c443c332b231a1208000000000000000000000000000000000000000000000000000c1825323f4b5865727e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a84786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617171717171717171717171413110d0802000000000000000000040a0f131516171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000001080d111314141414141414141414141414141413100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20252a2d2e312f34383a3b3c3e3f3f40404141413f3e3a342d251b110600000000000000000000000000000000000000000006121e2b37424d57616e7b86929fa9b3bec0b5ab9f958b7f72695e5244505c666f7c88939fa9b3bec2b7ab9f958a7d70635a5041382d22170b0000000000000000000000000000010d18242f3a434b515455555556555c606c75818e9aa4afbbc8d3c7baaea398897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000060c11171b1f272c2f34383a4145474b5153545b6976838f9ca9b6b7ab9f948f90939a9ea1a9acb1b9bdc3cad0d7d8d0cac3bbb3aaa29993877d70695f554c41342b2111080000000000000000000000000000000000000000000000000000050b141c2228313a41454d53586062696e73797d8184888c8f9193999799999a9b9b9c9b9b9a9999979992918e8b8884807d78726e68625f58524c454039312a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000070f182029313940454f555c60676d72797e82868a8e91939998999a9a9b9c9b9b9a99989696918f8b86837f7a736e68605d565046413a322a2119110800000000000000000000000000000000000000000000000000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0707050100000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313121211100f0d0b0906060300000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000040c13191d20212121212121212121212121212120201d18120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e252a2d3036393a3d4040454748494a4b4c4d4d4e4e4e4c4a463f372d23180d0100000000000000000000000000000000000000000814212e3a47535f6974818e98a2aebbc5bbafa3999083786c60574d424a54606b74818e97a2adb9c2bcb1a79d9083776c6153493f33271b0f030000000000000000000000000004111d2935414b555d606262626364676d737e8b939eacb6c0cccfc5b8ac9f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000030a11171b22272b3238394045474c5254555d6063666c76838f9ca9b6bbb0a69f9c9d9fa4acadb3b8bcc3c8ced6dad5cec6bfbab1a9a19892877f726b61574d433a2f22190f00000000000000000000000000000000000000000000000000000000020a11171f282f353b42464e54575e61666d7074787b7f828486888a8c8c8d8e8f8f8e8e8d8c8c8a888684827f7b7774706d66615e56534e46413b342f271f18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171f272f353d434b51555d60676d71757a7e818486898b8c8d8e8e8f8f8e8d8c8b898784827e7a76726d68615e56524c443e35302820180f070000000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1f1e1d1b1a181513120f0b0607050200000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a000000000000040d161e24292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a3036393b4146474a4d4b51535556575859595a5a5a5b585651493f34291e12030000000000000000000000000000000000000006131f2b38434e58626e7b87929faab4bfbdb2a89f92877c6f665b50453b424f59616d7a85929ea7b1bdc2b8ab9f958a7d70655b5044372b1f1205000000000000000000000000000613202c3945515d676d6f6f6f6f7174797f88939fa5afbec7d1c6bdb0a69b8e8275675d5145392c2013060000000000000000000000000000000000000000000000000000000000000001070c151c23282d33373d44484b5153565d6064676d7074797c84919eaab7c2b8b0aba9a9acafb6b9bec5c8ced4d9d4cec9c2bcb4aea7a09791867e726d62594f453c31281e1007000000000000000000000000000000000000000000000000000000000000060d161d242931363d43474d52545c6064676a6f7275777a7b7d7f8080818282828180807f7d7b797775726e696763605c54524c47433c363029231d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d2429313940454c51555d6065686d7175777a7c7e7f80818282828180807e7c7a7875726e6865615d56524d45413a3229251e160e060000000000000000000000000000000000000000000000000000000005111e2a36424d575e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c171414110e080400000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c110700000000020c161f282f35393a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39352f281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141c222831363b4146474c5254575a555c606163646566666767676765625b51463a2e1f1409000000000000000000000000000000000000000815222e3b4754606a75828f99a3afbcc1b9aca0968d80736a5f544a3f333d46525e68717e8b959fabb5c0bcb1a79d9083786c605346392d201306000000000000000000000000000714212d3a4754606d797b7b7b7c7d80848c939aa4afb7c1d0c7bfb4ab9f948a7d7063554b4135291d1104000000000000000000000000000000000000000000000000000000000000040c12181e262e34383f44464f54555c6064686d7175797d8185899196a0acb8c5c2bbb7b5b6b9bbc0c7c9cfd4d8d4cec8c4bdb9b0aaa29f9590857c706c625b51473e332a1f160c0000000000000000000000000000000000000000000000000000000000000000040c13181f252a32373b42464a515357585f626568676d6f717273747475767574747372716e6d666865625f575753504a46413b37312a251e18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f272f343a41454b5153565d606468676d6f71737374757675747473726f6d686865615e5654524c46413b3530282019130c040000000000000000000000000000000000000000000000000000000000020e1a25303b454d52545757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e202020202020202020202020201b1a18140f080100000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393939393939393939393939393939393939393939393939393939393939383837363534322f2d2b282221201e1914100c07010000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d020000000a141e28313a414547474747474747474747474747474745403931281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d262d333b42464c5254565e61646669676d6e6f7172727373747474726d62564a3b31261a0e020000000000000000000000000000000000000916232f3c4956626f7c89939fa2aaafb9afa59e9184796d60584e42382d36414c56606c78839099a3afbab2aca69f958a7e7164574a3e3124170b000000000000000000000000000a1724313d4a5764707d888888898a8d91969fa4acb6c0c7c3bdb5aea3999083766b6155433a2f24180d010000000000000000000000000000000000000000000000000000000000070d161d242930383f44495053596063676d71757a7e82858a8e91979ea0a8b2bdc8ccc7c3c2c3c6c8ccd2d5d5d2cdc8c3bcb8b2aca69f98928c837b6f6a615a51493f352c21180d0400000000000000000000000000000000000000000000000000000000000000000001070d141a20272b3036394044464a4e535559555c60626466666768686968686766666462605c545855534d4a46443f3836302b262019140c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d151d23292f35394045474c525457555d6062656667676869686867666563605d565854524c4746413a363029241e160e08020000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464545444342403e3c3938332d2e2d2a251f1d18120f0a0400000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e1206000006111c26303a434c52545454545454545454545454545453514b43392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f444d53565e6165686d707376787a7b7c7d7e7f80808181817f7265574d42362a1e12050000000000000000000000000000000000000915222f3c4855626f7c838b92989ea5ada99e93897d70675d51463c2f26303a44505b656f7c87929fa9aea8a09e948f877f7266594c3f3326190c000000000000000000000000000a1724313d4a5764707d8a959596979a9ea1a8afb6bec0bbb9b2aba49f92867c6f62594f4431281d130700000000000000000000000000000000000000000000000000000000000810191f282f353d424a50535b60646b6f74797d82868b8f92989a9ea1a9acb2bac3ced8d3d0cfd0d2d4d6d3cfc9c6c2bcb8b1aca8a19e948f867f786e69605850473f372d231a0f0600000000000000000000000000000000000000000000000000000000000000000000000003090e161b1f252a2e34383a3d4347484c4b5153555759595a5b5c5c5b5b5a5959575553514a4c4847423d3a38342e2a251e1b150e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e24292f35393a4145474b4b51535658595a5b5b5c5c5b5a59585654524c4b4746413b3935302a251f19130c04000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393433302b251d140b010000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535352525251504e4d4b4846443f3d3b3936302c29241d1b15100b05000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a00000b17232e38424c565d6060606060606060606060606060605d554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e273038424a50575f61686e72767a7d8082848688898a8b8c8c8d8d8d8e8478695f53463a2d2114070000000000000000000000000000000000000815212e3a47535f6a6f787f868f939ea1a1978e81746b60554b40342a1d27333f49535f6a74808d97a1a29f96918a827c726d63574b3e3225180c000000000000000000000000000a1724313d4a5764707d8a97a2a2a4a7abadb2bbc0bdb5afaca8a099938b7e716a6054473e331f160c010000000000000000000000000000000000000000000000000000000009111a222b313940454e545c60656c70767c81858a8f92989b9fa2aaabadb3b8bdc3ccd5e0dfdddbd6d3d0cbc7c5beb9b8b1aba7a09d96918a827b726d665e574e463e352d251b1108000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2d31373a3c3f404547484a4c4d4d4e4f4f4f4e4d4d4c4a484644403f3b3a37312d2b28231c19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191d24292c2f35393a3e404547494b4c4d4e4f4f4f4e4d4d4b494745413f3b3936302d29241e19140d08020000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f43444646464646464646464646464641403c362f261d1308000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5e5c5b5a585553504a4a4746413b38352f2b26201c160d080200000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c0003101c28343f4a545d686d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039424a545b60696e747a7f83878a8d8f91939996979899999a9a9a96887b6e6155483b2e22150900000000000000000000000000000000000006121f2b37434e585f666c727b828a91969e92857a6d61594f43392f2217222d38414e58606d7a84919e98928c847d766f6a635b51463b2f22160a000000000000000000000000000a1724313d4a5764707d8a97a3afb0b3b8b9bdc4c0b5aba49f9b9691877f726c62584e43352c210d040000000000000000000000000000000000000000000000000000000109121b232c343d434b515860666d71787d83898e92989b9fa3aaacaeb4b8b9bec4c8ced5dedad5d2d0cac6c5bfbab8b3adaba79f9d95918b847e766e69605c544d453c342c231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f20262b2e2f2f34383a3c3e3f4041414243424141403f3e3b3a38342e2f2e2b26201f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d12181d1f24292c2d2f35393a3c3e4040414243424141403f3c3a39352f2e2d2a25201d19130e08020000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242322201c160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f51535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a6968676562605b545754524c4745403937312c272119130c0400000000000000000000000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c0006121f2b3844505c66767a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424b545c666c737b81868c90939a999c9e9fa4aba4a5a5a6a6a7a8978b7e7164584b3e30251a0e020000000000000000000000000000000000030f1b26313c464e545b60696e757d848d928b7e71685e52473d31271d111b262f3c45515d67717e8a938e867f79706c625f58514940352a1e1206000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc0c4c5c9c7bbafa499938f8a847d726d625a50463c32231a100000000000000000000000000000000000000000000000000000000009131b242d353e464f555d606a6f787e838a90959b9fa2aaacaeb4b8babfc4c6c9cfd4d9ded6cfc9c5c4bebab8b4aeaca9a19e9a95908a837e78716c615f57504a423b332b221a110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131b1f212223292c2d2f313333343535363535343333312f2d2c282322211e1a1312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d202124292c2d2f3233343435363535343332302d2c292421201e1914110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141417171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e606060606060606060606060605b58534a41362b201408000000000000000000000000000000000000000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979787877767573716f6c666664615e5653514b47433c383329241e160e08020000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000713202d3a4653606d7886878787878787878787878787878275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2834404b545c666d787f868e92989c9fa4aca9abacafb5b0b1b2b3b3b4a79b8e817468574d42362a1e12050000000000000000000000000000000000000a15202a343c424a50575e616c7079808682766c61564c41352b1f150b141d2935414c55616c768286817b726d67615a534e4640372e23180d02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad1d2d2c6b9ac9f9386827e78706b625b51483f342b20110800000000000000000000000000000000000000000000000000000007111b252d363f474f5960676d737c838b90959d9fa7abaeb3b9babfc5c6cad0d2d5dae1e0d6ccc4bdb9b7b3aeabaaa39f9b97928d89837d78716d66615a534d443f383029211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060a0f121515181c1f20222426262728292928282726262422201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111314181d1f202325262728282929282726252321201d191414110e080501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686858585848381807e7b797673706e6864605d55534e48443d3530282019140d0500000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515c666d78818c92989fa3aaacafb6b5b7b9bbc0bdbebfbfc0b7aa9e918477695e52463a2d201407000000000000000000000000000000000000030e18222a2f383f444d525961676d737c7b6e615a50443a3023190d030b19242f3a43505a616e7b7c746e68605c555047433c342e251c120700000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad0d1d4c7bbafa4999184807a726d605c544a3f34281e150b0000000000000000000000000000000000000000000000000000050e19232d373f485059616b6f79808790959da0a7abb1b8babec5c7cbd1d3d4d1d0d1d2d5dacfc4bab2adabaaa29f9b98928e8a85807c76706c65605c545046423b342e261e170f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608070c1013141517191a1a1b1c1c1c1b1a1a1917151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c1013141618191a1b1c1c1c1b1a1a18161413110d0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a36434f5b67717779797979797979797979797979746f64584c4033271a0d010000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939a93929291918f8e8d8b888583807d7a76716d67625f58544f45413a322a251e170e06000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c000713202d3a4653606d798693a0a0a0a0a0a0a0a0a0a09c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424f59606d78818e939fa3aaaeb4b9bbc0c2c4c6c7ccd2cbccccc5b9aca096877b6e6154483b2e211509000000000000000000000000000000000000000610181d262d333b42464f555d606a6f6e695f53483e32281e11080008131e28313e46535f696e6f6a615e56514b433e37312a221c130a0000000000000000000000000000000a1724313d4a5764707d8a97a3b0bcbfc4c5c8ccc0b5aba096918d867f756d665c50443e30271d1207000000000000000000000000000000000000000000000000020c16202b353f49515a626c707d848d9399a0a7acb1b8bcc2c6cad0d3d4d1cdc8c4c3c4c6c9cfc9bdb2a8a19e9a98928e8a86817d79746f6a64605b53504a423e363128231c150c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0d0e0f100f0e0e0d0c0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090d0f0f13131313131313131313131313131313131313070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7783868686868686868686868686868174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9e9d9c9b9a9898928f8d8a87837e79746f6a636059524c443e36302920180f070000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acadadadadadadada89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c75818f939ea5aeb4babfc6c8ccd2d1d2d1d0cdcbc9d2c9bdb2a8978a7e7164574b3e3025190e0200000000000000000000000000000000000000060b141c222830363e434b51585f62615f574d42362d20160c0000010c161f2a36424d575f61626058524d454039302b262018100a010000000000000000000000000000000a1724313d4a5764707d8a97a3aeafb2b7b8bdc3c7bdb2a8a09e98928c81786d605a5043392e23180c00000000000000000000000000000000000000000000000008131e28323d47515b626c717e8691969fa4abb1b8bcc3c7cdd3d6d3cec8c5c3bcb8b7b8b9bec4c5b9ada196918d8985827e7a75706d66626058535049443f38302a261f17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191b1c202020202020202020202020202020202020201413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a77849193939393939393939393938e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb6afacacababaaa9a8a6aaa29f9c999794908b85807c76706b605d565046413b322a2119100700000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9bababababab5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66707d8a939ea5afbabfc6cbd1d4d8d2cdc8c4c3c0bebcbbc0bbb4a79a8e817467564d42362a1e11050000000000000000000000000000000000000000020a11171f252a313a40454e545555534d453b31241b0e05000000040d1a26313b454d535556544e46413b342e271e1b150e0600000000000000000000000000000000000a1724313d4a5764707d8a97a1a1a3a6aaacb2bbbfc4bab2acaaa29f938d80746c61554b4034281c100400000000000000000000000000000000000000000000010d1925303a444f59626d727e879298a1a8afb5bdc3c8ced4d6d0cac7c3bcb8b7b1acaaabadb3bbc4b7ab9e9184807d7975716d6763605c54544e46443f38342e261e1a140c0600000000000000000000000000000000000000000000000205070809090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080806020000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0909070300000000000000000000020507080a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000306060a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b8b7b6b4b3b3aeaba9a6a69f9c97928d88837d746d68615a524c443c332b22190f06000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7883919da5afb7c1cbd0d7dcd3ccc6c3bcb8b6b4b1afaeb6afacaa9e918477695e52463a2d20140700000000000000000000000000000000000000000000060b141a1f282f353c4347494846423b33291f1209000000000009141f2a333b4246484947433d363028231d150c0a030000000000000000000000000000000000000a1724313d4a5764707d8a94949596999da0a8aeb5bdc4bdb9b4aea59d928a7e71675c5145382c1f14090000000000000000000000000000000000000000000005111d2a36414c56606b727f8b9299a2aab2bbc0c7d0d4d7d0cac6bfbab8b1acaaa7a09d9ea1a9b3beb2a5988b7f74706d6664605d5553514a47433d37332d28231c150c09030000000000000000000000000000000000000000000003090e121415151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514120e09030000000000000000000000050b101316161717171717171717171615130f0a0400000000000003090e121415171717171717171717171413100c070100000000000000000000000002080d1113141717171717171717171717171614100b050000000000000000000000000000000000000000060b0f1213171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c161e262c313536393939393939393939393939393939393939392e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daaacacacacacacaca79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d2ccc8c6c5c5c4c4c2c1c0bebab8b6b3b0aba9a29f9a959089817a716c615e564d453d342b21180e050000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d3cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8b95a0acb8c1c9d6dcdad1c9c1bab6b1acaaa7a5a3a1a0a49f9f9f96877b6e6154473b2e211408000000000000000000000000000000000000000000000002090d161d242932373b3c3b3a36312921180d000000000000030e18212a31363a3b3c3b37322a251f18120b0300000000000000000000000000000000000000000a1724313d4a5764707d87878788898c91969fa3abb5bec7c5bfbaaea49e9184796d6053463b3025190e020000000000000000000000000000000000000000040f19222d3946525e686f7d87929fa3abb4bcc4ccd2d9d5cec5bebab4aeaca7a09d9995909197a1adb9b2a5988b7f7265605c5454514c4644403938322b27221b17110a030000000000000000000000000000000000000000000000050d141a1e21212222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222211e1a150e06000000000000000000070f161c20222324242424242424242423221f1b160f0700000000060d141a1e212224242424242424242424201f1d18120b0300000000000000000000050c13191d202124242424242424242424242323201c1610080000000000000000000000000000000000020a11171c1f202423201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1e2830373d4142464646464646464646464646464646464646463a3935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7b9b9b9b9b9b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d2d2d1d1d0cfced0cac6c5c2c0bcb7b3adaba79f9d938e857e756e685f574e463d332a20170b0200000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7784919ea7b1bccad3dbdcd1c8bfb7afaaa7a09d9a989695949a939292928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000040c131820262b2e2f2e2d2a261f180f0600000000000000060f181f262a2d2e2f2e2b272019140c07000000000000000000000000000000000000000000000714202d3a4753606d797b7a7b7b7c7f848b9299a3acb6c0cccac0b9aca1968b7e7265564d42362a1e110500000000000000000000000000000000000000000a15202c38444f59616d7a849199a3afb5bdc6ced7d6cec9c0bcb4aeaaa29f9a95918c888385919eabb8b2a5988b7f726558514a4745413a38342e2b271f1b17110c06000000000000000000000000000000000000000000000000050f171f252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620180f060000000000000007111921272c2f303131313131313131312f2e2c27211910070000060f181f262a2d2e313131313131313131312d2c29241d150d030000000000000000050e171e252a2d2e3131313131313131313131302f2c27211a1108000000000000000000000000000000030b141c22282b2d302f2c282119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620303a42494e4f535353535353535353535353535353535353534746413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4c6c6c6c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8cacdcfd2d3d6d3d2cfcdc7c5bebab8b1aba59d97918a827a6e6960584e453c32291d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8896a0acb9c3cedcded3cabfb6aea59e9b95908d8b8988878686868585858073675a4d4034271a0d000000000000000000000000000000000000000000000000000001070d151b1f222222211e1a140d06000000000000000000060e141a1e212223221f1b150e0802000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e7073787f87929aa4afbbc7d1c9bdb2a89c908376695e52463a2d20140700000000000000000000000000000000000000030f1b27323c4855606b75828f96a1abb5c0c7cfd8d4ccc4bdb9afaaa29f98928e89847f7b77828f9ca9b6b2a5988b7f7265584c403a39352f2c28231c1b160f0b0600000000000000000000000000000000000000000000000000030d17212931363a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000050f19232b33383b3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f04030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3a38352f271f150b01000000000000020c1720293036393a3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000030c151d262d3338393d3c383329241e160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2832424c545a5c6060606060606060606060606060606060605f54524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0d2cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d7cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9babfbbbcbdc0c3c5c6cad0d3d6d8d3d0cac6c2bcb8afa9a19e938f847b6f6a60574e443b2f261c1106000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a8b2bdcbd5dfd7ccc1b8aea49c938e8883817e7c7b7a7a7979797878736e64584c3f3326190d00000000000000000000000000000000000000000000000000000000040a0f1315161514120e0903000000000000000000000003090e1214151615130f0a040000000000000000000000000000000000000000000000000004101c2934404b555c606161616263666d727d88939fabb5c0cbcec4b9ac9f93877b6e6154473b2e2114080000000000000000000000000000000000000006131f2b37434e5863707d89949ea8b2bdc7d1d9d4cbc2bab2aca59d98928d86817c77726e76838f9ca9b6b2a5988b7f7265584c3f2e2c29241f1c18120f0a0300000000000000000000000000000000000000000000000000000009141f29333b424648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847423c332a20150900000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4948433d342b21160a09141f29333b4246484a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000008131e29323a4146474a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b000000000000000000000000040d151e262f383f44464a48443e35302820170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a44545e65696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c615e564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c6bcb4aeacacacacacacacacacacacacacacacacacacacacacacacacacaeb4aeafb1b3b6b8babfc5c6cad0d4d9d6d3cdc7c1bbb3ada69e9691857c6f6a5f564d42382d22170b030000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536875818e9ba8b5c1cedbdfd3c7bbb0a69c928c817c777472706e6d6d676c6c6c6c67645c52473b2f23170b00000000000000000000000000000000000000000000000000000000000003060809080705020000000000000000000000000000000205070809080603000000000000000000000000000000000000000000000000000000000c18232f39434b515354545455545c606b74808d99a3afbbc7d3c8bbafa49a8a7d7064574a3d3124170a000000000000000000000000000000000000000815222e3b4754606a76828f9ca6b0bac4cfd9d4cac2b9b1a8a09e938e85807a746f6a666976838f9ca9b6b2a5988b7f7265584c3f32251d1913100c070000000000000000000000000000000000000000000000000000000000020e1a25313b454d53545555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555534d453c31261a0e0200000004101c27333d474f545657575757575757575756544e463d32271b0f0e1a26313b454d53555757575757575757575753514b43392f24180c0000000000010d1925303a444c5254575757575757575757575756554f473d33271c100000000000000000000000050d161f273038424a505357554f45413a322921170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566570757979797979797979797979797979797979797975685e5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3aaa1a2a4a6a9acaeb4b8babec5c8cdd6dbd8d4cdc4beb9b0a8a19792857c6e685e544a3f33282015090000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c4d0dddcd0c3b7aa9e948c80756f6a6765636261605c5f5f5f5f5a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139404547474748484a5059616e7b86929facb9c5d2ccc0b6ac998c807366594d4033261a0d000000000000000000000000000000000000030f1c28333f4a54626f7c88949fabb8c1ccd6d5ccc2b8b0a79f969189817a736d686260586976838f9ca9b6b2a5988b7f7265584c3f3225190d08040000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e6162626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262625f574d42372b1e12060000000713202c38444f5960636464646464646464646260584e43382c1f13121e2a36424d575f6164646464646464646464605d554b4035291d10040000000005111d2a36414c565e6164646464646464646464646361594f44382c1c1106000000000000000000050e171f283139424a545b60636159524c443b332921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687582868686868686868686868686868686868686877a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea2989292929292929292929292929292929292929292929292929298949595979a9c9fa2aaabadb3b8bcc3cad0d7dfd6cfc9c1bab2a9a19791847a6e665b50443c31261a0e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd6cabeb3a99c8f82756e6260585856555453514b5252524d4c4740382e24190e020000000000000000000000000000000000000000000000000000000000030607090a0b0c0d0e0e0d0d0c0b09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3f46525e6875828f9ca8b5c2cfd2c1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000006121f2b3844505b6675818e9ba6b0bbcad3d9d0c3bab0a69f9590847d746d68615e56545c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000000004080a0b07060400000000000000000000000000000000000000000714212d3a46535e696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2e2114080000000916222f3b4854606b707070707070707070706f6a6054483b2e221514212d3a46535f696e707070707070707070706d675d5145382c1f1306000000000713202d3946525e686d7070707070707070707070706b615548382d22170b0000000000000000050e172029313a434b545c666c706b605d564d453b33291f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a869293939393939393939393939393939393998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858585858585858586868788898a8d9092989a9fa2a9abb1babec5ced3dcdad5ccc4bbb3a9a1968f82786c60574d42372b20160a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3aebbc7d3dfd3c6baada297897d70635b544e4b494847474540464545403f3b362e261c120800000000000000000000000000000000000000000000000000000306060c101213151718191a1b1b1a191918161413110d070705020000000000000000000000060606060606060606060606060000000000000000000000000000030d151d23292c2d2e2e2e2e36414d5666727f8c99a5b2bfcccfc2b6a99c8f8376695c504336291d100300000000000000000000000000000000000613202d394653606c7985929fabb8c2cdddd2c7beb2a89f948f827a706b615e56524c505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000050b101416171413100c070100000000000000000000000000000000000815212e3b4854616e7b7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6255483b2f2215080000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231615222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d796d6053473a2d201407000000000714212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7063544a3f33281c0f03000000000000020d172029323a434c555d666d787d756d685e574d453b31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a797979797979797979797979797979797979797979797979797a7b7c7e808385898d92979da0a7aeb3bcc1cad2dbded6cdc5bbb2a89f948c7f72695f53473d32271b0f02000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895abb5bfcbd7ded2c5b8ab9f9285786b605447433f3d3b3a3a38342f393934332f2b241c140a01000000000000000000000000000000000000000000000000060b0f1213171c1f2022232425262728272626242220201d181514120e0905020000000004080a0a131313131313131313131313130b0a08040000000000000000000000030b12181c1f2021212125303d4a5663707d8996a3b0bcc9d0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000916222f3c4955626f7c8897a2adbac6d4d8ccc0b6aca0968f82796d686059524c4641505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0000000810171c212324201f1d18120b03000000000000000000000000000000000f1c2935424f5c6875828888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888883776a5d5144372a1e11000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8276695c504336291d1926323f4c5965727f8a8a8a8a8a8a8a8a8a887b6e6255483b2f221508000000000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8578665b5044382b1f120600000000000009141f29323b444c555d676d78818a827a6e695e574d43392f24180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5acacacacacacacacacacacacacac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6d6e6f717376797c81858a90959fa2aab0b8c1c9d2dbdfd7cdc4bab0a69f92867b6e62584e43382b1e1408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000040607090b0c0d0e0e0e0d0d0b0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcd1dcdccfc3b6a99c90837669594f443732302f2e2d2c29232c2c2726231f19120a020000000000000000000000000000000000000000000003090e11171c1f2023282c2d2f303132333434343332312f2d2c292422211e1a14120e0903050b1014161720202020202020202020202020171614100b050000000000000000000001070c101314141416222f3c4955626f7c8895a2afbbc8d0c4b7aa9d9184776a5e5144372b1e110400000000000000000000000000000000000c1925323f4c5865727f8b98a9b3becad6d4c8bbafa49a91847a6d675e564f46413a43505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c000008121a22282d30312d2c29241d150d060000000000000000000000000000000f1c2935424f5c6875828f95959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959083776a5d5144372a1e11000005121f2c3845525f6b788592979797979797979084776a5d51442d2217192633404c5966737f8c9797979797979796897c6f6356493c30231609000000000b1724313e4a5764717d8a9797979797979797979386796c605346392d2013060000000000020e1925303b444d565e676d79828e938f847b6e695e554b4035291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9b9b9b9b9b9b9b9b9b9b9b9b9bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000002020505050505050505050505050505050505050505050505050505050505050505050505050505050505111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e050505050505050500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f555c606162626467666c6f74797e838b92989ea6afb7c0c9d2dcdfd6ccc2baaea3998e82756a6054473b3025190e020000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0406070c1013141618191a1b1b1a1a1918161414110e080806030000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dacdc1b4a79a8e8174675b4e413327232221201f1c181f1f1a1917130e0801000000000000000000000000000000000000000000030a0f141a1c22282b2d2e34383a3c3d3e3f40414140403f3e3c3a39352f2e2d2b26201e1a141010171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000000000000040607080815222e3b4855616e7b8894a1aebbc7d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d0dbd2c6b9ac9f93877c6f685d554c443d353043505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00040d1a242c33393c3e3a39352f271f18100801000000000000000000000000000f1c2935424f5c6875828f9ba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9084776a5d5144372a1e11000005121f2b3744505b657985929fa3a3a3a3a39e9184786b544a3f33281c1a2734404d5a6773808d9aa3a3a3a3a3a3968a7d7063574a3d3024170a000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a49a877a6d6054473a2d211407000000000005111e2a36424d565e686d79828f949e9691847b6e675d51453e30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7c6c6c6c6c6c6c6c6c6c6cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000004090c0e0f1212121212121212121212121212121212121212121212121212121212121212121212121212121212121e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1212121212121212120a090704000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154525252525252525252525252525252525252524b515354555657545b6062676d71787f858f949ea5afb7c0cad3e0ded7cbbfb4ab9e93897c6f62564c41362a1e11050000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0c101314181d1f20222426272728272726252321201e191515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccc0b3a6998d8073665a4d4033271a15141413100c07120d0d0b070200000000000000000000000000000000000000000002080d151b1f252a2d3338393c3f4446484a4b4c4d4e4e4d4c4c4b494745403f3b3a37312d2a251f1b1a22282d30313939393939393939393939393931302d28221a12080000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a99b8e81756a60564c433a32293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c010c16202c363e44494a47454039312a2219130c040000000000000000000000000f1c2935424f5c6875828f9ba8aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa9d9084776a5d5144372a1e1100000613202d394653606c7986939facb0b0b0ab9f928578665b5044382b1f1b2734414e5a6774818d9aa7b0b0b0b0a4978a7e7164574b3e3124180b000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b6a194877b6e6154483b2e21150800000000000714202d3a46525e696e7a8390949ea6a0969083796d605a5042392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7d2d2d2d2d2d2d2d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000002090f15191b1c1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281f1f1f1f1f1f1f1f1f1f171614100b0500000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154474646464646464646464646464646464646464045464748494b4a5053555c60666c727b828e939da5afb8c1ced7e1dcd1c6bdafa59b8f8275685e5246392d2014080000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c181d1f2024292c2d2f313333343434333331302e2d2a2522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccbfb2a6998c7f7366594c403326190d0707060400000601000000000000000000000000000000000000000000000000050d131920262b3136383f4446494a505355565758595a5b5a5959575553514b4b4846423c3a36302c27232c33393c3d464646464646464646464646463e3c39332c241a100500000000000000000000000000000815222e3b4855616e7b8894a1aebbc7cfc2b6a99c8f8376695c504336291d10030000000000000000000000000000000004101d2935404b556b7885919eabb8c4d1d2c6b9ada197897c6f62584e443a3129293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c08131e28323e4850555753514b433c3429241e160d0700000000000000000000000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb7aa9d9084776a5d5144372a1e1100000714202d3a4753606d7a869aa4afbbbdb9ac9f9386796c605346392d201b2835414e5b6874818e9ba7b4bdbdb2a5988b7f7265584c3f3225190c000000000c1926333f4c5966727f8c99a5b2bdbdbdbbafa295887c6f6255493c2f22160900000000000814212e3b4754616e7b8490959fa6b0a8a0958e81746c61544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7dfdfdfdfdfdfdfe0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000030c141b202528292c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342c2c2c2c2c2c2c2c2c2c2c2322201c160f08000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a393939393939393939393939393939392e34383a3a3b3c3e3f44464b51545b60686e78818e929da6b0bcc5d0dbe2d8cfc1b9ac9f92867a6e6154473b2f24190d0100000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291f24292c2d2f35393a3c3e3f4041414140403e3c3b3936302f2e2b26211e1a140f0a0400000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000060e171e252a31373b42464a505355545c60626364656667676766656462605d555855534d4846423b38322b353e44494a535353535353535353535353534a49443e362c22170b00000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000006131f2c3845515d677985929facb8c5d2d1c5b8ab9e9285796c6053463c32281f293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0d19242f3a44505a6164605d554e463f352f281f191008020000000000000000000f1c2935424f5c6875828f9ba8b5c2c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c3b7aa9d9084776a5d5144372a1e1100000814212e3b4754616e7a8794a1b6c0c8bbafa49a877a6d6054473a2d211c2835424f5b6875828e9ba8b5c1bfb2a6998c7f7366594c403326190d000000000d1a2633404d596673808c99a6b3bfcac9bcafa396897c706356493d3023160a00000000000713202d3a4653606d7980889197a1a9b1a79d938a7d70665c5144382c1f160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e3edececececececefe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000020c151e252c31343538383838383838383838383838383838383838383838383838383838383838383838383838383838383838383844515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41383838383838383838383838302f2c27211a11080000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c23282c2d2e2f2f2d33383940454a50565e666d78808e949eaab3becad6dfe0d3c7bbafa3998c7f7266564c4135291d110400000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236282b2f35393a3d404547494b4c4d4e4e4d4d4c4b494746413f3c3b37322d2a261f1b150e08020000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000020a1117202930363c43474d53545b606265666d6f707172737474737372716f6d676865615f5754524d48443d373e4750555760606060606060606060606060575550483e33281c1004000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cfc2b5a89c8f8275665b5044382b2016293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c111d2935414c56616c716d675f585045413a312b2219130c0400000000000000000f1c2935424f5c6875828f9ba8b5c2c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c3b7aa9d9084776a5d5144372a1e1100000815222e3b4855616e7b8894a1aebbccc0b6a194887b6e6155483b2e221c2936424f5c6975828f9ca8b5c2c0b3a79a8d8074675a4d4134271a0e010000010d1a2734404d5a6773808d9aa6b3c0cdcabdb0a3978a7d7064574a3d3124170a000000000006131f2c3845515c666d737d859197a1abafa59e9184796d6053463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7e3f4ece8e6e5e6e8ece8dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e454545454545454545454545453d3c38332b231a0f0500000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211f1f1f1f1f1f1f1f1f1f1f1f1f1f181c1f2021222322282b2f34383f444d545c666c75828f98a2aebac3ced9e3d7cbc0b5ab9d908376685d5245392c20130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f422d3338394045474a4b51535557595a5a5b5a5a59585654524c4c4847433c3a36312b262019140b0600000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000030c141c2328323a41464e53575e61666c6f7275797b7d7e7f808181807f7f7e7c7a7875726e6966615e57544f474244505a61646c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d211408000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6cdc1b4a79a8e817467544a3f3328191d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190b17212c3945525d68717d796f6a625a514c433c3429241e160e07000000000000000f1c2935424f5c6875828f9ba8b5bababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab7aa9d9084776a5d5144372a1e1100000915222f3c4855626f7b8895a2aebbd2bbafa295887c6f6255493c2f221d293643505c6976838f9ca9b6c2c1b4a79b8e8174685b4e4135281b0e020000010e1b2734414e5a6774818d9aa7b4c0cdcabeb1a4978b7e7164584b3e3125180b000000000004101c2834404b545c606b707b859199a3afaca0968b7f7265594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7e6e0dcd9d8d9dce0e6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000040f1b25303942494d4f52525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525e6a7784919daab7c4d0dacdc1b4a79a8e8174675b52525252525252525252525252524a48443d352b21160b00000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114131313131313131313131313070c101313141516171c1f23292d333b424a545b616e7b85929fa7b1bcc8d4e0dcd1c5b9ac9f92867a6d6054473a2d21140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42383f44464b515357555d606264666667676766666463615e565955534e4846423b37312a251f17110a020000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000030c151e262e343d444c52585f62696e74797c7f828588898a8b8c8d8e8d8c8c8a888684827e7b77736e69636059534d4955616c7079797979797979797979797979716c6155493c3023160a000000000000000000000000000b1825313e4b5864717e8b97a4b1becacbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000714212e3a4754616d7a8794aab4bfcad6cdc0b3a69a8d8073675a4d402d22171d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519141d2834404b54606d7a86837c716d605d554e463f353028201910070000000000000f1c2935424f5c6875828f9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9084776a5d5144372a1e110000091623303c4956636f7c8996a2afbcc9bcafa396897c706356493d30231d2a3744505d6a7783909daab6c3c2b5a89b8f8275685c4f4235291c0f020000020e1b2835414e5b6874818e9ba7b4c1cecbbfb2a5988c7f7265594c3f3226190c0000000000000c18232e39424b51596069707d87929fa7b1a89d9184776b6054483b2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8b99a3aebbc7d3e3e3dbd5d0cdcccdd0d5dbe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000915202c37424b53595c5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6a7784919daab7c4d0dacdc1b4a79a8e8174675f5f5f5f5f5f5f5f5f5f5f5f5f5f5f56544f473d33271c1004000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060600000406070708060b0f12181c22283038424a525e69727f8b95a0acb8c5d1dee0d4c7bbafa3998a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f40454a5053555d606367676d6f7172737474747373716f6e686865625f5855534d47433c363027221b140b0400000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000020b151e2730383f444f565e616a6f747b8085888c8f9298969798999a9a9a9998979a93918f8b8884807b75706b625f57505764707d868686868686868686868686867e7164574a3e3124170b000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccccc0b6ac968a7d7063574a3d3024170a00000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cec1b4a79b8e817468544a3f33281c1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225191b262f3845515c66727f8c91867e756d6760585146413a322b22190f0400000000000f1c2935424f5c6875828f9ba1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a19d9084776a5d5144372a1e1100000a1723303d4a5663707d8996a3b0bcc9bdb0a3978a7d7064574a3d31241e2b3744515e6a7784919daab7c4c3b6a99c908376695d5043362a1d07000000020f1c2935424f5c6875828f9ba8b5c2ceccbfb3a6998c807366594d4033261a0d00000000000007121d27303940454f56606b727f8c95a0acaca095897c6f6356493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3d9d1cac4c0bfc0c4cad1d9dcd1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000000c1925313d49535d65686b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7784919daab7c4d0dacdc1b4a79a8e81746b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6360594f44382c201407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000003070c11171e262f38424d57606c7884919daab7c3cdd9e3d7cbc0b5ab998c7f7366594c403326190d00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4b51545b6063676d7073777a7c7e7f80818180807f7e7c7a7875726f6a66615f57534e46413b332d261d160d06000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000a141d273039424a505960686d757c81868d9297989c9fa2aaa4a5a6a7a7a6a6a5aca49f9e9b9896918c87827d756e69605c5464707d8a93939393939393939393938a7d7164574a3e3124170b000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc8bbafa49a887b6e6255483b2f221508000000000000000000000000000000000006131f2c3845515d677985929facb8c5d2cfc2b6a99c8f8376665b5044382b1f14293643505c6976838f9ca9b6b2a5988b7f7265584c3f322517222d38414d57606d79849198928b817a6f6a625b524c443d342b21160a00000000000f1c2935424f5c6875828f94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949084776a5d5144372a1e1100000a1724313d4a5764707d8a97a3b0bdcabeb1a4978b7e7164584b3e31251e2b3845515e6b7884919eabb7c4c3b7aa9d9084776a5d51442e23180c00000003101c2936434f5c6976828f9ca9b5c2cfcdc0b3a79a8d8074675a4d4134271a0e010000000000000b151e272e343d444f59606c7883909daab1a89a8e817467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d1c7bfb8b4b2b4b8bfc7d1ded3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000e1b2834414d59656f75787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787884919daab7c4d0dacdc1b4a79a8e817878787878787878787878787878787878706b6054483c2f221609000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000060c141d26303b44505b65737f8c99a7b1bcc8d4e0dcd1c1b4a89b8e8175685b4e4235281b0600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c50555d60666c7075797d808386888a8c8d8d8e8d8d8c8b898785827f7c77736e69625f58524d443f382f281f180f060000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000006111b262f39424b545c606b707a82878e92999ea2a9a8acaeb4b1b2b3b4b4b3b2b2b6afacaba8a8a09e99928f89827b736d665e64707d8a979f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000004101d2935404b556a7783909daab6c3d0d1c4b8ab9e9185796c6053463c30261c293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252427333f49535e69727f8c96a19f938e847c726d615d564f473d32271b0f03000000000f1c2935424f5c6875828787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878784776a5d5144372a1e1100000b1825313e4b5864717e8b97a4b1becabfb2a5988c7f7265594c3f32261f2c3845525f6b7885929eabb8c5c4b8ab9e9185786b544b4034281c1004000003101d2a3643505d697683909ca9b6c3cfcec1b4a79b8e8174685b4e4135281b0e020000000000020a11171d2328323d44505b65727e8b98a2aeaa9e918477695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d9d0bfb5ada7a5a7adb5bfccd6d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000000f1c2935424f5c687581858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858587929facb9c5d2dfd2c5b9ac9f928685858585858585858585858585858585857d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000020b141f27333f4953616e7b8895a0acb8c4d1deddd0c3b6aa9d9083776a5d50442d22170b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569545b60676d72787d81858a8d90939a9799999a9a9a9999979697928f8c88847f7b756f6a615e565049413a312a2118100600000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000060f17222d38414b545c666d737d858f939a9fa3abadb3b5b8babfbdbebfc0c1c0bfbfc0bbb9b7b5b2acaba39f9c938f8780786d6864707d8a97a3acacacacacacaca4978a7d7164574a3e3124170b00000000000000000000000005111d2935414c566a7784909daab7c3d0c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000c18242f424e5b6875818e9ba8b4c1ced2c6b9ada197897d7063584e42382e23293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a363e44505b656e7b86929fa8a59e9691867f756d6860594f43382c1f1307000000000714212e3a4754616d7a7b7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6e6154473b2e21140800000c1825323f4b5865727e8b98a5b1becbbfb3a6998c807366594d4033261f2b3844505b667985929facb8c5c5b8ac9f928579665c5145382c1f1306000004111d2a3744505d6a7783909daab6c3d0cec2b5a89b8f8275685c4f4235291c0f0200000000020c141c23282b3939333f4953606d7a86929facaca096887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7ddd2c7bdada39c999ca3adbac4cedad1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929299a3afbbc7d4e0d3c7baaea39892929292929292929292929292929292928a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000020b17222d3847535f697783909daab6c3d0ddded1c4b8ab9e9185786b5e4a3f33281c0f03000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960666c71797e84898e92989a9d9fa4aca5a6a7a7a7a6a6a4a9a19e9b9895918c87817c756e68605b534c433c332a22181006000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000030e182127333f49535c666d78808791979fa4acafb5b9bec2c5c6cad0cbcccdcdcdccd2ccc8c6c4c2bdb9b5afaca69e99928c827a6e69707d8a97a3b0b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000713202d3946525e687885929fabb8c5cfc3b6a99c90837669554b4034281c1004000000000000000000000000000000000000071925323f4c5865727f8b98a8b2bdc8d4c9beb3a99b8e81756a5f544a3f342e263643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f48505a606c77828f98a2aeafa8a099928b827a6f6b6054483b2f221509000000000713202d3946525e686d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d20140700000c1926323f4c5965727f8c98a5b2bfcbc0b3a79a8d8074675a4d413427202d394653606c798698a2aebac7c6baaea29886796d6053463a2d201307000004111e2b3744515e6a7784919daab7c4d0cfc3b6a99c908376695d5043362a1d0600000000000a141e262e34384646464645515d6774818e9ba7b2a8978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcd7ccc0b5ab9c918c919ca8b2bdc9d5d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9c9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa3abb5c0cbd7e3d7cbbfb4aaa39f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000006111b2b37424d576774818d9aa7b4c0cddadfd2c5b8ac9f928579665b5044382b1f1206000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696a6f787e858b91969b9fa2aaaaacafb6b2b3b4b4b3b3b2b1b3adaba8a8a09d99928e87817b726c655d564e453c342a22180f050000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000915202a333c44505b656d78828c9399a1a9afb6bbc0c7cacfd2d3d6d4d2d0cccac9c8c7c7c8c9cbcec9c7c0bbb9b0aba39f948f847b6e707d8a97a3b0bdc6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000714212e3a4754616d7a8798a2aebac6cec1b4a79b8e8174685b4e412e23180c000000000000000000000000000000000000000815222f3b4855626e7b8896a0acb8c6d1cfc4b9ac9f92877c6f665c50443f38303643505c6976838f9ca9b6b2a5988b7f7265584c3f343a4146515a616c73808c949eaab4bab2aba39f948f847d6f6356493c302316090000000005111d2935414c565e6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161615e564c41362a1e110500000d1a2633404d596673808c99a6b3bfccc1b4a79b8e8174685b4e413528202d3a4753606d7a8693aab4bfcacabfb4aa94877a6e6154473b2e211408000005121e2b3845515e6b7884919eabb7c4d1d0c3b7aa9d9084776a5d51442e23170b0000000006111c2630383f4453535353534c5565717e8b98a4b1a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e0d4c7bbafa4998c7f8c96a1acb9c5d2d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9abababababababababababababababababababababababababababababababababababababababababababababababacafb5bdc7d1dce7dcd1c6bcb4aeacababababababababababababababa3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000e1a2631404c5966737f8c99a6b2bfccd9dfd3c6baaea29886796c605346392d201306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c727c838b92979ea0a8acaeb4b7b9bbc0bfc0c0c1c0c0bfbebeb9b8b5b1acaba39f9a938e857f776d685f574e463c342a21170c0300000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000020b1a26313c46515b606c77818e949fa4abb2bbc0c7cbd1d6dad5d2ccc7c6c3c0bdbcbbbababbbcbec1c3c6c7c7c1bdb5aea69f9691847b707d8a97a3b0bdcad2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000916222f3c4955626f7c8895aab4becaccbfb2a6998c7f7366594c4033261907000000000000000000000000000000000000000814212e3a47535f697784919eabb4bfcbd4c7bbafa3999083786d605b504a423b3543505c6976838f9ca9b6b2a5988b7f7265584c3f3f444c525b626c717e88939fa6b0bcc4bdb4aea69e968e8175685b4e4235281b0f02000000010d1925303a444c52545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454524c443b3025190d0100010d1a2734404d5a6773808d9aa6b3c0cdc2b5a89c8f8275695c4f423629212e3a4754616d7a8794a0adbad0d0bbaea195887b6e6255483b2f221508000005121f2c3845525f6b7885929eabb8c5d1d1c4b7ab9e9184786b544a3f34281c10030000000b17232e38424a505f60606060606063707d8996a3b0a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7dfd2c6b9ac9f93867a84919eabb7c4d1dcd1c5b9ac9f92867a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbc0c7cfd9e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000091825313e4b5864717e8b97a4b1becad7e0d4c7bbafa399867a6d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275777f8790959ea1a9acb2b8babfc3c6c8ccd2cacbcdcdcccccfc9c6c5c2bdb8b5afaca49f97928b827a6e6a5f584e463c33291e150b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000a141d2b37434e58626d73808d939ea6afb5bdc4ccd2d7dcd7cfc9c7c0bbb9b6b3b0afaeadaeaeafb1b4b7b9bbc0c7c6bfbbb0a8a19691847a7d8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000b1724313e4a5764717d8a97a4b0bdd0ccc0b6ac978a7e7164574b3e3124180b0000000000000000000000000000000000000006121e2b37424d5766727f8c99a3aebac4cfcbc0b5ab9f958d80736d605c544d454143505c6976838f9ca9b6b2a5988b7f7265584c454a50565e616d727e87929aa4afb8c1cec6bfb9ac9f93877c6f6255483c2f221509000000000008131e28323a414647474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746413b32291e14080000010e1b2734414e5a6774818d9aa7b4c0cdc3b6a99c908376695d5043362a222e3b4855616e7b8894a1aebbc7c8bcafa295897c6f6256493c2f231609000006121f2b3844505c667986929facb9c5d2d2c5b8ab9f928578665c5044382b1f1206000003101c28343f4a545c6c6c6c6c6c6c6c6c6e7b8895a1aea99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcddd0c3b6aa9d908377818e9ba7b4c1cedad3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1d9e1ebf4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd2c5b9ac9f928679675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8279818c9299a0a7adb3b9bdc3c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d1cec8c7c0bbb6afa9a29f948f847c6f6a5f584e453b30271d1207000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000006111c262f3847535f6a727f8b929da5afbbc0c7d0d8ddd8d1cbc5beb9b5afacaaa6a3a2a1a0a1a2a3a4a7aaacafb5b8bcc3c2bab2a8a0968e817e8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000020e1a26313c4754616e7a86929fa9b2bdc9d1c7bdb1a79d928c7f736d665e57524c47505c6976838f9ca9b6b2a5988b7f7265584b51545c60686d757f889299a3acb6c0cad0c5bbb0a69c8f82756a5f53473a2e2115080000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d020000020e1b2835414e5b6874818e9ba7b4c1cec3b7aa9d9084776a5d51442e23222f3c4855626f7b8895a2aebbc8c9bdb0a3968a7d7063574a3d3024170a00000713202d3a4653606d798698a3aebac7d3d3c6baaea29886796d6053463a2d201307000006121f2b3844505c66767979797979797979798693a0ada99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d7cbc0b5ab9a8d80737e8b97a8b2bdc9d5d7cbc0b5ab9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d4d7dce3ebf3fcf3eae2dcd7d3d2d1d1d1d1d1d1d1d1d1d1d1c9bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ded2c5b8ab9f9285786c554b4034291c1004000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f82828f939fa3abb1b9bec5c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced4d1cbc7c0bbb3ada69e9691857c6f6a5f574d43392e23180d040000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000b17222d38424f59626e7c87929fa4aeb7c1ccd2d9ded6cfc6bfbab3adaba49f9d9997969594949596989a9d9fa4abacb1b8bcc3bab2a89e938d818d9aa7b4c0cdd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000915202d3946525e6873808d96a1adb9c2cdcfc3b9aea49c918c80786e69605d56534e5c6976838f9ca9b6b2a5988b7f726558555c60666d717a818b939aa3abb5bec7d2cabeb3a99e94897c6f62584e43372b1f1206000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000020f1c2935424f5c6875828f9ba8b5c2cec4b7ab9e9184786b544a3f3428232f3c4956626f7c8995a2afbcc8cabdb1a4978a7e7164574b3e3124180b00000714212d3a4754606d7a8793aab4bfcbd7d6cabeb3aa94877a6d6154473a2e21140700000713202d3a4653606d788686868686868686868b95a2b7aa9d9184776a5e5144372b1e11000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e0d3c7bbafa3998a7d707b8796a1acb9c5d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcdededededad5d2d1c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0f7eee5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ded1c4b7ab9e9184786b5e51452f23180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3ddd0c4b7ab9f948f8f949ea5aeb5bdc3bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d2ccc5bebab0a8a09792857c6f695e554b4034281f160c0100000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1c28333f4a54606b75828f99a3afb6c0c9d7ddddd5ccc4bcb4aea9a19e9993908d8a8988878788898b8e9093999da0a7acb1babfbaafa59f9386939facb9c6d2d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b556976838f9ca9b6c2cfc4b7ab9e918478675d5145392c1f1306000000000000000000000000000000000000000005111e2a36414c56606d7984919ea6b0bbc5cecbc0b6ada39c928d837b736d68625f585c6976838f9ca9b6b2a5988b7f72656064676d71787e858f939fa4acb5bdc6d0cbc3baada2978f82756a6054463c31261b0f0300000000000000040c13191d20212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201e19140d050000000003101c2936434f5c6976828f9ca9b5c2cfc5b8ac9f928579665c5044382c23303d495663707c8996a3afbcc9cbbeb2a5988b7f7265584c3f3225190c00000814212e3b4754616e7a8794a1adbad1dcdbd0bbaea194887b6e6155483b2e22150800000713202d3a4653606d79869393939393939393959da7b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcdfd2c5b9ac9f92867a6d7884919eabb7c4d1ded3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e9dfd7cfc9c6c5bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8efe5dbd3ccc6c3c2bbbbbbbbbbbbbbbbbbbbbbbbbbb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7dccfc2b6a99c8f8376695c504336291d0700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd3c7bbb0a69f9c9c9fa6afbbbfbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d8d0cac1bab2a9a19792857b6e675c51453e31281d120700000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b66707d89949eabb5c0c8d2dbdfd5cbc3bab2aaa39f97928c8783807d7c7b7a7b7b7c7e8183868c91959da0a7aeb4bcbbafa49a939aa4afbbc8d4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000613202c3945515d677885919eabb8c4cfc2b5a99c8f827669554b4035291d10040000000000000000000000000000000000000000010d1925303b45515d67717e8a949fa9b3bcc5cfc8bfb5ada49c949085807a736f6a66646976838f9ca9b6b2a5988b7f72676d7074797e848b92979ea5afb6bec6cfccc3b9afa59f92857b6e61584e43342a20150a00000000000000000002080d111314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414110d0802000000000003101d2a3643505d697683909ca9b6c3cfc6baaea29886796d6053463a2d24303d4a5763707d8a96a3b0bdc9ccbfb2a6998c7f7366594c403326190d00000815222e3b4855616e7b8894a1aebbc7d4d5c8bbafa295887c6f6255493c2f22160900000713202d3a4653606d7986939f9f9f9f9f9fa0a2a7afb7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dccfc3b6a99c9083766774818e9ba7b4c1cfdad7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e1d7cdc5beb9b8afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0e8ddd3c9c1bbb6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaea3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000007121e2a36424d576773808d9aa6b3c0cdd9dacdc1b4a79a8e8174675b4e4134281b0e01000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d8ccc2b8b0aba9a9abb0b8bfbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6ccc3bbb3a9a1979083796d60594f43392f24180d02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7883909da6b0bdc7d1dae1d6ccc3b9b1a8a098928c857f7a7773706f6e6d6e6f707174777b7f848a90959fa2aab2bab6aca49fa4acb6c0ccd8d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000714212d3a4754606d7a8797a1adb9c6cdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000008141e2935404b55616c76828f97a1aab4bdc6d0c8bfb6aea69f98928c85807b7773706e76838f9ca9b6b2a5988b7f7477797d81858b91969ea1a9afbbc0c7d0ccc3bab1a79e938a7e71695e52463d3222180e03000000000000000000070e1317191a1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b1a18140f09010000000004111e2a3744515d6a7784909daab7c3d0cabfb4aa94877a6d6154473a2e24313e4a5764717d8a97a4b0bdcacdc0b3a69a8d8073675a4d4034271a0d01000915222f3c4855626f7b8895a2aebbc8d5d6c9bcafa396897c706356493d3023160a00000713202d3a4653606d798693a0acacacacacadaeb2b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e2d6cabfb4aa998c807366717e8b97a8b2bdc9d5dcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce6dacfc5bbb3adaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2abacb2bac4cedae3d7ccc1b7afaaa8a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000040d19222d3a46535f6976838f9ca9b6c2cfdcd4c8bcb1a7988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfded4cac2bbb7b6b5b7bbbcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d5cdc5bbb3a99f958e81746b61554b4035291f1408000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000003101c28343f4a5464707d8a95a0acb8c1cfd9e3d9cfc4bab1a7a09691867f79726d6866646362616162636567696e72777d838b9298a0a8b0b8b6afacafb6bec7d2ddd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000916222f3c4955626f7c8895a9b2bec9cbbeb1a4988b7e7165584b3e3225180700000000000000000000000000000000000000000000020d18242f3a43505a616e7b859298a2abb4bdc5cdc8c0b9b0aaa29f97928c8884807d7b78828f9ca9b6b5a89b8f818183868a8e92979ea0a8adb3bbc1ccd2cbc3bab2a8a0958f81756c61574d42342b2110060000000000000000010a12191f23262629292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929282724201a130b0200000005111e2b3844515e6b7784919eaab7c4d1d0bbaea194887b6e6155483b2e25323e4b5865717e8b98a4b1becbcec1b4a79b8e8174685b4e4135281b0e02000916232f3c4956626f7c8995a2afbcc8d5d6cabdb0a3978a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9b9b9b9b9babec4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce0d3c6baaea298897c6f636e7b8896a1adb9c5d2dfd3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2d0d9e3d5c9beb3a9a19e96959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5dfd2c6bbafa59e9b959595959595959595959595959595958a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000060d161f2834404a54616e7b87939facb9c6d2dfd1c4b8aca095877b6e6154473b2e21140800000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe6dcd4ccc7c4c2c2c1b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d7cdc5bbb1a79d938a7d70675d51453b3025190e020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006121f2b3844505c6674818e9ba7b1bccad3e1dcd1c7bdb2a8a09590847c726d67615d565756555454555658575e61666b70787e8691969fa6b0b9bbb9bbc0c7d0d9e4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabeb3a996897c6f6356493c30231609000000000000000000000000000000000000000000000007131d28313e47535f696f7c869299a3abb3bbc2cccbc2bcb3aea9a29f9996918d8a888686929facb8b6aa9e938f8e9092999b9fa2a9acb2b9bec5cdd0cac0b9b1a8a09690837a6d615a50453b3022190f0000000000000000000a131c242a2f3233363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363533302b251d140b01000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f25323f4c5865727f8b98a5b2becbcec2b5a89b8f8275685c4f4235291c0f02000a1623303d495663707c8996a3afbcc9d6d7cbbeb1a4988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6c6c6c6c7d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b8ac9f9285796d60697884919eabb7c4d1ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b2bdc7d2ddd2c6b9ada1979289888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2dccfc3b6aa9e938f88888888888888888888888888888888887d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000003090f181f28313a44515c6673808d9aa4afbbc8d4ddd0c3b7aa9d908377695e52463a2d20140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeee6ded8d3d0c9c1b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d6cdc3b9afa59e9184796d60564d41362a1e13080000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cedee3d7cbc0b5aba19690837a6f6a605d55524c4a4948474848494b4d52545961666d717c848f949fa7b1bac4c8ccd2d9e2ebd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000d192633404c5966737f8c99a6b2bfccc6baada297877a6d6154473a2e2114070000000000000000000000000000000000000000000000010c161f2b37424d57606a707d879299a2a9b1bbc0c7cec5bebab3adaba8a09d999798929298a3aebabbafa59e9b9a9d9fa3ababadb3b9bdc4c9cfcbc5bebaaea7a09691847a6d685d52483e33291f1007000000000000000007121c252e353b3f404343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434341403c362f261d1309000005121f2b3744505b657985929facb8c5d2c9bcb0a396897d7063564a3d3026333f4c5966727f8c99a5b2bfcccfc3b6a99c908376695d5043362a1d0700000a1724303d4a5763707d8a96a3b0bdc9d6d8cbbfb2a5988c7f7265594c3f3226190c00000713202d3a4653606d798693a0acb9c6d2d2d3ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3dbcfc2b5a89c8f8275665c6874818e9ba7b4c1ced9dcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e96a1abb5c0ccd7d1c5b8ab9e92857d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c84919eabb7c4d1dbcec2b5a89b8f817c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000002050a0f151a2129313a434e58606d7985919eacb6c0ccd8d5c9bdb2a8998d807366574d42362a1e110500000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfecf1e7ddd3cac1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd4cbc0b9aca1968d8073685e52463a3025190d0100000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a1623303d495663707c8997a2adb9c6d2dfe0d4c7bbafa39991847b6e685f58514b46413d3c3b3a3b3c3d3e4246474f545c606a6f7a828f95a0a8b2bec7d2dde4ebe3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec5b8ab9f928578685e5246392d201307000000000000000000000000000000000000000000000000040d1a26313c454e58606b717e8792979fa7afb6bec3c8cac5bebab8b2acaaa6aaa29f9fa3aab4bfc1b8afaaa8a7aaacaeb5b8babec5c9ceccc6bfbbb4aea49d9590847b6e685e564c41362c20170d0000000000000000020e19242e3740474b4d505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e4c4841392f251a0f03000613202d394653606c7986939facb9c6d2cabdb0a4978a7d7164574a3e312633404d596673808c99a6b3bfccd0c3b7aa9d9084776a5d51442e23180c00000b1824313e4b5764717e8a97a4b1bdcad7d9ccbfb3a6998c807366594d4033261a0d00000713202d3a4653606d798693a0acb9c6d3dfe0ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a8988b7f72655464717e8b97a8b2bdc8d4e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000714212e3a4754616d7a849199a4afbbc2ced2c6b9ada1978e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7784919daab7c4d0dacdc1b4a79a8e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c201306000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060000040607080809090e12151a20262b333b434c56606a727f8b97a1adbec7d2ddd2c5b9aca096897c6f6356493c30251a0e0200000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dff3e9dfd5cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6ddd5c9bdb2a89f92867b6e61564c41362a1d110500000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010e1a2734414d5a6774808d9aa9b3becad6e2d6cabfb4aa9f92877c6f695e564e4540393530302f2e2e2f3030363a3e424a50585f686d79839096a0acb6c0ccd8e1ebe3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111d2935414c566a7683909da9b6c3d0c3b6a99d9083766a564c41362a1d11050000000000000000000000000000000000000000000000000009151f2a333d464f59616c717e8590959fa4acb1b8bcc3c8cac6c3bdb8b7b3b4aeacacaeb4bcc6cac1bbb6b5b4b6b9bbbfc5c6cacec9c7c0bbb5aeaaa29f928d837b6e695e564c443a30241b0e05000000000000000007131f2a35404a5257595c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b59534b41362b201408000714202d3a4753606d7a869aa4afbbc8d4cbbeb1a4988b7e7165584b3e322734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a4034281c1004000b1825323e4b5865717e8b98a4b1becbd7dacdc0b3a79a8d8074675a4d4134271a0e01000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3ded2c5b9aca196887b6e6255616e7b8796a0acb8c5d2ded7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000713202d3946525e68707d87939fa7b1bcc5d0c9beb3a99d938a7e716962626262626262626262626262626262626262626262626262626262626a7784919daab7c4d0dacdc1b4a79a8e817467626262626262626262626262626262605d554c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21141313131313131313131313130c101314141516171a1e21262b31373d454d555d686f7c87929fa9b3bed0d9d4c8bcb1a79e9184786d6053463a2d2013090000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dacec4baaea3988d8073685e5246392d20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfdbe0d3c7baaea2988e81746a5f574d443c352f2924232221212223252a2d30383f444e565d676e7a84919aa4afbbc4cfdae6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413025190d0100000000000000000000000000000000000000000000000000030e18212b343d47505a616c707b838d939aa0a7acb1b8bcc3c4c8c8c5c4c0bfbab8b8babfc6ced3ccc6c3c2c1c3c5c7cbcec9c5c4bdb9b6afaba39f98928a80796e695e574d443a32281e12090000000000000000000a17232f3b47525c63666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968645d53483c3024180b000714212e3a4754616d7a8794a0b6c0ccd8cbbfb2a5988c7f7265594c3f322734414e5a6774818d9aa7b4c0cdd2c5b8ac9f928579665c5144382c1f1206000c1925323f4c5865727f8b98a5b2becbd8dbcec1b4a89b8e8175685b4e4235281b0f02000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e918478695f535e697784919eaab7c4cedadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000005111d2a36414c56606b73808c959fa9b3becacfc5bbafa59f92857b6e665c55555555555555555555555555555555555555555555555555555e6a7784919daab7c4d0dacdc1b4a79a8e8174675b555555555555555555555555555554514c433a2f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2120202020202020202020202020181c1f2021222324262b2d31373c43474f575f676d7a849199a3aebbc4cfd7cdc5b8aca0958a7e71665c5044382b1f12060000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6154473d32271b0f03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000714202d3a46525e697985929facb8c5d2dfdfd2c5b8ac9f92867b6e61584e453b3229241d191615141515161a1e20262e343c434c555e686f7c88939fa9b3bec9d5e3e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a8797a2adbac6ccbfb3a6998c807366594d4033261a08000000000000000000000000000000000000000000000000000000060f19222b353e48505a61696e78808890959da0a7acb1b6b8bcc2c5c6c9cac7c5c5c7cbd0d8e0d7d2cfced0cac6c5c3c0bdb9b7b2acaca49f99928d867e746d675e574d453b322920160c000000000000000000000c1926323f4b57636e7376767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676746f64594c4033271a0e000815222e3b4855616e7b8894a1aebbd2ddccbfb3a6998c807366594d40332835414e5b6874818e9ba7b4c1ced3c6baaea29886796d6053463a2d201307000c1926333f4c5966727f8c99a5b2bfccd8dbcfc2b5a89c8f8275695c4f4236291c0f03000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d807367574d576773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000010d1925303a444f59606d78839097a2adbac0cccdc0baada2979083786d60594f4848484848484848484848484848484848484848484848515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e484848484848484848484848484745413a31281e130800000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d23292c2d2e2f2f3131373a3c43474e535960696e79828f96a0abb4bfcdd6cfc5bbb1a79d9083786c60544a3f34281c10030000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6dcd0c6baaea2988c7f7266584e43372b1f1306000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6d3dfd7cbbfb4aa9a8e8174695e52463c33292018120d0808070809090e11141c2328313a434c56606b74808d97a1adb9c6d1dce7d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000916232f3c4956626f7c8995a9b3becacabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000007101a232c363e4850575e666d737d838a90959da0a7aaacb1b5b8b9bebdbfc1c5c6cad0d7d3ccc6c3c2bdbebab8b6b4b2acaba8a19e9a938e86807a716c605c554d453b332920170e04000000000000000000000d1a2633404d59667380838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838174685b4e4135281b0e000915222f3c4855626f7b8895a2aebbc8d5cdc0b4a79a8d8174675a4e41342935424f5c6875828f9ba8b5c2ced6cabfb4aa94877a6d6154473a2e211407000d1a2633404d596673808c99a6b3bfccd9dccfc3b6a99c908376695d5043362a1d0600000713202d3a4653606d798693a0acb9c6d3dfe1ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f62564956626f7c8996a1acb9c5d2ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbac3cfcabeb3a99f958c80736b60564c413c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e413c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c0100000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a3939393939393939393939393939392f34383a3b3b3c3e404246484e53585f626b707b838f949fa8b2bdc6d1d1c7bdb3a99f958a7d70665b5042382e23170b000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd6cabfb4aa9d9184776a6054473b2e221509000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000915222f3c4855626f7b8895aab4bfcad6e0d3c7baaea3988a7d7064574d42342a20170d070100000000000002050a11171f28313b444f59606d7a85919eabb5bfcbd7e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4b1bdcfc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000008111a242c363e454d545c606b70787d838a9095999da0a7a9abadb3b1b3b4b8babec5cdcac1bbb6b5b0b4aeabaaa7a8a19e9a96918c87817b746e68615a514b433b332921170e0500000000000000000000000f1c2935424f5c6875818f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f83776a5d5144372a1e11000916232f3c4956626f7c8995a2afbcc8d5cec1b4a89b8e8175685b4e42352936434f5c6976828f9ca9b5c2cfdbd0bbaea195887b6e6255483b2f221508000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a5d51442e23170c00000713202d3a4653606d798693a0acb9c6d3d5d5d5d1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e9184786c60534654606a7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da8b1bcc6d0c5bcb1a79f93877d70685e52463f342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342f2f2f2f2f2f2f2f2f2f2f2d2c29241e160d040000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544746464646464646464646464646464646464045474748494a4d4d5355585f626a6e757d8591959fa6b0bac4cfd2cbc0b5aba1979083766c61544a3f30261c1106000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6dbd0c6b8aca095897c6f6256493c31251a0e020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000091623303c4956636f7c8996a2afbcd0dbdfd2c5b9ac9f92867a6d6053473b3020190e050000000000000000000000060d161f29323d45515d6773808c99a3aebbc7d3e0d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000008121a232c333b424a515961656c70787d83888c9095989c9ea1a9a4a6a8abadb3bbc5c1b8afaaa8a4aaa29f9d9a9796918e8984807b756e69615e5650454039302921170f050000000000000000000000000f1c2935424f5c6875828f9b9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9084776a5d5144372a1e11000a1723303d4a5663707d8996a3b0bcc9d6cfc2b5a89c8f8275695c4f42362a3643505d697683909ca9b6c3cfd5c8bcafa295897c6f6256493c2f231609000e1b2734414e5a6774818d9aa7b4c0cdd5d5d1c4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d798693a0acb9c6c8c8c8c8c8c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d8074655b50444e586773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000050e17232e38424d57616c74818e95a0aab4bfcbcec2bbafa49991847a6d615b51463c312722222222222222222222222222222b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134282222222222222222222221201d19130c04000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61545353535353535353535353535353535353534b5153545556575a575f61666a6f747b82899297a0a7b0b8c2ccd0c7c0bbafa39992857b6e615a5042382d1e140a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd4c8bcb1a79a8d807467574d42362a1e12050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c908376675d5145392c20130700000000000000000000000000040d17202935414c55616e7b86929facb9c5d2dfd7cabdb0a4978a7d7164574a3e3124170b000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000008111a2129303940444f535b60656c70777c7f83878b8f92979597999b9fa2a9b3bebbafa59e9b97959892908d8a8784817d78736e69615f57524c443e342e271e170f05000000000000000000000000000f1c2935424f5c6875828f9ba8a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99d9084776a5d5144372a1e11000a1724313d4a5764707d8a97a3b0bdc9c9c9c3b6a99c908376695d5043362a3744505d6a7783909daab6c3c9c9c9bdb0a3968a7d7063574a3d3024170a000f1b2835424e5b6875818e9ba8b4c1c8c8c8c8c5b8ac9f928579665c5044382c1f1206000713202d3a4653606d798693a0acb9bbbbbbbbbbbbbbb7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f4956626f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f241815151515151515151515151e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1515151515151515151413110d080100000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6160606060606060606060606060606060606060605c60616262646669696e73777b81878f939ea1a9b1b9c2cacfc6beb6afa49f92877d70695e53483e2f261c0c0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8d9cec3b7aa9d918477695e53463a2d2114070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dbcec1b4a89b8e817568554b4035291d10040000000000000000000000000000050e19242f3a46525e6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec7baada194877a6e6154473b2e2114080100020202020000000000000000000000000000000000000000000000000000080f171e272e343d414950535b60646a6f73777b7f828587898a8c8e9297a2adbab6aa9e938f8a89878583817e7b7874706c65615f57534d46413b3228231d150c0500000000000000000000000000000f1c2935424f5c6875828f9ba8b5b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdb7aa9d9184776a5e51442e233744515e6a7784919daab7bdbdbdbdbdb1a4978a7e7164574b3e3124180b000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbaaea29886796d6053463a2d201307000713202d3a4653606d798693a0acaeaeaeaeaeaeaeaeaeaa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346394653606c7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c0909090909090909111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e090909090909090907060401000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6e6e6f717375787b7f84888e92999ea5adb3bbc3cccac3bcb4aca49f928c7f726b60574d42362c1d140a0000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4ded1c5b8aca096877b6e6154483b2e2115070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dacdc0b3a79a8d8074675a4d412f24180d0100000000000000000000000000000008131e2a36414d566673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004101d2a3743505d6a7683909da9b6c3d0c8bbaea295887b6f6255483c2f2214110d070f0f0f0f0b0a08040000000000000000000000000000000000000000000000050c151c23282f383f44495053585f6266696e7276787a7c7e808185929fabb8b5a89b8f817e7c7a787774716e696763605b53534d46423b3630292018120b030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b7aa9d9084776a5d5144372a1e11000c1825323f4b5865727e8b98a5b0b0b0b0b0b0b0ab9e9185786b554b4034283845515e6b7884919eabb0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00101c2936434f5c6976828f9ca9aeaeaeaeaeaeaeaeb4aa94877a6d6154473a2e211407000713202d3a4653606d798693a0a2a2a2a2a2a2a2a2a2a2a29e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a99a8d8074655b50443744505b6574808d9aa9b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4bab0a69f92867c6f675d51453e33291e140a00000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a79797979797979797979797979797979797979797979797a7a7b7c7d808285888c90959a9fa3abafb9bec5cbc5bebab1aaa39a938c80746d63594f453b31241a0b020000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd4c8bdb2a8988b7e7165584b3e2e23180c0000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190700000000000000000000000000000000010e192530404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa396897c706356493d2f26201d181c1c1c1c1c171614100b0500000000000000000000000000000000000000000000030b12181d262d33383f44464e5355575e616569686d6f717376838f9ca9b6b2a5988b7f726f6d686a6764615e575653504947423c36312a251e170e0700000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc3b7aa9d9084776a5d5144372a1e11000c1926323f4c5965727f8c98a3a3a3a3a3a3a3a3a39f928579675c5145382c3945525f6c7885929fa3a3a3a3a3a3a3a3a3998c7f7366594c403326190d00101d2a3643505d697683909ca2a2a2a2a2a2a2a2a2a2a194887b6e6155483b2e221508000713202d3a4653606d788693959595959595959595959595959184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f333f4953636f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989183796d605a50453b30261c1106000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d4c8bbafa2978c878686868686868686868686868686868686868686868686868788898a8d8f9197999da0a7acafb5bdc1c8c6bfbbb4aea8a09892887f746e645b51473d33291f1108000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcd9cec1b4a89b8e817568554b4034281c100400000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000081a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004111e2a3744515d6a7784909daab7c3d0ccbfb2a6998c7f7366584e4238302c292428282828282423211c1710080000000000000000000000000000000000000000000000070b141b22272d33373c4347494d535458565d6062646976838f9ca9b6b2a5988b7f7265615e565a5754524d4946443f3837312a261f19140d050000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b7aa9d9084776a5d5144372a1e11000d192633404c5966737f8c96969696969696969696969886796d6053463a2d3844505c6679869296969696969696969696968d8073675a4d4034271a0d00111d2a3744505d6a77839095959595959595959595959595887c6f6255493c2f221609000713202d3a4653606d788688888888888888888888888888888884776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346392d394653606c7884919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958e81746c61574d42382e23170e040000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbfb3a89e979493939393939393939393939393939393939393939393939394959597999c9ea1a9aaacb1b9bbc0c4c1bcb8b5aeaaa29f9591867e726d645c53493f352b21170d00000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd8cbbeb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd0c3b7aa9d908477675c5145382c1f130600000000000000010507070a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0808080706040100000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfcfc2b6a99c8f83766a5f544a413a39352f353535353531302d28221a12080000000000000000000000000000000000000000000000020a11171b22272b32373b3c4246484c4c5254565c6976838f9ca9b6b2a5988b7f726558524c4e4b4846423d3937332d2b261f1a140d0802000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3aa9d9084776a5d5144372a1e11000d1a2734404d5a6773808a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e00111e2b3744515e6a77848888888888888888888888888888887d7063564a3d3023170a0006121f2b3844505c66767c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb2a99a8d8074655b5044372b3844505b6674808d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e71695e544a3f342820160c0200000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbd0c4bab0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a1a2a4a6a8abadb3b7b8bcc0bbb9b7b4b1acaba39f98928c847c716c635b534a41372d23190f0500000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7cabeb1a4978b7e7164584b3e3125180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c5b9ac9f9286796d6053463a2d201307000000000002080d111314141723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322519141414141413110d08010000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000020e1b2835414e5b6874818e9ba7b4c1d1d0c4b7ab9f94887c6f665b524c4745404242424242423e3c39332c241a1005000000000000000000000000000000000000000000000000060b11171b1f262b2e31363a3b3f414547505c6976838f9ca9b6b2a5988b7f7265584c41413e3b3a36302d2b27221b1a150e09030000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69d9084776a5d5144372a1e11000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222f3b4855626e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070003101c28343f4a545f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2d21140800000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c6f6353493f3328333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9afa59f92857b6e665c50443d32281e130800000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e1d6ccc2bab3afadacacacacacacacacacacacacacacacacacacacacacacacadadaeafb0b3b5b8b9bec3c7beb6afacaaa8a7a09d99928e867f786f6a615a514941382f251c11080000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d8ccc0b6ac978a7d7064574a3d3124170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd3c7bbafa399887c6f6255493c2f22160900000000040c13191d2021212123303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225212121212121201d19130c0400000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000d1a2733404d5a6673808d99abb5c0cbd3c7bbb0a69c8f82786c615e5653514b4f4f4f4f4f4f4a49443e362c22170b0000000000000000000000000000000000000000000000000000060b0f151b1f21252a2d2e2f353943505c6976838f9ca9afafa5988b7f7265584c3f30312e2d2a25201f1b17110e090300000000000000000000000000000000000000000000000f1c2935424f5c6875828f99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999084776a5d5144372a1e11000815212e3a47535f6a6f70707070707070707070707070706d675d5145382c3844505c666d70707070707070707070707070706f6a5f54473b2e221508000814212e3a47535f696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c20130600000b17232e38424e585f62626262626262626262626262626262615f574d42372b1e12060000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9184786c605346392d222d394653606c7985919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0ccccc0baada2979082786d60594f443a3024191006000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e8ded4ccc4bfbbbab9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9babbbcbdc0c2c4c6c9c7bdb5aca49f9d9b9895908b86817b726d66605850483f372f261d130a000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7e0d4c8bbafa49a887b6f6255483c2f221509000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd7cbc0b5ab978b7e7164584b3e3125180b000000040e161e25292d2e2e2e2e303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322e2e2e2e2e2e2d2c29241e160d04000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1825323e4b5865717e8b99a3afbbc7d4cdc2b7aa9f948d80756d6863605d555c5b5b5b5b5b575550483e33281c1004000000000000000000000000000000000000000000000000000000030a0f13151a1e212124293643505c6976838f9ca3a3a3a3988b7f7265584c3f322521201e1a13120f0b0600000000000000000000000000000000000000000000000000000f1c2935424f5c6875818d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d83776a5d5144372a1e110006121f2b37434e585f626363636363636363636363636363605d554b403529343f4a545c606363636363636363636363636363625f584e43372b1f13060006121e2b37424d575f62626262626262626262626262626262605d554b4135291d1104000006111c26303c464e535555555555555555555555555555555555534d453c31261a0e020000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8074665b5044382b1f2b3844505b6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cfcabeb3a99f948c80736b60564c41352922180d030004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e6ded6d0cbc8c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c7c8c8cacccfd1d2cbc0b5aba39a93918e8c88837f7a746e69605c544e463e362e251d140b01000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcdfd2c6b9ac9f9386796d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddadcd1bfb2a5998c7f7266594c3f3326190c0000020c1620283035393a3b3b3b3b3d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3b3b3b3b3b3b3b3a39352f281f160c010000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a86929facb9c5cfd3c7bbb0a69d928d817a74706d676969686868686864615a5044392d21140800000000000000000000000000000000000000000000000000000000000306090e12141519293643505c6976838f9696969696968b7f7265584c3f32251914120e090503000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080807f7265584c3f3225190c00030f1a26313c464e5355575757575757575757575757575753514b43392f242e38424a5053575757575757575757575757575755544e463c32261b0f0300020e1a26313c454d535555555555555555555555555555555554514b433a2f24180d010000000a141e2a343c4347484848484848484848484848484848484847423c332a1f150900000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c28333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6d0c5bbb0a69f93877d70685d52463f342a1f150b0104111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdcac8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9cacbcdcfd2d3d6d4c7bbafa399928884817f7c77726d68615e56514a423d342c241c130b0200000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3ddd0c3b6aa9d908377675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b3a79a8d8074675a4d4134271a0e000008131e28323a41464747474747474a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c47474747474747474745413a31281e13080000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e6876828f9ca9b3bec9d5ccc2b8aea49d938f86817c7a7776757575757575716c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000020507081d293643505c69768289898989898989897f7265584c3f3225190c0502000000000000000000000000000000000000000000000000000000000000000a1724303d4956616c7173737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373726d62564a3e3125180b00000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d2630383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009151f2a333c4247484848484848484848484848484848484745413a31281d130700000000020c18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d2217222d3a4653606d7985929eabb8c5cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa49991847a6d615b51463c31271d120700111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbec0c3c5c6cad0c5b9ac9f92867f7b77736f6a65615e56524d444039302b221a120a010000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff3e9e0d5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1e1d5c9bdb2a8998c7f7366554b4034291c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00010d1925303a444c52545454545454545663707d8996a3b0bcc9d6d8cbbeb2a5988b7f72655854545454545454545454524c433a2f24190d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36414c5664717e8b97a1adb9c1ccd3cac0b6aea59e98928e898684838282828282827e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7d7b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000815212d3945505a61646666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665625b51463a2e2216090000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38352f271f151e262e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000030e18212a31373a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c01000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2b261f180f06000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8174665b5044382b1c121f2b3844505c6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f24180f05111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafb0b1b3b6b8babfc5c7bbafa399928c8783807a746e69605b534c443b332a2019100800000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff2e9e2d9cec4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4deded2c5b9aca196887c6f6255483c2f23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d100005111d2935414c565e616161616161616163707d8996a3b0bcc9d6d8cbbeb2a5988b7f726561616161616161616161605d564c4135291d110400000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000010d1925303a4754606d7a85929ea5afbac3cbd6c8c0b7afaaa29f9a999391908f8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000815222e3b47545f6a6f70707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000005111d28343e485056585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a585651493f34291e120600000006101820262b2e2f30303030303030303030303030302d2c29241d150d141c23282b2d30303030303030303030303030302f2e2b26201910070000000000060f181f262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d2c29241d160d0400000000000000060e151a1f212222222222222222222222222222222222211e1a150e060000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c101c28343f4a5463707d8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb3aaa4a2a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a3a4a7a9acaeb4b8babfb5aba39f9895908c86807b726c655e564d453b332920160c02000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e0d7d0cac6c2b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedce3d7cbbfb4ab9e9184786a5f53473b2e1d120700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e11000713202d3946525e686d6e6e6e6e6e6e6e6e707d8996a3b0bcc9d6d8cbbeb2a5988b7f726e6e6e6e6e6e6e6e6e6e6e6d685d5245392c20130600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000813202c3945515d67717e8a939ea8b1b9c2cad0c9c1bcb4aeacaba49f9d9c9c9b9b9b98887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363615e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4a463f372d23180d0100000000060e151a1f21222424242424242424242424242424201f1d18120b030a11171c1f20242424242424242424242424242422221f1b150e0700000000000000060e151a1e212222222222222222222222222222222221201d18130c04000000000000000000030a0f1215151515151515151515151515151515151514120e090300000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d22170b17232e3a4653606d7985929eabb8c5cfdbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4baafa59f92867c6f675d51453e33291e140a1e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa1999595959595959595959595959595959595959595959595959697989a9c9fa2aaacaeb4bbb5afaca7a09d98928d867f776d685f574d453b32281e1308000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d7cec5bebab8bab8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5dfdcd3c7baaea3998d807467584e43372b1f0b0100000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ddd1c4b7aa9e9184776b5e5144382b1e11000714212e3a4754616d7a7a7a7a7a7a7a7a7a7a7e8a97a4b1bdcad7d9ccbfb2a6998c7f7a7a7a7a7a7a7a7a7a7a7a7a7a6d6054473a2d21140700000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b55616c75818e96a0a7b0babfc6cecec6bfbab8b5afacaaa9a8a8a89f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5455565656565656565654524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000006101b242d34393d3e404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403f3e3a342d251b1107000000000000030a0f12151517171717171717171717171717171413100c07010000060b10121317171717171717171717171717171615130f0a0400000000000000000003090e1214151515151515151515151515151515151413110d07010000000000000000000000000306080909090909090909090909090909090908080602000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665b5044382b1c1106121f2c3844505c6674818e9aa9b3becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989083796d605a50453b30261c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb1a4998e898888888888888888888888888888888888888888888888898a8b8d9092989b9fa3aaafb5bbb9b1acaaa29f99928c827a6e695f574d443a3024190d030000000000000000000000000713202d3a4653606d798693a0acb9c6d3e7dbd0c5bcb4aeabaeb4b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddddd5c9beb3a99f92867b6e6155483c32261b0f0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a77838787878787878787878a909aa6b2bfcbd8dacdc0b4a89c918c8787878787878787878787878175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010d18242f3a43505a616d7a8490959fa6aeb4bcc1c5c8cac6c5c0bbb9b7b6b5b5a99c908376655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494846423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000009121b22282d30313333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332312e29231b1309000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000306070a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000002060808090909090909090909090909090909070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c0a03101c28343f4a5463707d8997a2adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958d80746c61574d42382e23171e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7c7d7e808385898e92989fa3abb1b9bcb8b4aeaba39f948f847b6e695e564c4135291f150b0100000000000000000000000713202d3a4653606d798693a0acb9c6d3e2d6cabeb4aaa29fa2aaafb7b3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbddd4cbc2b9ada1978d8073695f53463a2a20150a0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f1200111d2a3744505d6a7783909494949494949494979aa2acb7c2cedadcd0c4b8ada39c9994949494949494949494948e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000007131d28313e46525e686e7b8390949fa2aaafb7b8bcc1c3c5c7c7c6c4c3c0b4a79a8d81746753493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000040e19222a32373b3c3d3d3d3d3d3d3d3d3b3a36302921170d03000000000000000000000000000000000000000000000000000000000000000000000000000910171d212425272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272525221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2d22170b000c17232e3a4653606d7985929eabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e70695e544a3f342820162b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7070717476797d81868d92999fa7b0b8c2bfbab4aea69e9691847b6e685d52463d31271d120700000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd3c6baaea29892989ea5afbbbab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9ded5cbc2b9b0a69e92857a6d60574d42362a1e12050000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f1300111d2a3744505d6a7783909da1a1a1a1a1a1a1a4a6acb4bec8d3dfe0d5cabfb6ada8a6a1a1a1a1a1a1a1a1a1a19b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000010c161f2a36414c565e696e7a828c92989ea5aaacb1b4b6b9babfbbbcbcc0b5ab988b7e7165584b3e2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000007101920262b2e2f30303030303030302e2d2a251f170f05000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070708090a0b0b0c0c0b0b0a090807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665c5044382b1c11060006121f2c3844505c6674818e9ba9b3becad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49f92857b6e665c50443d32281e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6262626262626262626262626262626262626262626263646567666d70757a808790959fa6b0b8c2c6bfbab0a8a19691837a6d61594f43392f24180c00000000000000000000000713202d3a4653606d798693a0acb9c6d3ded2c5b8ab9f92858f939ea9b3bbbeb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dadbd6ccc3b9b0a69e938b7f72685d52453b31261a0e020000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f1200111d2a3744505d6a7783909daaadadadadadadb1b2b7bec6d0dae5e6dbd1c8bfb8b4b2adadadadadadadadada89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000040d1925303a444d575e686d797f868e93999da0a7a7aaacaeb4afafafafafa499897c6f6256493c2f231606000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f2222232323232323232321201e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c101313141516171718191818171716151413110d070a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a000003101c28343f4a5463707d8a97a2adbac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0baada2979082786d60594f443a30242b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61555555555555555555555555555555555555555555565758545c6063686d737c838f949fa6b0bbc5cbc2bab2a8a0958e81746b60554b4035291d1004000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82828f97a1a9b3bbc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4dcd7d0cac1bab1a79f948f82786d60564c4133291f1409000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a7783909daab6babababababdbfc2c8d0d8e2ecede3dad1cac4c0bfbabababababababab4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000008131e28323b454d565d676d737b81888c9195989a9d9fa3aba2a3a3a3a39f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407090e12141517181c1f202122222324252525252424232220201d1819171514120e0907040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b0000000c17232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60564c4135292b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544848484848484848484848484848484848484849494a4b4a5053565d606a6f79828f949fa9b3becaccc4bab1a79e93897d70675d5145382c1f150a000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859197a2a9b1bbc0c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d6d1cbc5bebaafa8a0959082796d665c50433a2f21180d03000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e1100111d2a3744505d6a7783909daab6c3c7c7c7c7cad1d2d5dae1e8f1f5ece3dbd5d0cdccc7c7c7c7c7c7c7c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000020c162029333b444c555c60696e757b7f84888b8e90929994959696969696918477675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060708090a0b0b0b0c0c0b0b0a09080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e20212423282c2d2e2e2f3031323232313131302e2d2c2924262421211e1a1413110d08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8e8174665c5044382b1c110600000006121f2c3844515c6674818e9baab3becad6e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d52453f342a3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3d3e3f44464c52585f676d79828f97a1adb9c3cdccc3b9afa59e9184796d6053473c32271b0f030000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757c859297a0a7afb5bdc2c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d7d3d0cac7c0bbb3ada59d9691837a6d675d544a3f31281e0f0600000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c3b7aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daab6c1c1c1c1c1c1c5c6c9cfd6dfe8f1e7ddd5cdc8c4c3c1c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000050e172029323a434b51575e61696e73777c7e818386878888898989898989817568554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709060b101213141617171818191818171716151312100c07090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312e34383a3a3b3c3d3e3e3f3f3e3e3d3c3b3a39352f33312e2d2a2521201d1913100c0701000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a0000000004101c2834404a5463707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605b51463c313744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f30312e34383a41454e555d676d7a85929ea7b1bcc8d4ccc1b9aca0968b7e7165584e43372b1f13060000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756f7c8590959fa3abb0b9bbbfc5c7cbcac6c5c4c5c6cad0cdd0d1d2d1d1cbc7c5bfbab5afa9a29f938e847b6e685d554b42382e1f160c0000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000111d2a3744505d6a7783909daab4b4b4b4b4b4b4b8b9bec5cdd6e1eadfd5cbc3bcb8b6b4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000050e172028313940454d52575f61666a6f727477797a7b7c7c7c7c7c7c7d7b6e6155483b2f24180c00000000000000000001050707090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080705020000000000000000000000000000000000000000000000000000000000000000000000000205060c1012131518171c1f2021232424252525252524242321201f1c1818161313100c0706020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181c1f24292c2d30363a3b3d404045464748494a4a4b4c4b4b4a4a494847454042403d3b3a36312d2c29241f1c18120d08020000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b00000000000c18232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968f81756d62584e43392f44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2222222222222222222222222222222222232423282b2f353c434b555e68717e8b95a0acb8c4d1d5c9bdb2a89d9083776a6054473b2e2215080000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756a6f7b838d92999fa6acaeb5b9babfc1c3c5c7cbd1c9c9d0cac7c5c4c2bfbab9b4aeaba39f97928a81796e695e564c433930261c0d040000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b4a89b8e8175685b4e4235281b0f00111d2a3744505d6a7783909da8a8a8a8a8a8a8a8abadb3bbc5cfdae4d9cdc3b9b1acaaa8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000050e161f272f343b42464d5355585f626567666d6d6e6f7070707070706e695f53463a2d1d12070000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000105090e1214171c1f20222523282b2d2e2f303131323232313130302e2d2c28232522201f1c1814120f090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141a1c23282c2f35393a3e4246484a4d4b51535455555657585858585757565553514b4f4c4a4846423e3a3935302c29231d19130d0802000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c1106000000000007131f2c3845515c6775818e9baab4becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e726a5f554b403444515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21151515151515151515151515151515161617171c1f24293139434c56606c7883909daab6c3ced9cec4b8ab9f95887c6f6255493c2f24190d0100000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569696e7980878f949b9fa3abacaeb4b5b7b9babfbbbcbcbbbfbab8b7b6b4aeacaaa29f99928e857e746d675e574d443a31271e140a000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d9cdc0b3a69a8d8073675a4d4034271a0d00111d2a3744505d6a7783909b9b9b9b9b9b9b9b9b9ea1a9b3bec9d5e0d4c8bcb1a7a09d9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000040d151d232930363b4246484e535558545c60616162636363636363615f574d42372b1e0b01000000000000050c13191d202123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201e1a140d050000000000000000000000000000000000000000000000000000000002080d11141a1e2123282c2d2f312e34383a3b3c3d3e3e3e3f3f3e3e3d3c3b3a38342e322f2d2c2823211f1a15110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181f252a2e34383a4145474b4d52545759545c6061616263646565656464646361605d555b595754534d4b4745413a38342f29251e19130b06000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c1003000000000004101c2834404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6f675c51453e44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140808080808080808080808080808090a060b1013191f27313a44505b65727f8c98a7b1bcc8d4d4c8bcb1a79a8d817467554c4135291d110400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695f676d747c82898e92999c9fa3aba8aaacaeb4aeafafafb4aeacaba9aaa39f9c98928d87817b716c605d554d453b32281f150c02000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8cbbfb2a5988c7f7265594c3f3226190c00111d2a3744505d6a77838e8e8e8e8e8e8e8e8e8e9297a1adb9c6d2ded1c4b8aca095908e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000030b12181f252a31363a3c4347484b4a505354555556565656565655534d453c31261a0e000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f0500000000000000000000000000000000000000000000000000040a0f13191d20262a2d2e34383a3c3e413f444647494a4a4b4b4c4b4b4a4a4948464440413e3c3a38342e2e2b26201e1914100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d24293036394044464c525458575e61646669666d6d6e6f70717172727171706f6e6d676a686664615e575754524c47454039353029241e17110a020000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c000000000000000c18232e3a4753606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d605a504544515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003080d151f27333f4953616e7b8895a0acb8c5d1d8cdc3b7aa9d908477675d5145392c20130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569555c606a6f767d82868c8f9299999b9d9fa3aaa2a2a3a2aaa29f9e9c9998928f8c85807b756e69615a514b433b332920160d0300000000000000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd6cabfb4aa978a7d7164574a3e3124170b000d1a2733404d5a6673808181818181818181818185929eabb8c5d1ddd0c3b6aa9d90838181818181818181818181817f7265584c3f3225190c00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000001070c141a1f262a2d32373b3c3f3f44464748494949494949494846423c332a1f14090000000000020c1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36302921170d0300000000000000000000000000000000000000000000040a0f151b1e252a2d31363a3b3f4446484b4d4a50535456575758585858585757565453514a4e4b494645403b3a37312d2a251f1b16100b0500000000000000000000000000000000000000000000000000000000000000000000000000060b141b22272f353b42464a5153565d606569696e70737578797a7b7c7d7d7e7f7e7e7d7d7c7b7a79777573706e696764605d5653514b46413a353027221b140b0500000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c11060000000000000007131f2c3845515c6775818e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80746c61574d42515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000030d17222d3846535f697784909daab7c3d0ddd2c6b9ac9f93867a6d6054473a2d21140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c51585f626b70757a7f83868a8c8e9092989495969695949892918f8c8986837f7a746e69615e575045403a312921170e040000000000000000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c6baaea298887b6e6255483b2f221508000c1926323f4b58636e7375757575757575757576838f9ca9b6c2cfd8cbbeb2a5988b7f757575757575757575757575726d62564a3e3124180b00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000002090e141a1e21262b2e2f2e34383a3a3b3c3d3d3d3d3d3d3b3a37312a21180e03000000000008131e29323a4146474949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f1409000000000000000000000000000000000000000002090e161b20272b3036393b4246484a505355585a545c6061626364646565656464636361605c545a585553514b4847433c3a36302c27211c160e090300000000000000000000000000000000000000000000000000000000000000000000070f181d262d333940454d52545c6064686d7175787b7d80828586878888898a8b8b8b8b8a8a8988868584827f7d7b7774716d6864605c55524c45413a332d261d170e0700000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada297897d7063544a3f34281c0a000000000000000004101c2934404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d70695e544a515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006111b2a36424d576875828f9ba8b5c2cedbd4c7bbafa499897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4e53596063686e72767a7d8082848687888889898887868584827f7c7976726d68615e57534d453e352f281f170f05000000000000000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b8ac9f9285796c605346392d201306000a17232f3b47525c636668686868686868686976838f9ca9b6c2cfd8cbbeb2a5988b7f72686868686868686868686865625b51463a2e22160900000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000003090e12151b1f212223282b2d2e2e2f3030303030302e2d2b261f180f060000000000010d1925303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524d453b30251a0e02000000000000000000000000000000000000060b141921272c32373a4146474d5355545c6062646769666d6e6f7071717172727171706f6e6d6669676562605c5555534e4746423b38322c27211a150c070000000000000000000000000000000000000000000000000000000000000000061119212a2f383f444b51575e61666d70757a7e8285878a8c8f9197949495969798989897979796949892918e8c8a8784817e7a75716d67615e56524c443f382f292019110900000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c0000000000000000000c18232f3a4753606d7985929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b6e665b50515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000e1a2631414e5a6774818d9aa7b4c0cddad7ccc0b5ab998c7f7266594c3f3326190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f43474f54565e6165676d70737577797a7b7b7c7c7c7b7a797876736f6d6765605d56534d46423b3329241d160d0500000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7dcd0c3b6a99d908376665b5044382b1f12060007131f2a36404a52585a5b5b5b5b5b5b5b5c6976838f9ca9b6c2cfd8cbbeb2a5988b7f72655b5b5b5b5b5b5b5b5b5b585651493f34291e120600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000002050a0f121515171c1f2021222223232323232322211e1a140e0600000000000005111d2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e120500000000000000000000000000000000020a11171f252a32383c43474c5254575f6165666d6f71747678797a7c7d7d7e7e7f7e7e7d7d7c7b79787674716f6d6765625f5854524d48443d38332b261f18120b0300000000000000000000000000000000000000000000000000000000030a1117232b333c414950555d60696e74797d82868b8f929797999c9ea1a9a1a2a3a4a4a5a5a4a4a3a2aaa29f9d9b999796918e8a86827d79736d68605d565049413b322b231b1209010000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5144382c1c110600000000000000000007131f2c3845515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0b9ada2979082786c60594f5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000009192633404c5966737f8c99a6b2bfccd9ddd2c0b3a79a8d8074675a4d4134271a0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423d44484c5254555d60636668666d6d6e6f6f706f6e6d676b696663605c5554524c46423b3631292118130c040000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2ddd7ccc0b5ab9a8d817467544a3f33281c0f0300020e19242e3840474b4d4e4e4e4e4e4e505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584e4e4e4e4e4e4e4e4e4c4a463f372d23180d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000030608060b1012131415161616161616161514120e0903000000000000000713202d3946525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e52463a2d201407000000000000000000000000000000050b141b222730363d43484e54565e6165696e7275797c7e8083848687898a8a8b8b8b8b8b8a8a8987868583817e7c7976726e6a66615e56544f48443d373128231d150c050000000000000000000000000000000000000000000000000000030c151c2328353d454d535b60676d737b80858a8e92989c9ea1a9a6a8abadb3aeafb0b0b1b2b1b1b0b0afb4aeacaaa8a6a8a09e9a99928f8a85807a736d68605b534d443d352d241b1309010000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada297897d7063544a4034281c100400000000000000000004101d2935404b5564717d8a98a2aebac6d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60565e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232383b4146474b51535759545c6061616263636261605d555c595653514b4745413a36312a251f170f0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e0d4c7bbafa4998a7d7164574a3e2d22170b00000008121c262e363b3f40424242424243505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c42424242424242423f3e3a342d251b11060000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000306070708090a0a0a0a0a0a080705020000000000000000000714212e3a4754616d7a7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e2115080000000000000000000000000000070e161d262d333b42464f54586062686d72777b7e8285888b8d8f9192999596979798989897979696999391908d8b8886827f7b77726e69636059554f47423c342e271e170f08000000000000000000000000000000000000000000000000000a151e262e343f474f575f656c71797f868d92979b9fa3aaabadb3b3b5b8b9bebbbbbcbdbebebebebdbdbcbfbab8b7b5b2b2acaaaba39f9b97928c86807a716c655e564f473f362d251b1309000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000c18242f3a4753606d7986929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddadbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362c3036393b4045474a4d4a50535455555656555453514b504c494645403a39352f2a251f1a140d050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211406000000000a141c242a2f3233353535353643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3535353535353532312e29231b1309000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d0000000000000000000000000008101920282f383f444d525960636a6f757a7f83888b8f9298979a9c9e9fa3aba3a4a4a4a5a5a4a4a3aba49f9e9c9a9898928f8b88847f7b75706b636159534d4540393029211a1109000000000000000000000000000000000000000000000006111c2630383f44515960696e777e848c92989ea1a9acaeb4b8b9bebfc2c4c6c9cfc8c9cacbcbcbcacacad0cac6c5c4c1bfbdb9b7b4aeaca9a29e98928d857e776e69605950483f372d251b11070000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5144382c1c1207000000000000000000000007131f2c3945515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000004101c2834404a546875828f9ba8b5c2cedbdcd0c3b6a99d9083766a5d5043372a1d1004000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629252a2d2f35393a3d403f44464748484949494847454043403c3a38342e2c29241e1a140e0903000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdad8ccc0b6ac9d908376685d5246392d20130700000000020a12191f232627282828293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f322828282828282524221e18110901000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000030608090b0b0b0b0b0a0a09080706040100000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000008111a222b323a414950565e616b6f767c82868b9095989b9fa2aaa7a9abacafb5b0b0b1b1b2b1b1b0b0b5afacaba9a7aaa29f9c9895918c86827c76706b615f57514b423b332c231b120a010000000000000000000000000000000000000000081217232e38424a505b626b707b838b91969fa2aaadb3b9babfc5c6c9cfcfd1d2d4d2d1d0d0cfcfcfd0d1d2d3d6d3d2d0cecec9c5c4bfbab9b3adaaa29f97928b827b706b625a51493f372d23190f060000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544a4034281c0b00000000000000000000000004101d2935404b5564717e8a98a2aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968e81756c626a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006121f2c3844515c667683909da9b6c3d0dcddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629191e2024292c2d302e34383a3a3b3c3c3d3c3b3a38352f33302d2c2823201d19130e09030000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d4c8bbafa49a8c7f7366564c4135291d1105000000000000080e1317191a1b1b1d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f32251b1b1b1b1b191816120d060000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000040a0f1215151717171717171616151413110d08060603000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c7f7366594c403326190d000000000000000000000008121a232c343d444c535b60696e757c82888e92999d9fa7a8abaeb3b3b6b7b9bbc0bdbdbebebebebebdbdc0bbb9b8b6b4b4aeaca9a8a09d99928f89837d766e69605c544d453e352d241b130a0100000000000000000000000000000000000006101a2428343f4a545c606d727d8590959ea1a8aeb4b9bec5c7cbd1d2d5d2d1d1cbc7c5c4c4c3c2c2c3c4c5c5c7cbd1d0d1d4d9d5d2d1cbc7c5beb9b4aea9a19e948f857d716d625b51493f352b21180d030000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000c18242f3a4753606d7a86929facb8c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e716a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000070f18202d3a4653606d7985929fabb8c5d2dedccfc3b6a99c908376695d5043362a1d1003000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1114181d20202423282b2d2e2e2f30302f2e2d2c29242623201f1c1813110d080100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7dfd2c6b9ac9f93877b6e6154483b3024190d010000000000000002070a0c0d0f101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190f0f0f0f0c0b090601000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000060e151b1f212224242424242423222221201d191613120f0b0600000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4afafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafa6998c7f7366594c403326190d0000000000000000000008111a242c353d464e565e656c727b81898f949b9fa3ababb1b5b8babec0c2c4c5c7cbd1cacacbcbcbcacad2ccc7c6c4c3c0bfbab8b5b1acaba39f9c949089827b736d665e574f473f362d251b13090000000000000000000000000000000000040d18222c363e44505c666d747f8792979fa7adb2babfc6cacfd3d7d3cfc9c6c5c1c0bbb9b8b7b6b5b5b6b7b8b9bbc0c1c4c5c8ced2d6dad7d3cfcac6bfbab3ada69f9792877f726d625b51473d33291f14090000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5145382c1c1207000000000000000000000000000713202c3945515d6775828f9baab4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6e677784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003091019222a36414c5664707d8a97a2adbac6d3dfdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f070d11131417171c1f2021222223232221201f1d1819161313100c070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd5c9bdb2a89c8f8376695e53463a2d1e13080000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0202020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000006101820262b2e2f313131313131302f2e2d2c292423201f1c17110f0a0400000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b4aeaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a5abb3b2a6998c7f7366594c403326190d00000000000000000006101a232c363e474f5860686d777f868e939c9fa6acaeb5b8bcc2c5c6cad0cfd1d2d0cdcbcac9c8c7c8c9cacacccfd1d1cfd0cac7c5c2bdb8b5afaca69f9c948f8680796e69615950483f372d251b1108000000000000000000000000000000010c161f2a343e48515b606d78808b9299a2a9b1b9bdc4cad0d6d7d1cbc7c5beb9b8b5b5afacabaaa9a8a8a9aaabacafb5b4b7b8bdc3c6cacfd4d9dbd6d0cac5beb9b0a9a199938b7f726d62594f453b31261a0d040000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544b4034281c10040000000000000000000000000004101d2935404b5564717e8a98a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000205090e141a232b343c46525e6875828f9ca9b3becad6e2dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0001040607060b101213141515161616151413100c070907060400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e1dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dcd2c5b9ada1968b7e7164574d42362a1e0c020000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000040e18222a31373a3c3e3e3e3e3e3d3d3c3b3a39352f302d2b28221c1b150f0a030000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b4aaa29f9595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959699a1abb2a6998c7f7366594c403326190d0000000000000000040e18222c353e485059606a6f7a828b92989ea5aab0b9bbbfc6c8cdd2d3d2d1cbc7c5c3c0bebdbcbbbbbbbcbdbebfc2c5c6c9cfd2d3d2cec8c7c0bbb9b0aba69f98928c837b706b625a51493f372d231a1006000000000000000000000000000007131d28313c46505a636d75818d929fa3abb3bbc2c9cfd6d8d1cbc6bfbbb9b3adaba8aba39f9e9d9d9c9c9c9d9e9fa3aba7aaacb2b8b9bec5c8ced6dbdbd6cfc9c2bbb3aba49f918b7f726b60574d42362a1f160c010000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c0000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80747784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140a0a0a0a0a0a0a0a0a0a0a0a0a0b090e12141a1f262a353d46505a616e7a86929facb9c5d0dbe3d7cbbfb4aa988b7f7265584c3f3225190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000030607070809090a090807060400000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e9dfd7cfcac6bfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d5c9beb3a99e9184796d6053463b31251a0e000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000a15202a343c4347484a4a4a4a4a4a494948474541403d3938332d2b27201a150d0801000000000000000000000000000000000000000b1824313e4b5764717e8a97a4aea29892888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888898f99a5b2a6998c7f7366594c403326190d00000000000000020c16202a343d47505a616b707c848f949fa2aaafb7bbc2c7cbd1d4d4cfc9c5c4c0bbb9b6b4b2b1b0afaeaeafb0b1b2b5b8b9bec2c5c7cbd1d4d1cbc7c2bcb7b0aaa39f9590857d716c625b51493f352c22180c03000000000000000000000000010d18242f3a434e58616c737f8c939da4afb5bdc5cdd5dad6cfc6bfbab5aeaca9a19e9b9899929191908f8f9091929299989b9da0a8abadb3b8bcc3cad0d8e0dad5cdc5bdb5afa39f92877d70695f53463f31281e13080000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3aa9b8e8174665c5145382c1d12070000000000000000000000000000000713202c3945515d6775828f9babb4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21161616161616161616161616161718191a1e20252a31363e474f58626c75818e99a3afbbc7d7e1e0d3c7baaea398897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d7cdc5beb9b8b9b3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbd8cfc6b9ada1978b7f72665c514538291f1409000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000030f1b26313c464e535557575757575756555554514c4c4946443f3837322b262019130c040000000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f92857c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7d8996a2afa6998c7f7366594c403326190d0000000000000008131e28323c464f59616c717d8691969ea6aeb4bcc1c7ccd3d7d1cbc7c4bdb9b8b5afacaaa7a5a4a3a2a1a2a2a3a4a6a8abadb3b5b9bbc0c7c8ced6d4cdc7c2bcb4aea79f9792877e726d625b51473e342a1e150b00000000000000000000000004111d2935414b555f6a707e88939fa5aebbc0c7cfd7d8d0cac1bdb4aeaba39f9b97928e8c8986858483828283848586888b8e91969a9ea1a9acb1babfc6ced4dcdfd6d0c7c0bbafa39992857b6e615a50433a2f24190d010000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7063544b4034281c0b0000000000000000000000000000000004111d2935414b5564717e8a99a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b84919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2323232323232323232323232323242425252a2d31363b42465059606a717e8b939eabb5c0cbd7e9dfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc5bbb3adabadb3b1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6dcd1c6bcb0a69e9285796d60544b403428170d03000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000006121f2b37434e585f62646464646464636261605d55595653504a47433c373129241e160d0500000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7a8793a0ada6998c7f7366594c403326190d000000000000040d1925303a444e58616b717e879298a1a8b0babfc5ced3d8d5cfc7c0bbb9b2adababa39f9d9a989796959495969797999c9ea1a9a8acafb5b8bdc3cacfd7d3cfc6bfbab1a9a299938b7f726d62594f463c30271d120700000000000000000000040f19222c3945515d676f7c86929aa4afb7c0cbd1d9d6cec6bfbab0aba39f99928f8a85827f7c7a7877767575767778797b7e8184888d92979da0a7aeb4bcc2cad2dbe2d9d2cbc0b5aba2978f82766c62564c4135291d1307000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cbcbc0b9ada1978f8384919eaab7c4d1dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a30303030303030303030303030303030313230363a3b42464d535a616b6f7c86929fa5afbdc7d1dce2d6cabfb4aa9c8f8276675d5145392c1f130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cabeb3a9a29ea2a9b3b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ddd7cbbfb4aa9f948b7e71675d5142392e23180500000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000815212e3a47535f6a6f717171717170706f6e6d67686663605b54544e47433c352f281f170e06000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626d7a8793a0ada6998c7f7366594c403326190d0000000000010c161f2935414c565f6a707d879299a2aab2bac1cad0d7d6cfc9c2bdb5afaca9a19e999992908d8b8a89888888898a8b8c8f9297979b9fa3abacb2b9bec5cdd6d8d1cbc2bbb3aba49f918b7f726b61584e42392e23180c040000000000000000000a16212a36424d57606d79849198a2acb6c0c9d7dcd5ccc4bcb4aea69e99928d86827d7975726f6d676a6a6969696a666c6f7174777b80858a90959fa2aab0b8c1c9d2dae3dcd1c7bdb3a99f948b7e71685d52453a2f24180d010000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000713202c3945525d6875828f9cabb5bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948f9196a0acb8c5d2dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3e3f404246484d53575f616c717d859298a2aeb7c1cfd9e3ded3c6baaea2988b7e7265554b4035291d100400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ada2979297a2a9b3b2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd4cbc2baaea3989082776c60554b4030271d120700000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000915222f3c4855626f7c7d7d7d7d7d7d7c7c7b7a787573706c66626058534e45413a312920180f060000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555606d7a8793a0ada6998c7f7366594c403326190d000000000007131d28313a46525e686f7c869299a3abb4bcc4ccd6dbd3cdc4beb9b0aba39f9c96918d898683817f7e7d7c7b7b7c7d7e7f8285878a8f92999ea0a8adb3bbc1cad0d7d7cdc5bdb5afa39f92877d706a5f544b40342820150a0000000000000000030f1b27323a46535e6973808d96a1aab4bec7d2dbd5cbc3bab2aaa29f948f86807a75706d666563605d555d5c5c5d545b60626568696e73797e838c92989fa6afb7c0c8d2dae3d9cfc5bbb0a69f92857a6d60554b4035291d1104000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c1004000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f9c9ea0a8b2bdc8d4dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615449494949494949494949494949494949494a4b4c4d4d5254575e61696e757e869297a1aab4bfc9d3e1e1d6cabfb4aa9f92857a6d6054473a2f24180c0000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d1c5b8ab9e92859297a2adbab3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad4cbc2b8afa59f92867c6e655b5043392f1e150b0000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd4cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000004111d2935404b556875818a8a8a8a8a8a8988888784827f7d78736f6a625f58524c433b332a21180f0500000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484854606d7a8793a0ada6998c7f7366594c403326190d00000000010d18242f3a43505a616d7a849198a2abb5bdc6ced6dbd3cac1bbb3ada69f99928f8a84807c7a77747271706f6e6f6f70717375787b7e82868c91969ea2a9afbabfc6ced7d7d0c7c0bbafa39992867c6f665c51453c31261b0f040000000000000007131f2c38434e58616e7b86929fa8b2bcc6d0d9d6ccc3b9b1a8a198928a827b736d6863605c545653514b504f4f504a50535558575f62676d71797f868f949ea5aeb6c0c8d2dde1d7cdc2baada2978c7f73675d5145392c20140900000000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000000000000010d19242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2b8b0aba9aaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615656565656565656565656565656565656565757585a575e6165696e737b818a9298a1a9b3bcc6d0dbe2d8cfc6baaea2988d8174675d5145392c1d12070000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cdc0b3a69a8d8085929fa8b2bcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dcd6cbc2b9b0a69d938b7e716a5f53493f31271d0c030000000000000000000000000000000003101d293643505c6976838f9ca9b6c2c7c7c7beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000613202c3945515d67778491979797979796959496918f8c8984807c766e6a605d564d453c332a21170d03000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52453c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4754606d7a8793a0ada6998c7f7366594c403326190d0000000004111d2935414b55616c75818e96a1aab4bdc6cfd8dbd2c9c1b8b0a9a19e948f87827d7973706d67676564636261626364646669696e71757a7f848b92979da5aeb4bcc5ced6d9d2cbc0b5aba2989083796d60584e43372b21160a000000000000000915222e3b4854606a75818e98a3aebac4ced7d7cec4bab1a7a09691867e756e69615e5653504a49474540434242433f4446484b4d53555c60666d727b828e939da4aeb6c0cbd5e1dfd6cabeb3a99e92857a6d6053473b31251a0e02000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d1207000000000000000000000000000000000000000813202c3945525d6875828f9cabb5c0cbd7e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccac2bbb7b6b7b8bdc3ccd5e0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d636363636363636363636363636363636363636364656669696e72767b80868e939fa3aab3bbc5ced7e2d9d0c6bdb2a89f92867b6e61554b4135291d0b010000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c96a0aab4bdbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3d8d0cbc0b9b1a79f948e81746d62584e41382d1f150b000000000000000000000000000000000003101d293643505c6976838f9ca9b6bbbbbbbbbbb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cececbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccececabdb0a4978a7d7164574a3e3124170b0000000714202d3a4753606d7a86939fa4a4a4a3a3a2a8a19e9b9997918d88827c746d685e574e453c33291f1409000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000613202c3945515d67717e8a939ea8b2bcc5cfd8dbd2c8c0b7afa69e97918a827b75706d6663605d5558575655555556575859575e6164686e72787e858e939fa2aab3bcc5cdd6dcd1c7bdb4aaa0958d80736a5f53473d32271b0f03000000000005121e2a36424d57626f7c89939eaab4bfccd6dbd0c6bcb2a8a09590847c716c615f57524c46443f3c3a39352f36362d3338393c3e42474b51545c60696e78818d929da4aeb9c3cfd8e3dbcfc5b9ada1978b7e7265574d42362a1e120500000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c0b000000000000000000000000000000000000000004111d2935414c5665717e8b99a3afbbc7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbac4d0cdc7c4c2c4c5c8ced5dee7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a70707070707070707070707070707070707070707071727376787b7e83878d92999ea5aeb4bcc5cdd7e0d9d0c7beb4aba0968c8073695e52433a2f24180d000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7a849198a2abb4bcbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d4cec6bfbaafa79f959082796d605a50463c2f261b0d03000000000000000000000000000000000003101d293643505c6976838f9ca9aeaeaeaeaeaeaea5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc1c1c1c1beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfc1c1c1c1bdb0a4978a7d7164574a3e3124170b000000091623303c4956636f7c899aa4afb0b0b0afafb2acaba8a9a19e9a948f87807a6e695f574e453b30251a0e050000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111d2a36414c56606d7a85929ea5afbac4ced7ded2c9c0b6aea59e948f857e766e6963605c5453514b4c4b4a494848494a4b4c4d5354565e61656c717a818a9298a2a9b3bbc5cfd9d9cfc6bcb1a79f93877c6f62594f44382c1f140900000000000714212d3a46535e6976828f9ca5afbcc6d0ded6cabfb4aaa19690837a6f6a615a534d46413a38342e2d2c2924292922282b2d2f31373940454a51575f666d77808d929da7b1bdc6d1dce1d6cabeb3a99c908376695e53463a2d2114070000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053473a2e23180c0000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7d2d3d0cfd1d2d4d9e0e7e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb0a3978a7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808285878b90939a9fa3abafbabfc6cfd7dfd9d0c7beb6aca3999184796d60574d4231281d1307000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737c869299a3aab3bbc1c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d4cec8c2bcb4aea59d959083796d675c51483f342a1d140a00000000000000000000000000000000000003101d293643505c6976838f9ca1a1a1a1a1a1a1a1a1988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b4b4b4b4b4b4b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3b4b4b4b4b4b4b0a4978a7d7164574a3e3124170b0000000c1825323f4b5865727e8b98acb6c0bdbdbcbbbdb9b7b5b2adaba69f99928d837b6e6a5f574d42362a20160c0200000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000713202d3946525e6873808c97a1adb7c1ccd6e0d6ccc1b7aea49d938e827a716c625f5753504a4745403f3e3d3c3b3c3c3d3e404246484c52535b60686d747d869297a1a9b3bdc7d1dcd7cec3bbafa4998f82756b6054483b30251a0e02000000000815212e3b4854616e7b87939facb9c1ced8d9cfc7baaea29891847a6e685f585047423c36302c2823201f1d181c1c171c1f2022262b2e343940444d545c656c74808d95a0abb5bfcbd7e2dacfc5b9ac9f93877b6e6154483b2e2115090000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d12070000000000000000000000000000000000000000000813202d3946525d6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccd7dddcdddee1e5eaf1e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb2a59a908a89898989898989898989898989898989898989898a8a8b8d8f9297989c9fa4acaeb4bdc1cbd1d8ddd7d0c7beb6aca49a92877c6f675d51453b301f160c01000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73717e879298a2a9afb9bdc4c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d1cdc8c3bdb8b0aaa39f938e82796d675d554b40362d22180b0200000000000000000000000000000000000003101d293643505c6976838f94949494949494949494948b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3a8a8a8a8a8a8a8a8a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6a8a8a8a8a8a8a8a8a4978a7d7164574a3e3124170b0000030f1c28333f4a546774818e9aa7b4c1c2c3c5c6c9c5c4c2beb9b8b0aba39f9590847c6e695e52463f32281e130800000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090914212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27333f4953616d7a86929fa9b3bec9d3dfdacfc4baafa59d928d81786d68615a534d46443f3a39352f31302f2e2f30313131363a3b41464950565e616b707d859297a1abb5c0cbd7e0d7ccc0b5ab9e94897c6f63574d42362a1e120500000006131f2b37434e5866727f8c9aa4afbbc8d0d3d1c7bdb0a69f92867c6f685e564e463e37312a251f1c171413100c07060b0f1213151a1d23282e343b424a535b606d79839099a3aebbc6d1dce0d4c8bbafa49a8b7f7265584c3f30251a0e020000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c0b0000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdd7e1eaebedf1f6f4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dacec2b6aba29a979696969696969696969696969696969696969696969798999c9ea1a9a9acafb6babfc6cfd7dcd9d2ccc4beb6aca49a93887e716a5f554b4033291f0d0400000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736c717e8692979ea5adb2b8bcc3c6c9c6c5c4c3c4c5c6cacfced2d1cfcec8c5c3bcb8b2aca69f98928b81796d675d554b43392f241b0f060000000000000000000000000000000000000003101d293643505c697682888888888888888888888888887f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d89969b9b9b9b9b9b9b9b9b9b988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c999b9b9b9b9b9b9b9b9b9b978a7d7164574a3e3124170b000006121f2b3844505b667683909da9b4b4b5b6b8babfc5c6cac9c6c2bdb5afa7a09691857b6e615a50443a3025190d01000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000005121f2b3744505b65727f8c98a2aebbc5cfdbe2d5c9bdb2a89e938d80786d665d565047423c38342e2c29242423222222232425252a2d3036383f444c5259616b6f7c859299a3afbbc3ced9ddd2c7bdb0a69c8f8275695e52463a2d2014090000000815212e3b47535f6a7784909dacb6babec5c7cbc0b5ab9e938a7e716a5f564c443c342b261f1913100c06060400000000030606090e12181c232830384149515c666f7c87929faab4bfcbd7e3d8ccc0b6ac9b8e827568574d42362a1e1205000000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c00000000000000000000000000000000000000000000010d1924303a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0dbe6f0f9fdfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c8bdb4aba5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a4a5a6a9abadb3b6b9bbc0c7cbd1d8d8d4d0c7c0bbb2aca49a93887e716c62584e43392f21170d0000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666c717d858f939ea1a8acb1b8b9bec1c4c6c8ccd2c9d2ccc8c6c4c2c0bdb8b7b1aba8a09d948f867f746d675d554c433a31271d12090000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070000000000000000000000000000000000000a1723303d4a5663707d898e8e8e8e8e8e8e8e8e8e8e8e8b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c8e8e8e8e8e8e8e8e8e8e8e8e8a7d7164574a3e3124170b00000613202d394653606c7985929fa7a7a8a8a9acaeb4b8b9bec5cdcfc7c0bbb1a8a1978f82766d62564c41362a1d1105000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000613202d394653606c7884919eaab4bfcdd6e1d9d0c7b9ada1968e81746c665c544c443e37312b2823201d1818171615151617181a1e21252a2d333a41464f59606a6f7c87929fa7b1bcc8d4ded9d0c1b9ac9f93877b6e6154483b30251a0e0200000916222f3c4955626f7c8895a0a7abaeb3b7bbc2bbafa3998f82756c61584e443b322a221a150d080300000000000000000000000000070c12181e262f38404b545f6a73808c98a3aebac7d3e0ddd2c4b8ab9e918578695e52463a2d201407000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000000000000000813202d3946525e6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becad6dde7f2fcfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc6bdb6b2b0afafafafafafafafafafafafafafafafafafafafb0b1b2b3b5b8b9bec3c6c8ccd2d7d6d3cdc8c3bdb5afa8a09a93887e716c625a50463c31271d0f050000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366616b6f7b828a91969da0a7abadb3b5b7b9bbc0bcbcbcc0bbb9b7b6b4b2acaaa79f9d96918a827b726d605c554c433a31281f150b000000000000000000000000000000000000000000000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013060000000000000000000000000000000000000915222f3c4855626f7c81818181818181818181818181817d7063574a3d3024170a00000000000000000000000000000000000b1724313e4a5764717e81818181818181818181818181817c6f6256493c2f23160900000815222f3b4855626e7b88989a9a9a9b9c9d9fa2aaabadb3bbc1c9d1cbc3bab2a99f948b7e71685e5246392d201409000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000a1723303d4a5663707d8996a0acbcc5d0dfddd2c7beafa59e91847a6d605b544a423a322b261f1c1713100d070a090809090a090e1214191b222730363e464f58606a73808d95a0acb8c2cdd8e0d4c7bbafa4998c807366574d42362a1e120500000d1a2734404d5a6773808b90959a9fa2aaabb0b8b5ab9f92877b6e625a50463c322920181009030000000000000000000000000000000000070c141d262e39424e58606d7a86929facb9c5d0dbdfd2c6b9ada197877b6e6154483b2e21150800000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c1004000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a3afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78829097a2adbac0cbd5e0eaf4fef4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e1d8cfc8c2bebdbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbdbec0c2c5c6c9cfd2d4d5d2d0cac7c2bcb8b1aba49f9691887e716c625a50483f342a1f150b000000000000000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665960696e757d848b90959a9ea1a9a8aaacafb6afafafb6afacaba9a7a8a09d9995908a847e766e69625b514b433a31281f160d030000000000000000000000000000000000000000000005111e2a36424d565e6161616161616161616161616161605d564c4135291d11040000000000000000000000000000000000000815212e3b47535f6a6f7575757575757575757575757575706b6155483c2f23160900000000000000000000000000000000000a1723303c4955616c7175757575757575757575757575756f6a6054473b2e22150800000b1724313e4a5764717d8a8e8e8e8e8e8f9092989a9ea1a9afb7bfc8d7ccc4bbb0a69f92867a6d6154473b31251a0e020000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005121e2a36424d576774818d9aa8b2bdced7e2d8ccc0b6ac9d93897d70685d524a42383028201a15100b06040100000000000000000205080e11171e252a343d464e58606d7983919da6b0bcc7d3e3d7ccc0b5ab9d918477695e52463a2d20140700000714212d3a4754606d7a7f83888d92989c9fa6abada3998d8074695f53483e342a20170e070000000000000000000000000000000000000000020b141d27303c45525d6875818e9ba9b3becad6e1d5c9beb2a996897c706356493d3023160a0000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c000000000000000000000000000000000000000000000000010d1925303a4754616d7a86929facb9c5d2dddcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3ced8e2edf8f0e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d3cecbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacbcccfd1d2d2d1cfcec9c5c4bfbab8b1aba8a099938d847d716c625a50483f362d22190d03000000000000000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659565e616c70797e83898e9297999b9e9fa4aca2a3a2aca49f9e9c9a9796918c88837e78716c615f575145403930281f160d040000000000000000000000000000000000000000000000020e1925303b444d52545555555555555555555555555554524c433a2f24190d0100000000000000000000000000000000000006121f2b37434e585f6268686868686868686868686868686361594f44382c20140700000000000000000000000000000000000814212d3945505a616468686868686868686868686868686260584e43372b1f130600000a1724303d4a5763707d818181818181828385888d92979da5adb6bfc9d3cdc2baaea2988b7e7265574d42362a1e12050000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212d3a46535f697784919eaab7c4cedde0d4c8bbafa49a8e81746b60564c41382f261e160d090300000000000000000000000000000000060b1319222b343c45515c676f7c89949fabb7c6d1dcddd2c7b8aca095877b6e6154483b2e21150800000713202c3945525d686d72777c81858b90949a9ea19f92877a6e61574d42362c22180e0500000000000000000000000000000000000000000000020b151e2935414c5663707d8a97a2adbac6d3dfdacfbeb1a4988b7e7165584b3e3225180b0000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675d5145382c1d1207000000000000000000000000000000000000000000000000000813202d3946525e6876838f9cabb5c0ccd7e0d3c7bbaea3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a929da7b1bcc6d0dce7e3e3e3dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8d0cac6c5c4c3c0bdb9b7b4aeaca79f9d9591878079706b625a50483f362d241b100700000000000000000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064574d525a61666d71787d8185898c8e91939a95969695959a93918f8d8a8784807b77716c66615a534d453f342e271e160d040000000000000000000000000000000000000000000000000009141f29323b424647484848484848484848484848484745413a31281e130800000000000000000000000000000000000000030f1b26323c464e53555b5b5b5b5b5b5b5b5b5b5b5b5b5b57554f473e33281c1004000000000000000000000000000000000005111c28333e485055575b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d32271b0f0300000916232f3c4855616b707474747474757576797c80858e939ca4adb7c1d0d6cabfb4aa9c908376695e53463a2d2114070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000815222e3b4855616e7b8896a0acb9c5d2dedfd2c6b9ac9f93877b6e61594f433a2f261d150c040000000000000000000000000000000000000002081019222834404b55606a7683909cabb5bfcbd7e3d4c8bcb1a7988b7e7165584b3e32251808000004111d2935414c565d60656a6f74797e83888d92979c8f8276685e52453c31241a1006000000000000000000000000000000000000000000000000030c19242f3a4653606d7985929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d000000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b010000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a4afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbd6d6d6d6d6d6cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbebab8b7b6b3b2acabaaa29f9a95908b847c746d67605950483f362d241b12090000000000000000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c6155494650545c60656c7074797c7f82848687888989898888868483817e7b77736e6a64605b545046423c3328231d150c040000000000000000000000000000000000000000000000000000020d17202930363a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a39352f281f160c0100000000000000000000000000000000000000000a15202a343c4347484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b000000000000000000000000000000000000000c17222c363e45494a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b20160a0000000714202c38444f59616367676767676869666d6f737a818c929ca5afbdc7d2d0c5b9ac9f93877b6e6154483b2e2115080000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000b1824313e4b5764717e8a97a8b2bdc9d5e1d7cbbfb4aa9c908376695f53473d31281e140b0300000000000000000000000000000000000000000000071018232e39434e5865727e8b99a3aebbc7d3e0d9cec1b4a79b8e8174685b4e413025190d0100010d19242f3a444c5254585f62676d71767b80858a8f8b7e7165564c41332a201208000000000000000000000000000000000000000000000000000008131f2b3844505c667783909daab6c3d0dddacdc0b4a79a8d8174675a4e4134271b0e00000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9286796d6053473a2f24180c0000000000000000000000000000000000000000000000000000010d1925303b4754616e7a86939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccc9c9c9c9c9c9c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb3adabaaa9a6a8a19e9b98928e88837e796f6b605d554f473f362d241b1209000000000000000000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50443e424a51535b6063666c6f7275777a7a7b7c7c7c7b7b79787674716e6966625f5853504a423e37312a2118120b0300000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d04000000000000000000000000000000000000000000040e18222a32373b3c42424242424242424242424242423d3c38332c231a10050000000000000000000000000000000000000005101a242c33393c3e42424242424242424242424242423c3b37322b22190f0400000004101c28333e474f55575b5b5b5b5b5b545c6062676d747f8c939eabb5c0ccd4c8bbafa49a8b7e7265584b3f3225180c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d1a2633404d596673808c99a6b3bfced9e0d3c7baaea3988b7e7165574d42352c1f160c0200000000000000000000000000000000000000000000000007121d27303d4754616d7a86929facb9c5d2dfdcd0c3b6a99d9083766a564c41362a1d1105000008131e28323a4145474e54555d6064696e73797d82867a6d6054473b3021180e00000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbdacec1b4a79b8e8174685b4e4135281b0e00000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000814202d3946525e687683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbabdbdbdbdbdbdbdbdb4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a1a9a29f9e9c9a9796918e8b86817c76716d676059514b433d352d241b120900000000000000000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e30394044495053545b60636668676d6e6f6f706f6f6e6d67696764615e5655534e46443f382f2b261f180f0700000000000000000000000000000000000000000000000000000000000000050d14191e20212222222222222222222222222221201d19130c04000000000000000000000000000000000000000000000006101820262b2e2f3535353535353535353535353535302f2c28211a110800000000000000000000000000000000000000000008121a22282d303135353535353535353535353535352f2e2b272019100700000000000b16212c353e44484a4e4e4e4e4e4e4a5053555d606d75828f99a4afbbc7d4ccc0b6ac998d8073665a4d4033271a0d0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c5b9ac9f92867a6d6054473b31211a0d0400000000000000000000000000000000000000000000000000000b15202d3946525e6875828f9ca8b5c2cfdbded2c5b8ab9f928578685e5246392d2013070000010c1620282f35393c43474b5153575f62666d70757a6d685d5245392c201306000000000000000000000000000000000000000000000000000000000b17232e414d5a6774808d9aa7b3c0cddadbcec1b5a89b8e8275685b4f4235281c0f0000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b0100000000000000000000000000000000000000000000000000000005111e2a36414c5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2b0b0b0b0b0b0b0b0b0a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696959594979291908d8a8784817e7a746f6a64605c554f454039312b231b12090000000000000000000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2e34383f44464a50535659555d6061626363626261605c555a5754524d4847433c38332d261d1a140e0600000000000000000000000000000000000000000000000000000000000000000002090e111414151515151515151515151515151413110d080100000000000000000000000000000000000000000000000000060e151b1f212228282828282828282828282828282423201c16100800000000000000000000000000000000000000000000000810171c212324282828282828282828282828282823221f1b160f0700000000000005101a232c33383c3d4141414141423f44464b515b626e7b87939facb9c6d2d2c1b4a89b8e8175685b4e4235281b0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111d2a3744505d6a7783909daab6c3d0dddccfc2b6a99c8f8376685d5245392c20130800000000000000000000000000000000000000000000000000000005111d2a36414c5665727f8b98a5b2becbd8dfd3c6baada297877a6d6154473a2e211407000000040d161e24292c3237394045474d53545c6064686d685d564c4135291d110400000000000000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2bfcbd8dbcec2b5a89b8f8275685c4f4235291c0f000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180c00000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1aba3a3a3a3a3a3a3a3a3a39a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786858483807d7b7875726d6862605853514b433d352f281f1911090000000000000000000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2423282d3337393f4446494c4b51535455565656555553514b4e4a4746423b3a37312b28221c140b090300000000000000000000000000000000000000000000000000000000000000000000000002050708080808080808080808080808080706040100000000000000000000000000000000000000000000000000000000040a0f1215151b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000000000000000000000000000000000000000000050c111417171b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a04000000000000000008111a21282c2f3034343434342e34383a4147535f6a76828f9ca9b5c2cfcfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d807467564c4135291d1104000000000000000000000000000000000000000000000000000000010d1925303d4a5663707d8996a3b0bcc9d6e2d6cabeb3a994887b6e6155483b2e22150800000000040c13191d20262b2f35393c42474a5153565d605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dbcec1b4a89b8e8175685b4e4235281b0f000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d120700000000000000000000000000000000000000000000000000000000000814202d3a46525e697683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a8491999696969696969696969696968e8174675b4e4134281b0e010000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7978777673716e696865605d56544e464540393029241d160d070000000000000000000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221a181b22272b2d3338393c3f40454747484949494848464540413e3b3a36302e2b261f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0f0a090704000000000000000000000000000000000000000000000000000000000005080a0b0f0f0f0f0f0f0f0f0f0f0f0f0f0f0908060300000000000000000000000810161c202324282828282823282b2f37434e5866727f8c99a5b2bfccd0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3845525f6b7885929eabb8c5d1ded8cbbeb2a5988b7f7265584c3f2f24190d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e6dbd0bbafa295887c6f6255493c2f221609000000000001080d11151b1d24292c3137394044464c5254524c443a32281e130800000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cddadacdc0b4a79a8d8174675a4e4134271b0e00000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c7baaea2988a7d7164554b4035291d1004000000000000000000000000000000000000000000000000000000000005111e2a36424d5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525d68707d878a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e010000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d6d666b696764615e565854524c47433c38342e271e18120c04000000000000000000000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c17100c11171b1f22282b2d302f35383a3b3c3c3d3c3c3b3a38342e312e2d2a25211f1a150f0b0600000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b171c1f26313d495663707c8996a3afbcc9d0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00131f2c3946525f6c7985929facb8c5d2dfd7cabdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0adbac6d3e0d5c9bcafa296897d6f6356493c302316090000000000000001040a0f12181d1f262b2e34383a41454745413a322820160c020000000000000000000000000000000000000000000000000000000005111e2a36414c566975828f9ca8b5c2cfdbd9ccbfb3a6998c807366594d4033261a0d0000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b87939facb9c6d2dfdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b707c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255483c2f2215090000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545d5a5754524d4b4745413a37322c28231d150c0701000000000000000000000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500060b0f12171c1f202324292c2d2e2f30302f2f2e2d2c28232421201e1914120f0903000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070c0e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0c0706040000000000000000000000000000000000000000000000000407090a0e0e0e0e060b1015222f3c4855626f7b8895a2aebbc8cfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3945525f6c7885929fabb8c5d2ded6c9bdb0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000001070c10151a1c23282c3035393a3935302820160e0400000000000000000000000000000000000000000000000000000000000713202d3946525e687783909daab6c3d0ddd7cbbfb4aa978b7e7164584b3e3125180b0000000714212e3a4754616d7a86929facb9c5d1dce3d6cbbfb4aa9b8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000914202d3a46525e697683909da9b6c2cdd8e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101924303a444f59606b6f70707070707070707070707070706f6a5f53473a2e21150800000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575756555453504a504d4a4746423f3a3935302b271f1c18120b0300000000000000000000000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a0804000000000003060b0f121316181d1f2021222323232222201f1c18171414110e090602000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313191b1a18140f080100000000000000000000000000000000000000000000000000000000000000000001080f14181a1b191413100c0701000000000000000000000000000000000000000000000000000101010100000814212e3b4754616e7a8794a1adbac7cec1b5a89b8e8275685b4f4235281c0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121e2b3845515e6b7884919eabb7c4d1ded7cabdb0a4978a7d7164574a3e3124170600000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3e0d4c8bbaea195887c6e6255483b2f2215080000000000000000000000000004090e12181c1f24292c2d2c29241e160e040000000000000000000000000000000000000000000000000000000000030d15212e3a4754616d7a86939facb9c6d2dfd3c7baaea398897c6f6356493c30231609000005111d2935414c5665717e8b99a3afbbc7d3d6d6d3c7baaea3988a7e7164554b4035291d0c010000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1bcc8d4d6d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f5960636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484746443f43403e3b3a36302d2c29241e1b15100c0700000000000000000000000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000000000030606070c101314141516161615151313100c07080705020000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f2025282724201a130b0200000000000000000000000000000000000000000000000000000000000000020b131a2024272826201f1c18120c060000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b3a79a8d8074675a4d4134271a0e0100000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2a3744515d6a7784909daab7c3d0ddd8cbbfb2a5988c7f7265594c3f2d22170b00000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4e3d7cbbfb4ab94877b6e6154473b2e21140800000000000000000000000000000000070c1013191d2021201d19130c040000000000000000000000000000000000000000000000000000000000030d151f2a36424d5765717e8b99a4afbbc7d4dfd2c5b9ac9f92867a6d6053473a2d20140700000713202d3946525e6876828f9cabb5c0cbc9c9c9c9c5b8ac9f92867a6d6053473a2f24180d0000000000000000000000000000000000000000000000000000000000000000020e1a25303b4854616e7b87959fabb8c4c9c9c9d1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353d464f5456575757575757575757575757575755534e463c31261b0f030000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a3a38342e34312e2d2a2521201d19130f0a0400000000000000000000000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070809090a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c2d323433302b251d140b000000000000000000000000000000000000000000000000000000000000000b141d252b303334322d2c29231d17110b06000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00101d293643505c6976838f9ca9b6c2cfdcd9cdc0b3a69a8d80736753493f33271b0f03000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e0d3c7baaea39986796d6053473a2d20140700000000000000000000000000000000000004080d11131413110d08020000000000000000000000000000000000000000000000000000000000040c151f27313946525e6976828f9cabb5c0ccd7dccfc2b5a99c8f8276675d5145392c1f130600000714212e3a4754616d7a86929facb9bdbdbdbdbdbdbfb4aa9b8f8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e697683909da9b6bdbdbdbdbdbdbbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19232b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c2823272421201e191413110d08020000000000000000000000000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000000040b0b141c22282e34383a3f41403c362f261d10060000000000000000000000000000000000000000000000000000000000060f1d262f363c40413f3a38342f28231c17110a0200000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cabdb0a3978a7d7064574a3d3124170a0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2935424f5c6875828f9ba8b5c2cedbdbcec1b5a89b8e8275655b5044372b1f120700000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8b97a4b1becad7dfd2c5b9ac9f928679675d5145392c201306000000000000000000000000000000000000000001040707070401000000000000000000000000000000000000000000000000000000000003090e161e273139434f59616e7b86929facb9c5d2ddd5c9bdb2a8988b7f7265554b4035291d10040005111d2935414c5665717e8b99a3afb0b0b0b0b0b0b0b0aea3988a7e7164554b4035291d0c0100000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1b0b0b0b0b0b0b0b5ab9c8f8276685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071119222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e040000000000000000000000000000000000000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1c171a171414110e090704010000000000000000000000000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c2115090000000000000000000000000000000000000000000000000000000000000000040a0f161b1d262d33394045464c4e4c4841382f22180e03000000000000000000000000000000000000000000000000000000030e18212f3841484c4e4c47454039342e27221b140b0b040000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becac9bdb2a995887c6f6255483c2f2215090000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d192633404c5966737f8c99a6b2bfcedaded1c4b7ab9e9184786c605346392e23180b0200000000000000000000000000000000000000000000000000000a121f2b3844505c6674818d9aa7b4c0cddaddd0c3b6aa9d9083776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f141a20283039434b55606b75818e99a3aebbc7d3ded2c5b9aca096887b6e6155483b2f24180c00000713202d3946525e6876828f9caba3a3a3a3a3a3a3a3a3a39f92867a6d6054473a2f24180d00000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4854616e7b87959fa3a3a3a3a3a3a3a3a3a39f92867a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f3030303030303030303030303030302f2e2b26201810060000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171615141312100c060b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000000000000000000000000000003090e151b21272c2f383f444b5153585b59534a41342a20150a0000000000000000000000000000000000000000000000000000000915202a33414a53585b5953514b443f38332d261d1b160f0a04000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc5b9ada196867a6d6053473a2d2014070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000a1724303d4a5763707d8a96a8b2bdc9d5ded2c5b9aca196897c6f63544b4034281d140b0200000000000000000000000000000000000000000000000006111c26303a4653606d7985929eabb8c5d1dedacdc1b4a79a8e8174675b4e412f24180d01000000000000000000000000000000000000000000000000000000000000000205070808080808080808080808080808090a0b080d1113171c1f252a323a424b555d67707d89939eabb5bfcbd7d5c9beb3a99e918477695f53473a2d1d120700000714212e3a4754616d7a8692969696969696969696969696968f8275675d5145392c1d130700000000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e69778390969696969696969696969696998b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070707070707070707070707070707060400000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f0200000000000000000000000000000000000000000000000000000000060e151a20262b32383e424a50545c606567645d53463c31261a0f0300000000000000000000000000000000000000000000000000020e1a26313c45535c646765605c55504a443f382f2c27211b150f070000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec4b8ab9e918578675d5145392c2013060000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212e3a4754616d7a8796a1acb9c5d2ded5c9bdb2a89a8d8074665c51453c2f261d140c0300000000000000000000000000000000000000000002091217232e38424e5863707d8997a1adb9c6d2dfd6cabeb3a9988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000002080e1114141515151515151515151515151516171718191d2022282b30363e444c545c676d7984919da5afbdc6d1dcd2c6b9ada1978c7f7265574d42372b1e0b0100000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164554b4135291d1104000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171515120f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10121314141414141414141414141414141313100c07000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000060f181f262b32373d444850545b60666d72746f64584e43372b1f14090000000000000000000000000000000000000000000000000006121e2b37424d57646e74726d67605c545049413e38322b27201910070000000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfc2b6a99c8f837669554b4035291d10040000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000713202d3946525e687884919eabb7c3ced9dacec4b8ab9e9285796d60584e42382f261e150d0802000000000000000000000000000000000000060b14192428343f4a54606a74818e9ba9b3bec9d5dfd3c6baada297897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000050d14191e2021212121212121212121212121222323242525292d2d33383b424650565e666d79828f96a0acb7c1cfd8d5c9bdb2a89e9185796d6053473c31261a0e0000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202121212121212121212121212121201f1c18120b0300000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000030e18212a31373c43474f545a61666c71797f81746a5f53473b31251a0e020000000000000000000000000000000000000000000000000814212e3a47535f6974817f79716d66605b534f48443d37322b22190f040000000000000000000000000000000000000714202d3a46525e697885929fabb8c5cdc1b4a79a8e8174675b4e412f24180d010000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005111e2a36414c566774818e9aa8b2bdc8d4dfd2c6b9ada1978c7f736a5f544a423830271f19130f0b060400000000000000000000000205090e11171f252a363e44505c666f7c87929facb9c5cfdaded2c5b8ab9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2f3031323035393a3f44464d525a61686d78828f949fa8b2bdc9d3d4cbc2b9aca1968b7f72675d5145382a1f15090000000815212e3a47535f6a6f707070707070707070707070707070706d675d5145392c1d1307000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e686d707070707070707070707070707070706b6054483c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e07000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c03000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000009151f2a333c42474e545960636c70787e848b887c6f62574d42362a1e1308000000000000000000000000000000000000000000000005111e2a36424d56626e7b878c847e78716c656159544f47433d342b20150a0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6cbbfb2a5988c7f7265594c3f32261907000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00010d1925303c4956626f7c8996a0acb8c5d0dbd5c9beb3a99f92867c6e665b544a4239312a251e1b1413100c070a0908070808090a090e12141a1c222830363e48505a606d78839099a3afbbc7d6e1d5c9bdb2a89a8e8174665c5145382c1f1306000000000000000000000000000000000000000000000000000000020d1720293036393b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f3f4146474a5053575e616c717a828f949ea6b0bac3ced6cdc2b8aea49e9184796d60554b4035291d100400000006121f2b37434e585f6263636363636363636363636363636363605d554b4035291d0c010000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c565e616363636363636363636363636363636360594f44382c2014070000000000000000000000000000050a0d0f101313131313131313131313131312120f0c08020000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313131313131313131313131313131313131307060401000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a010000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000020e1a26313c454d53585f626b70767d838b91968e8174695e53463a3025190d01000000000000000000000000000000000000000000000b14202d3a46525e6974818e96918b847e78706b636059544e463d32271b0f0300000000000000000000000000000000000a1623303d495663707c8996aab4becaccc0b5ab978a7d7064574a3d3124170a000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000815222e3b4854606a7784919daab4becad6dacfc5baaea3999083786c665c544b433d36302c27201f1c18171616151414151617181a1e21252a2d333b4246505a616c727f8c95a0abb5c0cbd7dcd2c5b9aca196897c6f63544b4034281c100400000000000000000000000000000000000000000000000000000008141f29323b41464748484848484848484848484848494a4a4b4c4c5254545b6063696e757e858f949ea6b0b8c2ccd5cdc4bbb0a69d928a7e71665c5143392f24180c00000000030f1b26313c464e53555757575757575757575757575757575753514b43392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457575757575757575757575757575756544f473d33271c1004000000000000000000000000030a10161a1c1d202020202020202020202020201f1e1c18130d060000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d202020202020202020202020202020202020201413110d08010000000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444647474747474747474747474747474645403930271d12070000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000006121e2b37424d575f626a6f767d838a90959e9f92867b6e61564c4135291d120700000000000000000000000000000000000000000007121d2935414c56616e7b86929f9e96918a837d76706b6260584e43372b1f130600000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed0c7bbafa499887b6e6255483b2f221508000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000007131f2c38434e5866727f8c98a2aebac3ced9d7cbbfb4ab9f958e81786d665d554f46413a38322d2c292324232221212122232424262a2d3036383f444d525a616c717e87929fa7b1bdc7d1dcd4c8bdb2a89e9184786c605346392e23180c000000000000000000000000000000000000000000000000000000020e1925303b444d5254545454545454545454545454555656575859565e6163666c70757b818a92979ea6b0b8c2cad7cbc3bbb2a99f948d80746c61544b4031271d120700000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352b21160b000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e181007000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d19130c04000000000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b352e251c120700000005101a232c33393c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a5053545454545454545454545454545453514b42392e23180c0000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3a47535f696e757c828990959da0a7a3998d8074685e5246392f24180d0000000000000000000000000000000000000000000c18232e3945525d6873808d99a3a8a09e95908a837d766f6a6054473b2e22150800000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc6b9ac9f9386796d6053463a2d201307000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27323d4754616e7a85929fa8b2bdc8d4dcd1c6bdb1a79d938e81786d676059524c48443d3a38342f31302f2e2d2e2f30303131363a3b42464a50565e616c717e879299a3aeb9c3cfd9d6cdc4b9aca0968c7f72655b5044372b1d120700000000000000000000000000000000000000000000000000000005111e2a36414d565e6161616161616161616161616161626364656668686d7073787d82878e939ea1a9b0b8c1cad1cbc2b9b1a9a1979082786d605a5042392e1f150b010000000000040e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b231a0f050000000000000000000000030d161f262d3235363939393939393939393939393939373430292219100600000000000000000000000000000000000000000000000000000000000d161f272d32353639393939393939393939393939393939393939392c29241e160d04000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740372e24190e0200000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606060606060606060606060606060605c544b4034281c100400000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000815222f3b4855626e7b81878f949d9fa7acb1ab9f92867a6d61554b4035291c12070000000000000000000000000000000000000004101c2834404b55606d7a85929fabb2aca7a09d959089827c6f6256493c2f2316090000000000000000000000000000000004111d2935414b556976828f9ca9b5c2cfc4b7aa9e918477675c5145382c1f1306000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000a16202d3946525e68727f8c96a0acb8c0cad3d8cfc2b9afa59d938e8179706b615e56544f494745403e3d3d3c3b3a3b3b3c3d3e404246484d52545b60696e757e879299a3abb5bfcbd5d8cec4bbb0a69e9184796d6053493f33271b0b000000000000000000000000000000000000000000000000000000000714202d3946525e686e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7071727275777a7d80848a8f92999ea5adb3bbc1cacfc6bfbbb0a7a09791857a6e665c51483e30271d0d030000000000000006101820262b2e2f303030303030303030303030303030302d2c29241d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e303030303030303030303030303030302f2c27211a11080000000000000000000000000a151f2831383e4243464646464646464646464646464544403b342b22180d0200000000000000000000000000000000000000000000000000000008111f2831383e4243464646464646464646464646464646464646464639352f281f160c01000004101c28333e4750555760606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524a40352a1f13070004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000d192633404c5966737f8c939a9fa6abb1b8baaea2988c7f73675d5145392e23180c0000000000000000000000000000000000000006131f2c3845515c67727f8c98a2aebdb9b1aca79f9d948e8174685b4e4135281b0e000000000000000000000000000000000613202c3945515d677884919eabb8c4cfc2b5a99c8f827669554b4034281c1004000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111e2a36414c56606d7984919ea4aeb8c1cbd4d4cbc0b7afa59e938e847d756d686360595653514b4b4a494948474748494a4b4d4d5355575e61666c727b818b9299a3abb5bdc6d1d8d0c6bcb2a99f948a7d70665c5141382d22170b000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7d7e7f8184878a8c91969b9fa3abafb9bec5cdc9c2bdb5aea69f9591857c6f685e544a40362c1e150b000000000000000000060e151b1f212224242424242424242424242424242424201f1d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242322201c160f0800000000000000000000000005101c26313a434a4e505353535353535353535353535352504c463d34291e13080000000000000000000000000000000000000000000000000000020c1a23313a434a4e50535353535353535353535353535353535353535345413a31281e130800000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d20130700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb0b8bcc2bfb4aa9e9285796d60544a4034281b11060000000000000000000000000000000000030f1c28333f4a54606d7985919eaab3bec3bcb8b1ab9f94887c6f6255493c2f221609000000000000000000000000000000000714212d3a4754606d7a8796a1adb9c5cdc0b3a79a8d8074675a4d412e23180c00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000010d1925303b45515c66707d8a929da6b0b9c3cbd8d2c9c0b7afa59e969189817a746f6b6662605c55585756555454545556575759575f6164696e73787e858e939fa3abb5bdc6cfd7cfc6bfb4aaa1968f82766c61544b402f261b110600000000000000000000000000000000000000000000000000000004111d2a3744505d6a77838787878787878787878787878889898a8b8c8e919696999ea1a8acafb5bdc1c9c7c4bdb9b0aba39f948f837b6f6a5f564d42392e241a0c0300000000000000000000040a0f121515171717171717171717171717171717171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b05000000000000000000000000000a16222d38434c545a5d606060606060606060606060605f5d574f463b3024180c00000000000000000000000000000000000000000000000000000a141e2c36434c555a5d606060606060606060606060606060606060605f524c433a2f24190d01000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979726d62564a3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d87878787878787878787878787877e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000714202d3946525e6874818e9ba6b0bbc7cdc6b9ada1978b7f72665c5144382d22170b000000000000000000000000000000000006121f2b3844505b66717e8b97a1adbcc5cec8bdb2a89c9083766a5f54473b2e221508000000000000000000000000000000000916222f3c4955626f7c8895a8b2bdc9cbbeb2a5988b7f7265584c3f3225190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000008141e2834404b54616b73808d949ea7b1b9c1ccd2d2c9c1b7afa8a09e938e86817c77726f6d676765646362616061626363646669696e71757b7f848b92989ea5afb5bdc7cfd7cdc5bdb5aea29891847b6e615a5042392e1d140a0000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839094949494949494949494949495969798999b9ea0a8a6abacb2b9bbc0c7c5c0bbb9b2aca69f99928d827a6e695f584e443b30271c120800000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f0300000000000000000000000000000000000000000000000006111c26303e48555e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d1104000a1724313d4a5764707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d000a1724313d4a5764707d86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393938b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000005111e2a36414c56626f7c88949fabb7c4cecabeb3a99e9184796d6053493f33271b0f03000000000000000000000000000000000613202d394653606c7884919ea9b3beced2c5b9aca1968a7d7064584e43372b1f1306000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabdb0a3978a7d7064574a3d3124170a00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000020c18232e39424f59606c78828f959fa7afbbc0c7d0d5c9c1bab2aca59e98928e89847f7c7977747170706f6e6d6e6e6f70717375787b7e82868c91969fa2aaafbbc0c7cfd1cbc3bbb3aba39f92867c6f695e52483e30271d0b020000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a5a8aaacb2b3b7b9bdc4c5bfbab8b5afaca8a19e948f8780786d685e574e463c32291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a667076797979797979797979797979797873695d5044372b1e12050000000000000000000000000000000000000000000000000b17232e3842505a6670767979797979797979797979797979797979797976685d5245392c201306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a0a0988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000010d1925303b47535f6a7683909ca8b2bdc9cfc5b9aca1968b7e71655b5044372b1f160a0000000000000000000000000000000713202c38444f5964717d8a96a0acbbc4cfcabfb4aa9e9184786d6053463c32261b0f03000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccabeb3a995887b6f6255483c2f22150900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000007121d27303e44505b666d798390959ea5afb6bec2c9ceccc4bdb9afaaa29f9b96918c898683817e7d7c7c7b7a7a7b7c7d7e808285888a8f92999ea1a8aeb3bcc1cbd1cfc6bfbbb2a9a299928a7e716a60564d42362c1e150b000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaaeaeaeaeaeaeaeaeaeaeafb0b0b1b2b4b7b9bdbfc4c5c2bbb7b4aeacaba39f9b96918a827c736d665d564d453c342a20170c030000000000000000000000000000000000000000000000000002060a0c0c131313131313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090c0c13131313131313131313131313131313130909070300000000000000101d2a3643505d6976828686868686868686868686868685786c5f5245392c1f1206000000000000000000000000000000000000000000000003101c28343f4a54616c7682868686868686868686868686868686868686867a6d6054473a2d211407000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3adadadadadadadada5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000008141e2b37434e5864717d8a96a1acb9c6d0c9bdb2a89d9083786c6053463d32271b0f0400000000000000000000000000030d16222f3b4854606b7683909da8b2bdcdd3c6baaea2988c7f72665c5044382a20150a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6b9ada197877a6d6054473a2d21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b151e28333f4a545d676e7a838e939fa4acb1b9bdc4c8cdc9c1bcb4aeaca8a09d999992908d8b8a898887878788898a8a8c8f9297979c9fa3abacb2babec5cecdc7c2bdb5aea8a09792877e716c61584e443b30231a0c03000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bababababababababbbcbcbdbebfc1c4c5c8ceccc2b8b0aaaaa29f9c99928f8a847e766e6a605c544c433b332a22180e0500000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020161613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020201615130f0a040000000000101d2a3643505d6976839093939393939393939393939285786c5f5245392c1f120600000000000000000000000000000000000000000000020c17202b3844505c66707d8a949393939393939393939393939393939393877a6d6054473a2d211407000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0babababababab1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000020f1b26323c4653606d7884919eaab4bfcacec4b8aca0958a7d7063594f43382c20150a0000000000000000000000000009141f2b37434e5863707d89959fabbac3ceccc0b6ac9f92867a6d60544a3f3428190e040000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfc5b8ab9e928578675d5145392c20130600000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030c17222d38424b555e686e79818c939a9fa7acb2b8bcc3c6c9c6bfbab8b2acaaaba39f9d9a9897969594939495969697999c9ea1a9a8acafb5b9bdc4cacac7c2bcb7b0aba39f9691857d716c625a50463d32291f110800000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c7c7c7c7c7c7c7c7c8c9cacbccced1d2d4d3c7bbb0a69f9c98928f8c86827d78716c625f58514a423a312921181007000000000000000000000000000000000000000000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201c160f07000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000008131e2935404b55606d7884919da69f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6beb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000a151f2b3844505c66727f8c98a2aebac7d2c8bcb1a79c9083766b6054483c31261b0f030000000000000000000000020e1a26313b47535f6a76828f9ca7b1bcccd4c8bbafa49a8d8074685d5242382e231707000000000000000000000000000000000006131f2c3945515d677885919eabb8c4d0c3b6aa9d9083776a554b4135291d110400000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000006111c262f3a434d565e676d757f8890959ea1a8acb1b8b9bec4cac7c3bdb8b7b5aeacaaa7a4a3a3a2a1a0a1a1a2a3a4a6a8abadb3b5b9bbc0c7c9cec6bfbab8b0aba69f99928d847b706b625a50483e342b20170d0000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d4d4d4d4d4d4d4d5d6d7d8d8dbdddedcd0c3b7aa9f948f8985827f7b75706c66615a534e44403930281f170f07000000000000000000000000000000000000000000000000000a131c232a2f323339393939393939393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000a131c232a2e31333939393939393939393939393939393939302f2c2721191007000000101d2a3643505d697683909ca9acacacacacacacab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000010d1925303945515d67717e8b95a0acacacacacacacacacacacacacacaca093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad3d3cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000003101c28343f4a54606d7a86929facb6c0cccec3b7ab9f94897c6f63584e43372b1f1409000000000000000000000005121e2a36424d57626f7c88949faab9c2cdd2c6b9ac9f93877b6e62564c4130261c110600000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6cec1b5a89b8e8275685b4f422f24180d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000a141d28313b444d555d606d727c838a91969da0a7abadb3bbc4cfcec8c5c4bfbbb9b6b4b1b0afafaeadadaeafb0b1b3b5b8b9bec2c5c7cbd1cec6bcb4aeaca69f9c948f8780796e69605950483f362c22190e050000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9cacbccced1d2d5d9dedccfc2b5a99c8f827c7876726e6963605b545047433c342e271e160d050000000000000000000000000000000000000000000000000007121c252e353a3e3f464646464646464646464646464646463d3c38332b23190c03000000000000000000000000000000000000000000000000000000000000000000050f1c252d353a3e3f46464646464646464646464646464646463c3b38322b22190f040000101d2a3643505d697683909ca9b6b9b9b9b9b9b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000005111d2a36414c56606d7984919ea8b1bdb9b9b9b9b9b9b9b9b9b9b9b9ada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000b17232e3845525d6874818d9aa4afbbc8d4c7bcb0a69c8f82756a5f53473b31251a0e02000000000000000000000714212d3a46535f6975818e9ba6b0bbcbd4c8bcb1a79c8f8275695f53443a2f1e140a0000000000000000000000000000000000000915222f3c4855626f7b8895a9b3bec9cdc0b3a69a8d8073675a4d4034271a070000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020b161f29323b434b515b636a6f767e848b90959a9ea1a9b3bec9d5d4d1d1cbc7c5c3c0bebdbcbbbabababbbcbdbdbfc2c5c6cacfd2d4d7d0c6bcb4aaa29f9a94908a827b736d675f574f473f362d241a1007000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bcbcbcbcbcbcbcbdbebebfc1c4c5c9ced1d2d0c3b7aa9f948f8783807c76716d66625a534d453f372e251c140b02000000000000000000000000000000000000000000000000020d18232e373f464b4c535353535353535353535353535353534948443d352b1e150b0000000000000000000000000000000000000000000000000000000000000000030d17212d373f464a4c53535353535353535353535353535353534948433d342b21160a0000101d2a3643505d697683909ca9b6c3c6c6c6c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000040f19222d3946525e68737f8c97a1adbac3cec6c6c6c6c6c6c6c6c6c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000006111c2935414c56626e7b87939facb9c3cecdc2b9ac9f93877c6f62574d42362a1e130800000000000000000005111d2a36414c56616e7b87929facb9c2ccd1c5b8aca095897d7063574d4232281e0c020000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdcfcbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000040d17202931394045515860626c71797f83888d9197a1adb9c6d2dfdedcd7d3d2d0cdcbcac9c8c7c6c7c8c9c9cacccfd1d2d6dadfe0d6cabfb4aaa298928e88837d766e6a605d554d453d352d241b120800000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaafafafafafafafafb0b1b2b3b4b7b9bdc0c5c6cac7bbb0a69f9992908d89837e79716c615f57514940372e261c140a00000000000000000000000000000000000000000000000006121e2a353f495157596060606060606060606060606060606056544f473d30271d12070000000000000000000000000000000000000000000000000000000000000009141f29333f49515759606060606060606060606060606060606056544f463d32271b0f0300101d2a3643505d697683909ca9b6c3cfd2d2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000a15202a36424d57616d7a85929fa9b2beccd5d2d2d2d2d2d2d2d2d2c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3eceae2dad4cfcbcac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000d1924303a47535f6a76828f9ca8b2bdc8d4c8bbafa49a8e8175695e53463a3025190d0100000000000000000a13202d3946525e6874808d99a3afbbc7d6cabeb3a99d9184776b6054453c3120160c000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcabdb1a4978a7e7164574b3e3124180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000050e171f272f353f464e545a61676d72777c8085919eabb8c4d1deebe7e3e0dfdddad7d6d6d5d4d3d4d4d5d6d7d9dbdedfe2e6ece0d3c6baaea2989286817c76716c625f57514b433c332b231b12090000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da2a2a2a2a2a2a2a2a2a3a4a5a6a8aaacb2b3b8b9bec5c2b8b0aba39f9d9995908a847e766e69625b524940382e261c110800000000000000000000000000000000000000000000000a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43392e23180c030000000000000000000000000000000000000000000000000000000000030d1a25313b45515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020b1b27323a46535f6974808d98a2aebbc4cfdee7dfdfdfdfdfdfdfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d8d0c8c3bfbeb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000008131e2b37434e5863707d8a96a0acb8c5d0ccc0b6ac9f92867b6e61564c41362a1d13070000000000000006111c2935404b55616d7a86929fabb5c0cbd2c6b9ada2978b7e7165594f44332a1f0d04000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccc9bcafa396897c706356493d3023160a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000050d151d2429343d424a50585f666d71767c828f9ba8b5c2cedbe5e1dfdedad5d2d1cfcecdcccccccdceced0d2d4d7dddde0e4dfd2c5b8ac9f92857d77716d67615a534e454039312a21191109000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839096969696969696969696969798999b9ea0a8a7abadb3b9bbc0bdb5afaca9a79f9d96918b827b726d635c524a40382e231a0e05000000000000000000000000000000000000000000000c1825323e4b57636d7279797979797979797979797979797979706b60554b4034281f140900000000000000000000000000000000000000000000000000000000010b151f2a36424d57636d7279797979797979797979797979797979796f6b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000a141d2b37434e58616e7b86929faab4becdd6e0f0ecececececece0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c6beb7b2b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000020f1a26313c4653606c7884919da9b3becad2c7bbafa3998d8074685e52463a2f24180d000000000000000c17232e3945515d6773808c98a2aebdc7d1cbc0b5ab9e9285796d6053473d3320180e00000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bbafa295887c6f6255493c2f2216090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000010c161f28313a434b545c606a6e787e83898f939eaab6c3cfdcdad5d2d1cfc9c6c5c2c1c0c0bfbfc0c1c2c4c6c7ccd2d0d3d8dfd3c6baaea298928a837e79706c615e564e463d342b22190e05000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a778389898989898989898989898a8b8b8c8e9196969a9ea1a9acafb6bec0bbb9b6b1aba8a19e948f867f736e645c524a40352c20170d020000000000000000000000000000000000000000000c1926333f4c5966727f868686868686868686868686868686867d70675c51453c31261a0d0400000000000000000000000000000000000000000000000000000007121d27313946535e69727f86868686868686868686868686868686887d6f6356493c3023160900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000006111c262f384754606a75818e99a3aebcc5d0dfe8edecedeff3f9ede0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b989696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c8beb4aca6a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000009151f2b3744505b65727f8b97a2adbac7d2cbc0b5ab9f92867a6d61554b4035291c1207000000000003101c28343f4a54606d7985929eaab4bfcfd3c7bbafa3998d8073675d5145382c1f130600000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfc8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000008131e28313a434c555d666d727c838a90959b9ea5afbbc6d2d3cfc9c5c4c0beb9b8b5b4b4b3b2b3b3b4b5b7b9bbc0c3c4c7cdd2d5cabfb4aaa29f95908b857d756d685f584e463d342b20170c0200000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808184878a8d92979c9fa4acb1babec5c2bcb8b2ada69f98928b80736e645c52473e32291e14080000000000000000000000000000000000000000000713202d3a4653606d7883909a9393939393939393939393939184796d60574d42372b1f160c0100000000000000000000000000000000000000000000000000000c18242f39434f59616e7b869293939393939393939393939393978e81746b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000b17222d38424f59626f7c87939fabb5bfced7e2e3e0dfe0e3e8eef5e0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b89898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca29b979393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a85929fabb5c0ccd1c7baaea2988c8073675d5145392e23180c000000000006121f2c3844505c66727f8b97a2adbcc6d0d2c5b9ac9f92867b6e61554b4035291d10040000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000060f19242f3a434c565d676d787f8690959d9fa7aaafb8c1cccbc7c4bdb9b8b3b3adaba9a8a7a6a5a6a7a7a8aaacafb5b6b7bbc2c5c9cfc6bcb4aea7a09d97918a817a6f6a60584f473d32291e130800000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f6f6f6f6f6f6f6f6f6f6f6f7071727375777a7d80858a8f939a9fa7adb3bbc4c7c4bdb9b0aaa29f928c80736e64594f443b3025190e04000000000000000000000000000000000000000006121f2c3844515c666f7d88939fa99f9f9f9f9f9f9f9f9fa0968c7f73695f53463e31281e13080000000000000000000000000000000000000000000000000004101d2935404b55616b75828f98a29f9f9f9f9f9f9f9f9f9fa69e92857a6d60594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000030f1c28333f4a54616b76828f9aa4afbdc6d1e0dcd7d3d2d3d7dce3eae0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a69b908b868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6773808d99a4afbbc7d4cabfb4aa9f92857a6d60544a4034281b1106000000030f1b27333f4953606d7984919ea9b3beced4c8bcb1a79b8e8175695e5243392f24180c000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030d17212935414c565d686d79828c92989fa7abb1b6bbc1cac6bfbab9b2adaba6a9a19e9c9b9a9999999a9b9b9d9fa4aba9abb0b8b9bdc4cbc6bfbab1aca9a19e938e857c6f6a60594f443a3025190c030000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6263636363636363636363636364656668686d7074797d828790959fa2a9b2bac3cbc9c2bcb4aea49c928d80736b61564c41362a21160b000000000000000000000000000000000000000004101c2834404a54606b74818e97a1adacacacacacacacb2a89f92867b6e615a50433a2f24190b020000000000000000000000000000000000000000000000040d1b242c3945515d67707d8a939eaab4acacacacacacacb4ab9f948b7e71685d52463d32271b0f0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000020c16202b3844505b66707d8a949facb6c0cfd8d9d1cbc7c5c7cbd1d9e1ead3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e53463a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a4978b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000001040607090a0c0d0d0e0e0d0d0c0a080605030000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000006111b2935404b55616e7b87939facb9c3cdd0c6baada2978c7f72665c5144382d22170b00000005121f2b3744505b65717e8b96a1acbbc5cfd1c4b8ab9f95897c6f62574d4231271d1207000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c7bbaea194887b6e6155483b2e2215090907060401000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000009141f29333b45525d686d7a828f949fa3aab1b8bcc2c6c9c1bdb4aeaca8a19e9a9797928f8e8d8d8c8c8d8e8f919399989c9fa6abadb2babfc6cac3bcb8b3ada59e9792857c6f6b60564c41362a1e150b00000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5355565656565656565656565657585859565e6163666d71767c838b9297a0a8b1b9c3cbcec6bfbaaea49d928a7d70685e52463d32271b100400000000000000000000000000000000000000000c18232e39424f59616d7a85929ea6b0bcb9b9b9b9b9baaea3988f82766c61554c4135291d140a00000000000000000000000000000000000000000000010c16202b37434e58606d7984919ea5afbcb9b9b9b9b9b9baaea3998f82766c61564c41342b21160a0000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000008131e2834404b55606c7883909da6b0bec7d2d8cfc7c0bbb9bbc0c7cfd9e3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e1205000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000020507070d1113141517191a1a1b1b1a1919171513120f0b06060a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000d18242f3a46535f6975828f9ba7b1bcc8d4cabeb3a99e9184796d6053493f33271b0f0300000613202d394653606c7883909da8b2bdcdd5c9bdb2a89d9083766a6054453b301f150b01000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221615151413110d070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020e1a26313b45505a606d7a8390949fa6aeb4bcc2c8ccc4bdb9b0aba39f9b96918d8a8785828181807f808081828486898c9094999ea1a8aeb4bcc2cac8c4beb9afa9a19792867d6f685e52463f30271d1207000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494949494a4b4c4d4c5254545c60646a6f787e859196a0a7b1b9c3ced0cabfb6aea49e92857a6e61594f44382c20150a000000000000000000000000000000000000000007121c27303d46525d68717e8b949faab4bfcbc6c6cbbfb4aa9f948a7e71675d51453c2f261c110600000000000000000000000000000000000000000008131e28323a47535f6a73808d96a1acb8c1cec6c6c6c9bdb2a89f92867b6e625a50443a3022190f040000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000010d1924303845515c67717e8b95a0acb8c2d0d8cec6bdb5afacafb5bdc7d1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654534d453b31251a0e02000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71646060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c544a4034281c10040000000000000000000000000000000000000000000000000000000105090e121415181d2020222426262727282726252422201f1b1714120f1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000007131d2a36424d5763707d8995a0acb8c5cfcfc5b9ada1968b7e71655b5044372b1f160b0007131f2c38434e5863707d8a95a0acbac4ced2c5b9ada1968a7e7164584e4333291f0d0300000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bdb0a3968a7d7063574a3d312622222221201d18130c04000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000005121e2a36424d57626c75818e959fa6b0babfc6cfccc3bab2ada69e99928e8984807d7b78767574737273747475777a7c7f83888c91969fa3aab0b8c0c9cfc9c1bbb3a9a29891857a6d615a5043392e23180c00000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3c3c3c3c3c3c3c3c3c3c3c3d3e3f404146474b51535860666c727b849095a0a7b1bcc6d0d6c8c0b9ada1978f82766b6054483c31261b0f0300000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9d0c6bcb0a69e91847a6d60584e42382d22170b0200000000000000000000000000000000000000020b19242f3a44505a626e7c87929fa8b2bdcad3d2d7cec5b9aca0968c8073695f53483e32281e1007000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000004111d2935414c56606d7984919ea7b1bccad4d0c6bcb4aba39fa3abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f140900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164575353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514a42392e23180c000000000000000000000000000000000000000000000000000002080d11141a1e212124292c2d2f313233343434343332302e2d2b2722211f1a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000010e1a26313b4854606b7783909da9b3bec9d5c9bdb2a89d9184786c6053463d32271b10040915222e3b4854606a7683909ca7b1bcccd6cabfb4aa9e9184796d6053463d3220170d0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfccbfb2a6998c7f7366574d42362f2f2f2f2d2c29241d160d040000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000714212d3a46535f69717e8b939ea7b0b9c2cbd1cbc2b9b1a8a19e948f86817d7873716e69696867666666676868676d7072767b80848c92989fa6afb7c0c8d5cdc5bbb3aaa1978f82756c62554b4034281c11060000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303031323036393a4045464e545b60696e7a839095a0aab4bfcad6d5c9beb3a99f94897d7063584e43372b1f12060000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d8cec2b9ada1978d80746a5f544a3f33281e1408000000000000000000000000000000000000000a141d2935414c56616c76828f99a3aebac4cedcdbd0c5bcafa59e9184796d60574d42362d20160c00000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000040e18222c3945525d68727f8c96a1acb9c3ced6cabfb4aaa2999299a3afbbc7d3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36312921170d0300000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a4747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474644403930271c120700000000000000000000000000000000000000000000000003090e14191e20252a2d2e2f35393a3c3d3f4040414140403f3d3b3937332d2e2b262024313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000009141f2c38444f5965717e8b97a1adb9c6d1cfc4b8aca0958a7d7064594f44382c20150a121e2b37424e57626f7c89949fabb9c3ced3c7baaea2988c7f72665c5044382c1f120500000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1cfc2b6a99c8f8276695f5346403c3c3c3c3a39352f281f160c0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000005121e2a36424d57616e7b86929fa5afb9c2cbd7ccc2b9b1a7a096918a827b75706c6664615e575b5a5a59595a5b555d606365696e73797f868f949da5aeb6c0c9d3cdc5bcb3a99e948b7e71675c5145382e23170b0000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232323242525252a2d2e34383d424a50575f686e79839098a2aebac3cdd8cfc5bbb0a69c8f82756a5f53473a2e21150a00000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d5c9beb2a99f92877c6f665b50443b3025190c03000000000000000000000000000000000006111c262f3845525d68717e8a949fabb5bfccd6e1d6cabeb3aa9e93897d70675c51453c31241b0e0400000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000a15202a36424d57606d7a85929fa8b2bdcbd5d3c6baaea2989286929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f050000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000000000000000000000000000000000000000002090e151a1e252a2d31363a3b3e404547484a4c4d4d4e4e4d4c4c4a4846443f3b3a37312c29313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000003101b27323d4753606d7985929eabb5bfcbd4c8bdb1a89d9083766b6054483c32261b0f14212e3a47535f6a75828f9ba6b0bbcbd5d2c5b8ac9f92867a6d61544a3f34281c100300000000000000000000000000000000000000000000000d192633404c5966737f8c99abb5bfcbd2c6b9ac9f93877b6e615a514b494848484745413a31281d130700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000714212d3a46535e6974818e98a2aeb7c1cbd4d0c4bab1a79f9591847d756e6963605b5454534d4e4e4d4c4d4d4e4b515456575f61676d737b828e939ca4aeb7c1ccd6cec4bbb0a69e9184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000030608090c07060a0f1315161616161616161616161616171819191d2023282c2f383f444d565e676e7c86929fa7b1bcc8d4d6cdc2b7aa9e94887c6f6255483c31261a0f020000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfdacfc4bbafa3999083786c60564c41362a1e150b00000000000000000000000000000000000b17222d38424e58606d7a85929ea6b0bdc6d1ded9cfc7baaea2988e81756b60554b40332a2012090000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000020b1b26313a46525e6973808d97a2adbac4cedfd2c5b8ac9f9286808d99a6b3c0ccd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321211e1a140d05000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231c150c0300000000000000000000000000000000000000000000060c141a20262b3036393b4246484b4b5153555759595a5a5b5a595857555350494847433c39352f3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000b161f2c3845515c6773808c99a3aebbc7d3cec3b8ab9f95897c7063584e43372b1f141e2a36424d57626e7b87939facb9c2cdd3c7bbb0a69a8e8174685e5242382e23170c0000000000000000000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d3c8bbafa49a8e81746c605c555655555554514b433a2f24180d01000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000003101c28343f4a54616e7b87929faab4bfc9d3d2c7beb2a89f9590837b706c615f5753504a4846424241403f404141414547494d53555c60696e78818d929ca5afbac4cfd6cdc1b9ada1968b7e72665c5044382b1f1206000000000000000000000000000000000000000000000000000003060a0f121515191413100c07080909090909090909090909090a0b080d1113181c1f262d333c444c555f6a727e8b959fabb8c5d0dbd3c7bbb0a69b8e817468584e43372b1f1206000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d7cbc0b5ab9f958b7f72685e52463d30271d1207000000000000000000000000000000030f1c28333f4a54606a74808d97a1adb8c2cfd8dcd1c7bdb1a79f92857b6e61594f43392f21180e000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000a141d2b37434e58616e7b86929fa9b3beccd6d5c9beb3a99b8f81808d9aa7b3c0cdd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b03000000000000000000000000000000000000000000030a11171f252a31373b4146474d535458555d60626465666767676766656361605b5355534e4745413a3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b86929facb9c2cdd4c8bcb1a79c8f82766a5f53473b31261a202d3a46525e6974818e9aa4afbbc8d4d0c3b7ab9f94887c6f62564c4130261c11060000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c3d0ccc0b6ac9e938b7e736d676463626262605d554b4135291d1104000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2c3844505c6674818d99a3afbcc6d0d8ccc0b6aca19690837a6e69615a534d46443f3b3a363134333333342f35393a3d42464b51575f666c74808d939ea8b2bdc9d5d5c9bdb2a99e9184786d6053463a2d201308000000000000000000000000000000000000000000000104060c1012131b1f212226201f1d18120b0300000000000000000000000000000105070c10141c2228323b434e58626d7783909daab3becad6d7ccc1b8ab9e9285786a5f53473a2e211408000000000000000000000000000000000000000000000915202834404b55606b75818e97a2adbac2cfd9d1c7bdb1a79f92857a6e61594f43392e23180c0300000000000000000000000000030c19232b3844505b666f7c87939fa9b3becad4e1d7cbc0b5ab9f958b7f72685e52473d31271d0f06000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000006111b262f3847535f6a74818e98a3aebbc5cfded2c6b9ada1978a7e818e9ba8b4c1ced3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090908070502000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31241714141414141414141414141414141414141414141414141414141414141414141414141414141414141312100c0700000000000000000000000000000000000000000000050c151c232830363c42474c5254575e616568676d6f707273737474737372706e6c6566625f5854514c45414a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e6975818e9ba7b1bcc7d4cdc2b7aa9e94887c6f62574d42362a1e2935414c56616e7b86929facb6c0ccd4c8bdb2a89c8f82766a5f53443a301e150a000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca7b1bdc7d2c7beafa59f93887f7974716f6f6f6f6d675d5145392c201306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000713202d3a4653606d7985929fabb5c0ced7d4c8bbafa49a91847a6d685e575046423c38332d2d2a25272726262724292c2d31373940454d545b606e75818e96a1adb9c3ced9cfc4b9aca096897c6f6356493c3025190e020000000000000000000000000000000000000205070d1113171c1f20262b2e2f332d2c29241d150d030000000000000000000000000000000000040a11172029313c46515b65717e8b98a2aebac6d3dfd2c6b9ada197887b6e6255483b2f22150800000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa7b1bdc7d1d9cfc2baada2978e81756b60554b4034281f1409000000000000000000000000000b151e2a36414c56606c78839099a4afbbc5cfdcdcd4c7bbafa3999083786c60564d41352c1f150b00000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000b17222d38414f59626f7c87939faab4bfcdd7d7cbc0b5ab9e928579828f9ca9b5c2cfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b070707070707070707070707070707070707070707070707070707070707070707070707070707070706040000000000000000000000000000000000000000000000070e171e262e343b42464d53565e6165696e7174777a7c7d7f80808181807f7f7d7b7976726e6a65605d55524c4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d56626f7c89959fabb8c4cfd3c7bbb0a69b8e8175695f53463a30252c3945525d6873808d99a3aebec7d2d2c5b8aca0968a7d7063584e4332281e0c030000000000000000000000000000000000000000000000000004111d2935414b5563707d8a95a0abb5c0c7d0c1bbafa49a938c84807d7c7b7b7b796d6054473a2d211407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000a1623303d495663707d8997a2adbdc7d1d8ccc0b6ac9f93887d70685e564d453e37312b2822211e1a1b1a191a1a181d2021262b2f343b424a505c606d7a84919ea7b1bcc8d4d5c9bdb2a89a8d807367564d41362a1e11050000000000000000000000000000000002090e1114181d2023282c2d31373a3c3f3a38352f271f150b01000000000000000000000000000000000000060e171f2a333f4753606d7a85929fabb8c5d2ded5c9beb3a9988b7e7265584b3f32251806000000000000000000000000000000000000000000000007121d27303d46525e68727e8b959fabb5c0cbd7d6cabeb3a99e93897d70675c51453c31261a0d04000000000000000000000007121d27303946525e68727f8b95a0abb5c0cdd6e0d5c9bdb2a99f92877c6f665b50443b30231a0d0300000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000030f1b27333f4953606b75828f99a4afbcc6d0dfd4c7bbafa3998c807683909da9b6c3d0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081119202930383f444d52575f62686e72767b7e818486888a8c8c8d8d8e8d8c8b8a8885837f7b77726d67605d56505764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000010e1925303b4754606a7683909da8b2bdc9d5ccc2b9ac9f92877b6e61564c41362a34404b55606d7a85929fabb4bfd0d6cabeb3a99e9184786c6053463c3120160c0000000000000000000000000000000000000000000000000000010d18242f3a4653606c78839099a4afb6bec4c7c0b6aca49f96918d8a898888887d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a546774808d9aa9b3becfd9d4c8bbafa49a8d81746b60564c443b332b261f1c1714120e090d0c0d070d1113141a1d23292f383f45525d68707d8a95a0acb8c7d1d9cec4b7aa9d918477685e5246392d2014070000000000000000000000000000050b1014191e2024292c2e34383a3d4347484c4745403931271d120700000000000000000000000000000000000000050d18212c3945515d6775818e9ba8b4c1cedbdacfc1b5a89b8e8275685b4f422d22170b0000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4cedad0c5bcafa59d9184796d60574d42372b1f160c01000000000000000000000c18232e39424f59616e7a85929fa7b1bdc7d2dfd8cec6b9ada1968d80746a5f544a3f32291f11080000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000010c161f2b3744505b65707d89949eabb5c0ced8dfd2c5b9ac9f92877b7784919eaab7c4d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a232b323b424a50575e61696e747a7f83878b8e9196959798999a9a9a9a99989698928f8c88847f7a736d68605b5364707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e5864717e8a96a1adb9c6d0d4c7bbafa3998d8174685e52463a2f3845515c67727f8c98a2aebdc6d1d3c6baada2978b7f72655b5044372b1f120400000000000000000000000000000000000000000000000000000007131f2b3844505b666f7c87939fa4acb2b9bbc0beb6afa8a19e9a979695958a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667784909daab7c3cfddd2c6b9ac9f93877b6e61594f443a3229211a140f0b0605020000000000010406090e12181d262d35414c56616b7783909dabb5c0cbd7d1c5b8aca096877a6e6154473b2e211408000000000000000000000000000810171c1f252a2d2f35393a3f4446494e53555953514b43392f24180c000000000000000000000000000000000000000006101d2935404b556673808c99a6b3bfccd9ddd0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d7cec1b8aca0968c7f73695f53463e31281e130800000000000000000004101c2834404b54606b75818e97a2adb9c3d0d9dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000007131d2834404a54606c7883909da6b0bdc7d2e0d4c8bcb1a79b8f82757885929eabb8c5d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242c353d444d545c60696e757b81868b9095989b9ea0a8a3a5a6a6a7a7a6a6a5aaa29f9c9996918b85807a716c655d64707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4653606d7984919eaab4bfcbd6cbc0b5ab9f92867a6d61554b41353f4a54606d7985919eaab4becfd7cbc0b5ab9f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a727f8c939aa1a8acafb5bdc0bbb2adaba7a4a2a2978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dccfc2b6a99c8f8276695e53473d322820170f09030000000000000000000000000001070b141c242f3a444f5965727f8c99a3afbbc7d4d4c8bdb2a896897d706356493d3023160a00000000000000000000000008121a22282d30363a3b4145474a505356585f6266605d554b4035291d100400000000000000000000000000000000000000010d18242f3e4b5864717e8b97a4b1becad7ded1c5b8ab9e928578665b5044382b1f120600000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d4c8bdb2a89f92867b6e615a50433a2f24190b0200000000000000040d1a242c3845515c66707d89939ea9b3becbd5e2d6cabfb4aa9e948a7e71675d51463c2f261c0e05000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000010d18242f3844515c66717e8a959fabb8c1d0d9ded1c4b8aca095897d707986929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363e474f565e666d727b81878e92999d9fa7a7aaacb2b0b2b3b3b4b4b3b2b2b4aeaca9a8a09d98928d857e776d6864707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3844505c66727f8c98a3aebac7d3d1c7baaea3988d8073675d51453944505b66727e8b97a1adbcc5d0d4c7bbafa3998d8073675d5141382d22170b00000000000000000000000000000000000000000000000000000000000b17222d38424e58626d737f8891969b9fa4abb5c0c4bdb9b8b3b0afa3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8899a3aebac7d3d7ccc0b5ab978a7e7164574d42352b20160e050000000000000000000000000000000000020a131e28323e4754616e7a86929facb9c5d2d9cebeb2a5988b7f7265584c3f3225190c000000000000000000000005101a242c33393b4246474b5154545c6063676a6f726d675d5145382c1f13060000000000000000000000000000000000000000071623303d495663707c8996a3afbcc9d6dfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0d9cec3baaea3988f82766c61554c4135291d140a000000000000010c161f2a36424d57606d7984919da5afbcc5d0dddbd3c7baaea2988f82756c61554b41342a1d140a00000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000004111d2935414b55606d7984919ea7b1bccad3e2d5c9bdb2a89d9083776d7a8799a3afbbc7d4d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d363e48505960696e787f868e93999fa3ababb1b4b7b8bdbdbfbfc0c0c1c0bfbebfbab8b6b2acaaa29f97928b827a6e69707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb8c2cdd6cbbfb4aa9f92857a6d60544b404653606c7884919ea9b3beced7d2c5b9ac9f92877b6e61554b402f261b1106000000000000000000000000000000000000000000000000000000000006111c262f3d46515b636d737d848b8f9399a4afbbc7c9c5c4c0bdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000a1724313d4a5764707d8a97abb4bfcbd7d4c7bbafa499877b6e6154483b3121190d0400000000000000000000000000000000000000010c16202d3946525e687784919daab7c4d0dacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000b17222c363e44494d5254555d6064666d7074777b7f796d6053473a2d22170b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e0d4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6d7cbbfb4aa9f948a7e71675d51453c2f261c1106000000000007131d28313a46535f69737f8c96a0acb7c1ced7dfd4c8bcb1a79f92867b6e615a50433a2f22190b0200000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000030e18212c3945515d67727f8b96a0acb9c3cddcded2c5b9aca0968a7e716e7b8794abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222c363e48505a616b707b828c92989fa4abaeb4b8bcc1c4c5c8cecbcccdcdcccac9d0cac6c5c2bdb8b4aea9a19e948f847b6e707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846525e6874818e9aa6b0bbc7d3d0c6baada2978c7f72665c51454f5964717e8a96a0acbbc4cfd4c8bcb1a79b8f8275695e53433a2f1d140a000000000000000000000000000000000000000000000000000000000000000a141d2b343f49515b636c70797e8286939facb9c6d2d2d1cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1825323e4b5865717e8b98a4b1bed1dcd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000005111e2a36414c566976828f9ca9b5c2cfdbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000004101c28333e485055565e6165676d7175797c808488897d706353493f33271b0f05000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e3d7ccc0b5ab95887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000a141d2935404b55616b75828f98a2aebac3d0d9d1c6bcb0a69e91847a6d60584e42382d22170b02000000020b18242f3a43505a616e7b86929fa8b2bdc9d3e0d7cdc5b8aca0958c7f72695f53483e31281d10070000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000915202a36414d56606d7a85929ea8b2bdcbd4dfd5c9beb3a99e9184786d6f7b8895a2aebbd1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b343e48505a616c717d8590949fa2aaafb5babfc6c7cdd1d2cfcac6c5c2c0bfbebdbdbec0c1c4c6c5bebab3ada69e9691847b707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88949fabb7c4ced6cabeb3a99e9184796d60544a54606b7783909da8b2bdcdd6d1c4b8aba095897c6f63574d4231281d0b02000000000000000000000000000000000000000000000000000000000000010b151f2834404a545c606d727a80849199a4afbbc7d4d1d0cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1925323f4c5865727f8b98a5b2becbd8d1c4b8ab9e918578665c5144382c1f1206000000000000000000000000000000000000000000020e192530414e5b6874818e9ba7b4c1cedacfc2b5a99c8f8276695c4f4336291c10030000000000000000000814202d3944505a6164696e72767a7d8185898d91968d8073655b5044372b20170b020000000000000000000000000000000000030f1b27333f495366727f8c99a5b2bfccd8e8ddd2bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2d8cfc2b9ada1978d80746a60544a3f33281e14080000000a141d2935404b55616c75828f98a2aebac3cedbdacfc5bbafa59d9183786d60574d42362c1f160c000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000020e1a26313946525e6873808c97a1adbac4ceddded2c6b9ada1978b7e72666f7c8995a2afbcc8d5d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d46505a616c717e8792979fa6aeb4bbc0c7cbd1d4cec8c5c4beb9b8b5b3b2b1b0b0b2b3b4b8b9bec4c5beb9b0a8a09691847a7d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303a47535f6a76828f9ca8b2bdc9d5d0c5b9ada1978b7e71665b505863707d89959fabbac3ced5c9beb3a99d9083776b6054453b311f160c0000000000000000000000000000000000000000000000000000000000000007121d27313944515c666d757f868d9196a0abb5c0ccc8c5c4bfbcb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d192633404c5966737f8c99a6b2bfccd9d0c3b6aa9d9083776a544a4034281c100400000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d10030000000000000000000a1623303c4955616c70777b7e82868a8e92979a9e9e9184786c6053463e32291d140b020000000000000000000000000000000005121f2b3744505b6574818d9aa7b4c0cddae2d6cabeb3a994877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b95a0abb5c0ccd7d5c9beb2a99f93877c6f665b50443b3025190c030006111b262f3845515d67707d8a949eaab4bfccd5e1d6cabeb3a99d93897d70665c51453b31241a0d04000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000006121e2b37424d57616e7b86929fa9b3beccd5e0d5c9bdb2a89e9185796d63707d8996a3b0bcc9d6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1925303b444e58616c717e879299a1a9b0babec5ccd2d6cec9c3bdb8b7b3adaba8a7a5a4a3a4a5a6a8abadb3b7b9bdc1bab2a9a0968f817e8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5864707d8a96a0acb9c5d0d5c9beb2a99d9184786c60535f6a76828f9ca7b1bcccd5d2c6b9ada1978b7e7164594f4433291f0d04000000000000000000000000000000000000000000000000000000000000000c18232f3943505a606d78818c92989ea0a8b2bdc7c3bdb8b7b2afaea3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d1a2633404d596673808c99a6b3bfccd9d1c4b8ab9e918578665c5044382c1f1206000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad0c3b6aa9d9083776a5d5044372a1d11040000000000000000000a1724313d4a5764707e83878b8f92989b9ea2a9aaa0968a7d70645a50443b2f261d140c05000000000000000000000000000208121a202d394653606c7884919eabb8c4d1dedfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc4cfdacfc4bbafa4999083786c60564c41362a1e150b000b17222d38414e58606d7984919ea6b0bcc6d0ded8cfc6b9ada1978e81746b60544a4033291f120800000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000020c1a232e3a47535f6974818d98a2aebbc5cfdeddd2c5b9ada1968b7f726764707d8a97a3b0bdcad6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202a36424d56606a717e879299a3abb3bbc2cad0d7d0cac4bdb9b2acaaa9a19e9b9a9997969798999b9ea1a9abacb2b9bebbb2a89e938e818e9ba8b4c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b26313c4653606c7884919eaab4becad6cfc4b8aca0968a7d716459626f7c88949fabb9c3cdd7cbbfb4aa9e9185796d6053463d3220170d0000000000000000000000000000000000000000000000000000000000000004101c2934404b55616c74808d939fa2aaacb2bac4bfbbb1acaaa6a3a1a1978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1926333f4c5966727f8c99a5b2bfccd8d2c6b9ac9f9386796d6053463a2d20130900000000000000000000000000000000000000000005121e2a36424d576976828f9ca9b5c2cfdccfc2b6a99c8f8376695c504336291d10030000000000000000000b1824313e4b5764717e8a939a9c9fa3aaabadb3b2a89d9083776c61564d41382f261e170f0b0600000000000000000003070d1319242a36424d57626f7c8996a1adb9c5d2dfded1c5b8ab9e928578675d5145392c20130600000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939fa9b2bdc9d5d7ccc0b5ab9f958b7f72685e52463d30271d12070f1b27333f49535f6a73808d96a1adb8c1ced8dcd1c6bdb0a69e92857a6d61594f42392e21180d0000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000a141e2c38434f59626e7b87929faab4bfcdd6dfd5c9bdb2a89e9184796d6064717e8b97a4b1becad7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b46525e696f7c869299a3abb5bdc5cdd6d6cec5bebab2aca8a09e9a97928f8d8c8b8a8a8b8d8e9197999ea1a8adb3bbbaafa59e938e939eaab6c2cfdbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2b3844505b66727f8b98a2aebac7d2d4c8bdb2a89d9083776b606975818e9ba6b0bbcbd4d3c7baaea3988c7f73665c5145382c1f13050000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67717e8a929da5aeb4b9bdc4bdb5aea8a09d99969594948a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1825323f4b5865727e8b98a5b1bed1dcd4c7bbafa499877b6e6154483b30251a0d0400000000000000000000000000000000000000020b14212d3a46535e697784919daab7c4d0dbcec2b5a89b8f8275685c4f4235291c0f020000000000000000000714212d3a4754606d7a86929facacaeb4b8b9beb8ab9f958a7d70685e534941383029201b17110e090a09080809060b0f12181e252a363e46535f6974808d9aa8b2bdc9d5e1dccfc3b6a99c90837669554b4035291d1104000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d96a1adb9c1ced8d2c7bdb1a79f92857a6e61594f43392e23180c19222b3744505b656f7c87929fa8b2bdcad3e0d7cbbfb5ab9f948b7e71685e52473d30271c0f060000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000006111c2630384854606b75828f99a3afbcc6d0dfd9cdc5b9aca1968b7e72675c65727e8b98a5b1becbd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a616e7b849198a2abb5bdc7cfd6d5ccc4bcb3aea8a19e96918d898582807f7e7d7d7f808185898d91969ea1a9afb6b7afa59e9b9ea5afbac6d2ded8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7a85929facb6c0ccd8cec3b8ab9f95897d70636e7b87929facb9c2ccdfd2c5b9ac9f92867a6d61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7984919ea4aebabfc5c7beb5aba39f95918c89888787877d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1724313e4a5764717d8a97aab4bfcbd7d7ccc0b5ab978a7e7164574d42362a1f160d040000000000000000000000000000000000020b141d29323b4854616e7b87939facb9c6d2dacec1b4a79b8e8174685b4e4135281b0e020000000000000000000713202c3945525d6876828f9caab4babfc5c6c8bcb1a79e92857a6e655b534a423a322b27221b1a17171615151617171c1f242930363e48505a616e7b86929facb8c4cfdae4d8ccc0b6ac9a8e8174675b4e412f24180d010000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d7a84919ea6b0bcc6d0d9d0c3baaea2988e81756b60554b4034281f151e2935414c56606c77839099a3afbac4cfdcdbd3c7bbaea3999082776c60564c41352b1e150b000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000b17232e3842505a636f7c89939eabb5c0ced7e2d4c8bcb1a79e9184796d605566727f8c99a5b2bfccd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626c76828f96a1aab4bdc7cfd9d4cbc3bab2aaa29f96918a84807c79757472717071727375787c80848b92979fa4acb4b7afaaa8aaafb7c1cbd7e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6774808d9aa4afbbc8d4d4c8bcb1a79c8f82766a74818d99a3afbbc7d4d3c7bbb0a69b8e8174685e5242392e23180c0000000000000000000000000000000000000000000000000000000000000005111e2a36424d5765727e8b96a1acb6c0caccc0b6aca399928b847f7c7b7b7a7b796d6053473a2d201407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8898a3aebac7d3ddd2c2b5a99c8f8276695e52463d31281f160e08020000000000000000000000000000070c141d262f3b44505a66737f8c9aa4afbbc8d4d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000004111d2935414c5665727e8b98a2aebac5d0d2cdc3b9ada1978f82776c655c544c443e37332d2a262423222122232322282b2f353a4146505a626c75828f98a3aebac7d6e0e0d4c8bbafa49a8a7e7164574b3e312418070000000000000000000000000000000000000000000000000000000000000006111c26303c45515d67717e8a949eaab4bfcad6d6cabeb3aa9e93897d70675c51453c31261c26303846525e68717e8b949fabb5c0ccd6e0d5c9bdb2a89f92877c6f655b50443a3023190c03000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000003101c28343f4a54616c7683909ca5afbdc7d1e0d9d0c7b8aca0958a7e71665c596673808c99a6b3bfccd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202d3946525e68717e8b949fa9b2bcc6d0d9d4cac2b9b1a8a098928c847e78736f6d6667666463646566656c6f73797f858d939aa2aab2bab6b4b6bac1c9d3dde4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935414c55616e7b87939facb9c3ced8cdc3b7ab9f94887c6f7a86929fabb5c0cbd7d0c4b7ab9f94887c6f62564c4130271d1207000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca8b2bdc8d4c8bbafa49a92877f7873706e6e6e6e6d675c5145382c1f1306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dfd2c6b9ac9f93877b6e61594f433a31282019130e090603000000000000000205080d12181e262f38414d56626c7784919dacb6c0ccd8d4c8bcb1a7968a7d7063574a3d3024170a00000000000000000000010d19242f3a4754616d7a86929faab3becad6d5c9beb3a99f948d80776d665e565046443f38363131302f2e2e2f302d33383940454c525a616c717e8b949eaab4bfcbd6e8dfd2c6b9ac9f93877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000a141e2935414c55616c75828f98a2aebac3d0d9d0c5bcafa59e9184796d60574d42372b232e38424f59616d7a85929ea6b0bdc7d1ded7cec5b9aca1968d80736a5f53493f32281e110700000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000020c16202b3844505c66707d8a949fabb7c1cfd9ddd2c7beb0a69d9083786c60545a6773808d9aa6b3c0cdd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090707070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e2a36424d57616e7a85929fa6b0bbc4ced8d6ccc2b8b0a7a09691857f79716c6563605c545958575758535b6062666d727980889298a1a8b2bbc1c2c6cbd3dbe5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d19242f3a47535f6975828f9ca7b1bcc8d4d3c7bbb0a69b8e8175808c98a3aebdc7d1d5c9bdb2a89c8f83766a5f53443a301e150b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b87939facb9c4cecbc0b5ab9f93887d726d666362616161605c554b4034291c1004000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667683909ca9b6c3cdd8d4c7bbafa4998d80746b60554b433a3229251e1a1312100b060b0a0b0c090e1214191c23283038424a535e68717e8b96a0acbec7d2ddd1c4b8aca095877a6e6154473b2e21140800000000000000000000000813202d3946525e6873808d98a2aebac5d0d9cfc5bbb0a69d928d81786d68615a53504946423f3e3d3c3b3b3c3d3e3f44464b51565e616c717e87929fa6b0bcc6d0dce2d6cabeb3a99d908376685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7b86929fa7b1bec7d2d7cec1b9aca0968c7f73695f53473e3128343f4a54606b74818e97a1adb8c2cfd9dbd0c5bcafa59e9184796d60584e41382d20160c0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000008131e2935404b55606d7884919da6b0bcc9d3e1d8ccc0b6ac9f94897d70655b505a6774808d9aa7b3c0cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231614141414141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46535f6974818d97a2adb8c2cdd6d9d0c4bab0a69f9590847b726d67605b5353504a4c4b4a4a4c495053545c60676d737e869196a1a9b3bdc6d1d7dde5ede4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4233271c0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d5763707d8995a0acb8c5cfd8ccc2b9ac9f93877c85929faab4bfcfd9d2c5b9aca0968a7d7064584e4332291e0c0300000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a9aa4afbbc8d3c7bbafa3998d80746b605c545554545453514b43392f23180c00000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a5466727f8c99a7b1bcc8d4d7ccc0b5ab9f93877d6f675d554c443d35302b26201f1c171918171718191a1e21252a2e343c424a545b656e7b85929fa8b2bdd0d9ddd0c3b6aa9d908377685e5246392d201407000000000000000000000005111d2a36414c56616d7a85929fa9b3bec7d2d6cdc2b8aea49d938e827a716c63605b53534d4c4a4a494848494a4b4a5053555d60686d757e879299a3afb8c1ced8e2dbd3c6baada2978b7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000008131e28313e46535e69727f8c95a0acb6c0ccd8d4c8bdb2a89f92867b6e615a50433a2f3844505c666f7c87939fa9b3becbd4e1d6cabfb4aa9e938a7d70675d51463c2f261b0e050000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000010d1925303945515d67717e8b95a0acb8c2cddbe0d4c8bbafa49a8f82766b6053495b6774818e9aa7b4c1cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23212121212121212121212121212121212121212121212121212121212121212121212121212121201f1c18120b03000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3becad4ddd2c7beb2a89f9490837a6e69605c55504946443f3f3e3d3e3f3f44464b51555d606c707c849197a2abb5bfcbd7dfeaf5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569594f44382c20170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26313c4854606b7784919da9b3becad6d4c7bbafa49991859197a2adbcc6d0d6cabfb4aa9e9184786c6053463c3220170d0000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99acb6c0ccd2c5b9ac9f92867a6e6159504a484847474745403931271d120700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b17232e3c4855626f7b88959fabb8c4cedad2c7bbafa4999184796d675e564e46413a37312d2b2823252524242526262a2d30363940444d545c666c77828f97a2adbac3cee2d3c7bbb0a6998c807366564d41362a1e11050000000000000000000000010d1925303a46525e6873808c97a1acb6c0ccd8d4cac0b7aea59e948f857e76706c65615f57595756555455565657545b6062676d727a818a9299a3abb5c0cad3e0ded5c9bdb2a99f9285796d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfd9cec3baaea3988f82766c61564c4136424d57606d7883909aa4afbbc5cfddd9d0c7baaea2988f82756b61554b40342a1d140a000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000005111d2a36414c56606d7984919ea7b1bccbd4ded7cbbfb4ab9f93877c6f62594f4e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c030000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818e99a3aebbc5d0dcd8ccc0b6aca19690827a6e685f57514b443f3a38342e3130312d33373940454b515a616a6f7b859299a3aebbc3cdd9e4f0e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776b6054483e33291f150d05000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2c38444f5965727e8b97a2adb9c7d1d7ccc0b5aba1979197a1a9b3beced8d3c6baaea2988c7f72665b5044382b1f12050000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2d2cfc2b5a89c8f8275685e52443f3b3b3b3b3a38342f271f150b0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000615212e3a47535f6a7783909da8b2bdc9d5d7ccc0b5aba0968f82796d686058524c47423c3a38342e32313031323331363a3b41464a51575f666d78818e949ea9b3beccd5d9d0c7b7ab9f94887c6f6255483c3025190e0200000000000000000000000008131e2935414c56606d7a85929aa4afbbc2cdd6d2c9c0b7afa69e97928a827d78726e696865646362616162636466666c6f74797e858e939fa3abb5bdc7d1dcdfd5ccc3b9ada1968c7f73675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000040d1a25313b44515c666f7c88939fa9b3bec9d5d7cbbfb4aa9f948a7e71685d52453c46525e69727f8c95a0acb6c0cdd7ddd2c7bdb1a79f92867b6e61594f43392f22180b02000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600040e19222d3946525e68737f8c96a1adb9c3ceddded3c7baaea3998e81756a5f54474e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7a86929fabb5bfcdd7dfd4c8bbafa49a91847a6d685e564d454039332d2b282325242422272b2e343a404550585f69707d87929fa7b1bcc8d4dee8e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ded1c5b8aca095897d70635a50453b31271f170e0a0401000000000000000000000000000000000000000000000000000000000000000000000000000003101c27333d4753606d7985929eabb5c0cbd7d2c7bdb3a9a19ea1a9b3bbc5cfd8ccc0b6ac9f92857a6d60544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfccbfb2a5998c7f7266564c41342e2e2e2e2d2c29231d150d030000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2b37434e5864717e8a96a1acb9c2ced7d2c7bdb2a89f948f837a6f6a615e56534d4946443f403f3e3d3e3f40404246484c52545c60696e78818e939da6b0bbc5cfddd2c7beb1a79c8f82766a5f53473a2e1f140800000000000000000000000000020d1925303a45515d67707d88939fa6b0bbc4ccd5d2c9c1b8b0a9a19e948f8a847f7b78757271706f6e6e6f70717376797c81858b92979ea5afb5bdc7cfd9dfd6cdc3baafa59e9184796d60554b403529170c0200000000000000000000000000000000000000000000000000000000000000000000000009141f2834404a54606b74818e97a1adb9c2cfd8d1c6bcb0a69e91857a6d60584e434f59616e7b86929fa7b1bec7d2dfd7ccc0b5aba0958c7f72695e52473e31271d100600000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000a15202a36424d57616d7a85929fa9b2bdccd5dfd6cabeb3a99f92867b6e61584e434e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494747474747474747474747474747474747474747474747474747474747474747474747474747474747474645403930271d120700000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8c99a3afbdc6d1dfd4c8bcb1a79f93887d70685d564d443c342f27221f1c17181717171b1f23282f353e464e57606b727f8b95a0abb8c1ccd7e3e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79c8f82766c61574d43393129201b15110d07080706060708090b0909070300000000000000000000000000000000000000000000000000000b161f2c3945515d6773808d99a3afbbc7d3d9d0c4bbb3adabadb3bbc4cdd7d4c8bbafa49a8d8074685d5242382d22170b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023212121201f1c18120b03000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030f1b26313c4653606d7984919ea6b0bcc5d0d9d0c4bab0a69f9590837c746d68625f575553504a4c4c4b4a4a4b4c4d4d5355565e61666d727b828e939da5afb8c1cdd7d8ccc0b6ac9f958a7d7064584e43372b1f0d02000000000000000000000000000008131e2935414c55616b73808d949fa9b2bac3ccd4d2cac1bbb3ada69f9c96918b8885827f7d7d7c7b7b7c7d7e808285888d92989ea1a9afbbc0c7cfd9ded6cdc4bbb2a89e938a7e71675d5143392f24180500000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424f59606d7a85929ea6b0bcc6d1d8cfc2b9ada1978d80746a60544b55616b75818e98a2aeb9c3d0d9dcd4c7bbafa4999083786d60574d42352c1f150b0000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206020b1b27323a46535f6974808d98a2aebbc4cfdeddd3c6baada2978d8073695e5346424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565454545454545454545454545454545454545454545454545454545454545454545454545454545454545453514b42392e23180c00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb5c0cfd8ded1c5b8aca0958d80736b60564c433b3229231d1712100b060a060b0f12181d2429343c454f59606c7883909da6b0bbc6d2e2e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e4d9cec3b7ab9f948a7e71695e554b433b322b26201d181514141313141516181615130f0a0400000000000000000000000000000000000000000000000004101d2935404b55616e7b86929facb9c3cdd8d6cdc4beb9b8b9bec4cdd6dfd2c6b9ac9f93877b6e61564c412f261c110600000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221614141413100c070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000a151f2c3844515c66717e8a949fa9b3becad6d6ccc2b8b0a79f959188817a736e696562605c54595858575758595a575f6164686d72797f8690949ea5afb7c1cad3d6cdc5bbafa49a9083786c6053463c31261b0f000000000000000000000000000000020d19242f3a434f59606d78829097a1a8b1bac2cbd5d3cdc5beb9b0aba8a09d9897918e8c8a8988878889898a8d8f92989a9fa2aaadb3bbc1cbd1d9dad6ccc4bbb3a9a0968e81756c61554b4031271d1207000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d45525d68717e8b949faab4bfcbd7d5c9beb3a99f93877c6f665b515c67707d89939eaab4bfcbd5e1d5c9beb3a99f93877c6f665c50453b30231a0d030000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12000a141d2b37434e58616e7b86929faab3becdd6dfd5c9bdb2a89f92857a6d61574d42424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626161616161616161616161616161616161616161616161616161616161616161616161616161616161616161605c544b4034281c1004000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a0acbdc7d1e1d5c9beb3a99d9183796d60594f443a31292018120b0603000000000003070c1318222a333d44505b65707d89939eaab6c6d0dbe7d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfdfd3c7bbb0a69f92857b6e675d554c443d37322c29242221201f202121232523221f1b160f070000000000000000000000000000000000000000000000000c18242f3946525e6975828e9ba7b1bcc8d4dfd6cfc9c6c4c6c9cfd6dfd4c8bcb1a79c8f8275695f53433a2f1d140a0000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0c7bbaea194887b6e6155483b2e2215080807060400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000004101c2834404a54616c76828f97a2adbabfc8d7d4cac2b9b1a8a09a938e85807b76726f6d6667666564636465666768696e71757a7f848c92989fa6afb7c1c9d2d7cdc5bbb1a79f93877c6f655b5044372a20150a0000000000000000000000000000000008131e28313e44505c666e7b859196a0a8b1b9c1c9ced7cfcac2bbb7b2acaaa9a19e9b989796959494959697999c9fa2aaabaeb3b9bec5cdd7dcd7cfcac2bab2a9a19791847a6d605a5043392f1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9cfc4bbafa4999083786c6057606d7984919ea5afbcc5d0ddd8cfc6b9ada1978d80746a60544a3f33291f1108000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206111c262f384754606a75818e99a3aebcc5d0dfd9cec5b9ada1968c7f72685e52453b424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f1306000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576773808d9aa8b2bdcfd9dfd2c6b9ada1978b7e71675c51473d32281f170e0701000000000000000000010710182127333f4953606b75828f9baab4bfcad6e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe4d8cdc2baada2979082796d675e564f47433c39352f2f2e2d2c2d2d2e3031302f2c2721191007000000000000000000000000000000000000000000000007121d2a36424d57636f7c89959fabb8c4cfdae1dad5d2d1d2d5dae1ded1c5b8aca095897d7063574d4231281e0b020000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baada194877a6e6154473b2e2114080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000c18232e3942505a616e7b85929fa4adb6c0cbd1d4cbc2bab1aca49f97928d88837e7c797674737271707172737375787b7e81868c91969fa3aab0b8c1c9d2d5cdc5bbb3a99f958d80746a6053493f3327180e0300000000000000000000000000000000010c161f28343f4a545e696e7c8491959fa7afb9bdc4cbd1d6ccc7c3bdb8b7b2adaba8a5a4a3a2a1a1a2a3a4a6a9abaeb4b8babec5c9cfd6d8d3cdc5beb9b0a8a19791857b6e685d52483e31281d0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d7ccc0b5aba0958b7f72685f6973808c96a0acb7c1ced7dcd1c6bcb0a69e91857a6d60584e42382e21170d00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120b17222d38424f59626f7c87939fabb4bfced7e2d4c8bcb1a79e9184796d60564c4133424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bcb0a396897d7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a786d6053463a2d201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697784919daab7c4ceddd7cbc0b5ab9e9285796d60554b40352b20160d0500000000000000000000000000060f17222d38414f5964707d8a98a2aebac6d3dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe9ded6cabeb3a99f948f82796e686159534e4745403e3b3b3a38393a3b3c3e3c3b38322b22190f0400000000000000000000000000000000000000000000010e1a25303b4854606b7783909da9b3bec9d5e2e6e1dfdedfe1e6e2d5c9beb3a99d9083776b6054453c311f160c000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000007121c27303e46535f69707e8a929ca4aebbc0c7cfd6ccc3beb6afa9a29e9a94908b888583807f7f7e7d7d7e7f808285888a8e92999ea1a8aeb4bcc2cad3d5ccc3bbb3a9a1979083786d60584e41382d221706000000000000000000000000000000000000040d17232e38424d565f6a6e7b8390959ea5acb2bbc0c7ccd2d3cec8c5c4beb9b8b5b2b0b0afaeaeafb0b1b3b6b8babec5c6cad0d5d6d3cdc7c1bbb3ada69f9691857c6f695f564c41362c1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d2c7bdb1a79f92857b6e626e7b86929fa8b2bdc9d3e0d7cbbfb4aa9f948a7e71685d52463d30261c0f0500000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120f1c28333f4a54606b76828f9aa4afbdc6d1e0d9d0c7b8aca0958b7e71675d51443a30424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a5998f89878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8895a0acb8c5d1ded3c7bbafa3998c8073675c5143392e23190e0400000000000000000000000000000006111b262f3d4753606d7985929facb8c5d2dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dff2e6dbcfc5bbb0a69f948f827a706b625f5853514b4a48474745464748494b4948433d342b21160a000000000000000000000000000000000000000000000009141f2c38434f5964717e8b97a1adb9c6d1dcd5d5d5d5d5d5d5d5d2c6b9ada1978b7e7165594f44332a1f0d040000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000b151e2a36424d57616c73808c929da4afb5bdc3cad0d0c7c0bbb3adaba69f9c989892908d8c8b8b8a8a8b8c8d8f9197979b9fa3abacb2babfc6ced7cec9c1bab2a9a29792857b6e665c51463d2f261b11060000000000000000000000000000000000000006111c26303b444e585f696e7a838e939ea1a8afb5bbc0c7c9cfd3d1cfc9c6c4c1bfbdbcbbbabbbcbcbdc0c2c5c6cad0d3d6d3cfcac6c2bcb7afa9a19e948f847b6f6a5f574d433a2f241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfd9d0c3baaea2988e81756c76828f98a3aebac4cedbdbd3c7baaea3988f82766c61564c41342b1e140a0000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f0c16202b3844505b66707d89949facb6c0cfd8ddd2c7beb0a69d9083786c60554b403235424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dacdc2b6aba199969494949494949494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a8b1bdc8d4dfd2c5b9ac9f92867b6e61554b4030271d110700000000000000000000000000000000000a141f2c3845515c6775828e9ba8b5c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfeee8e1d7cdc2b8b0a69f948f857d756f6a64605d555755545351535454565856544f463d32271b0f0300000000000000000000000000000000000000000000030f1b27323d4653606d7985919eaab4bfcbc8c8c8c8c8c8c8c8c8cbbfb5ab9e9285796d6053473d3320180e000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bcafa295897c6f6256493c2f2316090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030c1a26313b45505a636d73808d929fa3abb1babfc6ced2ccc5beb9b8b0aba9aaa29f9c9a999897969798999a9b9ea1a9a8acaeb4b9bdc4cbd0d1cbc4bdb9afa8a09792857c6f695f544b40342b1d140a0000000000000000000000000000000000000000000a151e29323c464e575e686d79818a91969fa3abafb5b9bec4c7cad0d1d2d1cecbcac9c8c7c7c8c9cacccfd2d3d2d1d1cbc7c5bebab8b0aba59e97928b827a6e695f584e453b31281e12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d6cabeb3aa9e93897d717e8a949faab4bfccd5dfd4c8bdb2a89f92867b6e615a50443a2f22190c020000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f131e2834404b55606c7883909da6b0bec7d2e1d8ccc0b6ac9f948a7d70665b5043392f35424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c7bdb3aba5a3a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546774818d9aa7b4c0ced9dbcfc2b5a89c8f8275695e5243392e1e150b00000000000000000000000000000000000004101c2934404b5565727e8b98a5b1becbd8d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ebe4ddd8d4d2cbc2b8b0a69f979289827c75716d6766646261605d60606163646360594f43382c1f130700000000000000000000000000000000000000000000000a161f2c3845515c66737f8c98a3aebabbbbbbbbbbbbbbbbbbbbbbbbaea3998c8073675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000009141f29333e48525b646e73808b9299a0a7aeb4bcc2c7cdcfcac6c2bcb7b6b4aeaca9a7a6a5a4a3a4a5a6a6a8abadb3b4b9babfc6c9ced1cbc6bfbab2aca59e9691857c6f6a5f574d42392e22190b02000000000000000000000000000000000000000000030c17202a343c454d565e676d757d848d92999fa4abadb3b8babfc1c4c5c9cecccdcececfcfcecdcccbcbcec8c5c4c1bfbab9b3adaba69f9c938e857e766e685f574e463c33291f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2834404b55606b75818e97a2adbac2cfd9d0c5bcafa59e91847a85919ea6b0bcc6d1ded7cdc5b8aca0968c7f73695f53483e32281e1007000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f19242f3845515c67717e8b95a0acb8c2d0d9e0d4c8bbafa49a8f82766b61544a3f312735424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc5bdb6b1b0adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909da9b6c3d0dcd7cbbfb5ab998c7f7266564d4230271d0c03000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e2d9d2ccc8c6c6c8c2b8b0a9a19e938f87827e7a7573716e6e6d676c6d6e6f716f6b6054483b2f221509000000000000000000000000000000000000000000000004101c2834404b54616e7a86929facaeaeaeaeaeaeaeaeaeaeaeaeaeac9f92867b6e61554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed2cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000030d18212c364049525c646e737f8791959fa2aab0b7bbc2c6c9cfcdc7c4c3bfbab8b6b3b2b2b1b0b0b1b2b3b5b8b9bec1c5c7cbd1cec8c6bfbab4aea8a09e938e847b6f6a60584e453b30271d10070000000000000000000000000000000000000000000000050e18222a333b444c555d606b707980878f93999ea1a9acaeb4b4b7b9bdbebfc0c1c1c2c2c1c0c0bfbebdbdb9b7b4b4aeaca9a29f9a949089817a716c615e564d453c342a21180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa6b0bdc7d1d7cec1b9aca09691849197a1adb8c2cfd8dbd0c5bbafa59e9184796d60574d42362c20160c00000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1d2935414c56606d7984919ea7b1bccad4e2d7cbbfb5ab9f93877c6f62594f42382d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d7cfc7c2bebcbabababababababababababababababababababababababababababababababababababababababababab0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfd3c7bbaea399897c6f6356493c3023150b00000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3d9d0c7c0bbb9b9bbc0c2bbb3ada69e9a938f8a8682807d7b7a7a79797a7b7c7e7d6f6356493c302316090000000000000000000000000000000000000000000000000c18232e3946525e6874818e9ba6a2a2a2a2a2a2a2a2a2a2a2a2a2a79b8e8175695e5243392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96acb6c0cccbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120602020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000060f1a242e37404a525c646d727d838c92989fa6abb0b8b9bec5c6cad0d0cac6c5c3c0bfbebebdbdbebfc0c2c4c6c9cfcfcfc9c6c3bcb8b4aeaba39f96918a817a6e6960584e463c33291e150b00000000000000000000000000000000000000000000000000060f182129323a434b515961676d737c82878c91979c9fa2aaa8abacb2b1b2b4b4b5b5b5b4b4b3b2b1b0b2acaaa8aba39f9c97928d88837d756d68625a524c443c332a22180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d46525e68717e8b949fabb5c0cbd7d4c8bdb2a8a0969196a1a9b2becad4e1d6cabeb3a99e93897d70675c51453c31241a0d0400000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c18222c3945525d68727f8c96a1acb9c3cddcdfd3c7bbaea3998e81756a6054473e2f262835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e1d9d3cdcac9c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a3aebac7d3dfd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6ddd2c7beb6afacacafb6bec5beb9b0aca49f9c98928f8d8a88878686868787898a7d7164574a3e3124170b00000000000000000000000000000000000000000000000007121d2a36414c56626f7c889495959595959595959595959595959595897c6f62564d4231271d120700000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b889aa4afbbc8cdc0b3a79a8d8074675a4d4134271a080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f14212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000008111c252e38404a525b626b6f787f868f949c9fa6abadb3b8babfc1c3c6c7ccd2cdcccbcac9cacbcccccbd0cac6c5c2c0beb9b8b1acaaa39f99928c847d756d685f574e463d342a21180c030000000000000000000000000000000000000000000000000000060f172028313940454f555d606a6f757b80858a8f9298989b9ea1a8a4a6a7a7a8a8a9a8a7a6a5a4a3a8a09e9b9899928f8a85807b76706b615e565046413b322a2118100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4ced9cec3bab2a8a19ea1a8b2bbc4cfdcd9cfc7baada2978e81756b60554b40332a1f12080000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c202a36424d57606d7a85929ea8b2bdcbd5dfd6cabeb4aa9f92867b6e61584e43352c1d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0efe6dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcabdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996aab4bfcbd7dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d8ccc0b6aca49f9fa4acb6c0c9c1beb6afacaaa29f9c99979594999292999497887b6e6155483b2e221508000000000000000000000000000000000000000000000000000d1925303b47545f6a7682888888888888888888888888888888888882766a6054443b301f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cec2b5a89b8f8275685c4f423024190d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000a131c262e384048515960666d727b828a90949a9ea1a9acaeb4b4b7b9bbc0bfc0c1c1c2c2c2c1c0bfbebdbebab8b6b3b3adaba7a09d98928e868079706b615e564d453d342b22180f0600000000000000000000000000000000000000000000000000000000050e161f282f353e434b51586062696e73797d8285888b8e91969697999a9b9b9c9c9b9a999898979696918e8b8986837e79746f6a636159524c443e36302920180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d5ccc3bab2adabadb2bac4cdd6dcd1c7bdb1a79f92857a6e61594f43392e21180e000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c26313a46525e6973808d97a2adbac4ceddded3c6baaea2988d8074695f53463d32231a2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f1e6ddd5cdc8c4c3c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bed1dcdacdc0b3a79a8d807467554b4034291c100400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d4c8bbafa49a93939aa4afbbc0ccc7c0bbb9b4aeaca8a6a4a1aba39f9fa39e928578695f53463a2d2114070000000000000000000000000000000000000000000000000008141e2b37434e58616d7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d61584e4332291f0d0300000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677884919eabb8c4d0c3b7aa9d9084776a564c4135291d110500000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c28282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000010b141c262e363f474f545c60696e767d83888d92979c9fa2aaa7aaacafb5b2b3b4b5b5b5b5b4b3b2b1b1b4aeaba9a6a9a19e9a95908b86817b736d676159524c443c332b22191006000000000000000000000000000000000000000000000000000000000000040d161d2429313a40454e54575e61666d7176797c7f818487898b8c8d8e8e8f8f8e8d8d8c8b8a898784817f7c7976716d67625f58554f46413a322a251e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d5ccc4bdb9b7b9bdc4ccd6dfd7cbc0b5ab9f958b7e72685e52473d30271d0f06000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2b37434e58616e7b86929fa9b3beccd6dfd5c9beb2a99f92857a6d61574d42342b201b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d8cbbfb2a5988c7f7265594c3f2f23180c0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c6b9ac9f938886939fa5afbbc0c7ccc8c6bfbab8b5b3b0aeb4aeacaca99c8f827669574d42362a1e120500000000000000000000000000000000000000000000000000020f1b26323c46525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e52463d3220170d0000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55697683909ca9b6c3cfc5b8ab9f928578685d5246392d20130700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524539353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000000000020b141c242d353d424a51575f616c70767b80858a8f9298989a9d9fa4aba5a6a7a8a8a9a8a7a6a6a5a4aaa29f9c999797918d88837f7a756e6a605d554f46413a322a211910070000000000000000000000000000000000000000000000000000000000000000040c12181f282f353c43474d53545c6064666d6f7275787a7d7e7f81818282828181807f7e7d7c7a7775726f6d6764605c55534e48443d3630292019140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0dbd6cfc9c5c4c5c9cfd6dedcd4c7bbafa3999083786c60564c41352b1e150b00000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2e3a47535f6a74818e98a3aebbc5cfded9cec6b9ada1978c7f73685e52453b3122191b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cdc3b9b1abaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad7cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c5b8ac9f92867f8c939da5afb5bdc3c9cfcac7c5c2c0bdbbbfbab9b3a6998c807366594d4031261a0e0200000000000000000000000000000000000000000000000000000a15202a36414c565e616262626262626262626262626262626262615e564c41342b200e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f414e5b6874818e9ba7b4c1cec6baaea298877a6d6154473a2e21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52454242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000020a121b232b303940444d535a6164696e73797d8285888b8e90939997989a9b9b9b9c9b9a9a9998979698928f8d8a8785817c77726d68625f57514b433e35302820180f070000000000000000000000000000000000000000000000000000000000000000000001070d161d242932373b42464a5153545c60626568696e7071737474757576757473727170706d68686562605c5553514b47433c38332a251e170e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6e2dad5d2d1d2d5dae0e0d5c9bdb2a89f92877c6f665b50443b3023190c0300000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c38444f59626f7c87939faab4bfcdd7e1d4c8bdb1a89e9184796d60564c41332a1f101b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c8bcb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd6cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6cec5b8ac9f928579818e939fa4abb1b9bdc4c8cdd2cfcccad1cbc7bdb2a8978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000040d1925303a444c5254555555555555555555555555555555555554524c443a3022190f00000000000000000000000000000000000000000000000000000000000000000000000000000000000007192633404c5966737f8c99a6b2bfd2cabeb3aa95887c6f6255493c2f22160900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f54606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000910191e272e343b42465055575f62666d7175797b7e818486898a8c8d8e8e8f8f8f8e8d8c8b8a8a888583807d7b78746f6a65615d56534e4540393129251e160e0600000000000000000000000000000000000000000000000000000000000000000000000000040c131820272b3136394044464a51535558565e61636466676868696968676665656463615e56585653514b4745403937312c272119130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616b75818e98a2aebac3d0d9e3e1dfdedfe1e5e2d8cec6b9ada1968d80736a5f544a3f32291e11080000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453930394854606b75828f99a4afbcc6d0dfdbd1c5b8aca0958b7e71675d51443a3021180e1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd1c4b8aba095908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd5c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c1c1c1b8ac9f92857978818c9399a0a7adb2b8bcc2c5c6cad0cfd1c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000008131e29323a41464748484848484848484848484848484848484746413a32291e10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97acb6c0ccd0bdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000070c151c232831363e44494d53545c6064666c6f7174777a7c7e7f80818282828281807f7e7e7d7b797673716e696762605854524c47423c352f271f19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000001070d151b1f252a2e34383a404446494c4d52545658595a5b5b5c5c5b5a5a5958575654524c4c494645403a38342f2b26201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2dde8ebeaebede7dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52452e3942505a63707d89949eabb5c0ced8e1d3c7bcb0a69d9184786d60554b4032291e0f0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c3b6aa9d9083838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383827d6f6356493c30231609000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb4b4b4b4b4ac9f9285796d747f8790959ea1a8abb1b6b8babfc0c2c4c4b8ab9e918478685e5246392d20140700000000000000000000000000000000000000000000000000000000020d1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3936302920170d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8cbbfb2a5988c7f7265594c3f3226190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000000030b12181f262a33393c42474a5153545b60626567676d6f71727374757576757473737271706e6c666664615e5755544e4746413a373129241d150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2e34383a3c3f4246474a4b4c4e4e4f4f4f4e4e4d4c4b4a494746413f3c3a38342e2c29231d1a15100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b959fabb5c0ccd7e3f0f7f8efe2d6cabfb4aa9e948a7d70675d51463c2f261c0e05000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524534404a54616c7683909da6b0bdc7d2e0d9cfc7b7ab9f948a7d70665c5043392f20170c0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676766f6b6054483b2f221509000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd4c7baada194877a6e6154473b2e2114080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0a8a8a8a8a8a8a89f9285796c6d727c838b91969d9fa7a9acaeb4b4b5b7b9b5a89b8f827568564d41362a1e11050000000000000000000000000000000000000000000000000000000000050e171e252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cdc1b4a79a8e8174675b4e412f24180d01000000000000000000000b1824313e4b5764717e8a97a4ab9f92857875757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000000000070c141a22282d3137394044464a50535558555d6063646567686868696867676665646362605b545754524d4947433c3935302b262018120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f23282c2d2f30363a3b3d3e4041414242434241403f3e3d3d3a3935302f2d2c28231f1c18120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc7d4e0edf9f9ece0d3c6baaea2988f82756c61554b40342a1d140a00000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453844515c66717e8a959fabb8c1d0d9dcd1c7bdafa59c9083766c61544a3f31271d0e050f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696360594f44382c201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9b6c3d0dcd3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b9285796c636a6f787f848a9095989c9fa2aaa7a9aaacaea6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000050d13191e2021222222222222222222222222222222222221201e19130d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677884919eabb7c4cfc2b6a99c8f837669554b4035291d1104000000000000000000000b1824313e4b5764717e8a97a4ac9f9287818282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828f9ba8b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000003090e171c20262b2e34383a3f4446484b4c51545657595a5b5b5c5c5c5b5a595857575553504a4a4846423c3b37322d29241e1a150c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012181c1f2022252a2d2e3031333435353636353433323231302e2d292523201f1c1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939facb9c6d2dfecf9ede1d4c8bdb2a89f92867b6e615a50433a2f22180b0200000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245414b55606d7984919ea7b1bccad3e2d7cbc0b5ab9e93897c6f625a5042382e1f150b000f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c56544f473d32271b0f03000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd4c8bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e85796c5860666d72797e83878b8f9298989a9c9e9fa3a896897d7063564a3d30231708000000000000000000000000000000000000000000000000000000000000000002080d11131415151515151515151515151515151515151413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfc4b8ab9e918478675d5145392c201306000000000000000000000b1824313e4b5764717e8a97a4aea399928e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f939eaab2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000050b10151a1c23282c2d3338393c3e414547494b4c4d4e4f4f4f4f4e4d4c4b4b4a4846443f3e3b3a36302e2b27201d19130e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191e202123252627282829292827272625242321201d19161313100c070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d9aa7b3c0cddae6f3ebded1c5b8aca0968c7f72695e53483e31281d10060000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524545515d67727f8b96a0acb9c2cddcdfd3c7bbafa3998f82756a6054473e30261c0d03020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256505050505050505050505050505050505050505050505050505050505050505050505050505050505050504948443d352b21160b00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000613202d394653606c788181818181818181818181818174685b545c60666d71767b7f8385888b8d8f9192999496877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000010507070909090909090909090909090909090909070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f414d5a6774808d9aa7b3c0cdc5b9ada196867a6d6053473a2d201407000000000000000000000b1824313e4b5764717e8a97a4b5aba39f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ea6b0b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000003090e12181c1f22282b2d2f2f35393a3c3e3f4041424243424140403f3e3d3b3938332d2e2d2a25221f1b15110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090e1114141718191b1b1c1c1c1b1b1a191817161413110d0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303946525e68727e8b98a5b1becbd8e4f1eaddd0c4b7aa9d9184796d60574d42362c1f160c000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f52414c56606d7a85929ea8b2bdcbd4dfd6cabfb4aa9f92877b6e62584e43352c1e140a00020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494343434343434343434343434343434343434343434343434343434343434343434343434343434343433c3b38322b23190f0400000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbd6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000006121f2b3844505b666c757575757575757575757575746f64594a50545c6064696e7276797c7e818284868788888477685d5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1bed0c9bdb2a895887c6f6255493c2f221609000000000000000000000b1824313e4b5764717e8a97a4b1b5aeaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aab0b4b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000070c1012171c1f202224292c2d3031323435353536353434333231302f2d2b282221201e1a15130f0a05010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0d0e0e0f0f100f0e0d0c0b0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59616d7a85929eabb8c5d1deebf8ebdfd2c5b8ac9f92867b6e615a50433a2f24190c020000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5246525e6873808c97a1adbac3ceddded3c6baaea2988d8174695f53463d32231a0c0200020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3636363636363636363636363636363636363636363636363636363636363636363636363636363636302f2c27211911070000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd7cabdb1a4978a7e7164574b3e312418060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000030f1c28333f4a545b6068686868686868686868686868645d5348444a5053575e6165666d6f72747677797a7b7c7c6f62564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0c0d0e0e0e0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3becacfbdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000004060b0f121315191d202123242627282829292928272625242422201f1c171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b74818e97a2adb9c6d2dfecf8ece0d3c6baaea2988f82756c61554c4135291e140a0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b8ab9e9185786b5e524d57616e7a86929fa9b3beccd5e0d5c9beb3a99f92867a6e61574d42342b2111080000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f292929292929292929292929292929292929292929292929292929292929292929292929292929292322201b160f07000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddad8cbbeb1a5988b7e7265584b3f2d22170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b59534b41383f44464d5354545c6062656769666c6d6e6f6f6a5f53443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000020507060c101213151618191a1a1b1b1a1a191917161413110d0807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8797a2adbac6ccbfb2a6998c7f7366594c4033261908000000000000000000000b1824313e4b5764717e8a979b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000030606080d1113141618191a1b1c1c1c1c1b1a191818171513120f0b0607050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080a0c0d0d0e0e0d0d0c0a080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a242c3845515c66707d89939ea9b3becad6e2eefaefe2d6cabfb4aa9e948a7e71675d51453d30261c110600000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51535f6974818d98a2aebbc5cfded9cec6b9ada1978c8073685e52453c3122190f000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1615130f0b0400000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d9ccbfb3a6998c80736653493f33271b0f0300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392e34383b4246484a505355585a545b60606162625f584e4332281e1308000000000000000000000000000000000000000000000000000000000000000000000205080e111414171c1f20212325262727282827272626242221201d19171413110d080501000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413024190d010000000000000000000b1824313e4b5764717e8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000001040607090b0c0d0e0f0f100f0e0d0d0c0b0a0806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000306060b0f1213151719191a1b1b1a1a1917151313100c070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7984919da5afbbc5cfdbe6f2f2f3e7dbd0c6bcb0a69e91847a6d60584e42382e23170b03000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e4e58626e7b87929faab4bfcdd6e1d4c8bdb2a89e9285796d60564c41332a1f1007000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316101010101010101010101010101010101010101010101010101010101010101010101010101009090703000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcfdadbcfc2b5a89c8f8275655b5044372b1f120500000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000a141d262d33383942424242424242424242424241403c372f23282c31363a3b3f4446494b4e4a505354555555534e463c3220160c02000000000000000000000000000000000000000000000000000000000000000003090e1214191e202123282c2d2e3031333334343434333332312f2e2d29252421201d1913110d0802000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c566a7683909da9b6c3d0c3b6a99d9083766a564c4135291d11040000000000000000000916232f3c4956626f7d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313120706040000000000000000060b0f1213171c1f20222425262728272726252422201f1c181413100c070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a46535f69737f8c95a0acb7c1cdd7e1ece6e5eaebe2d8cec1b9ada1968d80746a60544a3f34281f1409000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e54606a75828f99a3afbcc6d0dfdcd2c5b8aca0968b7f72675d51443b3021180e00000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a8b2bdc9d5ded1c5b8ab9e9285796c605346392d20130600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000020b141c22282b2d3535353535353535353535353534302b25171c1f252a2d2e34383a3c3f413f44464748494947433c342a200e0400000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2e34383a3b3d3e3f404141414140403f3e3c3a393530302d2c2924201d1913100b04000000000000000000000000000000000000000000000000000000000000000000010d192530424e5b6875818e9ba8b4c1cec5b8ab9e928578685d5245392c2013070000000000000000000915222e3b4854606a6f747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0a0b0c0b0b0b0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101220202020202020202020201f1312100c07000000030a0f11171c1f2022282b2d2e313233343434343332302f2d2c2823201f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b19242f3a43505a616e7b86929fa8b1bdc9d2dfe0dcd9d8dedfe1e0d5c9bdb2a99f93877c6f665c50443b30251a0d040000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c4b7aa9d9184776a5e59626f7c89939eabb5c0ced7e1d4c8bcb1a79e9184786d60554b4032291e0f0600000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a1adb9c5d2dfd2c6b9ada297887b6e6255483b2e23170c00000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000020a11171c1f20282828282828282828282828282724201a0c10141a1e2123282c2d2f322d3338393a3b3c3c3b37322a22180e000000000000000000000000000000000000000000000000000000000000060b11171c1f262a2d3036393b3e3f444648494b4c4d4d4e4e4d4d4c4c4a49474641403d3a3935302d2a251e1b16100b040000000000000000000000000000000000000000000000000000000000000000081a2633404d596673808c99a6b3bfccc6b9ada197877a6d6054473a2d21140700000000000000000007131f2c38434e58606268686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686864615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060609070c1013141515161718191818171716151313100c07090706040000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2c201f1c18120b030b10151a1c22282b2d2d3338393b3d3f4040414140403f3d3b3a38342e2d2c29241f1b17110b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414c55616c76828f98a3aebac3cedbdbd4cfcccbd1d2d5dadacfc4bbafa4999083786d60574d42362a1f160c0100000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d616b7683909ca5afbdc7d1e0d9cfc7b8ab9f958a7d71665c50433a2f20170d0000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687884919eabb7c4d1ded6cabeb3a9978b7e7164544a3f34281c1003000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f0903090e1214171c1f20222522282b2d2d2e2f2f2e2b262018100600000000000000000000000000000000000000000000000000000000020a11171c23282b31363a3b4146474b4a5053545658595a5a5b5b5a5a5959575554524c4d4a4745413a3936302c27211b160e09020000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becacabeb3a995897c6f6256493c2f231609000000000000000000030f1b27323d464e54565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131518181d1f20212223242525252524242321201f1c1818161313100c070603000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939392d2c28231c150c161c20262b2d3338393c3f4446484a4c4c4d4e4e4d4d4c4a484645403d3a39352f2b27221b17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d67717e8a949eaab4bfccd5d9d1c9c4c0bfc4c5c9cfd6d7ccc0b5aba0958c7f72695e52463e31281d130700000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a5963707d8a949fabb7c1cfd9dcd1c7bdb0a69d9083766c61544a3f31281d0e050000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2d0dbdbcfc1b4a79a8e8174665c5044382c1f150a000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0e0e0c08030000000205060c1012131618171c1f2021222222211f1b150e0600000000000000000000000000000000000000000000000000000002080c141c23282e34383b4246484c525457545c606163646666676767676666656462615e565a5754524c4746413a38322c27211a140d0500000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cfbdb0a4978a7d7164574a3e3124170b000000000000000000000a16212b343d4348494e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e352c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1215171c1f20222524292c2d2e2f30313232323131302f2e2d2c28232523201f1c1815120f0a05020000000000000000000000000000000000000000000000000000000a141e262e34384646464646464646464646453a38342e271e1b21282c3137383f4446494a5053555758595a5b5a5a5958575553514b4a4745403937332d28221c140b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ddd1c7bfb8b3b2b7b9bdc4ccd6d2c7bdb1a79f92867b6e615a50433a2f24180b02000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc3b6a99c90837669606b7783909da6b0bcc9d3e1d7cbc0b5ab9e94897c6f635a5042382e1f160c000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192530404c5966737f8c99aab4bfcad6ded1c4b8ab9e9184796d6053463c31261b0d040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000002020202020202020202020202010000000000000000000003060709060b0f12131415161615130f0a04000000000000000000000000000000000000000000000000000000050d14191e262e34383f44464d5355565e616467666d6e7071727374747474737372716f6d68696663605d5654524c48443d38322a251f170e07010000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040f19222b32383b3c4141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151a1f2122282b2d2f322f35393a3b3c3d3d3e3f3e3e3e3d3c3b3a38342e32302d2c2823211f1b15110e090200000000000000000000000000000000000000000000000006111c2630383f44535353535353535353535352464440393027272c33383c43474a505356545b60616465666767676766656362605c555753514b46443f38332d261d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a74808d96a1adb8c2ced8d4cbbfb5ada7a5abadb2bac4cfd9d0c3baaea2988f82756c61554b4035291d140a000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b5a99c8f82766963707d89959fabb8c2cddbdfd4c7bbafa3998f82756b6054483e30261c0d04000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081723303d4a5663707d8998a2aebac6d3dfd2c5b9ada1968a7d7164584e43372b1f160c0100000000000000000000000000000000040e16202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060708090908060300000000000000000000000000000000000000000000000000000000060e171f252a30383f444a5053575f6166686e717476797b7c7e7f8080818180807f7f7d7c7a787673706d6865615e56544f48443d3630292018120c0400000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000007101921272c2e2f35353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353531302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e2d3338393c3e414045474848494a4b4c4b4b4a4a4948464540413f3c3a38342e2e2b26201e1a140f0a03000000000000000000000000000000000000000000000b17232e38424a505f606060606060606060605f53514a42392e32383e44484e53545b606266666c6e707273737474737372706e6d676764605d55535049443f382f29241e160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a232b3844505b666f7c87929fa9b2bdcad3d9d0c2b9ada39b989ea1a8b2bdc9d5d6cabfb4aa9e938a7d70675d51453c2f261c11060000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec2b5a89b8f8275686975828f9ca7b1bccad4ded6cabfb4aa9f92877c6e62594f44362c1e150a00000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dcd5c9bdb2a99c9083766a5f53473d31281d1307000000000000000000000000000000030d16202935404b55606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363e424a50545c6064696e72767a7e80838687898b8c8d8d8e8e8d8d8c8c8a88878583807d7a76726d68636059544f46423b3329241d160d05000000000000000000000000000000000000000202020200010815212e3b4854616e7b8794a1aebac7cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000070f161b1f22232828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1d24292c31373a3c3f4446484b4e4b515354555657585858585757565453514b4e4b494645403c3a37312d2a251f1a150e09030000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c605c544a40353d44484f55585f62666c6f7376797b7d7f7f80818180807f7d7b797773706d6763605b53504a423d353028201810080000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414d56606c78839099a3afbbc4cfddd2c7bdb1a79b918c9196a1adb9c1ced8d0c5bcb0a69e9184796d60584e42382d22170b0200000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b4a89b8e8175686e7b87939facb9c3cddfded3c6baaea2988e81746a5f53473d32241a0c0300000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9babb4bfcbd7dacfc4b7ab9f94887c6f62594f433a2f2418120701000000000000000000000000050d151f28323a45515d67717e8b98a4b1becbd7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323b414650545c60666d70767b7f83878a8d909298969799999a9a9a9a99999897959892908d8a87837f7a75706b636059524d453f352f281f170f06000000000000000000000000000004080a0b0f0f0f0f070d1115222f3c4855626f7b8895a2aebbc8cfc3b6a99c908376695d5043362a1d1003000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c141a20272b2f35393c4347484a505355585b555d60616263646565656464636261605c545a585653514b4847433c3a36302b26201a140c0701000000000000000000000000000000000006121f2b3844505c667679797979797979797979786d665c514440454f545961636a6f74797c808385888a8b8c8d8e8d8d8c8b8a888683807d7974706c65605b544f45413a322a221a12090000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e68727f8b959fabb5c0cdd6d7ccc0b5ab9f958c7f84919ea6b0bcc6d0d7cec1b9ada1968d80736a5f544a3f33281f140900000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746673808c99a4afbbc7d4e0d5c9beb3a99f92867b6e61584e43352b2112080000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0d3c7bbb0a69a8e81746b60554b4035292418120b0600000000000000000002080e171f27313a444f59606d7985919eabb8c4d1ded8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343e444d525a61666d71787d82878c90939a9a9d9fa3aaa4a5a6a7a7a7a7a6a6a5a4aaa29f9c999a93908b86827c76706b615e57504540393129211810060000000000000000000000050b101416171c1c1c1c1c181d20262f3d4a5663707d8996a3b0bcc9d1c4b7aa9e9184776b5e5144382b1e11050000000000000000000000000000030709090e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a32373a4045474e5355545b606265676a676d6e6f70707172717171706f6e6d6669676563605c5455534e4746423b37312a261f18120b03000000000000000000000000000000000713202d3a4653606d788686868686868686868685786d6053464b515960636b70767b8085898c9092989798999a9a9a9a9998969992908d8a85817d78716c666059524c443c342c241b12090000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434f59616e7b85929fa7b1bdc7d1dcd4c7bbafa4999083787e8a949eaab4bfcad6d5c9bdb2a89f92877c6f665b50443b30251a0d04000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b3a79a8d80746d7984919eabb5c0ccd7ddd2c6b9ada1978d8073695e52463c3123190f000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4754616d7a86929facb9c3ced9d8cdc2b9ac9f93877d6f675d51453e3629241d17110c070604000105070a0f141920293139434c56606b73808d97a1adb9c6d2dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f2830383f4450565e616c70787e848a8f939a9d9fa4aca9acaeb4b1b2b3b3b4b4b3b3b2b2b0b3aeaba9aca49f9d99928f89827d756e69625a514b433b332a221810060000000000000000000810171c212324282828282824292c3038424e5866737f8c99a6b2bfccd0c3b7aa9d9084776a5d5144372a1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151d232830363d43474b5153585f6266666c6f717477797a7b7b7c7d7e7f7e7e7d7d7c7b79787674726f6d6666625f5854524d47433c363129241d150d060000000000000000000000000000000713202d3a4653606d7986939393939393939397897d7063534e555d606b6f767d83888d9297999d9fa2aaa5a6a6a7a7a6a6a5aba39f9d9a98928e89847e78706b605d564e463e362d241b12080000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606b75818e98a2aeb9c3cfd9d5c9beb3a99f93877c6f75828f98a2aebac3ced9cfc4bbafa3999083786c60574d42362a1f160c010000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb3a6998c8073707d8a97a1adbdc7d2ddd5c9bdb2a89e92857a6d60564d42342a201107000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba8b1bdc8d4e0d4c7bbafa4999184796d605a50483f352f27221b181413100c0d1113141a1f252a323b434b555e686f7d87929fa9b3bec9d5e1d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028313a424a505a61686e757d848b91969c9fa4acacafb6b6b9babfbebfc0c0c1c1c0c0bfbfbdbebab8b6b6afacaba39f9c948f89827b716c605d554d453c342a22180f060000000000000008121a22282d303135353535352f35393a414a545f6a76838f9ca9b6c2cfcfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708080808080808080808070705010000000000000000000000000000000000000000000000020a11171e272e343b42464e54555d60656a6f7376797b7e818486868788898a8b8b8b8b8a8a8987868583817e7c7976726f6a65615e57534e46423b352f271f180f0900000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9fa99a8d8174655b5860676d747d838a90949a9ea1a9a9acaeb4b2b2b3b4b4b3b3b2b5afacaaaaa29f9b95918a847d746d685f5850483e362d241a11080000000000000000000000000000000000000000000000000000000000000000040e1b242c3845515c67707d89939eaab3becbd4d9cfc7b9ada1978d80746a6e7b86929fa8b1bdc8d4d7cbc0b5ab9f958b7f72695e52463e31281d12070000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8ccbfb2a5998c7f7275828f9ca9b2bed0d9dcd2c5b9aca0968b7f72675d51443b3022180e00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707c8995a0acb8c3ced9d7ccc0b5aba0968d81746c615a51454039332d2924201f1d18191d2021262b30363d444c555d676d7a849199a3afbbc4cfdae6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028323a434c545c606c717b828a91959ea1a8acafb6b9bbc0c3c5c7cbd1cccccdcdcdcdcccccbd0cac6c5c3c0bbb9b5afaca69f9c948f857e756d675e574e463c342a21180e03000000000005101a242c33393c3e4242424242424045474c525b666f7c88949fabb7c4d0cec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131414141414141414141414141414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111314141414141414141414141413110d08020000000000000000000000000000000000000000040c141c2328303940454d52586062676d71767b808385888b8e91929994959697989898979796959a9392908d8b8985827f7b77726e69625f58534d454039312a221b120a010000000000000000000000000713202d3a4653606d798693a0acacacacacab9e9184786c60616a6f79818990949c9fa6abadb3b6b8babfbebfc0c1c0c0bfbec0bbb9b6b4aeaca7a09d969189817a6f6a615a50483e362c23190f05000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbcc5d0dcd1c7bdb0a69e92857a6d6069737f8c95a0acb8c1cdd7d1c7bdb1a79f92867b6e61594f43392f24180b0200000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e727a86929facb9c4cfdfd4c8bcb1a79e9184796d60554c4132291f0f0600000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090404040404040404040404040404040404040404040404040404040404040404040404040404040404040403030100000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4854606b7784919da7b1bcc8d4ddd2c7bdb2a89d928a7e716c625b514b443f38352f2d2c2924252a2d2e31373b41464f565e676d79829096a1abb5c0cdd6e1e4d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28323a444c565d666d747e858f949da0a8acb2b9bbc0c6c8ccd2d2d1cfc9c6c5c3c2c1c0c0c1c1c3c5c6cad0ccc8c6c0bbb9b0aba69e97928b81796e695f584e463c332a1f150900000000000b17222c363e44494a4f4f4f4f4f4f4b5153565e616c78828f9ca6b0bbc7d3cbc0b5ab998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f20212121212121212121212121201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d20202121212121212121212121201d19130c05000000000000000000000000000000000000050d161e262e343d424b51575e616a6f747a7e83888c8f9298989a9d9fa3aba2a3a3a4a5a4a4a4a3aca49f9e9c9a9898928f8c88837f7b756f6a615f57514b433c342d241c130a0100000000000000000000000713202d3a4653606d798693a0acb9b9b9b9ada197897c6f626c707c848e939c9fa6abb0b8b9bec3c5c7cad0cacbcdcdcdccd1cbc7c5c3bfbab8b1aca8a09d938e847c716c625a50483e352b21170c03000000000000000000000000000000000000000000000000000000000008131e28323a47535f6973808c96a0acb7c1ced7d7cbc0b5ab9f948b7e71685d606d7984919da5afbbc5d0d9cfc3baaea2988e81756b61554b4035291d140a00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd7cabeb1a4978b7e727f8b99a3afbbc7d3d9d0c7b8ab9f958a7e71665c51433a2f20170d0000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100f0d0a050000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38444f5964717e8a95a0acb8c1cdd7d9d0c4baaea49f92877e726d605d55504945403b3a38352f3036393a3d43474d525960686e79828f949fa8b2bdc7d1dfe8e4d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313a444c565e686d78808a92979ea6acb1b9bdc4c8ccd2d4cfcac6c5c1beb9b8b7b5b4b3b3b4b5b6b8babfc1c5c6c9cbc7c2bbb7b0a9a29f938f837b6f6a5f584e453c31261a0e0200000004101c28333e485055575b5b5b5b5b5c555d6063686d75808d949fabb8c2cdd3c7bbafa3998b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d2e2e2e2e2e2e2e2e2e2e2e2d2a251e160e0500000000000000000000000000000000070f171f2830383f444f545c60696e757c81858b9095999c9fa2aaa7aaacaeb4aeafb0b1b2b1b1b0b0b6afacaba9a7aaa29f9c9995908c86817c756e69605d554e463e362e251c140a01000000000000000000000713202d3a4653606d798693a0acb9c6c9beb2a99a8d80736c717e8691969da5abb0b7bcc2c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d2d0cac6c3bcb8b2aca59d9691867e716c625a50473d33291e150b00000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc9d3dcd3c7bbafa3999083786c60565c66707d89939ea9b3becad6d6cabeb4aa9e938a7d70675d51453c2f261c1106000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6cabdb0a3978a7d7783909dabb5c0cbd7d2c7bdb0a69d9083786c60544b4031281e0e050000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a03000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b27323d4653606c7883909da6b0bbc5cfdbd6ccc0bbafa39992887f736d67605b53514b4847454043434146474a4e53565e616b6f7a828f949fa6b0bac4cfd9e3ebe4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018242f39434c565e686d7a828d929fa2a9b0b8bdc3c9ced4d3ccc7c5beb9b8b5b3adabaaa9a8a7a7a7a8a9acaeb4b4b8b9bec5c7cbc7c1bcb3ada59e9590857c6f6a5f574d42372b1e12060000000814212d3944505a616468686868686969676d70747a828d929da6b0bbcad4d2c5b9ac9f92867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f35393a3b3b3b3b3b3b3b3b3b3b3b3b3936302920170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3b3b3b3b3b3b3b3b3b3b3a3936302820160c0200000000000000000000000000000710192129313a424a505960666d727b81898e92989d9fa7a9acaeb4b4b7b9babfbbbcbdbebebebebdbdc0bbb9b8b6b4b4aeaca9a7a09d99928e87827b736d675f58504840372e261c130a000000000000000000000713202d3a4653606d798693a0acb9c6cfc4b7aa9e918477717e879298a0a8afb7bcc2c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced5d3cec8c3bdb8afa8a19892887e716c61594f453b30271c12070000000000000000000000000000000000000000000000000000000a151e2935414c56616c76828f99a3aebac4cedbd5c9bdb2a99f92877c6f655b5054606b75818e97a2adbac2d0d9d0c5bcafa59e9184796d60584e42382d22170b020000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c7b88959fabbdc7d1d7ccc0b5ab9e94897d70655b5042392e1f160c000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a292826211b150d040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161f2b3744505b65707d8a949ea9b3becad6dcd7cbc0b5aba39a938b8079716c65605d555553514b50504c525457585f62686e747d848f949fa6b0b8c2c8ccd2d9e2e8d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222935404b555d686d7a838f949da4adb3bbc1c8ced5d5ccc7c2bbb7b3adaba8a9a19e9d9c9b9a9a9a9b9d9fa2aaa7abadb3b9bbc0c7cbc5bebaafa7a09791857c6f695f53473a2d2114080000000a1623303c4955616c7175757575757576777a7c81868f939da4aeb8c2ccd5c9beb3a99c8f8276685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454747474747474747474747474746413b322921170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a404547474747474747474747474746413a32281e130800000000000000000000000000061019222b333b434b545c606b70797f868e939a9fa2aaabb1b6b8babfc1c4c5c7cbd1c9cacbcbcbcacad2ccc8c6c5c3c0bfbab8b5b1acaba39f9a938f8680796e6a615a514940382e251c11080000000000000000000713202d3a4653606d798693a0acb9c6d2c5b9aca096887c7d879299a3aab2bac0bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d4cec8c0bab2aaa29a93877e716b60574d42392e23180c030000000000000000000000000000000000000000000000000006111c26303845525d68717e8b949fabb4bfccd5d8cfc6b9ada1968d80736a5f53494f59616e7a85929fa7b1bdc7d2d7cec1b9aca1968d80736a5f544a3f33281f14080000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd5c8bbafa295887c808c99a7b1bccfd9d4c7bbafa4998f82756b6053493f30271d0d04000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c37373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373635322d261f160d0300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616b75828f97a2adbac0cad4dcd1c7bdb5aca49f928d847e78706d676561605d555d5d565e6163666a6f737b818791969fa6b0b8bbb9bbc0c7d0d6dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343d45515d676d7a8390959fa6aebabec5cdd4d6cec9c1bbb7b0aba9a29e9b989792908f8e8d8d8e8e909298979b9ea1a9acafb5bbc0c7cac1b9b1a9a19791857b6e6155483b2e2215080000000b1724313e4a5764717e828282828282838486898e92989ea6aeb6c0cad4ccc4b9ada1978b7e7164564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f39434b5153545454545454545454545454524d443b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434b51535454545454545454545454524c443a3025190d010000000000000000000000050e18222b343d454d555d666d747d848c92989ea5acaeb4b8bcc2c5c6cad0d0d2d3d7dcd6d5d4d3d4d5d6ddd8d4d2d1cfd0cac6c5c2bcb8b5afaca49f98928c837c716c635b524a40372e231a0f0600000000000000000713202d3a4653606d798693a0acb9c6d4c8bdb2a89b8e81859299a3abb4bcbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d9d4ccc4bcb4aca49992877d70695e544a4034281f1409000000000000000000000000000000000000000000000000000c17232e38424e58606d7a85929ea6b0bdc6d1dcd1c6bdb0a69e9184796d60584e4146525e68727f8b959fabb5c0ccd7d5c9bdb2a89f92877c6f665b50443b3025190d0300000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd4c7bbaea194887b84919daab7c3cdd6cbbfb4aa9f93877c6f62594f41382d1e150b00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564944444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443423e3831281f150a00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59616e7b85929fa4aeb8c2cbd4d9cfc7beb6afa49d96918b837d7a75716e6d676a696a6b686d7073777b80868e9299a1a9b0b8b6afacafb6bec5cdd6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b606d79839095a0a7b0b8c0cacfd7d7ccc4bdb9b0aaa69f9c97928e8b8885848281808081828385878a8e92979b9fa3abafb5bdc1cac3bbb3a9a1978f8376695c504336291d100000000b1724313e4a5764717d8a8e8e8e8e8f909193999a9fa2aab0b8c0c8d6cbc3baafa59e92857a6d6054473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606161616161616161616161615e564d453b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b555d6061616161616161616161615e564c41362a1d110500000000000000000000030d17202a343d464e575e676d78808991969fa2aaafb8babfc5c7cdd2d3d6d7d3d2cfcccbc9c8c7c7c7c8c9caccced1d2d5dad6d3d2cec8c7c0bbb6afaaa39f9591867e736d635c52493f352c21180b02000000000000000713202d3a4653606d798693a0acb9c6d9cec3b6a99d938e9297a1abb5bdbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6cec6beb5aba39992857b6e665c51443b30251a0e04000000000000000000000000000000000000000000000004101c28343f4a54606a74818e97a1adb8c2cfd8d7cbbfb5ab9f948a7e71675d51463c414c56606c78839099a4afbbc4cfdacec4bbafa3999083786c60564d41362a1f150b01000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c8996a0acb8c5d4d3c7baaea3988e81746a5f53473d2f261b0c0300000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625650505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261b1005000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3e46525e68717e8b929da6b0b9c3cbd4d9d0c7c0bbaea8a19e95908a86827e7b7a7877767677787a7d7f83888d92989fa3abb2bbb6aca49fa4acb3bbc5cfdacbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424e58626d75818e959fa7b1b9c2cad6d9d1cbc1bab2aca69e9c948f8985827e7b787776757474747576797b7e8185898e92999fa3abb0babfc6c4b9aca1968b7e7164584b3e3125180b0000000815222e3b4855616e7b88989b9b9b9c9c9e9fa4abacaeb4bcc1cad0cac2b9b1a89e938a7e70675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d676d6e6e6e6e6e6e6e6e6e6e6e6e685e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d6e6e6e6e6e6e6e6e6e6e6d685e5246392d201307000000000000000000020b151f29323c464e5860696e79828d929da0a8aeb4bcc1c6cad0d4d8d6d3d1cbc7c5c3bfbebdbcbababbbcbcbdbfc2c4c5c9cfd2d4d7d9d4d1cbc7c0bbb4aea7a098928b7f736e635b51473e332a1d140a000000000000000713202d3a4653606d798693a0acb9c6d3d2c6baafa59d9b9ea1a9b3bcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d7d0c7bdb5aba1979083786d60574d42362a20150a00000000000000000000000000000000000000000000040d1a232c3844505c666f7c88939fa9b3becad4dcd3c7bbaea3998f82766c61554b41343b44505b666f7c87939fa9b3bec9d5d7cbc0b5ab9f958b7f72685e52463d31271d1207000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d808d9aa8b2bdc8d4cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5c5a544c42382d21160a000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56616c74808d949fa7b1b9c2cad6d9d2ccc0bab2ada79f9d98928f8b8886858483838485878a8c90959a9fa2aaafb5bdbbafa49a939aa1a9b3bec9d5cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606a727f8b939ea7b1b9c3cbd4d9cfc7c0bbb0a8a19e948f89827d7975716e696a696867676768656c6e7174797d82868d92999ea6aeb4bcbeb3a99e9184796d6053463a2d2013070000000613202d394653606c7985929fa8a8a8a9aaacafb5b8babfc6ceccc6bfbab0a7a0968e81756c61554b413529170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7a7a7a7a7a7a7a7a7a7a7b75695e52463a2d20160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a7b7a7a7a7a7a7a7a7a7a7a6d6154473a2e2114070000000000000000000a141d27313b444e58606a6f7b838f949da4acb2babfc6ced3d6dad5d0cac6c5c0bbb9b6b3b1b0afaeadaeafb0b0b2b5b7b9bdc2c6c7ccd2d5dad7d2ccc6bfbab1aaa29f918c80736d63594f453c2f261b11060000000000000713202d3a4653606d798693a0acb9c6d3d6cbc0b7afa9a7abadb3b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d9d0c7bdb3a99f958c7f72695e52463c32261b0f030000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfdcd5c9bdb2a89f92877b6e625a50433a2f333f4a54606a74808d97a1adb9c2cfd8d1c7bdb1a79f92857b6e61594f43392f24180b020000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccec1b5a89c928d929ca8bac3ced2c6b9ada2978d8073695e52463c3123190b020000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69665e54493e3226190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44505a606d78828f959fa7b0b8c0cad0d7d8ccc4bdb9b1abaaa29f9b9894979291909091929796999da0a7acaeb4bbc0b9b0a69f93869297a1adb9c6d2cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c3844505c666f7c87929fa5afb9c2cbd5d9d0c7bdb5afa69e969189827c76706c6665615f575c5b5a5a5b535b606164666c70757b80878f949fa2aab1b9ada1978b7f72665c5144382c1f120600000005121f2b3744505b657683909ca9b5b5b6b7b9bbc0c5c6cac8c7c0bbb4aea69f9590847a6d615a50433a2f24180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8787878787878787878787877b6e6154483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f878787878787878787878276695c504336291d10000000000000000006111b262f39434c565f6a6f7c8590959ea6aeb8bdc3cad0d7dad5cfc9c5bebab8b5afaca9a6a4a3a2a1a0a1a2a3a4a5a8abadb2b5b9bbc0c7c9cfd8ddd8d1cbc3bcb4aea39c928c7f726c61574d41382d22170b0100000000000713202d3a4653606d798693a0acb9c6d3ddd2c9c0bab6b4b8b9b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d9cfc5bbb1a79f92867b6e61584e43372b201509000000000000000000000000000000000000000007121d28313946525e69727f8c95a0acb6c0cdd6d8cec6b9aca1968d80736a5f53483e31282d38424e58606d7a85919ea6b0bdc6d1d9cfc2baada2978e81756b61554b4035291d140a0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b9aea49c9a9ca4aeb9ccd5c9bdb2a89e92857a6d60574d42342a201107000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777670665a4e4235281c0f030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e44505c666d7a8390959fa6aebabec5ced3d6cfc9c2bcb8b4aeaca8a4a9a29f9d9c9d9e9ea1a9a6aaabb1b8babfc1b9b1a79f948c7f85929eabb8c5d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a36424d57606d78839099a3aeb7c1cbd4ddd2c7beb5aba39f948f847c756f6a63605b5455534d4f4e4d4d4e49505354545b6063696e747b828b9298a0a7b1a99e9285796d60544a4034281c1004000000030f1b27333f49536774818d9aa7b4c0c3c4c6c7c7c5c3c1bcb8b6afaaa29f9490837b6e685e52483e31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7783909494949494949494998c7f7266584e43382b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c94949494949494948f8376695c504336291d1000000000000000000b17222d38414b555e686f7c869197a0a7b0b8c0c8ced6dbd6cfc9c4bdb9b3adababa39f9c99989695949494959697999b9ea1a8a9acafb5b9bec5ccd2d9dcd7cec6bfbaada49f93887d70695f53493f33271d130700000000000713202d3a4653606d798693a0acb9c6d3e4dbd2cbc6c2c1c1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd6cdc2baaea2988f82756a5f54473c31261a0e00000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bec7d2dcd0c6bcb0a69e9184796d60574e42362c1f262f3c45525d68717e8a949fabb4bfcbd7d6cabeb3a99e93897d70675d51453c2f261b110600000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd5cac0b6aea8a6a8aeb6c0cad2c5b9aca1968c7f72685d52453b3022180e00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c4b7aa9d9184838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d10030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d172028343f4a545d686d7a8390949da4adb3bcc1c7cdd4d5cdc8c6bfbab8b5b1b3adabaaa9a9aaabadb3b2b6b8bcc3c6bfbab0a7a0958f8279818e9bacb6c0cccbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46525e69727f8c95a0abb5bfc9d3dcd8ccc0b6aca399928c827a6f6a62605853504a48464243424141413f4446484a5053575e61696e757e8690959fa7a2978c7f72675d5142392e23180c00000000000b17222d3e4b5865717e8b98abb5c0bcbcbbbfbab9b6b4b1acaca49f98928c827a6e695e564c41362c1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8b99a3a1a1a1a1a1a19d9184776a605447392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a1a1a1a1a1a19c8f8376695c504336291d1000000000000000040f1b27333f49535c676e7a849198a1a9b1b9c1cad4d9dad5cdc4beb9b2ada9a29f9a9992908c8b8a8987878889898a8c8f9196979c9fa4abadb3bbc0c7d0d6ded7d0cabfbbafa49a92867b6e655b50443a2f24180d01000000000713202d3a4653606d798693a0acb9c6d3dfe4ddd6d2cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6dfd6cabfb4aa9e93887c6f62574d42372b1c11060000000000000000000000000000000000000a141d2935404b55616c75828f98a2aeb9c3d0d9d6cbbfb4aa9e948a7d70675d51453c31241a1d2935414c56616c76828f99a3aebac4ced9d0c5bcafa59e9184796d60584e41382d22170b02000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdcd2c8c0b9b5b3b5b9c0c8d4c8bcb1a79e9184796d60564c4133291f100600000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded1c5b8aca095919090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909085786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e17232e38424c565d686d7a828d929fa2a9afb7bcc2c7cbd1d4d0cac7c5c2bebebab8b7b6b6b7b8b9bebfc3c4c7c1bcb4aea69e9590837a717e8b9aa4afbbc8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616e7b86929fa7b1bdc6d1dbd4cac2bbafa49a92877f776d686058544e46443f3b3a36313534342d3337393b3f44464d52575f626c717b8390959f9f92857a6d60554b4030271c120700000000000616232f3c4956626f7c8999a4afafafafafb4aeacaaa7a7a09d9a938e867f796d685e564d443a30241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c4754616d7a86929facadadadadaca096897c6f62554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5adadadada99c8f8376695c504336291d10000000000000040d1a242b3744505b656d79839096a1aab3bbc3cbd3dcd6cfc9c1bbb3ada8a19e97928d8a8683807e7d7c7b7a7b7c7d7d7f8284878a8f93999ea1a9afb6bec4ccd5dedbd6ccc0b6aca2988f82776c60554b4035291d1207000000000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dbd0c6bcafa59b8e8175695f5347382e23170b000000000000000000000000000000000006111b262f3845515d67707d8a939eaab4bfcbd5dcd3c7baaea3988f82756c61554b40332a201219242f3a43505a626e7b86929fa8b2bdc9d5d7cec1b9aca0968d80736a5f53493f33271e1308000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3dad2cac5c1c0c1c5cad2d0c7b8aca0958b7e71675c51443a2f21170d0000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e1d4c8bdb1a8a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c565d686d78808a92979ea5abb0b9bbc0c6c7ccd2d1d2ced0cac6c5c4c3c3c4c5c6cac7c5bfbab9afaaa39f948f837a6d6e7a87939facb9c1c1beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818d98a2aeb9c3cfd8d8cfc2b8afa59f93887e726c655d564e47433d38332d2d2a2628272722272b2d2d33383b42464d535a62696e7a839094988d8073685d5243392f1e150b0000000000000714202d3a4753606d7a86939fa3a3a3a3a2aba39f9d9a9895918c87817b736d675d564d443b32281e120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bebabdb2a89a8d8174675c5145382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2babab6a99c8f8376695c504336291d100000000000010c161f2b37434e58606c77818e959fa8b2bcc4cdd5ddd5cdc5beb9afa9a19e96918c85817d7a767371706f6e6d6e6f70717275787a7e82878c92979fa4acb2bac3ccd5ddddd2c7beb4aa9f948b7e71675d5145392f24180c000000000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd7cec1b9ac9f93877b6e62544a3f34281c1003000000000000000000000000000000000b17222d38414e58606d7984919ea5afbcc6d0ddd5c9bdb2a89f92867b6e615a5043392f21180e131e28313e47535f6973808c96a0acb9c1ced7d5c9bdb2a89f92877c6f655b50443a3025190d030000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e3dcd5d1cecdced1d5d2c7beb0a69d9083786c60554b4032281e0f050000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5d9cec3bab1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28323a444c565d666d747e858e939c9fa6acafb5b9bbc0c2c4c5c7cbd1c9c9d1cbc7c5c4c2bfbab9b4aeaca59e98928c827a6d68687783909daab4b4b4b4b1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929faab4bfcbd5dcd1c6bcb0a69d928c7f726c605b534c443d38322b2822211e1a1b1a1a171b1f2022282b30363c424750575f686d79829092867a6d61564c4131271d0c0300000000000006131f2c3945515d67778491969696969695949992908e8b88847f7b756e69605c554c443b322920160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000007131d28313a47535f6a737f8c939ea7b1bac4ced6ddd4cbc3bbb3ada59e97918b847f7a74706d67666563626161616263646668686e71767b7f858e939aa0a8b2bac3cbd5e0d9d0c5bcb0a69e9285796d60554b4035291d10040000000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6e0d4c7bbafa4998d8074665c5044382b1f1206000000000000000000000000000000030f1b27333f49535f6a73808d96a1acb7c1ced7d8cec6b9aca0968c8073695f53483e31271d0f060c161f2b37424d57606d7984919ea5afbcc5d0d9cec4bbaea3999083776c60564c41362a1f150b0100000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9eee7e1dddad9daddd8ccc0b6ac9f94897d70665b5043392e20160c000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c162028323a434c545c606c717a818990949c9fa3abacafb5b5b7b9bbc0bcbcbcbbbfbab9b7b5b4aeacaaa39f9b938e867f776d685e6673808d99aaa8a8a8a8a8a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d98a3aebcc6d0ddd7cbbfb4aa9f948e80746d635a5049413a322b271f1c1714120e090e060b0f1213171c1f252a31373e454d565d676d7a848d8074685e52433a2f1f150b0000000000000004101d2935404b556875818989898989898888878683817e7c77726e69615e57514b433a322920170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000010d18242f3a43505a626e7c87929fa5afb9c2ccd6dcd3cbc2b9b1a9a19e938e857e79726d6764605d5558575654545556565759565e6164696e737a81889196a0a8b1b9c3ced7e2d7cec2b9ada1978c7f72675d5145382c1f13080000000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd7ccc0b5ab9e9185796d6053463a2d20130a0000000000000000000000000000030c19232b3744505b656f7c87929fa8b2bdc9d3dbd0c6bcafa59e9184796d60574d42362c1f150b00040d1a26313c45515c67707d8a939eaab4bfcad6d7cbbfb5ab9f948b7e71685e52463d31271d120700000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f6f2ede9e7e6e9e0d4c8bbafa49a8f82766b60544a3f30271d0d04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e3e7ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e162028313a424a515a61686e757d83898f92999d9fa4aba9aaacafb5afafafafb4aeacaaa8aba39f9c98928e89817b726c655d5663707c89989b9b9b9b9b9b9b988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929faab4bfced7e0d3c7baaea3988f82786d605b51443f382f28201b160f0b060502000100000305060b0f141a1f262b333c444c555d686f7c857b6e61564c4131281e0d0300000000000000000c18242f3b4855616e7b7d7c7c7c7c7c7c7b7a797774726f6a66615e57524d454039312820170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844505c6674808d9aa7b1bcc8beb3a99c8f8276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000004111d2935414b55616c76828f99a3afb7c1cbd4dcd3cac1b8b0a7a097928a817a716d66605d5554514c4b4a49484748494a4a4c4c5254575e61686d747d849196a0a7b1bcc5d0dbe0d6cabeb3a99e9285796d6053473a3025190d0100000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6ddd2c7b9ada197897d7063564a3d31261a0f03000000000000000000000000000b151e2a36414c56606c77839099a3afbac4cedcd6cabfb4aa9e938a7d70675c51453b31241a0d03000009151f2934404b55616b75818e98a2aebac3d0d9d1c6bdb0a69f92857a6d61594f43392f23180b02000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0f0f0f0f7ece1d7cbbfb4ab9f93877c6f62594f42382d1e150b00000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f283039404450565e616b70767c82868b909399999c9e9fa3aba2a3a2a2aba39f9d9b9999928f8c86817c756e69605b5353606d79868e8e8e8e8e8e8e8e8e8b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebcc6d1e0d6cabeb3aa9f92867b6e665c50493f332d261d160e0a0300000000000000000000000003090e151a212a323a434c565f6a6f7b6e695e53443a301f160c0000000000000000000714212d3a46535f696e7070707070706f6e6d6d666765625f5854534d46423b342f271f160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c6c5b9ac9f93877b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000613202c3945515d67717e8a949fabb5c0c9d3ddd3cac1b8b0a69f9590857e756d68605c54514b4745413e3d3c3b3a3b3c3d3e3f4146474d52565d616b6f7b849095a0aab4becad6dedacfc5b9ada1978a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd5c9beb3a99b8e817468584e43372b1f120600000000000000000000000007121d27303946525e68717e8b949fabb5c0ccd6dbd3c6baaea2988f82756b61554b40332a1f1108000000030c18232f39434f59616e7b86929fa7b1bec7d2d8cfc2baada2978e81756b60554b4034291d140a000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3e3e3e3e3e3e6dbd0c7baaea3998e81756a5f54473d2f261c0c0300000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343e444c525960636b6f757a7f83868a8d8f9192999595969695949992918f8d8a86837f7a756f6a615e575049515c66737f818181818181818181817d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6875828f9caab4becfd8dfd3c6baaea2988d8073695e544a3f3727221b140b040000000000000000000000000000000003090f182028313a434e585f696e695f574d4232291e0d0400000000000000000005121e2b37424d575f61636363636363626161605c545855534e4846423b363029231d150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3847535f6a7783909dabb5bfc7bbafa4998c7f7266584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000005111d2a36414c56606d7984919ea6b0bdc7d1dbd5ccc2b8b0a69e9490837b716c615d56514a45413a39352f302f2e2e2e2f30313036393b42464c525960696e7a839098a2aebac2cdd8e1d5c9beb3a99c8f8275685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8dacfc4b8ab9e9185786a5f53473a2e2115080000000000000000000000000c18232e39424f59616d7a85929ea6b0bdc7d1ded4c8bdb2a89f92867b6e61594f43392f21180e000000000007121d27313e46525e69727f8c95a0acb6c0ccd8d6cabeb3a99e93897d70675c51453c2f261b11060000000000000000000000101d2a3643505d697683909ca9b6c3cfd6d6d6d6d6d6d6d6d6cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c2328323b41464f54596063686e72767a7d808284868788898989888887868482807d7a76726d68626058534d44404b54636d7375757575757575757575706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dfd6cabeb3a99f92857a6d61574d42382e2517110a0200000000000000000000000000000000000000060e161f28313c464e575f615f574d453b3120170d00000000000000000000020e1a26313c454d535556565656565655555453504a4b4847433c3a36312a251f18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b99a3aebbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000713202d3946525e6873808d97a1adb8c2cfd9d7cec3bab0a69e948f827a6e69615a524c444039352f2c29242423212122232324252a2d30363a41464f575e686e7b86929fa6b0bcc7d3e2dacfc5b9ac9f92867a6d6154473a2e21140700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000004101c2834404b54606b74818e97a2adb9c2cfd9d7cec5b8aca0968c7f72695e53473e31271d0f060000000000010b151f2a36424d57606d7883909aa4afbbc5cfdacfc5bbafa59e9184796d60584e41382d22170b0200000000000000000000101d2a3643505d697683909ca9b6c3c9c9c9c9c9c9c9c9c9c9c6baada2978d8073695e53463c32231a0b020000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c9c9c9c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218202930363d44484f54565e6165686d70737677797b7b7c7c7c7c7b7a79777573706d6765615e56544e46423b3942515b6366686868686868686868686360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a99a3aebbc7d3dfd3c6baada2978c7f72685e52453b30261c130600000000000000000000000000000000000000000000040d161f2a343c454d5355534d453b33291f0e05000000000000000000000009141f2a333c42464849494949494949484746443f3f3c3b37322d2a251f1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000030f1c28333f4a54616d7a86929fa9b2becad4d9d0c5bcb2a89f948f82796d685e565046413a342e2924201d191716151415161717191e20252a30353d454d565e69727f8b949fabb7c5d0dbe0d3c7bbafa3998a7e7164574a3e2e23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd5c9beb3a9988b7f7265584c3f2f24180d01000000000000000000040d1a242c3845515c66707d89939da9b3becbd4dbd0c5bcafa59d9184796d60574d42352c1f150b00000000000000030d1a25303b44505c666f7c87939fa9b3bec9d5d7cdc1b9aca0968c80736a5f53493f33271e130800000000000000000000101d2a3643505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdb2a89f92857a6d61574d42342a201108000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbaada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a32383d43484c5254565d60636669666d6e6f6f706f6f6e6e6d66686663605d5554524c47433d36313040495157595b5b5b5b5b5b5b5b5b5b56544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aabb5bfcbd7ded2c5b8ab9f9285796d60564c4133291e150a000000000000000000000000000000000000000000000000040d18222a333b42464846423b332a21170d000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3c3b3a3a38342e2f2e2b26211e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bec8bdb1a89a8d8174675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000006121f2b3844505b66727f8c98a3aebbc4cfddd2c7beb4aaa0968f82786d675d564d443e353028231c1813110d0809080708090a080d11141a1e2429333b444d57606c7883909caab4becad6e2d7cbc0b5ab9a8d817467544b4034281c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcdacfc2b5a89b8f827568554b4035291d10040000000000000000010c161f2a36424d57606d7983919da5afbbc5cfddd6cabeb4aa9e93897d70665c51453b31231a0d03000000000000000009141f28343f4a54606b74818e97a1adb9c2cfd9d4c8bdb2a89f92867c6e655b50443a3025190c03000000000000000000101d2a3643505d697683909ca9b0b0b0b0b0b0b0b0b0b0b0b0b0ada1968c7f72685e52453b3122190e00000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0ada093877a6d6054473a2d211407000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969285786c5f5245392c1f12060000000a1724313d4a5764707d8a969696969696969696969696968a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141921272c32383b4146474c5254575a545c606162626363626161605c545a5753514b4746413a37322a252e3740464b4c4e4e4e4e4e4e4e4e4e4e4a48443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d1dcd8ccc0b6ac9b8e8275675d51443a3021170c0300000000000000000000000000000000000000000000000000061018212a31363a3b3a36312a21180f0500000000000000000000000000060f181f262b2d2e3030303030302f2e2e2d2b282322211f1b15120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000613202d394653606c7884919eaab4bfcdd6d8ccc0b6aca29891847a6d665d554c443b3229241e18120d07040100000000000000000105090e13192029323b44505b65717d8a98a2aebac6d3dfdcd1c3b7aa9d908477665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd1c4b7aa9e918477675d5145392c201306000000000000000008131e28313a46535f69727f8c95a0acb7c1cdd7dbd3c6baaea2988e81756b60544b4033291f1108000000000000000000020c17232e38424f59616d7a85929ea6b0bdc7d1d9cec3baaea3999082776c60564c41362a1e150b000000000000000000101d2a3643505d697683909ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a79e9184796d60564c4133291f100700000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a093877a6d6054473a2d211407000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12060000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e161c21272c3036393b4145474a4d4a5053545556565655555453504a4d4a4745403a3935302b27201a252e353b3e40424242424242424242423d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfd4c8bbafa49a8b7e7164554b4032281e0f05000000000000000000000000000000000000000000000000000000060f181f262a2d2e2d2a261f180f06000000000000000000000000000000060e141a1e2122232323232323222221201f1c171515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164564d41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c5663707d8a96a0acbcc6cfd7d4c8bbafa49a92867c6e685d544b433a32292019130c0700000000000000000000000000000002080e172027333f4953606d7985929fabb8c5d2dedfd2c6b9ac9f9386796d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c6b9ac9f93867a6d6053473a2d20140700000000000000020b19242f3a43505a616e7b86929fa7b1bcc9d2dfd4c8bcb1a79f92867b6e61594f42392e21170d000000000000000000000006111c26303d46525e68717e8b949fabb5c0cbd7d7cbbfb4ab9f948b7e71685e52463d30271d12070000000000000000101d2a3643505d6976839096969696969696969696969696969696958b7e71675d51443a3021170d0000000000000000000000000000000000000000000000020f1b2835424e5b6875818e969696969696969696969693877a6d6054473a2d211407000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1e252a2d2f35393a3d403f4446484849494949484746443f403d3a39352f2d29251e1b16131c232a2f323335353535353535353535302f2c272119110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c6b9ac9f93877a6d6154473a2f21160c0000000000000000000000000000000000000000000000000000000000060e141a1e2122211e1a140e06000000000000000000000000000000000003090e1214151616161616161615141312100b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e6875828f9ca8afb9bec5cdcabeb3a99f93887e706a5f564c4239312820170e0802000000000000000000000000000000000000050e17222d3845515c6774818e9ba7b4c1cedae0d4c7bbafa499887b6e6255483b2f221508000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897c6f6256493c2f231609000000000000000a141d2935414c55616c76828f98a2aeb9c3cedbd7cdc5b8aca0958c7f72695e52473d30271d0f050000000000000000000000000a151e2935414c56606c77829099a3afbbc4cfdad1c6bdb0a69e92857a6d61594f43392e23180c0300000000000000101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83786c60554b4032281e0f050000000000000000000000000000000000000000000000020f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6054473a2d211407000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6055483c2f231609000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f14191e2024292c2d302e34383a3b3c3c3d3c3c3b3b3a38342e302d2c2924201d19130f0a0a12191e232526282828282828282828282322201c160f080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8dcd0c3b6a99d908376685e5246392d20130400000000000000000000000000000000000000000000000000000000000003090e12141514120e09030000000000000000000000000000000000000000020507080a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7c5b9ac9f92867b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000814212e3b4754616e7a8692979ea5adb3bbc1c6baada2978e81746c61584e443a30271f160d0500000000000000000000000000000000000000000006111b2934404b5565727e8b98a5b1becbd8e3d7ccc0b5ab968a7d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd8ccc0b6ac978b7e7164584b3e3125180b00000000000006111c262f3845515d67717e8a949eaab4bfccd5dbd0c5bbafa59d9083786d60564d42352b1e150b00000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d8cfc2b9ada1978e81746b60554b4034281f150900000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e665b5043392f20160c000000000000000000000000000000000000000000000000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053463a2d2013070005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c2014070000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114191d20212423282c2d2e2f2f30302f2e2e2d2b28232420201d1813110d08020000070d121619191b1b1b1b1b1b1b1b1b1b171613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2ddd9ccbfb2a6998c7f7366564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000205070807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e68717e858e939ea1a9afb9bcb1a79f92857a6d615a50463c32281e150d0400000000000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6e8ddd2beb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddaddd2bfb2a6998c7f7366594c403326190d0000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ded6cabeb3a99e93897d6f665c50443b3023190c03000000000000000000000000000008131e27333f49535f6a73808d96a1adb9c1ced8d6cabeb3a99d93897d70675c51453c31261a0e040000000000000915222f3b4854606b6f7070707070707070707070707070707070706e695f544a3f31271d0e04000000000000000000000000000000000000000000000000000815212e3b47535f6a6f70707070707070707070707070706d665c5044382c1f120600010d1925303b444c5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756554f473d33271c100400000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201f1c17171413100d070501000000000002060a0c0d0f0f0f0f0f0f0f0f0f0f0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfdbd7ccc0b5ab968a7d7063574a3d3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000106090b0c0e0e0d0d0c0c0b0a0807060401000000000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c56616c717a818a92979ea5adb3aba0958b7e72685e52483e342a20160c030000000000000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5e2d8cbbfb2a5988c7f7265594c3f3226190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b4a79a8d8174675a4e4134271b0e0000000000030f1c28333f4a545f6a74808d96a1adb8c2ced8d9d0c7baada2978e81746b60544a3f32291f1107000000000000000000000000000000020b17222d38414e58606d7984919ea6b0bcc6d0dacfc5bbafa59d9184796d60574d42372b20160c02000000000007131f2c38434f596063636363636363636363636363636363636363615f574d42382d1f150b000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363636363636363605c544a3f34281c1003000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707060c10121315151616161615141312100b0607060401000000000000000000000000000202020202020202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0ddd4c7bbafa499887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f121415161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000000000000000000060d121618191a1a1a1a19181817151413110d0809070603000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000020e1925303b44505a61686d757e858e939ea1a9a89d9083786c60564c41362c22180e04000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9ccbfb2a6998c7f7366594c403326190d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00000000050f1a232b3844505b666f7c87929fa9b2bdcac9c9d2c7beb1a79f92857a6d61594f42382e20170d000000000000000000000000000000000006111b262f3c45515d67707d8a949eaab4bfcac9c9cdc1b8aca0968c7f73695f53473e32281e13080000000000030f1b27323d464f545657575757575757575757575757575757575755534d453c2f261c0d030000000000000000000000000000000000000000000000000000030f1b26323c464e5355575757575757575757575757575753504a42382e23170c000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a09090808070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ded2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222323232323232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000010911181e22242527272727262524232221201d1919161312100c0604010000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000008141e29323e4850565e616c717a818a92979ea0968a7d70665b50443a30231a0f0600000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d9cdc0b3a69a8d8073675a4d4034271a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d10000000000b16212a36414d56606c78839099a3afbbbdbdbdbdbdc0b6aca0958b7f72685e52473d30261c0e050000000000000000000000000000000000000a141d2935404b55616c75828f98a2aebabdbdbdbdbdbdb2a89f92867b6e625a50443a3024190d0000000000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423c332a1d140a000000000000000000000000000000000000000000000000000000000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c110600000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c27211a11080000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546c7885929fabb8c5d2ded1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f303030303030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000009131b23292e313234343433333231302f2d2c29242523201f1c1713110d08010000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000020d17202c363e444c525a61686d757e858e939d9184786c60544a3f32291e11080000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e1100000004101c27333946525e68727f8b959fabb5b0b0b0b0b0b0b0afa49a9083786c60564c41352b1e150a00000000000000000000000000000000000000020b18242f3943505a616e7b86929fa8b1b0b0b0b0b0b0b0aea3988f82766c61564c4135291c11060000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180b0200000000000000000000000000000000000000000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e150a000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242323201c160f0800000000000000000000050d14191e202124242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c0f11121313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2ded1c4b7ab9e9184786b544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000030c1b252d343a3e3f414140403f3f3e3d3b3a39352f322f2d2c2823201d19130f0a040000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000050e1a242c323a414650565e616c717a818a928b7f72655b5042382d20170c000000000000000000000000000000000000000000000000000000030c1524313e4b5764717e8a97a4b1bdcad7e4d8cbbeb2a5988b7f7265584c3f3225190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ded1c4b7ab9e9184786b5e5145382b1e120000000714202c38444f59616e7b85929fa7a3a3a3a3a3a3a3a3a3a99f93877c6f665b50443a3023190c03000000000000000000000000000000000000000007121d28313e46535f69737f8c95a0a3a3a3a3a3a3a3a3a3aa9f948b7e71685d5246382d22170b00000000000007101921272c2f303030303030303030303030303030303030302e2d2b261f180f0600000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c28231c150c030000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171614100b0500000000000000000000000002080d1114141717171717171717171717171717171414110e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1f20202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3ddd0c4b7aa9d9184776a5e51442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494846423b332a1f1409000000000000000b151e2d373f464a4c4d4d4d4d4c4b4b4a48474541413f3c3a38342e2c29241e1b150e09030000000000000000000000000000000000000000000008131f2c3845515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000008121a202930363e444c525a61686d757e85867a6d6053493f2f261c0e050000000000000000000000000000000000000000000000000000000b151e2b37434e586774818d9aa7b4c0cddae4d7cabdb1a4978a7e7164574b3e3124180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f120000000916222f3c4854606b75818e97969696969696969696969696978e81746a60544a3f32291e1107000000000000000000000000000000000000000000010c161f2a36424d57606d7984919696969696969696969696969692857a6d61544a3f33281c0f03000000000000070f161b1f222324242424242424242424242424242424242422211e1a140e060000000000000000000000000000000000000000000000000000000000000000060e151b1f21222424242424242424242424242424201f1c17110a0300000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b4bfcbd7ddd0c3b6aa9d9083776a5d5044372a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1a26313c464e53555656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e02000000000007121d27303f495156585a5a5a5a595857565554514c4e4c4946443f3a39352f2b26201a140d0500000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acb8c7c5b9ac9f92867a6e6154473c32271b0f0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000080e171e252a323a414650565e616c717a7e71675d5141382d1d140a0000000000000000000000000000000000000000000000000000020a121c27303947535f6a7884919eabb7c4d1dee3d6c9bcb0a396897d7063564a3d3023170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f120000000a1723303d4a5663707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a857a6d61584e42382d20170d0000000000000000000000000000000000000000000000040d1a26313b45515c66707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174665b5044382b1f120600000000000000040a0f1315161717171717171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f343738393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3aebac7d3ddd0c4b7aa9d9184776a5e51442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e120500000000000c18232e3942515b6265676767666665646362605d555b585653504a4745413a37312a251f170f060000000000000000000000000000000000000000000c18232e394754606a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000050d1319202930363e444c525a61686d716c61554b412f261b0b0200000000000000000000000000000000000000000000000000040b141c232e39424e58626f7c8896a1acb9c5d2dee1d5c9bdb2a895887c6f6255493c2f221609000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f130000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f685e52463d2f261c0e0500000000000000000000000000000000000000000000000009141f2834404b54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d201306000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0d0e0e0e0e0d0c0b0a08070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0b0c0c0d0e0e0e0d0d0c0a09070705010000000000000000000000000000000000000000000000010406070a0b0c0c0c0b090707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a4044454646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667986929facb9c5d2ded1c4b7ab9e9184786b554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d2114070000000004101c2834404b54626d7274747373727271706e6d676a676562605c5454524c47433c3631292117110a030000000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000002080e171e252a323a414650565e6164615a50433a2f1d140a00000000000000000000000000000000000000000000000003090d161d262d34404a545f6a75818e9ba8b2bdc9d5e1ded2c5b9aca096877a6e6154473b2e211408000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f120000000815222e3b4754606a6f707070707070707070707070707070706f6a5f564c41342b1d140a00000000000000000000000000000000000000000000000000030c18232e39424f59606b70707070707070707070707070707070706c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070c101213151718191a1a1b1b1a1a191817151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d111314161818191a1b1b1a1a191917161413110d08080705020000000000000000000000000000000206080d111314161819191818161413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333c454c505253535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5f6c7885929fabb8c5d2ded2c5b8ab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6155483b2e2215080000000006131f2c3845515c66727f808080807f7e7e7d7b7a787674726f6d6665605d56534e46423b3328231c150c03000000000000000000000000000000000000000f1b27323c4754616e7a86929facb9c5c7b8aca095887c6f62544b4034281c1004000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000050d1319202930363e444c5254575550483e31281d0b0200000000000000000000000000000000000000000000030a0f151a20282f383f44515c666f7c87939facb9c4cedae5ddd1c4b7aa9e918477685e5246392d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200000006131f2b37434e58606263636363636363636363636363636363625f584e443a3022190b02000000000000000000000000000000000000000000000000000007121d27303d474f59606363636363636363636363636363636363605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070604000000000000000000000000000000000000000000000000000000000000000000000000000206090e121415181c1f202223252627272828272626252322201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415191d20212324252627272827272625242221201d19171514120e0906030000000000000000000003090e1214191d20212324252625242321201d19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3a454f575c5e606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e45525e6b7885919eabb8c4d1ded3c6baada297877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b687581898989898989898989898989898989898989898989898989898989898989898989898074675a4d4134271a0e000000000713202d3a4653606d79868d8d8d8d8c8b8a8988878583817f7c7975716d68625f58534d453f342e261e150b020000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000002080e171e252a323a4146474b49453e362c1f160c000000000000000000000000000000000000000000060b10151b20262b323a424a505b606d7882909aa4afbbc8d6e0e4d8ccc0b6ac9a8d817467564d41362a1e1105000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e11000000030f1b27323c464e54555757575757575757575757575757575755534e463c32281e1007000000000000000000000000000000000000000000000000000000000b151e2b353d474f54565757575757575757575757575757575753504a42382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c07010000000000000000000000000000000000000000000000000000000000000000030a0f12141a1e212223282c2d2e3032333334343434333332302e2d2c282322211e1a15120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e202124292c2d3031323333343434333332312f2e2d29242421211e1a13120f0b0600000000000003090e151a1e2124292c2d303132333231302e2d29241e19130c0500000000000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3744505d6a7783909daab6c3d0ddd6cabeb3a995887c6f6255493c2f22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e96969696969696969696969696969696969696969696969696969696969696968d8074675a4d4134271a0e000000000a1723303d4a5663707d89989a9a9999989796959892908e8b8985827e7a756f6a615e5751443f3830261d140a00000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6c3b8ab9e9285796d6053463b3025190d010000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000050d131920293036393a3e3d39342c241a0d0400000000000000000000000000000000000105090e11171c1f262b31373e444c545b606d74808d949facb6c0ccd8e8e0d4c8bbafa49a8a7d7164574a3e3025190e02000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c4b7aa9d9184776a5e5144372b1e11000000000a15202b343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20160c0000000000000000000000000000000000000000000000000000000000030c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f201f1c18120b030000000000000000000000000000000000000000000000000000000000060b10151a1f21262b2d2e2e34383a3b3d3f404041414141403f3e3d3b3a38342e2e2d2b26211f1b15100c060000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f252a2d2e2f35393a3d3e3f3f4041414140403f3d3c3a393530312e2d2a25201f1c17110d08020000050d141a1f262b2d2f35393a3d3e3f3f3f3e3c3a3935302a251e160e0500000000000000000000000000000000000000000000000000000000000000000000000005111e2a3744505c68737879797979797979797979797979766c5f5346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cedbdbd0bdb0a4978a7d7164574a3e31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e00000006121f2b37434e586774808d9aaaa6a6a5a5a4a3aaa29f9d9a9898928f8b86817c756e69625b504a42382f261b11060000000000000000000000000000000000010d1925303b4653606d7985929eabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000002080e171e252a2d2e31302d28221a12080000000000000000000000000000000104080d11141a1c23282b32373c424750565d666c737f8c929da6b0bec7d2dde8dfd2c6b9ac9f93877a6d6154473a2e21140800000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000000000040e19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000000000000000000000000000000000000000000000000000000000071119232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23292c2d2c29231d150d030000000000000000000000000000000000000000000000000000060c11171c1f262b2e31373a3b3e404446484a4b4c4d4d4e4e4d4d4c4b4a484644403e3b3a37312e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000001080b141c22282b30363a3b3f414547494b4b4c4d4e4e4d4d4c4c4a49474641403e3b3a36312d2b28221c19140e09080f171f252a31373a3b414547494b4c4c4b4b494746413a36302820160c02000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788586868686868686868686868686796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0d1dcdacdc0b3a79a8d807467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000030608090605030000000000000000000000000000000f1c2835424f5b6875828e9ba8afafafafafafafafafafafafafafafafafafafafafafafafafafafafa79a8d8074675a4d4134271a0e0000000815212e3b47535f6a7884919eabb3b3b2b1b1b0b3aeaba9a7aaa29f9c98928e88827b726d605c544a41382d22170b04000000000000000000000000000000000008141f2c3845515c6774808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000050d13191e20212423211d171008000000000000000000000000000104080d1113191e20262b2e34383c43474d535a61686d78808c919ba4aeb8c2d0d9e4e2d4c8bcb1a79d908376685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b5a89b8e8275685b4f4235281c0f000000000007101920272b2e2f303030303030303030303030303030302f2e2b2620181006000000000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030303030302d2b28221c140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272f34383a38342f271f150b010000000000000000000000000000000000000000000000030a11171c23282b31373a3c4246484b4a5153555658595a5a5b5b5a595958565553514a4b4847423c3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000040c13191d262d33383b4246484b4c5254565758595a5a5b5a5a5958575554524c4d4a4846423c3938332d2a251e1a15121a212930363c4247484c51545657585958575654524c46413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788591939393939393939393939386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98abb5bfcbd7ded1c4b7ab9e9184786a5f53473a2e2114090000000000000000000000000000000000000000000000000000000000040a0f12151513120f0b06000000000000000000000000000f1c2835424f5b6875828e9ba8b5bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a79a8d8074675a4d4134271a0e0000000915222f3c4855626f7c8896a1acb9c0bfbebdbcbebab8b6b4b4aeacaaa39f9b938f867f746d665c53493f332720150a000000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000002080d111314181714110c0600000000000000000000000004070d1013191d20252a2d3137383f44464e53575f626c717a828d929ba3adb7c0cad4e2e3d9d0c7b8aca0958a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8dacdc0b3a79a8d8074675a4d4134271a0e000000000000070e151b1f22222424242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151a1d262d333940454745403931271d120700000000000000000000000000000000000000000001080c151c23282e34383c4347484d535558545c606163656666676767676666656361605c545855534d4847433c38342e28231d150c080200000000000000000000000000000000000000000000000000000000060d161e24292f383f44464d525458565d6063646566666767676666656462615d565a5754534d4946443f3836302b262018242c333b42464d5355555d6063646566656463615d56524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3ded2c5b9aca196887b6e6255483b31251a0e04000000000000000000000000000000000000000000000000000000060e151b1f2122201f1b17110a0200000000000000000000000f1c2835424f5b6875828e9ba8b5c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000005111e2a36414d5666737f8c99a8b2bdc9cccbcad0cac6c5c3c1bfbab8b4aeaca59e98928b80786d655b50443c32271b0c0200000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998c7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000010507070b0a0805000000000000000000000003070c1013181d2024292c3036393c42464a5053585f62696e767e858f949da4adb5bfc9d2dce8ddd2c7bdb2a89d9184786c6053463a3025190d0100000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8ccbfb2a5998c7f7266594c3f3326190c00000000000000040a0f131516171717171717171717171717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b5153514b43392f23180c0000000000000000000000000000000000000000040c13191e262e34383f44464e5355575f616467666d6e7072737374747474737271706e6d666764615f5755534e46443f38342e271e19130c0400000000000000000000000000000000000000000000000000000610181f282f353e424a5053575e616568686d7071727273747474737372706f6d68696764615e575653504a46413b373129242d363e454d52575f6166676d7071727272716f6d68615e564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabacacacacacacac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd5c9bdb2a8998c7f7266574d42362a20150a000000000000000000000000000000000000000000000000000006101820262b2e2f2d2b27221b140b02000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6d6d1cac4c1bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfb3a79a8d8074675a4d4134271a0e00000714202d3946525e687683909da9b6c3cececfd1d2d4d3d2d0d0cac6c5bfbab9afaaa29f928e81776c60584e43372b1e140a000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000060c1012181c1f24292c2f35393a4146474d53545c60636a6f757b828a91979ea6aeb6bfc7d1dbe4ded7ccc0b5aba0968a7e71665b504438281e13080000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd7cbc0b5ab978a7e7164574b3e3124180b000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181e252931373d414950555c605c554b4034291c1004000000000000000000000000000000000000070d161e242930383f444a5053585f6266696e717477797b7d7e7f8080818180807f7e7d7b797774716e6966625f5853504a4540393029241e160e07000000000000000000000000000000000000000000000000060f18222a313a414550545b6063696e7274777a7c7e7e7f80818180807f7f7d7c7a787673716e696662605b54524c47423c352f373f4850575e61696e73777a7c7e7f7f7e7e7c7a786d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8b9b9b9b9b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dbdacec3b6a99c908376695e53463c32271b0f05000000000000000000000000000000000000000000000000050e18222a31373a3c3937332d261d140a000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd1c8bfb9b4b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a79a8d8074675a4d4134271a0e00000814212e3b4754616e7b87939facb9bfc0c1c2c4c6c7ccd2d2d5d6d3d1cbc7c1bcb4aea59d938d80736a6054473e30261c110600000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000001040a0f11171c1f23282c2f35393a4145474c5254575f61666d70757c81878f949ea1a9b0b8c0c8d1d9e3ded6ccc4bbafa4999184786d60544a3f3328160c020000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c7bbafa399887c6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d232830353c42474f535b60676d675c5145382c1f1306000000000000000000000000000000000009101920282f353d424a50545c60646a6e73777b7e81848688898b8c8d8d8e8e8d8c8c8b89888684817e7b77736f6a64605c54514b423d3530282019100900000000000000000000000000000000000000000000050e18212a343c434c515a61666c70757b7e818486898a8b8c8d8d8e8d8d8c8b8a88878583807d7b77736f6c66615e56534e45413a3f49515a61696e757b808486898a8b8c8b8a8987857a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4c6c6c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa9b3becad6dfd2c5b9ac9f92877b6e61584e43372b21170d0400000000000000000000000000000000000000000000030c17202a343c43474846443f382f261b11060000000000000000000f1c2835424f5b6875828e9ba8b5c1ced5cabfb6aea8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8d8074675a4d4134271a0e0004101d2935404b5565717e8b9aa4afb2b2b3b4b5b7b9bbc0c4c5c9ced5dad7d3cec6bfbaafa59f93877c6f62594f42382e23170b00000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000001070d11151b1c23282c2e34383a4045474c5254565e6165696e73797d82888e93999fa6adb3bbc1cad2dae3ddd5ccc4bab0a69f93877d70665c5042382d221705000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272e343a41464d535960656c71796d6053473a2d201407000000000000000000000000000000010a121b222b323a41454f545c60666d71777b8084888b8e919399969899999a9a9a9a999998969992918e8b8884807b77716d66605c544f46413a322b221b120a0100000000000000000000000000000000000000020d172029333c464e555d606c70787d82868b8e91939a979899999a9a9a999998979597928f8d8a8784807c78736e68625f57514b4347515b626c717b81888c91939a979899989796978a7d7064574a3d2f24180d0100000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3d4a5763707d8a97a2adbac6d3dfd4c7bbafa3998e81756a6054473e332920160c030000000000000000000000000000000000000000030c151e29323c464e535553504941382d22170b0000000000000000000f1c2835424f5b6875828e9ba8b5c1ced0c4b9aea49c9999999999999999999999999999999999999999998d8074675a4d4134271a0e0006131f2c3845515d6775828f9caca4a5a5a6a7a9aaacafb5b7b9bdc4c9cfd6dfd7d0cac0bbafa49a8f82766b61544a3f34281c10030000000000000000000000000000000005111e2a36414d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e34383a4045464b5153565d6065686d72767b80848a8f949b9fa4abb0b9bec4cdd3dce5dcd4cbc3bab2a89e948c7f736b60544a3f2f261c1106000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7ddd0c4b7aa9d918477675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d262d333940454c52575f616b6f787e84786b5e5145382b1e120000000000000000000000000000010a131c242d343c444c525960666d72787e83888c9196979a9d9fa4aba5a6a6a7a7a7a7a6a5a4aba39f9d9a9796918c88837e79726d666059524c443d342d251c130a0200000000000000000000000000000000000008131e29323b454e585f676d747d848a8f92999b9d9fa4aca5a5a6a7a7a7a6a6a5a3a9a29f9c9a9795918d89847f7a756e6a605d554f4f59626d727e868e93999d9fa4aca5a5a5a4a99a8d807367554b4135291d110400000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cedad7cbc0b5ab9f93877c6f62594f453b32281e150c05000000000000000000000000000000000000050d151e27303b444e585f62605b53493f33271b0f0300000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc1b4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8074675a4d4134271a0e000714202d3a4753606d79869297979898999a9b9c9e9fa4ababacb2b9bec4cdd5dddbd6ccc0b6ac9f948a7d70665c5044382b1f120600000000000000000000000000000000020e1925303b4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000040a0f151b1d24292c3237383f44464b5153555d6064686d71767a7f83888d91969c9ea6acafb5bdc2c9cfd6dfe0d9d5cac2b9b1a8a0968f82776c60594f42382e1d140a00000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2dddbcec1b4a89b8e817568554b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b51565e61696e757d838a86796c605346392d201300000000000000000000000000010a131c252e363f464e565d606b70787f848a9095999da0a8a7aaacafb5b1b2b3b3b4b4b3b3b2b1b5afacaaa7a8a09d9995908a847f79706b615d564e463f372e251c140a0100000000000000000000000000000000030c1925303a444d575f6a6f7a818a91969c9fa3abaaacafb6b1b2b3b4b4b3b3b2b2b0b3adaba9a6a8a09d9996918c86817b736d67615955606b727f8892989ea5aaacafb6b2b2b1b1aa9d908377675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674818e9ba8b2bdc9d5dcd1c7bbafa49a8f82766b61574d443a30271e170f0802000000000000000000000000000003090f171f273039434d565f6a6f6c655b5044372b1f150a00000000000000000f1c2835424f5b6875828e9ba8b5c1ceccbfb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063564a3d3023170a000a1724303d4a5763707d8a8a8b8b8b8b8c8d8e8f9193999a9ea1a8adb3bbc3cbd5deddd2c7beb0a69d9184786d6053463a2d201308000000000000000000000000000000000008141f2c3845515c6774818d9aa8b1bdc8beb3a99b8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2b8b8b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000040a0f151b20262b2f35393c43474a5053555c6064676d71757a7e82868b9094999ea1a8aab0b9bbc0c7d0d5dae1ddd8cec9c0b8b0a7a09691847a6d655b50473d30261c0b0200000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e3d5c9bdb2a8988b7e7165584b3e2e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931373d414950555c60686d747b8289909586796c605346392d2013000000000000000000000000000a131c262e373f48505860686d757d838b91969d9fa7aaacb2b4b7b9bbc0bebfc0c0c1c1c0bfbfbec0bbb9b7b4b2acaaa7a09d96918b847d756d686058514940372e261c130a000000000000000000000000000000000a151e2a36414c565f696f7c848e939ea1a8acafb5b7b9bbc0bebfc0c0c1c0c0bfbebdbebab8b6b3b1acaaa9a19e99928e868079706b625d67707d87939aa2aaafb7b9bbc0bebfbeb9ac9f92867a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8996a1acb9c5cfdbd8ccc0b6ac9f948a7d70695e564c423930292119130e09040000000000000000000104090e141a21293139434b555e696f7b776c6053463c31261b0f02000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679737373737373737373737373737373737373737373706b6055483c2f231609000915222f3c4855626f7c7e7e7e7e7e7f7f80818284868a8d91969ea1a9b1b9c3ccd5e0d9d0c2b8aca095897d706356493d3025190d010000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5ababababa99c8f8376695c504336291d1000000000000000000000000000000000000000000002080d151b20262b32373a4145474e54545c6063676d70757a7e82868b8f92999c9fa6abadb2b7bbc1c7ccd2d9e2e2d9d2ccc4bdb9aea69f9590847b6e685d53493f352b1e140a0000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5ded2c5b9aca196887b6e6155483b2e221507000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c11070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353c42464f535b60676d727a80868f939d9386796c605346392d201300000000000000000000000008121c252e384049515a626a6f7a818991959ea1a8abb1b7b8bdc1c4c6c7ccd2cccccccbcbcdccccd1cbc7c5c4c1bdb8b7b1aca8a19e969189817a6f6a625b514940382e251c1108000000000000000000000000000006111c26303846525e686e7b8591969da5acb2b9bbc0c4c6c8ccd2ccccc9c7c6c6c6c7d0cac6c5c2c0bdb8b7b2adaba39f99928d857d726d606d7a859299a4acb4bcc1c6c8ccd2ccc7bbafa399897d7063564a3d2f23180c00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7884919ea9b3becad6ddd2c7beb0a69e91857b6e685d544b423b332a251e1a14100c07070605040607070d10141a1f252a333b434b555c676e7b857d7063584e43372b1e1408000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d66666666666666666666666666666666666666666360594f44382c201407000815212e3a47535f6a6f71717171717272737476777a7d80848b9197a0a7b1bac3ced9e2d4c8bdb1a89a8d817467564c41362a1e110500000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998b7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9c8f8376695c504336291d100000000000000000000000000000000000000000040c131920262b32373c43474b5154585f62666d7074797d81868a8f92999c9fa3ababb0b8b9bdc4c7ccd4d7ddded8d3d0c7c0bbb2aca49d948f837a6e695f564c41382d23190c020000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdaded1c4b7ab9e918478695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41464d535960656c71797f858d92999ea59386796c605346392d2013000000000000000000000007101a242e37404a525b636c717c848e939da0a7acb2b8bcc3c5c8ced0cec9c5c4c2c1c0bebfc0c1c2c4c5c8ced0cec8c5c3bcb8b2ada8a09d938e847c726d635b524a40372e241a1006000000000000000000000000000c17232e3842505a616d7a849197a1a8afb9bdc4c7cbd1d2cdc7c4c3bfbdbbbab9b9babbbcbec1c4c5c8c5c4bdb9b4aeaba39f9791877f746e727f8c97a1abb5bec6ced2d4d8d4d1cbc0b5ab998d807366554b4034291c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c66727f8b97a2adbac4cfdad9d0c2b9ada19791837a6d665c544d453e36302a251f1d181514131210131315181d20252a31363e454d555d676d79838f82766a5f53473b3025190d010000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605959595959595959595959595959595959595956554f473d33271c10040006121f2b37434e585f6264646464656566676869686d7074797e859095a0a8b2bdc8d4e0d9cec3b7ab9e918478685e5246392d201307000000000000000000000000000000000007121d2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c91919191919191918f8376695c504336291d1000000000000000000000000000000000000001080e161e242931373c43474e54555d60656a6f74797d81858a8e92989b9fa3abacafb5b7bcc2c5c9cfd3d7e0dfd8d3cdc7c2beb6afa8a09e928d82796e685f574d443a2f261b1107000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d5c9bdb2a89a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a21272c303940454c52575f616b6f787e848c92979fa3ab9f9386796c605346392d201300000000000000000000030d19222c363f49525c636d727e8791969ea5acb1b9bdc4c8cdd1cec8c5c4bdb9b7b6b4b3b2b2b3b4b6b7b9bdc3c6c8ccd2cdc8c4bdb9b2aca59e9691877f736d635c52493f362c22180c03000000000000000000000003101c28343f4a54616c76829096a0a9b2bac1c9ced4d7ccc6c2bcb7b6b2b0aeadacacadaeafb2b4b7b8bcc3c4c7c6bfbab5aea9a199938c80747884919ea9b3bdc7d0d8d9d2ccc8c6c0bbb6a99c908376675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929fa8b2bdc9d5dfd5c9beb2a9a0958f82786d665e575046413a36312c29242221201f1c1f202224292c31363b42464f575e676d79828f94887c6f62564c41362a1d12070000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a48443d352c21160b0000030f1b26313c464e5355575758585858595a5b565d6064666d727a839096a0acb9c4ced9ded2c5b9aca196877a6d6154473a2e2114070000000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000c1825323f4b5865727f858585858585858585858275685c4f4235291c0f0000000000000000000000000000000000040c1319202830353c43474e53585f62676d72777c8185898e92979b9fa2aaacaeb4b9bbc0c7c7cdd2d5dae0dbd6d3cdc7c2bcb7b1aca49f96918981786d675e564d453c32281d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7ded2c5b9aca096897c6f6256493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d61696e757c838a91969fa2a9aeb59f9386796c605346392d2013000000000000000000010b151f2a343e48515b636e737f8b9299a0a8afb8bcc3c9ced4ccc7c3bcb8b7b2acaba9a8a6a5a5a6a8a9aaacb2b6b9bbc0c7ccd2cfc9c3bdb8afa8a199928b7f736e635b51483e342a1e150b000000000000000000000006121f2c3844505c66707d8a949fa8b2bbc4ccd5d8d1cbc1bab6b1aba9a6a3a1a0a0a0a0a1a3a5a7aaacb1b6b7bbc2c7c6bfbbb3aba49f928b7f7b8796a1acbbc5d0d9d7d0c7c0bbb9b5afacaa9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515d6773808c96a1adb9c2cdd6dacfc4bbb1a79f948e81786e69615a524c46423b39352f2f2e2d2b282c2d2f2f35393b42464d535961696e79828f949b8e8174685e5246392f23180c0000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534640404040404040404040404040404040403d3c38332c231a0f050000000a15202a343c4347484b4b4b4b4b4c4c4d4e4c5254545c60686d7a84919ea8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000000000000000000000000000000000000a15202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000b1824313d4a56626d7278787878787878787878756f65594d4134281b0e00000000000000000000000000000000050d161e2429323a41454e53585f626a6f747a7e83888d92979b9fa2a9acaeb4b9babfc5c7cbd1d3d8dfded8d3d0cac6c2bcb7b0aba79f9a938d847d746d665d554c443c332a20160b0200000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd6cbbfb4aa9e9184776a6054473b2e1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434850545c60686d747b828990959ea1a8adb3bbac9f9386796c605346392d201300000000000000000007121d27313c46505a636d73808c919fa3abb2bac1c8ced5cec9c1bbb7b1acaaa8a19e9c9b9998989a9b9c9ea0a8a9acafb6bbc0c7d0d5cec8c1bab2aba39f918c80736d635a50463c30271d1207000000000000000000000713202d3a4653606d7884919da6b0bac3cdd6d8cfc6bfbaafaaa79f9d999694939393949496989b9da0a7a9abb0b8babfc6c4bdb5afa49f9287818e9aa8b2bdcdd6d7cdc5beb6afacaba39f9d9e99897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935404b55606d7984919ea6b0bbc5d0d9d6cdc3b9b0a69e938e837b706c615e56534d4745403d3b3a393734383a3b3d4045474d53575e616c707b838f949e9f92867a6e61554b4034291c100400000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a33333333333333333333333333333333302f2c27211a110800000000040e18222a31373a3c3e3e3e3e3e3f3f40414145474a50565e68717e8a96a0acb9c5d2dedacebeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000915222e3a45515b62656b6b6b6b6b6b6b6b6b6b68655d53493d3125190c000000000000000000000000000000060e171f282f353e444c52585f626a6f757c81868b90959a9ea1a9abadb3b8babfc5c7cbd1d4d7dcded9d4d1cdc7c5bebab8b0aba69f9c9590878079706b605c544b433b322a21180e040000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e5dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dfd3c7baaea3988c807366584e43382b1f0d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353b42464f545a61666d727a80868e939d9fa7acb2babeb9ac9f9386796c605346392d20130000000000000000000c18232f39434e58616c727f8c929ca3aeb4bdc4ccd4d2ccc4bdb9b0aaa7a09d9996918f8e8d8b8c8d8e8f9196999d9fa4acafb6bec3cbd1d4ccc4bdb5aea39c928c7f726c61584e42392e23180c04000000000000000004111d2935414b5565717e8b96a0acb8c2ccd5d9d0c6bdb4aea59e9b95908c8a888786868788898b8e9195989c9fa6acaeb4bbc0c7c0bbafa399928e929da9bac4cedbd0c5bbb3aca49f9a99929191928c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d18242f3945515d67717e8a949fa9b3bec7d2ddd5cbc2b8afa59e9590857e746d68615e5753514b4948474644404546484a4b5153575e61696e757d8590959fa6a3988c8073675c5145382c1f160b00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2626262626262626262626262626262323201c160f0800000000000006101820262b2e2f31313131323233342f35393a3f444c56606d7884919eaab7c4d1ddd9cdc0b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000020e1925303b4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d110500000000000000000000000000000000000000000000000005121d29343f495156585e5e5e5e5e5e5e5e5e5e5c59534b42372c2015090000000000000000000000000000060f182029313a41454f565d606a6f757c82888e92989da0a7abadb3b8babec5c6cad0d3d7dcdfd9d4d1cec8c5c2bbb7b4aeaba69f9c949089837c746d676059514b423a312920180f06000000000000000000000713202d3a4653606d798693a0acb9c6d3dff6ebe0d6cbbfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d7cbc0b5ab9f92867a6d6154473d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454d535960636c71797f858d92999ea5abb1b9bdc4cab9ac9f9386796c605346392d2013000000000000000004101c2934404b555f6a717e88939fa4adbabfc6cfd6d1c8c0bab2aca69e9c95918c88848381807f7f80818384888c90939a9fa4acb1bbc0c7cfd6cfc6bfbbada49f93887e706a5f544b40342820150a00000000000000000613202c3945515d6776828f9ca8b2bdcad4ddd2c7beb4aba39f938e88837f7d7b7a79797a7b7c7f8184888b90949a9fa3aaafb5bdc2c0b5aba39f9a9da5afbaccd6d6cabeb3a9a29a938d8886848485888276695c4f4336291c10000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2935404b55616c76828f97a1acb6c0ccd8dbd4cac1b7afa79f97928a807a746e6963605d5556555453504b51535557555d6064696e737b818a92979fa7b0aa9e9285796d6053473d33271c1000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201919191919191919191919191919171614100b050000000000000000060e151b1f2122242425252525262724292c2e343a44505c6673808d99a6b3c0ccd9dbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000009141f2c3845515c6774818d9aa8b2bdc8beb3a99b8f8275685e5246392d20150a000000000000000000000000000000000000000000000000010c18232d373f454a4b525252525252525252524f4d49423930251b0f0400000000000000000000000000061018212a333b434c525961686d747c82878f939a9fa2aaabb1b8b9bec5c6cad0d3d6dbddd8d4d2cdc8c4c3bcb8b7b0abaaa29f9a949089837d766f6b605d554f45403930281f170e0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e8e1dad0c6bcb3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbdbd4c7bbafa3998d8174685e5246392b20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000001080d141a20272b303940454c52575f616b6f767e848c92979fa3abafb8bcc2c9ceceb9ac9f9386796c605346392d201300000000000000020c1a242c3845515c676f7c86929aa4afb6bfcbd1d8d0c7bfb6aea8a19e948f8884807b787675737272737576777b7f83878e939a9fa7afb5bdc6cfd8d1cbbfbbafa49a92867c6f665c51453c32261b0f05000000000000000714212d3a4754606d7a86929facb9c3cedfd8ccc0b6aca399928a817b7673706e6d6d6d6d6e707274777b7f83888e92989fa4abb1b9c0bdb5afaca7a9afb7c0cbded3c6baada2979288807b797777797b7e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18242f3943505a616e7b85929aa4afbbc0c9d3dbd3c9c1b9b1a9a29f928d86807b74706d6766636261605b545c60626466676d70757b80868e939fa2a9b1b9ada1978b7e7165594f44382c1c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130d0d0d0d0d0d0d0d0d0d0d0d0d0a0907040000000000000000000000040a0f121515181818181819191a191d202328343f4a5464717e8a97a4b1bdd2dddccfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000004101c2934404b55626f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f0000000000000000000000000000000000000000000000000006111b252d343a3d3f4545454545454545454542413d3730271e140900000000000000000000000000050e18222a333b454d565d606b707a81878f939a9ea6acaeb4b8bcc3c6c9cfd3d6dbddd7d4d2ccc8c6c3bcb8b6b1acaaa69f9c98928e89837d76706b636059514b433d342e271e160d050000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8dfd6cfc9c6c4bbb1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6ddd5c9beb3a99f92877b6e61564c41362a190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d60696e757c838a91969fa2a9aeb5bdc1c8cdd0cac4bdac9f9386796c605346392d2013000000000000000a141e2c38434f59606d79839198a2acb6c0c8d7dcd0c7bfb5ada49d96918a827c77736f6a6968666565676869696e72767b818790959fa3abb5bdc6cfd8d7ccc0b6aca2989083796d60584e43372b21160b000000000000000a1724313d4a5764707d8a99a3aebbc7d3e0d4c8bbafa49a92877e756e696663616060606161636568696e72767b81868d93999fa7aebbbfc0bbb9b4b5bac0c9d2d4c8bdb1a89f92857d746e6d666b696e706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69707d88939fa5afb7c1c9d6dbd3cbc2bbb3ada49d98928d86817d7a7672706e6d6c656b666d6e7073767a7d82878d92989ea5adb3bbbeb3a99d9083776b605448382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000030608090b0b0b0b0b0c0c080d111317232e3b4855626e7b8895acb6c0ccd8dccfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000c18232f394754606a7784919dabb5c0c7bbaea3998b7f7265584e43372b1c11060000000000000000000000000000000000000000000000000009121b23292e3132383838383838383838383534312c251e150c02000000000000000000000000020b17202a343c454d575e686d747d848e939a9fa4acb0b8babfc6c8cdd2d5dadcd7d3d2ccc7c6c0bbb9b6b1acaaa7a09d9994908b85817c76706b636059544f4540393128231d150c04000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d6cdc5beb9b8b9b9b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ded5cbc3b9ada1978d8074695f53443a3025190700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434750545c60686d737b818990959ea0a8adb3bbbfc6cfd1cbc5bebab2aca79386796c605346392d201300000000000006111c2630384854606b73808d95a0aab4bec7d2dad0c7beb5ada39c928d847d756f6a66625f585b5a58595a5b575f6166696e747c838b9299a3abb4bcc6d0d9d2c7beb4aaa0958d80736a5f54473d33271c10040000000000010e1b2734414e5a6774818d9aabb5bfcbd7d8ccc0b6ac9f93887e716c615f57575554535354555658575f61656a6e747a808790959da4aeb5bdc6c5c1c2c5cbd2dbd1c5b8aca0958b7f726b62605c575f6164615a5044392d201408000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d56606b73808c939da5afb7bfcad0d8d4cdc5bebaaeaaa29f99928e8986837f7c7b7a79787879797b7d7f82868a8f92999fa3aaafbabec5c5b8aca095897d7063544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000001040614202d3a4753606d7a869aa4afbbc8d4dcd0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000007121d2b38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000911181d2224252b2b2b2b2b2b2b2b2b2b292825201b140c03000000000000000000000000000a141d29323c464e575f696e7a818a91969fa4acafb6bec1c6cad0d4d9ddd7d4d1cbc7c5c0bbb9b6afaca9a7a09d9995918c88837e7a746f6a636059544f48433d352f281f18120b0300000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc5bbb3adabadb3bab2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd7cdc3b9afa59e91857a6d60574d4232291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939d9fa7acb2babec5cbd1ccc6bfbab3ada8a19e9586796c605346392d20130000000000000b17232e3842505a636f7c87939fa8b1bcc6d0d9d3c9beb5ada39b918c8079706c625f5855534e4e4d4c4c4d4e4d5355575e616a6f787f879299a3aab4bdc7d2d9d0c6bcb1a79f92877c6f62594f44382c21160a000000000003101c2936434f5c6976828f9ca9b5c2d1dcd4c8bbafa49a8e81746c615a534d4a484746464748494c4d5355585f62686d747c838d929fa3abb5bfcbcdced1d6ddddd0c4b7aa9d9184796d605953514d5355575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303b444f59636e74818e939ea5aebabfc6ced6d7cfcac0bcb4aeaba39f9b98928f8c8988878685858686888a8c8f92989b9fa3abaeb4bcc1cacac0b9b0a79c8f8276665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000060c121518181f1f1f1f1f1f1f1f1f1f1c1b19150f09020000000000000000000000000006111b262f3b444e585f696e7b838e939ea1a9afb6bbc0c7d0d3d6dbd9d4d2ccc7c6c0bbb9b5afacaca49f9d9895908c8884807b76716d67626058544f48443d383229241d160d07000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a9a19ea1a9afb7b3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad7cdc5bbb1a79e938a7e71675d51453b3120170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000003090e151b1e272e343a41454d535860626c71797f858d92999ea5abb1b9bdc4cad0d0c7c0bbb4aea9a29f96918a83776a5d5044372a1d11000000000003101c28343f4a54616c76839099a4afbac3ced8d6cdc1b7ada39b918b7f746d67615a534e48474342403f3f40424246484d535860666c727e879298a3abb5c0ccd7d8cec3bbafa3998f82766b6054483d32271b0f020000000004101c2834404a546a7784909daab7c3d0ddd2c6b9ac9f93877b6e615a5047423d3b3a3a3a3a3b3d3f4246484e53565e616a6f78808b9299a3aebbc0cbd4dee2e5d9ccbfb2a6998c7f73665c5046444246484a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d47525c606c78818e939ca4aeb4bcc2cad0d7d6cec6bfbab5aeacaaa39f9c9996959992919292989597999c9fa3aaacafb5babfc6cec6bfbaaea69f959083796d6053463a2d2013070000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000a16202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c5044382c1f13080000000000000000000000000000000000000000000000000000000105090b0c121212121212121212120f0e0c09040000000000000000000000000000000b17222d38414c565f6a6f7b8491959da5adb2bbc0c7ccd2d9dfd8d3cec8c7c0bbb9b5afacaba49f9c9a93908c88837f7b77736e6964605d55544e48443d38332c272118120c0400000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada19792979ea5afbcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dad5cdc5bbb3a9a0958e81756c61554c4133291f0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000001080d141a20272b303940444c52575f616a6f767d848b92979fa3abafb8bcc2c9cecec8c2beb6afaba39f97928c847e776c605346392d201306000000000006121f2b3844505c66707d8a959fabb5c0ccd5dacfc4bbafa59b918b7f726d605d555047433c3a37313332323431373a3b42464e545b606c717d869299a4afbbc3cfd9d7cbc0b5ab9f94897d7063594f43382c1e13080000000006121f2c3844515c667885929eabb8c5d1dccfc3b6a99c908376695e53473e37312e2d2d2d2e2e3031363a3c43474c525860666d747e87929fa4aeb9c2cdd8e4e3d6c9bdb0a3968a7d7063544a3f38363a3b3d3c39332c241a10050000000000000000000406070c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000000000000000000000000000000000000020d17202c354044505b666d78818c929fa2aab1babfc6ccd2d6d0cac6bfbbb9b4aeaca9a5a3aba39f9e9e9fa3aaa3a6a9acaeb4b9bbc0c7cbc9c2bcb4aea49d9490837a6d665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495f6b7885929eabb8c5d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000505050505050505050502020000000000000000000000000000000000030f1b27333f49535e686f7c859196a0a7afb9bdc4ccd2d8ddd8d3ccc7c3bcb8b5afacaba39f9c9993908b87837f7b77736e6a66625f5753514b47433d38332c27211b160d07010000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c5b8ab9e92858e939ea9b3bcbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3dad5ccc3bbb3a9a1979183796d605a50433a2f21180d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000060c13191f252a32373e424a51565d60696e757c838a91969ea2a9aeb4bdc1c7cdcfc9c3bdb8b0aca49f99928d857f79716c655b5044372b1f120500000000000713202d3a4653606d7884919da7b1bdc7d2ded5c9beb2a99e938b7f726d635b514b433e37312e2b2627252627262b2d31363d424a505a616b707d87939fa7b1bdc7d1dcd1c7bdb0a69d9083766b6054483a3025190d010000000713202d3a4653606d7986939facb9c6d2d9ccbfb3a6998c807366574d42352b2622212020212223262a2d31373a41464e545c606c717e8a929ca7b1bcc7d3dfe2d5c8bcafa295897c6f6256493c2e2a2d2e31302d28221a12080000000000000001070c10131418181818181818181818181818181818181818181818181f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201818181818181818181818181818181818181818181818181413110d070100000000000000000000000000000000000000000000000000000000000000000000050e1a2328333f4a545c666d77808b92989fa7aeb4bbc0c7cbd0d4d1cbc7c5bfbab9b6b2afb5afacababacaeb4b0b2b5b9babfc5c7cbc8c4bdb9b0aaa29f928d827a6d685e544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d45525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b3744505b656e7a859197a1a8b1b9c0c9cfd8dddad5cdc7c2bbb7b1acaba49f9c99928f8b86837f7b76726e6966625f5855534d4745403937322c27211c160f0a0400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82818e97a2aab4bdbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d6cfc9c1bab1a9a29792857c6e675d51483e31281e0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000030a11171e242931363d434750545c60686d737b818990949ea0a8adb3babfc6cfd0cac4beb9b1aca69f9a938e86807a726d67605b53493f33271b0f030000000005121e2b37424d5764707d8a96a0acb9c2d0d9dcd2c6b9ada1978e81756d625b51454039312b26211f1a1a19191a1a1e21252a2f383f445059616b73808d95a0abb5c0cbd7d9cfc2b8ab9f95897c6f63564c41362a1d11050000000714212d3a4754606d7a8799a3afbbc7d4d7cabdb1a4978a7e7164574b3e31241a151413131415161a1e21262b30363c424a505a626c73808d959fabb7c2cdd8e4d5c8bbaea295887b6f6255483c2f2221222423201c17100800000000000000030b12181d1f202525252525252525252525252525252525252525252525252b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2525252525252525252525252525252525252525252525252520201d18130c0400000000000000000000000000000000000000000000000000000000000000000000081117222d38424b545c656c737e8690959fa2aaafb5babfc6c8ced2d3d1cbc7c5c2bfbcc0bbb9b8b8b9babfbdbfc2c5c7cbcbc7c3bdb8b2ada69f98928b81796d685e564c42382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b37434e58606c77828f97a1a9b2bac3ccd5dadfd6cfc9c2bbb7b0aba7a09d99938f8b86827e7a76726e6965615f5755534e4847423c39352f2b27201c16100b05000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859298a3abb3bbc3c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d6d0cbc5beb9b0a8a09792857c6f6a5f554b40362c1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939c9fa6acb2b9bec5cbd1cbc6bfbab3ada8a09d949087817b736d68605c55504941382d22170b00000000000714212d3a46535f6976828f9ca8b2bdcbd4e2d2c6baafa59e91857a6d615b514940352f271f1b15120f0a0c0c090e12141a1d262d333e474f59606d79839199a3afbbc7d2ddd4c8bcb1a79b8e8175685e5246392d2013080000000613202d394653606c7986929facb9c5d2d6c9bcafa396897c706356493d302316090707070708090e12151a1e252a30383f44505a606c7883909da7b1bcc8d4e0d5c8bbaea295887b6f6255483c2f221515171614100b0500000000000000030d151d24292c2d323232323232323232323232323232323232323232323232323845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463932323232323232323232323232323232323232323232323232322d2c29241d160d040000000000000000000000000000000000000000000000000000000000000000000006111c262f39424b535b606c717b838c92989fa4abaeb4b8bdc3c5c7cbd1d0d1cfccd1cbc7c5c4c5c5c7cbd1cccfcac6c5bfbab9b2aca8a19e948f867e746d675d564c443a30261c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a47535f6a727f8c949fa9b3bbc4ccd5dedcd4cdc5beb9b0aba69f9c95918c87827e7a76726e6865615e5755534d4847433c3a37312c29241d1b16100b050000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757d869299a2a9b1b9bec5c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d3d0cac6bfbab3ada69e9591857c6f6a5f574e43392f241a0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70797f858d92989ea5abb0b9bdc4cacfcfc7c0bbb4aea9a19e95918a827c756e69615d56514b443f382f261b110600000000000815222e3b4855616e7b87939facb9c3cedfdbcfc2b6a99e938a7d70685d52493f3729241d150d0a0603000000000205090b141c2228353e45515c676f7c87929facb6c0ccd8d8cdc2b9ac9f92867a6d6154473a2f24190d01000006121f2b3844505b667885919eabb8c4d1d6c9bdb0a3968a7d7063574a3d3024170700000000000002050a0f13191e262e343f44505b66707d89959fabb8c4d1ddd5c8bbaea295887b6f6255483c2f2215090a0a08040000000000000000010b151f272f35383a3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f45525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000000000000000000000000000000000000000000000a141d2730394149505a62696e787f868e93999fa3aaacb2b6b9bbc0c1c3c5c6c9cfc8c9c9c8d0cbc7c5c4c2c0beb9b8b4aeaca8a09d96918a827b716c605c554c433a32281e140a00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000c18242f394854606b7784919eabb5c0c7baaea3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000001010101010101010101000000000000000000000000000000000005111e2a36414d56626e7c86929fa6b0bbc4cdd6dedbd2cac2bbb3ada69f9c948f89847f7b76716d6865615e5654524d4846423b3a37312e2b26201d18120f0a0400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275717e8792979fa7adb3b9bdc4c6cac6c5c4c3c4c5c6cacfced2d2d0d0cac6c5bebab4aea9a19e948f837b6f6a60584e453c31281d12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000001080d141a20272b30383f444c52575e616a6f767d848b92979fa3aaafb7bcc2c9cecdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d140a000000000005121e2a36424d576673808d9aa4afbbc8d4e0d3c7bbb0a69b8e81746b61564c41372d2518120b0300000000000000000000020a1117232934404b55606a74808d9aa4afbbc8d4e0d3c7baaea3988b7f7265554c4135291d11040000030f1c28333f4a546a7784909daab7c3d0d7cabeb1a4978b7e7164584b3e2f24180c03000000000000000002080c141c2328333f4a54606b7683909da9b6c3d0dcd5c8bbaea295887b6f6255483c2f22150900000000000000000000000007121d2731394045474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b525e6b7885919eabb8c4d1d2c6b9ac9f9386796c60534b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4745403a31281d130700000000000000000000000000000000000000000000000000000000000000000000020b151e272f383f4450575f666d737b81878e92989ea0a8aaacafb5b5b6b8b9bebbbcbcbcbcbbbfbab8b7b5b4b3adababa39f9c96918b847e766e69615a514b433a312820160c0200000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000007121d2c38434f5966737f8c99a4afbbc7bfb4ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e0e0e0c0b0906010000000000000000000000000714202d3946525e6874818e99a3aeb8c2cdd6dfdbd2c9c0b8b0a9a19e948f89827d77726e6964615e5654524c4846423b3a36312e2b26211e1a15100d0701000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c717d8590959ea1a9adb2b8babec2c4c5c7cbd1c9c9d0cac6c5c3c2bfbab8b3adaaa39f97928a827a6e6960584e463c332a1f160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000060c13191f252a32373e424a50565d60696e757c838a91969ea1a9aeb4bcc1c7cdcec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0200000000000714212d3a46535f697784909dacb6c0ccd8ddd0c3b7ab9f94887c6f62594f443a30251b13070100000000000000000000000000061118232f39434e58616e7b87939facb9c4cedad7cbbfb4aa9c8f8276675d5145392c2013060000000b17222d434f5c6976828f9ca9b5c2cfd8ccbfb2a5998c7f7266554b4035291e150c08020000000000000000020a1117222d38424f596773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c18242f39434b5153585858585858585858585858585858585858585858585858585858585e6b7885919eabb8c4d1d2c6b9ac9f9386796c60585858585858585858585858585858585858585858585858585858585853514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000030c151d262d333e454d545c60696e747c81868c9196999d9fa3aba8a9abadb3aeafafafafaeb4aeacaaa9a7a9a29e9b99928f8a847e79716c615f575045403930281f160e040000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887c6f62544a3f34281c10030000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b191816120d070000000000000000000003101c28343f4a54616e7b86929fabb4bfcad3dfddd3c9c0b7afa69f97928a827c76706b66615e5754524c4746413b3a36302d2a26211f1a15120e0904010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696b707b838b92979ea1a8abaeb4b5b7b9bbc0bcbcbcbbbfbab8b7b5b4aeaca9a29f98928d857e756d685f574e463d342a21180d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000030a11171e242931363c434750545c60686d737b818790949ea0a8adb3babfc6cfd0cac4bdb9b1aba69e99928e868079726d666159544e46423b353028231d17110a020000000000000815222e3b4855616e7b8895a0acbec7d2ddd5c9bdb2a89c8f82766a5f53473e32281e13090000000000000000000000000000000007121d27313d47535f6976828f9ca8b2bdc9d5dcd1c5b9ac9f92867a6d6054473a2d211406000000061b2835424e5b6875818e9ba8b4c1cdd9cec2b5a89b8f8275675d51453a30271e19130f0a06030000000000000006111c262f404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000004101d2935404b555d6065656565656565656565656565656565656565656565656565656565656b7885919eabb8c4d1d2c6b9ac9f9386796c656565656565656565656565656565656565656565656565656565656565605d554b4035291d11040000000000000000000000000000000000000000000000000000000000000000000000030b141b2227333c424a50565e616a6f747a7f84888c909299999b9d9ea1a9a2a2a3a3a2a2aaa39f9d9c9a9797928f8b86827d78716d67615a534d453e342e271e160d04000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000a16202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c5044382c1f130800000000000000000000000000000000000000000000080f161c202223282828282828282828282625221e18110a01000000000000000006121f2b3844505c6673808d99a3aebdc6d1dcdfd5cbc1b7afa59d948f857e766f6a63605954524d4746413b3936302d2a25211e1a14120f0906020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960696e787e858c91969b9fa2aaa8aaacafb5afafafafb4aeacaaa8aaa29f9b97928d86807a716c605d564d453d342b22180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939a9fa6acb2b9bec5cbd1cbc5bebab2aca7a09d948f87817b736d67605c544f47433d363129241e18120b0600000000000000000c1926323f4c5965727f8c98a7b1bcd0d9ded2c5b9aca0968a7d7064584e43352c20160c0000000000000000000000000000000000010b151f2b37424d5764707d8a96a1acb9c5d2ded3c7baaea3998a7d7164574a3e2e23170c0000000c1825323f4b5865727e8b98a7b1bcc8d4d2c5b8ac9f92867a6d60564c4239302a251e1b13120f0b060502000000000a142734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000006131f2c3845515d676d7272727272727272727272727272727272727272727272727272727272727885919eabb8c4d1d2c6b9ac9f938679727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000020a1117212a30383f444d52585f62686d72777b7f8386898c8e90929794959596969595949892918f8d8b8885827e7a75706c66605c555047423c3328231d150c0400000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c3b8ab9e9185796d6053463a3024190d01000000000000000000000000000000000000000008111a21272c2f303434343434343434343432312e29231b130a00000000000000000713202d3a4653606d7985929eabb4bfcfd8e2d9cdc3b9afa59d938e827a716c626058544f4746423b3935302d2a25201e1a14120e090602000000000000000407090a090806030000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569575e666c717a7f848a8f9298999b9d9fa3aba2a3a2a2aaa29f9d9b9998928f8a85807b746d68615a524c433c332b221910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000002090e151b1e262e343a41454d535860626c70787f858d92989fa4acb0b8bdc3cacfcfc6bfbab3ada8a19e959089827c746e68605d55504a423e37322a261f19130c0700000000000000000005121e2a36424d576975828f9ca8b5c2cedbddd1c4b7aa9e9184786c6053463c31201a0e04000000000000000000000000000000000000030d1a26313c4653606c7884919eabb7c4d1ded7cbbfb4ab9a8d807467544a3f34281c100300000815212e3b4854616e7b8795a0acb8c7d1d3c7baaea3988b7e71685e544b433c36302b26201f1c1714110e090604000d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714202d3a4753606d797e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e85929fabb8c5d2d8cbbeb1a5988b7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000060f181e262e343b42464e53565e61666a6e73777a7c7f82838586888889898989888887858482817e7b7975716d6864605b54514b433e37312a2118120b030000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d110500000000000000000000000000000000000000050f1a232b33383c3d414141414141414141413f3e3a352d251b1107000000000000000916222f3c4955626f7c8897a1adbdc6d1e1e0d4c8bcb1a79e938e81786d68615a544e48443d3a36302d2925201e1914120e0905020000000000000000050b101416171515120f0a04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c545b60686d73787d8285898c8f9192999595969695959892908f8c8985827d79736e68615e565045413a312a21191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaafb6bec2c8cecdc7c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d0802000000000000000000000714202d3a46525e697885919eabb8c4d1ded7ccc0b5ab998d8073665b5044382b1f1208000000000000000000000000000000000000000009151f2b3844505b6674808d9aa7b3c0cfdadcd1c3b6a99d908376665c5044382c1f120600000714202d3a46525e697783909dabb5c0cbd6cbbfb4aa9e92857a6d665c554e46413a37322d2b2822201e1a1313100c071a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a878b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9298a2aebac6d3d8ccbfb3a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474c5254585f6266676d6f727576787a7b7b7c7c7c7c7b7b7a79777674716e6c6564605d5653504a454039302b261f180f0700000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685d5246392d20150a000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000c1925323f4c5865727f8b98a9b3becfd8e2ded1c4b8aca0958e81776d665e565047433d38332d2a25201d1914110d08050200000000000000000000080f161c20222322211f1b150b060000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4a50565d60666d7075797c8082848687888989898888878584827f7c7975716d67615e56524c443e352f281f180f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000040c13181f252a32373e424a50555d60696e757c828a91969ea1a9aeb4bbc0c7d0cec8c2bbb7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e09030000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd4c7bbafa499897d7063544a3f33281c0f030000000000000000000000000000000000000000030f1c28333f4a5464717e8a97a9b2bdc9d5dfd2c5b8ac9f9286796d6053463a2d201307000005121e2a36424d576673808c99a3afbbc5d0d0c6b9ada1978f81786d675f58524c47433c3938332d2d2a25201f1c18131a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879498989898989898989898989898989898989898989898989898989898989fa2aab3becad6dbcfc3b7aca39b98989898989898989898989898989898989898989898989898989898989894877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373a4146474e5355555d606366686a676d6e6f6f70706f6f6e6d6c6569676462605b5354524c46443f38342e271e1a150e060000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6154473c31261a0f00000000000000000000000000000000000004101c27333d474f54565b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000004101c2934404b556875828e9ba8b5c1cfdbdfd3c7bbb0a69d9083796d655c544c443e37322c27201e1a14110d08050100000000000000000000000008111a21272c2f302f2e2b262017110a02000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f444c52545c6064666d6f737577797b7b7c7c7c7c7b7a797775726f6d6664605c55524d46413a3229241e160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000070d161d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccfc9c3bdb8b0aba59e99928d857f79716c656059534e46413b352f28231c150c0a0400000000000000000000000000000a1724313d4a5764707d8a97a9b3bec9d5dfd2c6b9ac9f93867a6d6054473a2d22170b000000000000000000000000000000000000000000000b17222d3b4854616e7b8796a1adb9c5d2dfd3c7baaea398887c6f6255493c2f2216090000020e1a25303b4855626e7b87929faab4becad6cabeb3a99e938f81796f6a615e56534e4946443f3b3a36302d2c28231f1c2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abaeb3bcc5d0dbdfd4c9beb5aca7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c141920262b3036393c4347484b515356595b555d60616262636362626161605b535a58555350494745413a38332d28231d150c0903000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000c18242f394854606b7784919eacb6c0c7baaea3998b7e7265584e43372b1c110600000000000000000000000000000000000714202c38444f5960636767676767676767676765625b51463a2e221609000000000006131f2c3845515c677884919eabb8c4d1dedcd0c3b7aa9e94897c6f675d534a423a322b27201c16110e0905010000000000000000000000000000050f1a232b33383c3d3c3a373127221b140b050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4241454a5053545c60636668666d6e6e6f706f6f6e6d686a686662605c5453514b46413b3630282019130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000710191f282f353b42464e545961666d727a80868e939a9fa6acb2b9bec5cbd0cac4beb9b2aca69f9c938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfcfdaddd0c3b6aa9d908377675d5145392c1c1106000000000000000000000000000000000000000000000614212d3a46535e697884919eabb8c4d1ded6cbbfb4aa978a7d7164574a3e3124170b0000000914212e3a47535f6a74818e98a2aebac2cbcfc5bbafa59e938f837c736d68625f585553504a4746423d3a38342e2c282334404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b8babec5ced7e1e5dad0c7beb7b3b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1e252a2d31373a3b404547494c4f4b51535555565656565555545350494e4b4846443f3a39352f2b28221c18120b030000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000007121d2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083766a5f5347382e23170b00000000000000000000000000000000000916222f3c4854606b7074747474747474747474726d62574a3e3125180b00000000000714202d3a4753606d7a8696a1adb9c5d2dfd7cbc0b5ab9c8f82756b60554b41393028201b15100b050200000000000000000000000000000000000b16212b353d44484a4847433c332d261d170e0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4235383f44464a50535659545c6061626263636262615e565c595653514a4745403936302a251e160e080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000040f19222b313a41454d52585f626b70787f858d92989fa4acb0b8bdc3c9cfcbc6bfbab3ada8a09d949089817b736d68605c555049413d37312a251f18130c060000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddadacdc0b3a79a8d807467554c4135291d0a000000000000000000000000000000000000000000000005121e2a36424d576875828e9ba8b5c1cedbdcd0bfb2a5988c7f7265594c3f3226190c00000006121f2b37434e58616e7a85929fa6b0b9c3cccdc1b8afa59e959087807a746f6a6662605b5454524d494645403a38342e34404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbabebebebebebebebebebebebebebebebebebebebebebebebebebec5c6cad0d7e0e9ece2d9d0c9c3bfbebebebebebebebebebebebebebebebebebebebebebebebebebebebaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f13191d20262b2e2f35393a3c3f4240454748484949494948484746443f413e3b3937332d2c29241f1c17110c0700000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000000000a1723303d4a5663707d818181818181818181817f7265594c3f3226190c00000000000814212e3b4754616e7a8794a8b2bdc9d5e0d4c7bbafa3998a7d7164594f43392f271e160e0a040000000000000000000000000000000000000004101c27333d474f545655534e443f382f292018120b030000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362e34383a3f4446494d4a51535455565656555554524c4f4c494644403a38342f2a251f19130c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000a15202b343d434b51575e616a6f767d848b92979fa3aaafb6bec2c8cecfc7c0bbb4aea9a19e96918a837c756e69615d56514b443f382f2b262019140d070100000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd7cabeb1a4978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99a5b2bfccd8dacdc0b3a79a8d8074675a4d4134271a0e000000020f1a26313c46525e68727f8c949fa7b1bac4cccac1b7afa79f99928d86817c77736f6c6665615e575653514b4645403937404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbd2d3d6dbe1e9f2f4ebe2dad4cfcccbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11151a1f2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a3937332d312f2d2b2722201d19130f0b06000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000a16212d3a46535e6976828f9caab4bec8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000000000c1926323f4c5965727f8c8e8e8e8e8e8e8e8e8e8276695c504336291d1000000000000815222f3b4855626e7b8895a1aebbcfdadfd2c5b9ac9f92867a6d6054473d31271d150c040000000000000000000000000000000000000000000714202c38444f596063625f585049413b3229231d150d0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423623282b2e34383a3c4040444648484949494948474641423f3c3a38342e2c29231d19140d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00030f1b27323d464e555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d1a150e0802000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd6c9bcb0a396897d7063564a3d30231708000000000000000000000000000000000000000000000000091825323e4b5865717e8b98a4b1becbd7dbcec2b5a89b8f8275685c4f4235291c0f000000000915202a36414c56606d79829095a0a8b2bac1cbc9c1b9b1aba39f98928e8884807c7975716e696763605c5453514b46443f4d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d7dce3eaf3f9efe7dfd9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f1214181d2020232624292c2d2e2f2f30302f2f2e2e2d2b27222522201f1b1713110d08030000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a3024190d010000000000000000000000000000000c1926323f4c5965727f8c989a9a9a9a9a9a9a8f8376695c504336291d100000000000091623303c4956636f7c8996a2afbcc9d5ddd0c4b7aa9d918477685d5245392b1f150b03000000000000000000000000000000000000000000000916222f3c4854606b706f6a605b534c443e342f271f17110a020000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1f23282c2d302e34383a3b3b3c3d3c3c3b3a393630332f2d2c28231f1c18120e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2b37434e5860676d737b81878f949da0a8adb3babfc6cccec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0a030000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded5c8bbafa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7dccfc3b6a99c908376695d5043362a1d1000000000030d1925303b45515c676d7a839196a1a8b0bbc0c7cbc2bdb5aeaaa39f9a96918c8885827e7b7773706d6664605c545350494d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c7cbd1d9e1eaf1e7ddd5cdc8c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206070d1013141619181d2020222223232323222221201f1b17181513120f0b06040100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000020e1a25313b4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d11040000000000000000000000000000000c1926323f4c5965727f8c98a5a7a7a7a7a79c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dccfc2b6a99c8f837669564c413529190d030000000000000000000000000000000000000000000008131f2b38434e5863707d7c726c655e564f4540393127221b140b0500000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c12171c1f202323282c2d2e2f2f30302f2f2e2d2a252623201f1c1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000815222e3b4754606a6f7980868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba69e99928e868079726d66615a544e46423b353028231d17110a0200000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cbc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000008141e2834404b555d686e7b8491969ea6afb5bdc2c8c6bfbbb4aeaca8a09d9997928e8b8784807d7975706d6663605b53515a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7cfd9e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709070d10131415151616161615151413120f0b06080605030000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000009141f2c3945515d6774818e9aa8b2bdc9beb2a99b8e8175685d5245392c2015090000000000000000000000000000000c1926323f4c5965727f8c98a5b2b4b4b4a99c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec2b5a89b8f8275685c4f422f24190c00000000000000000000000000000000000000000000040e1a242e3b4754606a7783867f776e686159514b433c332d261d170e07000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c060c10121316181c1f202122232323222221201e1919161312100c07040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000916232f3c4956626f7c858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca7a09d948f87817b736d67605c545047433d363129241e18120b06000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfd3c7bbafa399877a6d6054473a2d2114070000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000020c18232e39434c565e696f7c848f949fa3abb0b8bcc3c8c6bfbab8b2acaaa9a19e9b9895908d8985827d7974706c65605d556773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacafb5bdc7d1dce4d9cdc3b9b1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a090908070605030000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6054473c31261a0f0000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc1b6a99c8f8376695c504336291d1000000000000a1623303d495663707c8996a3afbccfdadccfc2b6a99c8f837669544a3f34281c10030000000000000000000000000000000000000000030c16202b37424d57626f7c89928b827a706b605c554e443f382f29201910070000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f00030607070c101213151516161616151413110d08090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a979fa2aaafb6bec2c8cecfc6bfbab3ada8a19e959089827c746e69605d55504a423e37322a261f19130c07000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4dfd2c5b9ac9f928679675d5145392c2013060000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000007121d27303a444d575f6a6f7a828c92999fa6acb1b8bcc2c5c7c3bdb8b7b3adaba8a7a09d9a98928e8a85817c78726d67606773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a87949d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa3abb5c0cbd7e0d4c8bcb1a7a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eacb6c0c7baaea3988b7e7265584e43372b1c110600000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000916222f3c4955626f7c8895a9b3bec9d5ddd1c4b7aa9e918477665c5044382c1f130800000000000000000000000000000000000000020b151e28323a47535f6975818e9b948f857d746d675f585049413b322a22190e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000406070808090a0909080707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a9aeb4bbc0c7d0d4c9c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d080200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded2c5b8ab9f928578665b5044382b1f12060000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3ded1c5b8ab9e9285786b5f5245382c1f12000000000000000b151e28323b454e585f686d777f8790949da0a7abb1b8b9bdc4c5c5c4beb9b8b5b1acaaaaa29f9b97928e89847f79726d6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879090909090909090909090909090909090909090909090909090909090909299a3afbbc7d3ded1c4b8aca09590909090909090909090909090909090909090909090909090909090909090877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000007121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5347382e23170b00000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000714212e3a4754616d7a8797a1adb9c6d2dfd2c5b9ac9f9286796d6053463a30251910060000000000000000000000000000000000040b141d27303a44505a626e7b86929f9e97928a80796f6a605b534c443c342a20150a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bfc6ccd2d5cbc1b7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e0903000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3dfd2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000000030c162029333c464e565d656c727c838990959d9fa7abadb2b7b9bdc1c5c6c5c1bcb8b7b4aeaca9a29f9a96918b857f797073808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714212e3a4754616d7a8383838383838383838383838383838383838383838383838383838383838387929facb9c5d2ddd0c3b6aa9d8983838383838383838383838383838383838383838383838383838383838383837a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000713202d3946525e687885929eabb8c5d1ded3c7baaea3988a7d7063564c41362a22181008020000000000000000000000000001080d161d262e39434c56616c76828f99a3a9a19e928d837c726c655e564e463c32261b0f03000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdd0d8d9cdc3b9afa59e99928d857f79716c656059534e46423b352f28231c150c0a0400000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2dfd4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000000000040e17212a343c444c535b606a6f767d838a9095999ea1a8aaacb2b4b8b9bec2c5c5c3bfbab8b3adaba8a09e97928c847d73808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000713202d3946525e686d7777777777777777777777777777777777777777777777777777777777777885919eabb8c4d1d2c6b9ac9f938679777777777777777777777777777777777777777777777777777777777777776e685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000b17222d3846535e6976838f9caab4bfc8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000005111d2a36414c566976838f9ca9b6c2cfdad7cbbfb4aa9b8e8175685e52463e342a2219140e090502000000000000000105080d13191f282f38404b555e68717e8a949fabb3ada49d9590867f776e685f584e43372b1f1306000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d4c8bcb1a79e938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2ded7ccc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000050f18222a323a4149505860626b70787e83888d91969a9ea0a8a8abadb3b6b9babfc3c5c5bebab8b2aca9a19e96918880808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000005111d2935414c565e616a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b7885919eabb8c4d1d2c6b9ac9f9386796c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615e564d41362a1e11050000000000000000000000000000000000000000000000000000000000000008111a21282c2f303939393939393939393939393939393635322d261e160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a2f24190d010000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000010d192530404d596673808c99a9b3bec9d5dcd1c5b8ac9f92867a6d61594f463c342a251e1a14120e090b0a0a0a0b080d1113191e2429313a4149515c676d7a85919ea6b0bdb9aea7a098928b827a6f6a5f54473b2e221508000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0958e817b746d68605c555049413d37312a251f18130c0600000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1deddd2bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7dccfc3b6a99c908376695d5043362a1d100000000000000000000006101820282f383f444e545961656c71767b8084898e9196989b9ea1a9a9acaeb4b7b8bcc3c4c3bdb9b3ada8a09a938c85929fabb8c5d2ded5c8bbaea295887b6f6255483c2f2215090000000000000000000000010d1925303a444c52545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5e6b7885919eabb8c4d1d2c6b9ac9f9386796c605d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d54524d443b3025190e0200000000000000000000000000000000000000000000000000000000000005101a232c33383c3d46464646464646464646464646464643413e3830281e0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000e1a25313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000081623303c4956636f7c8997a1adb9c6d2dfd3c7baaea2988e81756b61584e463e36302a26211e1a19181716171818191e20252a2f353c434b535b606d79829097a1adb8c2c0b9b1aaa39f948f857c6f6255493c2f221609000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d0c3b6aa9d90837b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0ddd6c9bdb0a3968a7d7063574a3d302417080000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000060e161d262d333d43474f535b60646a6e73787d8184888b8e9297999c9fa3aaaaacb1b6b8bcc2c5beb9b2aca49f989298a2aebac6d3dfd5c8bbaea295887b6f6255483c2f22150900000000000000000000000008131e28323a414647505050505050505050505050505050505050505050505050505050525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053505050505050505050505050505050505050505050505050505050504746413b32291f1408000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a5353535353535353535353535353534f4e49423a3020170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c2015090000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000713202d3a4653606d7985929eabb8c1d0d9d6cabfb4aa9e938a7d706a5f585046413b36312d2a2626252423242425252a2d30363a41454d555d656c75818e949fa9b2becacbc3bcb4aea69f92867a6e6154473b2e211408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0959087807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cedbd7cbbeb1a4988b7e7165584b3e3025190e020000000000000000000000000000000000000000000003101c28343f4a546673808c99a6b3bfccd9d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000040b141b222732373d41495053585f62666c7074777b7e8185888c8f92989a9da0a7a9abb1b8b9bec4beb6afaaa29fa2aab3becad6e2d5c8bbaea295887b6f6255483c2f221509000000000000000000000000020c1620283035393a444444444444444444444444444444444444444444444444444445525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053464444444444444444444444444444444444444444444444444444443b3936302920170d0200000000000000000000000000000000000000000000000000000000000004101c28333e474f55576060606060606060606060606060605c5a544c4232291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acb9c7c4b8ac9f92867a6d6054473c31261a0e0000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000006121f2c3844505c6673808d9aa6b0bec7d2dbd0c6bcafa59e92857c6f6a615a524c46423b3a3631323131303031323036393a41464c51575f676d77808d939ea6b0bbc4cfd5cfc6bbaea3998d8074685e5246392d201407000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcadcd4c8bcb1a7a099928d857f79716c656059534d46413a342e27221b140b090300000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2dddacec1b4a79b8e817468564c41362a1e11050000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000020a111720272b2f383f44464e53545b606367696e7175787c7f8286898d9095989d9fa7abadb3b8bcc0bbb3aeabaeb3bcc5d0dbe6d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000040e161e25292d2e373737373737373737373737373737373737373737373737373845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463937373737373737373737373737373737373737373737373737372e2d2a251f170e05000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000010d18242f394653606c7884919eacb6c0c7baaea3988b7e7165574d42372b1c110600000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000003101c28343f4a54626e7b88949eacb6c0ccd8d8cec1b9ada19792857c706c615e56534d484642403f3e3d3d3d3e3f404146474c52555d60696e79818d929da5afb8c2cdd6d7cbc0b5ab9f92867b6e61564c41362a1e1105000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcbd1d9cdc3b9b1aba39f97928c847e786f6b615f57524c454039332d261d1a150d08020000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8ddd1c4b7aa9e918477685e5246392d201407000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded5c9beb3a9968a7d7063574a3d3024170a000000000000000000000000050c13191d202120262d33373c43474a505356575f6165656c6f72767a7d8084878b9095999ea1a9acb1b9bdbebab8babec5ced7e1e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000040c13191d20212a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a21201e19140d0500000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70797979797979797979797979797979767066564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000007121f2b3744505b6573808c9aa4afbbc8bfb4aa9d908376695f5347382d22170b00000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000c17232e3847535f6a75828f9aa4afbbc5cfdad6cabeb3a9a19792857e756e68615f5755534d4d4c4b4a494a4b4b4d4c5254565e61676d737b838f939da4aeb7c1cad4d8cec6bbafa3998e8174695e53443b3025190d01000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b4bbc0c7cfd4cbc3bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c0700000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d899aa4afbbc8d4ded2c5b8aca096877a6e6154473b2f24180c000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3dfd2c6b9ada197877b6e6154483b2e2115080000000000000000000000050e161e252a2d2e2d2a25272b3137383f44464a4d5355535b606266676d7073777b7f83888d92979da0a7acb2bbc0c5c6cad0d7e0e9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000002080d1113141d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1414110e0802000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707d8686868686868686868686868686868276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c6b7ab9f95887b6e62544a3f33281c0f03000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000006111c2b37434e58626f7c87939fa9b3becad6dacfc5bbb3a9a197928a817a736e6964615f57595958575657575859565e6164686d727a808690959ea5aeb6c0c9d3dcd0c6bcb1a79f92877b6e62574d4232291e140800000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2dfd4c8bdb2a8978a7d7164554b4035291b1106000000000000000000000000000000000000000004111d2935414c5665727e8b98aab4becad6ded1c5b8ab9e928578695e53463a2d21140700000000000000000000030c1620283036393a3936302820262b2d3338393d42464849505355555d606367696e72767b80858b90959ea1a8afb6bec5ced7e2e9f2e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000105070711111111111111111111111111111111111111111111121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013111111111111111111111111111111111111111111111108070502000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9393939393939393939393939393877b6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000b17222d3846535f6976838f9caab4bfc7bcb1a7998d8073665b5044382b1f1308000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000f1a26313c47545f6a75818e97a1adb9c0cad4d7cdc5bbb3a9a29e938e85807b75716e696866656464636364656668686d71757a7f858d9299a0a7afb8c0c8d2dbd6cbbfb4aa9f958c8073695f53453b3120170d0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a92989fa3abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000613202c3945525d687784919daab7c4d1dcd9cec0b4a79a8d8074675d5145382d22170b00000000000000000000000000000000000000000a13202c3945525d6875818e9ba8b4c1d0dbdbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000a151e28323a41464746413a322c231c22282b2d31363a3b3f4446494b515356575e6165696e73797e838a91969fa4acb4bcc5d0d9e3eee1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000004040404040404040404040404040404040404040405121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060404040404040404040404040404040404040404040400000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f9f9f9f9f9f9f9f9f9f9f9fa4998c7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184786c6053463a2f24190d010000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000915202b37434e58616d7a85929ea4aeb8c2cbd4d7cdc5bbb3ada59e97928d87827e7b787573727170707071727375787a7d82868c92979fa3abb1b9c1cad2dad2c9c1baaea3989083786d60574d4233291f0e050000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000714202d3a4753606d797f868e92999ea6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000000000000000000004111d2935414c566874818e9babb5c0cbd7ded1c5b8ab9e9285796d6053493f33271c110600000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d2dfd5c9beb3a9998c807366594d4031251a0e0200000000000000000006111c26303a444c5254524c443e352c21171c1f20262a2d2d3337393c4045474a4d5254575f62676d71787e848d939aa2aab4bdc7d2dde8e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8b99a3aeacacacacacacacacacb5ab9d9084776a5f5347382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000e1a26313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000030f1b26323c46525e68717e8a929da6b0b9c2cbd6d7cdc5beb9afa9a29f99938f8a888582807f7e7d7c7d7e7e808284878a8f92999ea1a9aeb4bdc3cbd3dbd6c9c1b7afa59f92867c6e665c50453c3121170d000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2c3945515d676d737a81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000010d19242f3e4b5764717e8a99a3afbbc7d3dfd2c6b9ada2978b7e71655b5044382d22170d0300000000000000000000000000000000030c17222d3744505b65727f8c98a2aebac6d3dfd2c6b9ada197897c6f6356493c30231609000000000000000000000c17232e38424c565e615e564f473e3329201712131a1e2122272b2d2f35393a3d4246484d53555c60656c717980889298a2abb5c0ccd7e3e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7783909dabb4bfb9b9b9b9b9b9b9b9b8aca095887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2015090000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000a15202a36414c56616c74808d949fa7b0b9c1cad0d7cfcac1bbb3adaba49f9c9797918f8c8c8b8a898a8a8b8c8f9196979c9fa3abadb3babfc6cfd5d7d0cac1b7afa59d938b7f726a5f544a3f332a200f05000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0004101d2935404b555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d0dbd6cabeb3a99d9184786c60544a3f33281f150c040000000000000000000000000000030c151e28333f4a54606c7884919eaab4bfcad6ded1c5b8ab9e9285796c605346392d20130600000000000000000003101c28343f4a545e686d6861594f453b32292117110e1214171b1f2024292c2d30363a3c42474b51535b60676d737d869299a4afbbc7d4e0e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acbdc6d1c6c6c6c6c6c6c8bcb1a79a8d8073665c5044382b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000040d1925303a44505a606d78828f959fa6afbabec5ced6d6cdc5bebab5afaca8a9a19e9b9998979796969798999b9ea1a8a8acafb5b9bec5cbd1d8d6cec6bfbaafa59e938e81776c60584e42382e21180e00000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000c18242f39434b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000713202c3945525d6876828f9caab4bfcad6dbcfc5b8aca095897d70665b50443c31271e160d04000000000000000000000000030c151e26303844505b66707d8a96a0acbcc6d0dbd5c9bdb2a89b8e8174665b5044382b1f12060000000000000000020b19222c3844505c666d7a706b61574d443b3328221c140b080b0f1213181d1f20252a2d31373940454950555c606b707d87939facb9c6d2dfe1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674808d9aa7b1bccfd8d2d2d2d2d2d9cec3b8ab9e9185796d6053463a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1c110600000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000008131e29323e44505c666d7a8390949ea5aeb4bcc2cbd0d6cfcac7c0bbb9b5b3adaba8a6a5a4a3a3a3a4a5a6a8abadb2b5b9bbc0c7c9cfd7d6d0cac2bcb4aea59e938e81786c655b50463c30261c0f0600000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000007121d27313940454c52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000004111d2935414c5665727e8b98a2aebac6d3dfd4c8bcb1a79c9083786c60584e433930281f160e0904000000000000000003090d151e273038424e58606c7883909ca8b2bdced8dfd2c5b9ada1968a7d7064544a3f33281c0f0300000000000000000a141d2a36414c56606d78847d70695e564d453c332d261d19140e0905070c1013141a1e20262b2f34383f444b5159616b74818e9aa7b4c1cddae1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdddd8d4d2d1d2d5d2c6b9ada197897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000007131f2b3744505b6573808c99a6b0bbc7bfb4aa9c908376695f5347382d22170b00000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000020d172028343f4a545d686d79828e939fa2aab1babfc6cacfd5d2ccc7c6c2beb9b8b5b3b2b1b0afb0b1b1b3b5b7b9bdc2c5c7cbd1d5d5cfcac6bfbab1aaa29f938e81786c665b53493f332a1e150a0000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000010b151f272f353b41464e535960666c71797f868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000010d19242f3a4754606d7a86929facb8c1cfd9d9cec3b7ab9f948c7f726a5f554b433a3128201a15100c0707060607060b10141a1f273039424a545f6a727f8c949fabbac4cee0d7cbc0b5ab9e9184796d6053463a2d22170b000000000000000006111b262f3846525e68727f8c857b6e685e574e443f382f2a251e1a14100c070606090e12151a1d23292d333940454f5964707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6d5d2ccc8c6c4c6c9cfc9beb3a99b8e8175675d5145392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabb7c6c6b7ab9f94887b6e62544a3f33281c0f03000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000050e17232e38424c565d676d79818a92989fa7aeb4b9bec5c9ced3d4d2cfc9c6c4c2bfbfbebdbcbdbdbebfc2c4c5c9cfd2d3d4d1cfc9c5bebab4aea79f98928b81786d665b544a41382d21180c030000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000030d151d242930363c43474f545b60676d737b81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d080200000000000000000000000000000000000813202c3945515d6774818d9aa5afbdc7d1dcd3c7bcb0a69f92867c6f675c554b433a322b261f1c18151313131315171c1f252a3139424b545c666e7c86929fa6b0bcccd5ded3c7bbafa3998c7f73665c5044382c1c110600000000000000000b17222d38414e58616e7a859290837a6e696058504a423c36302a261f1c1813120f0b060d090e12181b22272f343e4a5763707d8a96a3b0bdc9d6e1d5c9beb3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6875828f9ca9b3becad0c7c0bbb9b8b9bec4cdc4b8ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000b17222d3846535f697683909caab4bfc7bcb0a6998c8073665b5044382b1f1308000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000006111c26303a444c555d676d757e8690959fa3aaadb3b9bdc4c6cad0d2d3d2d1cecccbcacac9c9cacbccced1d2d2d1cfcec8c5c3beb9b3adaaa29f9590867e756d665c544a42382f261b0f06000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000030b12181e252a31373d424a50555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000004111d2935414c55626f7c88939eabb5c0cbd7d8cdc2baaea3999083796d675d554c443e37312c282321201f1f202123282b30363d434b545c666d78839098a3aeb9c2cdded6cabfb4aa9f92867b6e61544a3f34281c0a0000000000000000030f1b27333f4953606a74818e989590847b6f6a605b544e46413b36312c2923201f1c1719191a1a1b1a1e212429333f4a5465717e8b98a4b1becbd7dfd2c6b9ada197867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb9c5cfc7beb6afacabadb3bbc4c7baaea2988b7e7164574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5765717e8b98a2aebac6c2b7ab9e9184786c6053463a2f24190d010000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000a151e28323a434c555d606c717b838c92989ea2a9acb2b8babfc2c5c6cad0cccdcececfcfcecdcdcccbcfcac6c5c3c1bcb8b7b2ada9a29f98928c837b716c605c544a42382f261d140a00000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000001070c141920262b2f383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000010d19242f3a47535f6a75828f99a3afbbc5cfdad7cbbfb4aba0958f81796d675d564f47423c38342e2e2d2c2c2d2e2e34383b42464f555d666d78818e959faab4bfcbd4dbd3c7baaea2988d8174695e5242382e23170c00000000000000030e18212b3744505b656f7c87939fa09691847c726c665f58524c46423b38342f2d2b28222626272727252a2d30353c44505b6673808d9aa6b3c0cdd9ded1c4b8ab9e918578675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3afbbc7ccc0b6aca49f9ea1a9b3bec9bfb4aa9c8f8276695e53463a2d21150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000e1a26313b4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d11040000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000030c162028313a434b515a61696e7880868c92979ea1a8acaeb4b5b8babebebfc0c1c1c2c2c1c1c0bfbfbebeb9b8b6b4b1acaaa9a19e97928c8680786e69625a504a42382f261d140b02000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000002080e151b1d262d333940454d52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a020000000000000000000000000008131e2b37434e58626e7c87929fa9b3becad6dcd1c6bdb1a79e938f82796d686159534d4644403c3b3a38383a3b3c3f44464d525960676d78818e939ea7b1bcc6d0ddd5c9bdb2a89f92867b6e61574d4230261c1106000000000000000915202935414c56606c7883909aa4a8a09691877f786e6a615e56534d4745403b3938332d333333343431363a3b41464e57606c7884919eabb7c4d1dedccfc3b6a99c90837669554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7784919dabb5c0cbc8bbafa49a939197a1adb9c6c6b9ac9f93877b6e6154483c32271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8175675d5145392c2014090000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000040d161f28313a404550575f666d737a80858b91969b9fa2aaa9abadb3b1b3b4b4b5b5b5b4b4b3b3b2b1b3adaba9a7a7a09d9997918c85807a736d665f5750443f3830261d140b02000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000030a0b141c22282f353b41464e535960666d717980868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000010f1b26313c47535f6a74818e97a1adb9c1cbd5d8cfc3b9afa59e948f837a706b625f5753514a49484645454648494a5053575e616b7079828f939ea5afb9c3ced8d4cbc3b9ada1968d8073695e52453b301e150a00000000000000020f1a26313945525d68717e8b959facb2a8a199928c827c746e68615f5753514b4846443f414040404041424246484c52585f69707d8a96a1adb9c5d2dfd6cabeb3a99a8d8074675a4d412f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55626f7c8995a0acbdc7d1c6b9ac9f938885919eabb8c4c8bbafa49a8c7f7266584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000040d161f282f353e454d545c60686e73797f848a8f9298999c9fa2a9a4a6a7a7a8a9a8a8a7a6a6a5a4a9a19e9c9a9895908c89847f7a736d68605c544d453f342e261e140b0200000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000a15202b37434e58616e7a85929ea5afb9c3cdd6d5cbc1b7afa69f9590847d756e6963605c545654535151535456545c6063696e757d838f949ea5afb7c1cbd4d6ccc3b9aea49e91847a6d60564d4233291f0c030000000000000006121f2b37434e58606d7a85929ea7b1bab2aba39f948f87817a736e6964605c555553504a4d4c4c4d4d4e4f4d5354565d616a6f7b85929ea8b2bdc9d5dfd2c6b9ada297897d706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818d9aa7b1bccfd1c4b8ab9e9184808c99a6b3bfccc0b6ac9d9184776a605447382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1b110600000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000040d161d2429333b424a50565e61676d72787e8285898d8f92979698999a9b9b9c9c9b9a9a999898969792908e8b8783807c78726d67615e56504a423c3328231c140c0200000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000060b12181f252a31373d424a50555d60696e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c04000000000000000000040f1a26313c46525e68717e8a939ea7b1bbc5ced7d3c9c1b8b0a79f96918a827b74706d66646261605c5c60616264666d70747b818990959fa6afb7c1c9d2d7cec4bab1a79d92897d70675d51443b3020170d00000000000000000814212e3a47535f6a73808d97a1adb9c2bdb5aea69f99928d86807b75706d676462605b545a59595a5a5a5c575e6164686d727c839197a1adbac4cfdad9cfc5b8ab9e9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ced0c3b6a99d90837e8b98a4b1becfc7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000007131f2b3844505b6673808c99a6b0bcc7bfb4aa9c908376695f5346382d22170b00000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000040c1318212930383f444c52555d60666d7175797d80828588898b8c8d8e8e8f8f8e8e8d8c8c8b89878583817e7b77736f6c65605d55524c443f38302a2117110a0200000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000001070d141920262b30383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e160e040000000000000000000a15202a36414c56616c75818e95a0a9b3bcc5ced6d3cac2b9b1a8a09e948f86817d7974716f6e6d66676d6e6f7174797c80868e939da0a7b0b8c1c9d2d6cdc5bcb2a89f958d81746b60554c4132291f0e0500000000000000000815222f3b4855626e7b87929fa9b3becbc6bfbbb0aba39f98928d87827d7975716e6c6668676666666767696a696e71747a7f869195a0a9b3beccd6dcd1c7bdb1a79b8e8174665c5044382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cecec6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d5cec1b5a89b8e817d8996a8b2bdc9c8bdb1a89a8d8074665c5044382c1f13080000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fabb7c6c6b7ab9f94887b6e6153493f33271b0f03000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000001070f181e262e343b41464b51545c6064666d707376797b7c7e808181828282818180807f7e7c7a787674726e696662605b53514b46413a342e261e180f0600000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d4c7bbafa499887b6e6255483b2f2215080000000000000000000000000000000002080e151b1e262e343940454d52585f626b70787e858c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c35302820160c020000000000000000030d1925303b44505a606d79839097a1aab3bcc5cdd5d4cbc2bab2aca69e99928e8985817e7c7b797878797b7c7e8185898d92989ea5acb1b9c2cad3d4cdc4bbb3aaa1969083796d60594f433a2f20170d0000000000000000000d1a2633404d596673808c949fa7b0b8c1cbcbc2bdb5afaaa29f99938f8a85827e7b7976757473737373747577787b7e81868c9298a0a7b1bbc5cfded7cbc0b5ab9f958a7d7064544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9b3becad6ccbfb3a6998c807a8796a1adb9c5cec3b8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909caab4bfc7bcb0a6998c8073655b5044372b1f1307000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000060c151c232830363940454a5053545c606366656c6e70717374747576757574737372716f6d68696765615e575653504945413a353028231c150c06000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7dfd2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d717980868e93999fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a32281e130800000000000000000008141e29323e45515d676e7b859298a2a9b3bbc3cbd5d4ccc4bdb9b0aba39f9a97928e8a89878685858687898a8e92979a9fa2aaafb8bcc3cbd4d5cbc2bbb3a9a29891847b6e675d51473d31281e0e050000000000000000000713202d3a4653606d78828f959fa6afbbc0c7cfc7c0bbb4aeaba49f9c98928f8b88858381807f7f808081828385878b8e92989fa2aab1b9c3cdd7d4ccc3bbafa3999083786d6053463a2e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5d0d6cabeb3a9978a7d7884919eabb8c4d1c6b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b98a2aebac7c2b7ab9e9184786c6053463a2f24180d010000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000030a11171e252a2f35383f44464b515356535b6061636566676868696968676766656563615e565b5854534d4946443f38352f29251e17110a03000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcddd0c3b6aa9d908377675c5145382c1f13060000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c443a3025190d010000000000000000020d17202935414c555e696f7c869297a1a9b1b9c0c9ced6cec9c1bdb4aeaca9a29f9b97959a939292979495979b9ea1a9acaeb4bcc1c8ced6cec9c0b9b1a9a19792867c6f695e554b40352b1f160c0000000000000000000006121f2c3844515c666d798390949ea5afb5bdc3cbcbc5bfbab5afacaaa29f9b979892908e8d8c8c8d8d8d8f909297979b9fa2aaaeb4bcc3ccd5d5cbc3bab2a89f92877c6f665c5044382b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a89f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5966737f8c99a4afbbc7d7d3c6baada297887b75828f9ba8b5c2d0c9beb3a99b8e8275685d5245392c20140900000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000060c14191d24292e34383a4045464a495053555658595a5b5b5c5c5b5b5a5959585654524c4e4b4846423c3937332d29241d19130c06000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3d5c9beb3a9998c807366554b4034281c100400000000000000000000000000000000000000000000060b12181f252a31373d424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e564c4135291d1105000000000000000000050e19242f3a434d57606a6f7d859297a0a7aeb9bdc4cbd0d5cfc6bfbab9b3adaba7a4aca49f9e9fa2a9a2a4a7abadb3b8babfc6ced4d0cac4bdb9aea79f9791857c6f6a5f564d43392f231a0d040000000000000000000004101c2834404a545d676d7a828e939fa3abb1babfc6cbcac7c0bbb9b4aeaca8aaa29f9c9b9a9999999a9a9c9d9ea1a9a7acaeb4babfc6ced6cfc9c2b9b1a8a0968d80736a5f544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7784919eabb5c0ccd7d2c5b8ab9f928578737f8c99aab4bfcbcfc5b9ac9f92867a6d6054473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c2014090000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000002080d12181c23282b2e34383a3d3f444648494b4d4e4e4f4f4f4e4e4d4d4c4b49474641413f3b3a36312d2b27221b18130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8e0dad5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1dfd2c6b9ada197887c6f6255493c2e23180c00000000000000000000000000000000000000000000000001070d141920262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d685e5246392d2013070000000000000000000008131e28313b454e58606b6f7c8590959da4acb2babfc6cad0d1cbc7c5bebab8b4b1b6afacababadb3afb0b4b8b9bec5c6cad0d0cac6bfbab2aca49d9590857c6f6a60584e443b31271d11080000000000000000000000000c18232e39424b555e686d79818c9299a0a7aeb4babfc6caccc7c6bfbab8b5b4aeaca9a8a7a6a6a6a6a7a8aaabadb3b4b8babfc6cad0d0cac4bdb9b0a79f969184796d60584e42382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e86796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbdc7d2ddcfc2b5a89c8f8275707c8998a3aebac7d3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c4b8ac9f92867a6d6054473b31261a0e0000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2d3337393b3d3e404141424342424140403f3e3c3a393630322e2d2a25201f1b17110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a090704000000000000000713202d3a4653606d798693a0acb9c6d3e8ded6cfc9c5c4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4ded8ccc0b6ac9e9185786c605346392d201307000000000000000000000000000000000000000000000000000002090e151b1e262e343a40454d52585f626b70787e858c92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a6d6154473a2e21140700000000000000000000010c161f29333d464f59606a6f7b838d929ea1a8aeb4babec5c8cdd2cfcac6c5c1bdc0bbb9b8b8babebcbdc1c5c6cacfd2cdc8c5bebab4aea8a09e928d837b6f6a60584e463c32291f150b0000000000000000000000000007121c27303a434c565e676d747f8790959fa3aaaeb4babfc5c7cbcac6c5c2bfbab8b6b4b3b2b2b3b3b4b5b6b8b9bec1c5c7cad0cdc8c5bebab2ada69f9590847b6e675d51463c30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774808181818181818181818181818175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9aa8b2bdd0d9d6cabeb3a9988c7f726d7986929facb8c5d2cbbfb4aa9c908376695f53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606c7884919eabb7c2c6baaea2988b7e7164574d42362a1b110600000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000060b1012181c1f2022272b2d2e3032333435353636353434333232302e2d2a252521211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000713202d3a4653606d798693a0acb9c6d3e0d6ccc4bdb9b7b9b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedcded4c8bbafa49a8e8174655b5044372b1f120500000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba59e99928d85786c5f5245392c1f120000000000000000000000040d17212b343d464f585f696e79808a91969fa3aaadb3b8bcc3c5c7cbd1d0ced2ccc8c6c5c5c6cacfcaced0d1cbc7c5c3bcb8b3adaaa29f96918a80786e695f584e463c342a20170d0300000000000000000000000000000b151e28313a444c555c606d727c838c92989fa3aaaeb4b9bbc0c4c6c9cfcac6c5c3c1c0bfbfc0c0c0c2c3c5c6cacfd1cbc7c5c2bcb8b4aea8a19e948f837a6e695e554b40342a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e74757575757575757575757575756f65594d4034271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c3cedfd3c6baada297897c6f6776838f9ca9b6c2d0d1c6b9ac9f93877b6e6155483d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505b6673808d99a7b1bcbebfb4aa9c908376695f5346382d22170b00000c1926323f4c5965727f8c98a5b2bebeb6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000003070c101313171b1f202223252627282829292828272626252321201d19181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a1f2427272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272423201c161008000000000713202d3a4653606d798693a0acb9c6d3dacfc4bab2adabadb2b8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5e0d7cbbfb4ab9f93877c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f9786796c605346392d2013000000000000000000000000050f19222b343d464e575f676d747d848c92989fa2a9acb1b6b9bbc0c1c3c5c6cacfc8c9c9c8cfc9c6c5c3c1bfbbb9b6b1aca9a29f98928c847d746d665e574e463c342b22190e05000000000000000000000000000000030c161f28323a434b515b636a6f787f868d92989fa2aaacafb5b8b9bec0c2c3c5c7cbd1c8c9c9c8c8d0cac7c5c3c1bfc0bbb9b6b1abaaa29f96918b82796d685e574d43392f22180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c646768686868686868686868686868655d53483d3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6d3ded2c5b8ab9f9285796d6673808c99aab3becad4c8bbafa49a8c7f7366584e43382b1d12070000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabb1b1b1b1ac9f93877b6e6153493f33271b0f03000c1926323f4c5965727f8c98a5b1b1b1b1a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000406060b0f12131516181a1b1b1c1c1c1b1b1a1a1918161413110d08080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434302f2c28211a11080000000713202d3a4653606d798693a0acb9c6d3d5c9bdb2a8a19ea1a8b1b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddd7cec5baaea3998e81756a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea99386796c605346392d201300000000000000000000000000071019222b343c454d555c606c707980868d92979da0a7a9acafb5b4b6b8b9bebbbcbcbcbcbbbeb9b8b6b4b5aeaca9a7a09d97928d867f79706b605c544d453c342b221910070000000000000000000000000000000000040d16202830394045515860666d727b80868d92989c9fa3ababadb2b3b5b7b9babfbbbcbcbcbbbbbabfbab8b7b5b3b5afaca9a79f9d98928c847e786d675e564d453b31271d10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41372c201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfcad6d7cbc0b5ab9b8e817566636f7c8998a2aebac6d3ccc0b6ac9e9184776a605447392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909daaa5a5a5a5a5a49a8c8073655b5044372b1f1205000c1926323f4c5965727f8c98a5a5a5a5a5a59c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0f0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c38332c231a100500000713202d3a4653606d798693a0acb9c6d3d2c5b9ada1969196a0a7b1bbb3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbd9d0c5bcb2a89f92867b6e61584e432f261b11060000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa3aaafb6bec2c8cecfc6bfac9f9386796c605346392d20130000000000000000000000000000071019222a333b434b515961676d737b80858c9095999d9fa3aba8a9abadb3aeafafafafaeb3adaba9a8aba39f9d9995908c85807a736d676159514a423b332a2219100700000000000000000000000000000000000000040e161e272e343f464e545c60696e747b80858a8f92999b9ea1a9a6a8aaacaeb4aeafafafafaeadb4aeacaaa8a6aba39f9c9895908c857f79716c665d554c443b33291f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392f251a0f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd3c7bbafa3998a7e7164606d7985929fabb8c5d0d2c7b9aca096897c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b9898989898989898989184786c605346392d201306000c1926323f4c5965727f8c98989898989898988f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b00000713202d3a4653606d798693a0acb9c6d3d1c4b7ab9e91849095a0abb5bebab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9d8d1c7bdb4aaa1968d8074695f53463c321d140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfb9ac9f9386796c605346392d20130000000000000000000000000000000710182129303940454f555d60696e737a7f83888c909299999b9d9ea1a9a2a2a3a3a2a2a9a19e9d9b999992908c88837f7a736e68605c554f444039302921181007000000000000000000000000000000000000000000040c151d2328343c424a50575e61696e747a7e82868b8e919798999b9d9fa3aaa1a2a3a2a2a1a1aaa29f9d9b999799928f8b87837f7a736d67605b544b433a322921170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403d372f271d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8d7dfd2c5b9ac9f92867a6d615c6675828f9baab4bfcad4c8bdb2a89a8d8174665c5145382c1f130800000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a868b8b8b8b8b8b8b8b8b8b897c706356493d3023160a000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8276695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000008141f2b36414a53585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a57554f473e33281c1004000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f839099a3afbbc0beb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dad6cfc6bfb5aba29891847a6d61574d42342a200b02000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb2b9bec5b9ac9f9386796c605346392d201300000000000000000000000000000000060f181e272e343e434b51565e61676d72777b7f8386898c8e90929794959596969595949792908e8c8986837f7b77726d67615e56514b433e342e271e170f060000000000000000000000000000000000000000000000030b1218222b30383f444d52575e61676d71767b7e8185888b8d8f9092989495959696959594939892908e8c8a8886837f7b76726d68605d55504a423a312820170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b3033343535353535353535353535353534312c251d150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8d6cabeb3a99c8f8275685e5464717e8a98a2aebac6d3cec3b8ab9e9285796d6053463a3024190d01000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945525d68707d7e7e7e7e7e7e7e7e7e7e7e7c6f6256493c2f231609000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100c070000000000000b1824303c48535c64676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676361594f44382c201407000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7c87929fa3afb5bdc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4d9d4ccc4bdb5aea49992867c6f685e52453b3122180e000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfac9f9386796c605346392d20130000000000000000000000000000000000060c151d2328313940454d52555d6065696e73767a7c7f818385878888898989898887878583817f7c7a76736e6965605d55524c4540393028231c150c0500000000000000000000000000000000000000000000000000000710191e262e343b42464d52555d6064686e7175787b7e808284868787888989898888878786858482807e7c7976726e6966615e56514b443f382f281f160e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a20242727282828282828282828282828282725201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1acbec7d2ddd3c6baada2978a7d71645653606d7a86929facb8c5d0d2c6b9ada2978a7d7064564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c7072727272727272727272726f6a6054473b2e221508000815212e3b47535f6a6f72727272727272727272706b6155483c2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c18120b03000000000d1a2733404c58646e74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706b6155483c2f231609000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737e8b919fa4abb3bbc1c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d4cec8c2bab2aba39f93877d706a5f564c4133291f10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91969ea1a9aeb4ac9f9386796c605346392d2013000000000000000000000000000000000000030b12181f272f353b42464c5154575f6266676d70737576787a7b7b7c7c7c7c7b7b7a78767572706d6766615f5754514b46413b342e271e18120b0300000000000000000000000000000000000000000000000000000000070c151c232830363b42464b5153565e616568696e71737577797a7b7b7c7c7c7c7b7a7a7979777573716f6d6765615e5754524c454039332d261d160d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b18140f090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdd0d9ded2c5b8ab9f9285796d6053515d6775818e9ba9b3becad6cabeb3a99b8f8275685d5246392d201509000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a616465656565656565656565656260584e43372b1f13060006121f2b37434e585f62656565656565656565656361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f262a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c28231c150c030000000e1b2734414e5a6774818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73737f8c9399a2a9b0b8bdc3c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d5d2cec8c3bdb8b0a8a199928b7f726b61584e443a3021180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaaf9f9386796c605346392d20130000000000000000000000000000000000000000070d151d242930363a4145474d5355555d606366686a686d6e6f6f70706f6f6e6d676a686663605d5555534d4745413a363028231d150c0700000000000000000000000000000000000000000000000000000000000000030a11171f252a3036394045474d525458575f62656668666c6d6e6e6f706f6f6e6e6d6d666a68666462605c5554524d4746413a352f28221c140b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0f0f0f0f0f0f0f0f0f0f0f0f0f0e0c0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4cedfd4c8bcb1a79a8d8174675c514b5564707d8a97a2adbac6d3cfc5b9ac9f92867a6d6154473c31261a0e000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e47505557585858585858585858585856544e463d32271b0f0300030f1b26323c464e53555858585858585858585857554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000013202d394653606c79868d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8c7f7366594c403326190d000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736d737f8792979ea6acb2b9bbc0c5c7cbcac6c5c4c5c6cad0cdd0d2d1d0cfc9c5c3bcb8b2aca69f9691877f726d62594f463c32281e0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d525860626b70787f858d92989fa49f9386796c605346392d2013000000000000000000000000000000000000000000030b12181f252a2f35393c4247484b515356595b565d606162626363626261605d555b595653514b4847423c39352f2a251e18120b0300000000000000000000000000000000000000000000000000000000000000000000060c141a1f252a2f35393b4146474b4d5355585a545b6061616262636362626160605c545b59575553514b4846423b39363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a2aebac6d3ded1c5b8aca095897c6f62554b4653606d7985929fabb8c4cfd3c7baaea3998b7e7265574d42372b1b11060000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2c353e44494a4b4b4b4b4b4b4b4b4b4b4b4947433d342b20150a0000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4a48443e352c21170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4644403930271c1207000013202d394653606c7986939a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998c7f7366594c403326190d000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666d727d858f949da0a8acafb6b9bbc0c1c4c5c7cbd1c9d2ccc8c6c5c4c2bdb9b7b1aca8a09d948f847c726d625b51473e342a20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9f9386796c605346392d20130000000000000000000000000000000000000000000001070c14191e24292c31373a3b404547494c4e4c5254555556565656555454514b4e4c494745403b3a37312c29241d19140c070000000000000000000000000000000000000000000000000000000000000000000000000002090e141a1d24292c3036393b3e4247484b4d4a50535454555656565555545453504a4f4d4b484745403b3a36302d2a251e18120b0600000000000000000000000000000000000000000000000000000000000004080a0b131313131313131313131313131313120707050100000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313130b0b090501000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfcad6d7cbc0b5ab9d9184776a60544345515c6674818e9aa9b3bec9d5cbbfb4ab9d908376695f5347382d22170b0000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a232c33393c3d3f3f3f3f3f3f3f3f3f3f3f3c3b37322b22190f04000000040e18222a32373b3c3f3f3f3f3f3f3f3f3f3f3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753514a42392e23180c000013202d394653606c7986939fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366636b707b828a91969c9fa4acacafb5b5b7b9bbbfbbbcbcc0bbb9b8b7b5b2adaba7a09d96918b827a6f6a625b51493f352c22180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242930363c43474f545c60676d737b818790949386796c605346392d201300000000000000000000000000000000000000000000000002090e13191d20262b2e2f35393a3d40424145474848494949494848474541423f3d3a38352f2d2b26201d18130e08020000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181d20252a2d2e31373a3b3e403f44464748484949494948474746443f42403e3c3a38342f2d2a25201e19130c07010000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201f1413110d08020000000000000000000000000000000000000000000000000000040a0f13151620202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88949fabbcc6d0dbd4c7bbafa3998c7f7266584e43404b5463707d8997a1adb9c6d2d1c6b8ab9f95887b6e6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303132323232323232323232322f2e2b2720191007000000000006101820262b2e2f32323232323232323232302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a4034281c10040013202d394653606c7986939facb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b2a6998c7f7366594c403326190d000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665961696e757d848a8f939a9c9fa3aba8aaacaeb5aeafafb6afacabaaa8a8a19e9b95908a847e786d68605851493f372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a50555d60696e757c828a9186796c605346392d2013000000000000000000000000000000000000000000000000000001080d11151a1e2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a39352f33302d2c2924211e1a15110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1014191e2021262b2e2f322d3338393a3b3b3c3d3c3c3b3b3a3a38342e33312f2d2c2923201e1a14110d08020000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201e19130d05000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a6b0bcced8dfd2c5b9ac9f92867b6e6154473d3a4653606d7985919eabb8c4ced4c7bcb1a7998c8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324252525252525252525252523221f1b150f0700000000000000060e151b1f2122252525252525252525252423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5144382c1f12060013202d394653606c7986939facb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b2a6998c7f7366594c403326190d000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659575f616b70787d82878c909299999b9d9fa3aba2a2a3aca49f9e9d9b9896918e8a837e78716c665e564e463f372d251b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f444c51575e616a6f767d8486796c605346392d2013000000000000000000000000000000000000000000000000000000000104090e1214181d1f20232624292c2d2e2f2f30302f2f2e2d2c29242623201f1d1814120e0904010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104080e1114141a1e21222522282b2d2e2e2f2f30302f2f2e2d2d2b2823262422201f1c1814120e0905010000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393939393939393939382e2d2a251e170e050000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393932312e29221b12090000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2cdded6cabeb3a99c8f8276695e52463a3844505c6674808d9aa8b2bdc9d5cdc2b7aa9e9184786c605346392f23180c00000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161718181818181818181818181615130f0a04000000000000000000040a0f12151518181818181818181818171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070013202d394653606c7986939faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6998c7f7366594c403326190d000613202d394653606c78818181818181818181818181817e7064574d535961666c70767b7f83868a8c8e91929994959696959a9392918f8b8884817d78716c66605b544c443d342d251b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70787f7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000206070c1013141619191d2021222223232323222121201d1819161413100c070602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507090e12141518171c1f2021212223232322222121201f1c171a18151413100c07050200000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e464646464646464646464646464646453a3936302920170d020000000000000000000000000000000000000000030d19222b32373b3c464646464646464646464646464646463e3d3a342d241b11060000000000000000000000000000000000000000000004111d2935414c5663707d8a96a1adb9c5d2dfd3c6baada2978a7e7164564d4236343f4a54626f7c8996a1acb9c5d2d2c5b9aca096897c6f63554b4034291c1004000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0c0c0c0c0c0c0c0c0c0c0c0908060300000000000000000000000000030608090c0c0c0c0c0c0c0c0c0c0a0a070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e2114070013202d394653606c7986939d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d998c7f7366594c403326190d0006121f2b3844505b666c75757575757575757575757575706c615549464f545b6064696e73767a7d8082848687888889898887868584827e7b7874706c65605b54504a423a322b221b130901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d726d62564a3d3124180b00000000000000000000000000000000000000000000000000000000000000000000000406070a080d11131415151616161615151413110d070a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060808060b0f1213141515161616161514141312100b060b09070604000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353535353535353535353524746413a32291e130800000000000000000000000000000000000000010b151f2b343d434749535353535353535353535353535353534b4a453f362d22180c010000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9d5ded2c5b8ab9f9285796d6053473b302e384854606a7884919eabb7c3ced5c9bdb2a89a8e8174675c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1dbd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b969696969696969696969696969696969696969696969696969696969696969696969696969696969696969694877a6d6154473a2e2114070013202d394653606c798691919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191918c7f7366594c403326190d00030f1c28333f4a545b606868686868686868686868686864615a50443e424a5053575f6266686d71737577797a7b7b7c7c7b7a79787775726e696864605b53504a443f382f282019100901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242931363c434750545c6065625b51463a2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a0909080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606070808090a09090808070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606060606060606060605f54524c443a3025190f0500000000000000000000000000000000000007121d27313d464e54565f606060606060606060606060606060585650483f34291d11050000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c4cfdad4c8bdb2a89a8d8174675c514538292c38434e586673808d99a7b1bcc8d4cec4b8ab9f9285796d6053473a3025190d010000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cececec3b6aa9d9083776a5d5044372a1d11040000000000000001040607060401000000000000000000000000000000000000000000000000040607090b0d0d0c0b08070502000000000000000000000000000000000000000000000000000000000000030607090b0b0a0908060300000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000030608090a0b0b090706030000000000000000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a094877a6d6154473a2e21140700111e2b3744515e6a77838484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847f7265584b3f3225180c00000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e2f383f44464d5355565d60646668666d6d6e6f6f706f6e6d666a6865625f5757535049443f38332d261d160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a5053585651493f34291d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b615e564c41362a21170b0200000000000000000000000000000000040d18242f39434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625a50453a2e211509000000000000000000000000000000000000000006121f2b37434e5865727f8b98a3aebac7d6ded1c5b8aca096897c6f62554b40342927323d4855626f7c8895a0acb8c5d1d3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1c1b6aa9d9083776a5d5044372a1d1104000000000001070d10131413100d07010000000000000000000000000000000000000000070c10121316181a1a19181514120e09040000000000000000000000000000000000000000000000000000060b101213161718171515120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171613120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121515171817161312100b06000000000000000000000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada094877a6d6154473a2e21140700101d2a36434f5b677177777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777726d62564a3d3124180b000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2d33383c4247484c52545759545c6061616263636261605c545c5855534d4a46443f38332d28221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f44464b4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010406070809090a0a0b0b0b0b0b0b0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d1012131313131313131313131313131313130f0e0c08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c71797979797979797979797979797979786d685e52463e33291d140a000000000000000000000000000000010c161f2935404b55606a6f79797979797979797979797979797979716c62564a3d3124170b00000000000000000000000000000000000000000815212e3a47535f6a7783909daab4bfcbd7d7ccc0b5ab9d9184776a605443392f23212e3a47535f6a7784919daab7c2cdd6cabeb3a99c8f8275685e5246392d2015090000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4b4aa9d9083776a5d5044372a1d110400000000040c12181d2020201d18120c0400000000000000000000000000000000040a0f12181c1f2023252627262422211e1a14100c0701000000000000000000000000000000000000000002090e11171c1f202324252422211f1b15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151b1f212224252423201f1c17110e0902000000000000000000000c1925323f4c5865727f8b98a5b2bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbaada094877a6d6154473a2e211407000e1b27333f4b565f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a65625b51463a2e2215090000000a141d262d333839424242424242424242424242423d3c39332c2422282b31373a3b4145474a4d4a50535455555656555453504a4f4b4847423d3937332d28221c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e34383a3f3d3a342d251b110600000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0c0e080d1113141516161717171818181817171716141313100c070b0808060200000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f2020202020202020202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d868686868686868686868686868686857a6d615a50453b2f261b1106000000000000000000000000000008131e28313a45515d676f7c878686868686868686868686868686867e7165584b3e3225180b0000000000000000000000000000000000000003101c28343f4a54626f7c88959fabbcc6d1dcd4c7bbafa4998c7f7266584e4331271d1f2b37434e5866737f8c99a7b1bcc8d4d0c5b9ac9f92867a6d6154473c31261a0f0000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a8a89d9083776a5d5044372a1d1104000000040d161d24292c2d2c29241d160d0800000000000000000000000000040a0f151b1c23282c2d3032333433312e2d2a261f1d18120c07000000000000000000000000000000000000050d141a1c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000050c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d050000000000000000000c1925323f4c5865727f8b98a5b2bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c7baada094877a6d6154473a2e211407000b17222e39444d565b5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e585651493f34291d1206000000020b141c22282b2d3535353535353535353535353531302d28221a171c1f262b2e2f35393a3e403f44464748484949484746443f423f3b3a37312d2b27221b17110b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282c2d32312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000040607070c1013141517191a1c191d2021222223232424252525242424232221201f1c181a181514120e0908060200000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c75818e969393939393939393939393978f82756c62574d41382d22170c03000000000000000000000000040e19242f3a434f59606d798491999393939393939393939393978f82756c62564a3d3124170b0000000000000000000000000000000000000006121f2c3844505c6673808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221151b26313c4855616e7b88959fabb8c7d2d3c7bbafa3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9b9083776a5d5044372a1d11040000010c161f282f35393a39352f281f1a11080000000000000000000003090e161b20272b2e34383a3c3e40403f3e3b3a36312c29241d18120b03000000000000000000000000000001090e171f252a2e34383a3c3e3e3d3c3a37312c29241d160d080000000000000000000000000000000000000000090e161e252a2d3337393c3d3e3d3c3937332d29251e160e080000000000000000000000000000000000000000080d161d24292c31373a3c3d3e3e3c3a38342e2a251f170e0901000000000000000c1925323f4c5865727f8b98a5b2becbd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c7baada094877a6d6154473a2e2114070006111d28323b444b4f515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514b4a463f372d23180d0100000000020a11171c1f20282828282828282828282828282423201c17100b0f151a1e2124292c2d312e34383a3a3b3c3c3d3c3b3a38342e322f2e2b26201f1b17110b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202524221d1811090100000000000000000000000000000000000000000000000000000000000000000105070c10131316181c1f20222426272824292c2d2f2f30303031313232313131302f2e2d2c2823262422211e1a1514120e0906020000000000000000000000000000000000000000000000000007111a232a313538393939393939393939393939393939393534312c251d150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a606d7a84919aa49f9f9f9f9f9f9f9fa99e938b7e71695e53493f33271e150a0000000000000000000000020c16202935414c55606b74808d96a09f9f9f9f9f9f9f9f9fa59e92857b6e615a50453a2e211509000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdded6cabeb3aa9c8f8276695e52463a2d201415212d3a46535f697683909dabb5c0ccd7cbc0b5ab9d9083776a5f5347382d22170b00000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e8e83776a5d5044372a1d1104000007121d283139404547454039312c231a11080000000000000001080d151a20272b323739404446494b4d4d4c4b4846423b38352f28231c150c06000000000000000000000000020b131b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283036383f4446494a4b4a4946443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b130b020000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6baada094877a6d6154473a2e21140700000b16202932393f43444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443f3d3a342d251b110600000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050003090e1214191d20212423282c2d2e2e2f30302f2e2d2c28232522211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101213181815120d06000000000000000000000000000000000000000000000000000000000000000002080d1113181c1f202323292c2d2f313334352f35393a3b3c3c3d3d3e3e3e3e3e3e3d3d3c3b3a38342e33312f2e2b2622211e1a15120e090300000000000000000000000000000000000000000000030e19232c353c41454646464646464646464646464646464642403c372f271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e45525d68707d88939fa7b1acacacacacacafa59f92857b6e655b50443c30261c11060000000000000000000008131e28323a45515d67707d88939fa8b2acacacacacacb3a99e938a7e71685e52483f34291d110500000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd3c6baaea2988a7e7164574d42362a1e12121e2a36424d5765727f8b99a4afbbc7d4d1c7b8ab9f95887b6e62544a3f33281c0f03000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480818181818181818181818181818073665a4d4033271a0d0000010d18242f39434b5153514b433e362c231a11080000000000060b13191f262b32383d43474a51535658595a595755534d47454039342e271e180f0800000000000000000000010b141d252d333b42464a50535657585755534e4745413a312c231b1309000000000000000000000000000000000a131c242c323a4146495053555758575553504946413a322c241c130a0000000000000000000000000000000009131b232c313a4145474e53555758575653504a46423b322d251d140b0100000000000c1925323f4c5865727f8b98a5b2bababababababababababababababababababababababababababababababababababababababaada094877a6d6154473a2e2114070000040e1720282e33363737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373732312e29231b1309000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000000000206080d11131417171c1f2021222223232221201f1c17181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070c0b0906010000000000000000000000000000000000000000000000000000000000000000050c13191d2023282c2d2f2f34383a3c3d3f4142434145474849494a4a4a4b4b4b4b4a4a4a494746454042403e3b3a37312f2e2b26211e1a150f0b06000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353534e4d4841392f251a0f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222935414c56606b74808d95a0abb5c0b9b9b9b9baaea2988f82776c60584e42382e23170d030000000000000000050e1925303a444f59606d7a84919aa4afbab9b9b9b9b9b9ada1978e81756c61564d41362d22180c010000000000000000000000000000000000000713202d3946525e6875828f9ba9b3bec9d5ded2c5b8ab9f9285796d6053473b30251a0e0e1a26313b4754616e7b87939facb9c6d1d4c8bcb1a7998d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e7475757575757575757575757575736e63584b3f3226190c000004101d2935404b555d605d5550483e352c231a12080200030a11171e242931373d43474e54545c60636566676664615f5753514b444039302a211a12090000000000000000000a131d262f373f454d52545c6062646564625f5854514b433e352d251b1108000000000000000000000000000009121c252e363e444c52535b606264656462605b53524c443e362e251c1209000000000000000000000000000008111b252d353e434b5154585f6264656462605c54524d443f372f261d130a00000000000c1925323f4c5865727f8b98a5adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada094877a6d6154473a2e211407000000050e161d22272a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2524221d18110901000000000000000000000000000202020202020202020202020200000000000000000000000001040707060c101213141515161615141312100c060808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e34383a3c3f404547484a4c4d4f504c525455555656575758585857575756555453514b4f4d4b4847423f3b3a37312d2b261f1b17110a020000000000000000000000000000000000000d1925313c4650585d5f6060606060606060606060606060605b59534b41372c2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d19242f3a434f59606d79839199a3afbbc2cec6cabeb3aa9f948b7f726a5f544a3f34281f150b01000000000000020d17202935414c56616b74818e96a1acb6c0ccc6d0c4baafa59e91857a6d615a50443b30241b1106000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5cfdad5c9bdb2a89a8e8174675d514538291f14090914202d3946525e6876838f9cabb5bfcbd7cdc3b7ab9e9184786c605346392f24180c000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676868686868686868686868686866635c52473b2f23170a00000613202c3945515d676d67615a50473e352c2419140d0c10141c22282f353c42474e54586062666d6f71737372716e6965605d55514a423c332c241b12090000000000000006101c252f38414951575e61666d6f7171706f6a66605d554f473f372d231a0d04000000000000000000000000050e1b242e37404850565e61656c6f7071706f6c65615e56504840372e241b0e05000000000000000000000000040d1a232d373f474f555d60666a6f7071716f6d66615e56514941382f251c0f06000000000c1925323f4c5865727f8b98a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a094877a6d6154473a2e21140700000000040b11171b1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070809090a0908070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1720293036393a404546494c4b51535557595a5b5d565d60626263636364646565646464636261605c545b595755534d4c4847423c3a37312b27221b140b080200000000000000000000000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483c3124180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d45515d676f7c87929fa7b1bcc6d0d0c5bcb0a69f92867c6e665c50443c31271d120700000000000008141f29323b46525e68707d8a939da8b2bec7d2d2c7beb2a89d938a7d70685e52483e32291f12090000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aebbc7d6ded2c5b9aca096897c6f63554b403529170d0205111e2a36414d5665717e8b99a3aebbc7d3d2c5b9ada196897d7063554b4035291d10040000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362a1f130700000714202d3a4753606d79706c61594f473e362a251f18171c1f262d333a41454d535860626a6f74797c7e80807f7e7b77716d67605c544d453e362d241b12090000000000030e18222e37414a525b62696e74797c7d7e7d7b78736d67615951493f352c1f160c0100000000000000000000020d17202d364049515a61686d73787c7d7e7d7c78736d68615a514940362d20170d0200000000000000000000010c16202c353f49515961676d73787b7d7e7d7c79746e69625b524a41372d21180e030000000c1925323f4c5865727f8b939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393877a6d6154473a2e211407000000000000060b0e10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b51535659555c606264666768696b686d6e6f6f707071717171717170706f6e6d666a686664625f575955534e4847423c37332d261d19140d05000000000000000000000000000000121f2b3845515d6a7479797979797979797979797979797979756f65594d4034271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606a737f8c959faab4bfcad6cec2baaea3989083786d60584e43392f24180d0400000000060f1925303b44505a616d7a85919ea5afbac4d0d8ccc0b6aca1968e81746c61564c41362c20170d00000000000000000000000000000000000000000815222e3b47545f6a7783909dabb5bfcbd7d8ccc0b6ac9e9184776b605443392f24180500020e1925303b4754616d7a86929facb9c5d0d5c9bdb2a89b8e8174675d5145392c1f14080000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4b4740382e24190e0200000c1926323f4c5965727f7d706b61595048403630292423282c2f383f444c52575f616a6f767c8185898b8c8d8c8a88837e79736d665f5750483f362d251b1106000000000a15202a343f49525c646d727b8185898a8b8a88848079706b625b51473e31281e13080000000000000000000009141f29333f48515b636c717a8084888a8b8a8884807a716c635b51483e32291f14090000000000000000000008131e28323e47515b626b70798084888a8b8a8985817b726d645c52493f332a2015090000000c1925323f4c5865727f87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c5254545c60626568676d6f707274757677797a7b7c7c7d7d7d7e7e7e7e7d7d7d7c7a7978777573716e696966625f5755534d46443f382f2a251e170e080000000000000000000000000000131f2c3946525f6c79858686868686868686868686868686868175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f39434e58606d78839098a2aebac2cdd6cbbfb4aa9f958c7f736a60554b4035291f160c010000020b17212a36414d56616c75818e97a1adb7c0ccd6d0c7bbafa49a91847a6d60594f443a30241a0e050000000000000000000000000000000000000004101c2834404b55626f7c8895a0acbdc6d1dcd4c8bbafa49a8c7f7366594f4331271d120700000814202d3946525d6875828f9caab4bfcad6cfc4b8ab9f9285796d6053473b3025190e0200000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403f3b362e261c12080000000c1926333f4c5966727f867d706b615a5146413b352f2e34383e424a50565d60696e757c82898d929798999a999795908b857f786e69615a50483f372d23180c010000030f1a26313c46515b646e747f868d929797989796918c857d726d62594f433a2f24190d010000000000000000020e1a25303b45505a636d737e858d919797989797918d857e736d635a50443b3025190e000000000000000000010d19242f3a444f59626d727d858c919697989797928d867f746e645b51463c31261a0f0200000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796c605346392d20130600000000000000000000000000000000000000000004080c0e0f131313131313131313131313131307070501000000000000000000000000000000000000000000000000000000000005080a0b1313131313131313131313131313120f0a05000000000000000000000000000000000000000106090b0c1313131313131313131313131313090907030000000000000000000000000000000000000003090d111213131313131313131313131313130a0a080400000000000000000008111a22282d30313939393939393939393939393939392f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c565e6165666d6f7275777a7b7d7f808283848587888889898a8a8b8b8b8a8a8a89888786858382807e7b7875726e6a66615f57535049413d363029201a110600000000000000000000000000131f2c3946525f6c798592939393939393939393939393938e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505c666e7b86929fa6b0bbc5cfd0c6bcb1a79f92877c6f675d51453d31281e130800000a141d29333b46525e68717e8a939ea9b3bec9d2d2c7bdb2a89f93887d70685d52473e32281e1208000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221150b01000005111d2935414c5664717e8a98a2aebac6d3d3c6baaea2988a7e7164564d41362a1e110500000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b3033343535353535353535353535353533322f2a241c140a000000000c1926333f4c5966727f8c867d716c635b524d45403e3c3f44464f545b60686d747b82898f949a9ea1a9a6a6a5a7a09d97928c837b716c625a51493f34291d1205000006121f2b37434e58636d74808b92989ea1a9a4a8a19e9792877f726b61554c4135291d1104000000000000000005111e2a36424d57626c737f8a92989ea1a9a4a9a19e97928a7f736c62564d42362a1d1207000000000000000004111d2935414c56616c727f8792979ea1a8a4a9a19e98928b80746d63584e43372b1e1308000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c655b5044372b1f12050000000000000000000000000000000000000001090f14181a1b20202020202020202020202020201413110d080200000000000000000000000000000000000000000000000000060c1115171820202020202020202020202020201e1b1610090100000000000000000000000000000000060d1215181820202020202020202020202020201615130f0a0400000000000000000000000000000000070e15191d1f2020202020202020202020202020171614100b0500000000000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d7276797c7f818486888a8c8d8e909192989595969696979798989797979695949792908e8c8a8885827f7b77736e6964605b534f46413b322c2317110a020000000000000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3becad6cec3bbafa3999184796d60594f433a2f24190e0506111b262f3b45505a616e7b85929ea5afbbc4cfd7ccc0b5aba0968d80746b60564c41352c20160c0000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3ceded6cabfb4aa9c8f8276695e53463a2d211403000000010d1924303a4753606d7a86929facb8c5d0d6cabeb4aa9c8f8276685e5246392d20150a00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3232323232323232323232323232322e2d2a251e170e050000000c1926333f4c5966727f8c92877e736d615e56514b4a494a50535961666c717a80868f939c9ea6abadb3b3b3b2b1aca9a29e9590867e716c625b51453a2e22150900000815212e3a47535f6a727f8c929fa2aaadb3b1b2aca9a19993877d70675d5145392c20150a00000000000000000714202d3a46525e69717e8b919fa2aaadb2b1b2ada9a29f918b7e71695e5246392e23180c00000000000000000713202c3945525d68707d879399a1a9acb2b1b3adaaa29f928c7f726a5f53473a3025190d010004101c2834404b545c606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b53493f33271b0f03000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000911192025292c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c17100800000000000b17222c353e44494a5353535353535353535353535353534947433d342b20160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7f8286898c8e91929997999a9b9c9e9fa2aaa2a2a3a3a4a4a4a4a4a4a3a3a2a9a29f9d9b999797928f8c8884807b76706c656059524c443e3628231c140c0200000000000000000000131f2c3946525f6c7985929facacacacacacacacacaca89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adbac1cdd7cbc0b5aba0958d80746b60564c41352920170d0c17222d38414d57626c75828f97a2adb7c1cdd6cfc6bbafa4999184796d60594f433a2f231a0e05000000000000000000000000000000000000000005111e2a36424d5664717d8a97a2adb9c6d2dfd3c6baaea2988b7e7164574d42362a1e1205000000000813202c3945515d6775818e9ba9b3becad6d0c5b9ac9f92867b6e6154473c31261b0f00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3a3936302920170c0200000c1926333f4c5966727f8c9992887f766e68605d555756545c60646b70787e858d92999ea5aab0b8b9bebfc0bfbcb8b3ada79f9892877e726d62564a3d3124180b0005111d2a36414c56626f7c87929fa4aeb4b9bebebdb9b3aba49992857a6d6054473c31261b0f0300000000000004101c2834404b55616e7b86929fa4aeb3b9bebebeb9b3ada49f92867b6e61544b4034281c1004000000000000030f1b27333f4953606d7a859299a4abb3b9bdbebeb9b4aea49f92877c6e62564c4135291d110500000c18232e39424b5153545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545453504941382d22170b000000000000000000000000000000000000010b151d252c3134353939393939393939393939393939392d29251e160e0400000000000000000000000000000000000000000009121a22282d3031393939393939393939393939393937332c251c13090000000000000000000000000009131b23292e31323939393939393939393939393939302f2c272119100700000000000000000000000007111b232b313638393939393939393939393939393931302d28221a110800000004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808b8f9298989b9d9fa3aba5a7a8a9aaacaeb4afafb0b0b0b1b1b1b1b0b0b0afb3adabaaa8a6a9a19e9c9996918d87827d78706b615e56504840342e261e140a00000000000000000000131f2c3946525f6c7985929facb8b9b9b9b9b9b9b9b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303c44505b656e7b85929fa5afbbc4cfd1c7bdb1a89f93887d70685d52453e32291e13151e27333f49535f69717e8b949ea9b3bec9d3d1c6bdb1a79f93877c6f675d51473d31281e11080000000000000000000000000000000000000000000714202d3a46525e6975828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b31251a0e020000000004101d2935404b5564707d8a97a2adbac6d3d4c7bbafa3998c7f7265584e43372b1c1106000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4746413a32291e130800000c1926333f4c5966727f8c999a938c827b726d6766646365666d71767d838b92979fa3abafb7bbc2c6cacfcdcec8c5beb9b1aaa29993887f7265584b3f3225180c000713202d3946525e6875828f99a3afbabfc6cacec9c5bdb5aba1978c807366584e43372b1f120600000000000006131f2c3845515c6774818e98a2aebabec5c9cfc9c5bebaaea2988e8174665c5145382c1f130600000000000005121f2b3744505b6573808d97a1abb5bdc5c9cec9c6bfbaafa3998f8275685e5246392d201307000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746443f382f261b110600000000000000000000000000000000000009131d272f373c40424646464646464646464646464646463935302820160c020000000000000000000000000000000000000006101a242c34393d3e4646464646464646464646464646433e372e251b1005000000000000000000000006111b252d343a3d3f46464646464646464646464646463c3b38322b22190f0400000000000000000000030e19232d353c424546464646464646464646464646463d3c39332c231a100500000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9c9fa3aaa8aaacafb5b2b3b5b6b7b8babfbbbcbcbdbdbebebebdbdbdbcbbbebab8b6b5b3b3adaba8a8a09d9a938f8a837d756e68615a52443f3830261c1106000000000000000000131f2c3946525f6c7985929facb8c5c6c6c6c6c6c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea9b2bdc9d5cfc3bbafa49a91847a6d605a50443a3025191c26303844505b656e7b86929fa6b0bbc5cfd7cbbfb5aba0958d80736b60554b40352b1f160c000000000000000000000000000000000000000000000814212e3b4754616e7b86929facb9c5cfdbd5c9bdb2a89b8e8174675d514539291f14090000000000010d18242f3a4653606d7985929fabb8c4cfd7cbc0b5ab9d9083776a5f5347382e23170b000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130701010101010101010101010100000000000000000000000000000000000000000000000000000000000000010d1924303a444c525458585858585858585858585858585854524c443a3025190d01000c1926333f4c5966727f8c99a49f948f857f7a7573716f7174797d838a90959ea1a9aeb5bdc1c7cac6c5c3c3c4c6c9cac2bcb4aba49a9286796c5f5246392c1f13000714212e3a4754616d7a86929fabb5c0cad0d6dad5d0c7bdb3a99e9184786a5f53473a2e2115080000000000000713202d3a4653606d7985929faab4bfcad0d5dad5d0cabfb4aa9f9285796d6053463a2d2013070000000000000613202d394653606c7884919ea9b3bdc7d0d5dad5d0cac0b5ab9f92867a6d6154473a2e2114070000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3937332d261d140a000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353535346413a32281e1308000000000000000000000000000000000000000c17222c363e45494b53535353535353535353535353534f4940372c21160a00000000000000000000010d18232d373f464a4b53535353535353535353535353534948433d342b21160a000000000000000000000915202b353f474e5253535353535353535353535353534a49443e352c22170b00000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885929eabaeb4b4b7b9bbc0bfc0c1c3c4c5c7cad0c9c9c9cacacbcbcacacac9d0cac6c5c3c1bfbeb9b8b5b2acaca49f9c959089827a706c635c504a42382e231711070000000000000000131f2c3946525f6c7985929facb8c5d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e96a1adb9c0ccd8ccc0b6aca1968e81746c61564c41362a21232e38424e58606c77829098a2aeb8c1cdd7cec6bbaea3999083796d60594f43392f23190d0400000000000000000000000000000000000000000007131f2c38434e5866727f8c99a3afbbc7d7ded2c5b9aca096897c7063554b403529170d0300000000000007131f2c3845515c6674818e9aa9b3bec9d5d1c7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130e0e0e0e0e0e0e0e0e0e0e0e0e0a0a080400000000000000000000000000000000000000000000000000000004111d2935414c565d60656565656565656565656565656565615e564c41362a1d1105000c1926333f4c5966727f8c99a5a69f97928c86817f7d7c7e81848a90949da0a7adb3bbbfc6c7c5bfbab8b6b6b8b9bec1c6c5bdb5ac9f9285796c5f5246392c1f13000b1824313e4b5764717e8a99a3afbdc7d1dbe2e5e2d9d0c5b9aca196887b6f6255483c2f2215090000000000000a1623303d495663707d8998a2aebcc6d0dbe1e6e1dbd0c6baada297897c706356493d3023160a0000000000000915222f3c4855626f7b8896a1adbbc5d0d9e2e5e2dbd1c7bbafa3998a7e7164574b3e3124180b000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27221b140b020000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060605f524c443a3025190d01000000000000000000000000000000000005111d28343e48505557606060606060606060606060605f5a52493e33271b0f0200000000000000000006121d29343f49515658606060606060606060606060606056544f463d32271b0f000000000000000000010d1925313c4751595e5f60606060606060606060606060575550473e33281c1004000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9bfc1c4c5c7cbd1cdcecfcecccac9c8d1cbc7c5c5c4c5c5c7cbd1c9cbced0d0cecfcac6c5c2bdb8b6afaca79f9d938f857e736e605c544a3f342823190d0300000000000000131f2c3946525f6c7985929facb8c5d2dfdfdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a84919ea4aebac3cfd2c7beb2a89d938a7e70685e52463e332928343f4a545f6a727f8c949faab4bfcad3d0c6bcb1a79f92877c6f675c51463d31281d1108000000000000000000000000000000000000000000000915222e3b4854606a7784919dabb5c0cbd7d8ccc0b6ac9e9184786c605346392f2418060000000000000004101c2834404b5463707d8997a1adb9c6d2d4c8bcb1a79a8d8073665c5044382b1f13070000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b05000000000000000000000000000000000000000000000000000713202c3945525d686d7171717171717171717171717171716d685e5246392d201307000c1926333f4c5966727f8c99a5b0a9a29f98928e8c8a898b8d91969c9fa6acb1b9bec5c6bfbab8b4aeaca9a9abadb2b5b9bbc0b8ac9f9285796c5f5246392c1f13000d192633404c5966737f8c99abb5c0cfd9e3edf4ebe2d5c9bdb2a8968a7d7063574a3d3024170a0000000000000b1825323e4b5865717e8b98aab4beced8e2ecf1ece2d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724313d4a5764707d8a97a8b2bdcdd7e2ebf4ede3d7cbc0b5ab998c7f7266594c3f3326190c00000000030b12181c1f202121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201f1b17110a02000000000000000000000000000000000000000c1824313c48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c4135291d110500000000000000000000000000000000000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12050000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1c1106000000000000000004111d2936424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d201408000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad0d0d1ced0cac6c5c3c1bfbebcbbbbbfbab9b8b7b8b9bbc0bbbcbfc1c3c5c7cbd0d2d1cec8c7c0bbb9b1aba69e97928a80746d665c50443f352b1f150b01000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525d68707d89929da8b2bdc7d1d0c4baafa59e92857a6d615a50453b2f303944505c666e7c86929fa6b0bcc5d0d6cbbfb4aa9f958c7f736a5f554b40342b1f160c0000000000000000000000000000000000000000000004101d2935404b55626f7c8995a0acbdc7d1dcd4c8bbafa49a8c7f73655b5044372b1d120700000000000000000c18232e3a4653606d7985919eabb8c4ced9cdc3b8ab9e9184796d6053463a2f24180d0100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2727272727272727272727272727272423201c1710080000000000000000000000000000000000000000000000000714212d3a4754606d7a7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7a6d6154473a2e211407000c1926333f4c5966727f8c99a5b2b3adaaa29f9b999796989a9ea1a8abb0b8bcc3c7c0bbb4aeacaaa29f9d9c9ea1a9a8acafb6b8ac9f9285796c5f5246392c1f13000d1a2734404d5a6773808d9aa6b3c0d1dce7f3fdf3e5dacebeb1a4978b7e7164584b3e3125180b0000000000000c1926323f4c5965727f8c98a5b2bfcfdbe6f2fdf2e6dbd0bfb2a5988c7f7265594c3f3226190c0000000000000b1825313e4b5864717e8b97a4b1beced9e5f3fdf3e8dcd1c0b3a69a8d8073675a4d4034271a0d000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413120f0b060000000000000000000000000000000000000000010e1a2734404d59656f75797979797979797979797979797976685e5246392d20130700000000000000000000000000000000000a1724303d4955616c7179797979797979797979797979766c5f5346392d2013060000000000000000000b1824313d4a56626d7279797979797979797979797979796f6b605448382d22170b000000000000000006121f2c3845525e6a757979797979797979797979797979706c6155493c3023160a000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0cec9c5c4c1bebebab8b6b5b3b1afaeaeb4aeacabababacafb5aeb0b2b4b6b8babfc5c6cad0d4d2ccc8c3bcb8b0a9a19e928c81786d605b51473d31271d1207000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56616b74808d96a0abb5c0cbd7ccc1b9ada1978f82756c62574d413839434e58606d78839098a3aeb8c2ced7cec6baaea3989083786d60584e43392e22190d040000000000000000000000000000000000000000000006131f2c3845515d6774818e9aa8b1bdcfd9dfd2c6b9ac9f93877b6e6153493f33271b0f03000000000000000007121f2b3844505c6674808d9aa8b2bdc9d5d2c6b9ada197897d7063554b4035291d110400000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a3434343434343434343434343434343431302d28221a110800000000000000000000000000000000000000000000000915222f3c4855626f7b888b8b8b8b8b8b8b8b8b8b8b8b8b897c6f6256493c2f231609000c1926333f4c5966727f8c99a5b2bebab4aeaca8a6a4a2a4a7abadb2b7bbc2c7c1bdb5afaaa39f9b989290909197969b9fa4acb1ac9f9285796c5f5246392c1f13000c1926333f4c5966727f8c99abb5bfcbd7e3edf3ebe1d4c8bdb2a8968a7d7063574a3d3024170a0000000000000b1825313e4b5864717e8b97a9b3becad6e2ecf4ebe4d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724303d4a5763707d8a96a8b2bdc9d5e1ebf3ede3d7cbbfb4ab998c7f7266594c3f3326190c0000000000000000040607070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706050300000000000000000000000000000000000000000000020f1b2835424e5b68758186868686868686868686868686867a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e86868686868686868686868686796c605346392d201306000000000000000005111e2a36424d5665727f86868686868686868686868686867d6f63544a3f33281c0f03000000000000000613202c3946535f6c7987868686868686868686868686867e7064574a3d3124170a000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909ca9b6c2c0bdb9b7b4b2b3aeabaaa8a6a4a3a2a1aaa39f9e9e9f9fa3aba1a3a5a7aaacaeb4b8babfc6c9ced6d4cdc8c1bbb3ada49c938e80746d62594f43392f24180c020000000000131f2c3946525f6c7985929facb8c5d2dfe5dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1924303a444f59606d79849199a3afbbc3ced5c9beb3a99e938b7e71695e53493f404b555f6a737f8c959faab4bfcad4d0c6bcb0a69f92867c6e665c50463c30271d100700000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ceded6cabfb4aa9c8f8376695f5341382d22170b00000000000000000003101c28343f4a54626f7c8996a1acb9c5d2d5c9beb2a99b8e8175675d5145392c20140900000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534641414141414141414141414141414141413d3c39332c231a1005000000000000000000000000000000000000000000000915222f3c4855626f7b8895989898989898989898989895897c6f6256493c2f231609000c1926333f4c5966727f8c99acb5bdc6bfbab8b4b2b0afb1b4b8b9bdc4c7c2bcb7afaba39f98928e898583838586898e939a9fa7ac9f9285796c5f5246392c1f13000b1724313e4a5764717d8a99a3aebbc7d1dbe2e5e1d9cfc7b9aca096887b6e6255483b2f221508000000000000091623303c4956636f7c8997a2adb9c5d0dbe1e5e2d9d2c6b9ada197897c6f6356493c302316090000000000000815222f3b4855626e7b8896a0acb9c4cfd9e1e5e2dbd3c7baaea3998a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e939393939393939393939393877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a939393939393939393939386796c605346392d20130600000000000000000714202d3a46525e697683909393939393939393939393938d8074665b5044382b1f1206000000000000000613202c3946535f6c79869293939393939393939393938a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8b6b3b2acaaa8a5aaa29f9d9b99979695949498929291929299949496989b9d9fa3aaacaeb4b9bdc4cad0d8d4cdc5beb9aea59d928c7f726b60554b4035291e14080000000000131f2c3946525f6c7985929facb8c5d2d9d9d9cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515d676f7c87929fa7b1bcc6d0cfc5bbb0a69f92857b6e655b504445515c676f7c87929fa7b1bcc6d0d6cabfb4aa9f948c7f726a5f544a3f342a1e150b000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d3dfd3c6baaea2988b7e7164574d422f261b1106000000000000000000000b17232e384854606a7884919eabb7c3ced9cfc4b8ac9f92867a6d6053473b30251a0e02000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170b000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a4a4a4a4a4a4a4a4a4a295897c6f6256493c2f231609000c1926333f4c5966727f8c9aa4abb5bdc3c6c5c1bfbdbcbec0c4c5c9c3bcb8b1aba59e99928d86817c797676787a7d828790959ca49f9285796c5f5246392c1f13000714212d3a4754606d7a86929fabb5c0cad0d5d9d5cfc7bdb2a99e918477695f53473a2e2114080000000000000713202d3a4653606d7985929eaab4becad0d5dad5d0c7beb4aa9e9285796d6053463a2d2013070000000000000814212e3a47535f6a7784919ea9b3bdc7cfd5d9d5d0cabfb5ab9f92867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9386796c605346392d20130600000000000000000814212e3b4754616e7b87939f9f9f9f9f9f9f9f9f9f9f9e9184786c605346392e23170b000000000000000613202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a2aeaca9a6a8a09e9b98969892908e8c8b89888887868685848586868788898c8e9092989b9fa2aaacb2babfc6ced4d7cfc9bfb7afa59f93887d70675d51453b3025190e0100000000131f2c3946525f6c7985929facb8c5ccccccccccc1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c95a0aab4bfcbd6cdc1baaea2988f82776c60584e4f59606d79839099a3aeb9c3ced7cdc5baaea2989082786c60584e42382e22190c0300000000000000000000000000000000000000000000000714212d3a46535e6976828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b3120140a000000000000000000000006111c2c38434e586673808d99a7b1bcc8d4d3c6baaea2988b7e7164574d42362a1e1205000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb1b1b1b1b1b1b1afa295897c6f6256493c2f231609000a1724313d4a5764707d879399a3abb2bbc0c7cbd1cac9cbcec9c4bdb9b1aca79f9d938f87817a746f6c6569676d70757c838c929f9f9285796c5f5246392c1f13000613202c3945525d6875818e99a3afbabfc6c9cec9c4bdb5aba1978c7f7366574d42372b1e120600000000000006121f2c3844505c6674808d98a2aebabec5c9cfc9c5beb6aea2988d8074665c5044382b1f120600000000000006121f2b37434e5866737f8c97a1abb5bdc4c9cec9c6bfbaaea3998e8175675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8acacacacacacacaca094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4acacacacacacac9f9386796c605346392d2013060000000000000005121e2a36424d5765727f8b9aa4afacacacacacacacacada197897c6f63544a3f34281c10030000000000000613202c3946535f6c7986929facacacacacacacaca3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aaa39f9c999796918e8b8987858382807e7c7b7b7a7979787878797a7a7b7d7f8183868a8e92989ea0a8aeb4bcc3cbd4dad5c9c0bbafa49a9184796d60564c41362a1d120700000000131f2c3946525f6c7985929facb8bfbfbfbfbfbfbfb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a3aebac2ced6cabeb3aa9f948b7f726a5f5455606b73808d95a0abb5bfcbd4d0c5bbb0a69f92867b6e665b50463c30261c10070000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd5c9bdb2a89b8e8174675d5145392c2013020000000000000000000000000f1b27323d4855626f7c8895a0acb8c5d1d6cabfb4aa9c8f8276695e52463a2d20150a000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d676767676767676767676767676767676767676764615a5044392d2014080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbebebebebebcafa295897c6f6256493c2f231609000a1623303c4955616c717e879299a0a8afb6babfc5c6c6c5c3bdb9b2aca7a09d959089827b746e6862605b555d60636a6f78808a92989286796c5f5246392c1f130004111d2935414c56616e7b87929fa4aeb4b9bebebdb9b3aba3999184796d6053473c31261a0e0200000000000003101c28343f4a54616d7a86929fa3adb3b9bdbebdb9b3aca49f92867a6d61544a3f34281c1003000000000000020f1a26313c4753606d79859199a3abb3b9bdbebeb9b4aea49f92877b6e61554c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9ada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b9b9b9b9b9ac9f9386796c605346392d201306000000000000000714202d3a46525e697683909cacb6c0b9b9b9b9b9b9beb2a99a8d8074665c5044382b1f12060000000000000613202c3946535f6c7986929facb9b9b9b9b9b9b0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b556774818e9a9a98928f8d8a8784817f7c7a7877757371706f6e6d6d666b6b6c676d6d6e70727477797d81868b91969fa2aab1b9c2cbd4dbd8ccc0b6aca0968d8073685e5246392f24180d01000000131f2c3946525f6c7985929facb2b2b2b2b2b2b2b2b2a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d44515c666e7c86929fa6b0bcc5d0d0c5bcb0a69f92867c6e665c5d676f7d87939fa7b1bdc6d1d6cabeb3a99f948b7e72695f544a3f342a1e150a00000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8d7ded2c5b9aca196897d7063554b4035291d11040000000000000000000000000a16212e3a47535f6a7784909daab7c2cdd8d0c6b9ac9f93877b6e6154483c32261b0f000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679747474747474747474747474747474747474747474706c6155493c3023160a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cbcbcbc8bcafa295897c6f6256493c2f231609000814202d3944505a626c717e8791969fa4acaeb4b8b9bab8b6b2aca8a19e95918a837c756e69615e5653504b5153585f666d737e86929285796c5f5246392c1f1300010d19242f3a47535f69727f8b929fa2aaadb3b1b2aca9a19992877d70675d5145392a20150900000000000000000c17232e3846525e68717e8a919fa2a9adb2b1b2ada9a29a938a7e71685e5242382e23170b00000000000000000915202c3945515d67707d879299a1a9acb2b1b3adaaa29f928b7f72695f53433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c6c6c6c6baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdc6c6c6b9ac9f9386796c605346392d201306000000000000000815212e3b4854616e7b87939facb9c6d2c6c6c6c6cfc4b8ab9e9185796d6053463a2e23170c0000000000000613202c3946535f6c7986929facb9c5c6c6c6bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67778490918d8a8683807d7a7775726f6d686a68666463626161605c545e555c606161636568666d70757a7e848c92989fa7b1b9c2cbd4ddd2c7beb2a89f92867a6e61554b4035291d1004000000131f2c3946525f6c7985929fa6a6a6a6a6a6a6a6a6a6a69b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2834404a545f6a727f8c949faab3becad6cec2baaea3989083786d60606d79849199a4afb9c3cfd6cdc5baada2978f82766d62574d42382d22180c030000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8ded1c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000006121f2b37434e5866737f8c99a7b1bcc8d4d4c7bbafa4998c7f7266584e43372b1c11060000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc0b3a79a8d808080808080808080808080808080808080808080807d7064574a3d3124170a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d7d5c8bcafa295897c6f6256493c2f2316090004101c28333e48505a626c717c848d939a9fa3aaabacadabaaa8a19e96918b837d766f6b625f57524c46444045474e545c606c717d869285796c5f5246392c1f13000008131e2b37424d57626d74808b92989ea1a9a4a8a09e9791877e716b60554b403529180e03000000000000000006111c2a36414c56616c727f8a92979ea1a8a4a8a19e9792887f726c61564c4130261c1106000000000000000004111d2935404b55606b717f8791979ea0a8a4a9a19e98928b80746d62574d4231281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2d2c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000005121e2a36424d5765727f8c9aa4afbbc8d4d2d2d2d2d2c6b9ada197897d7063544a3f34281c100300000000000613202c3946535f6c7986929facb9c5d2d2cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a878984817d7a7673706e68686563615e565b59585655555453514b514b515354555659545c6064676d71797f8690959fa7b0b8c2ced7d9d0c4baaea3988d8073675d5145392c201307000000131f2c3946525f6c798692999999999999999999999999998e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18232e39424e58606c77828f98a2aebac1cdd6cbbfb4aa9f958c80736a6b74808d96a0abb5c0cbd5cfc5bbafa59f92857b6e615b51453b2f261c0f0600000000000000000000000000000000000000000000000004111d2935404b5563707c8996a0acbec7d2ddd3c7bcb0a6998c8073655b504437281d130700000000000000000000000000030f1b26313c4855616e7b88959fabb8c7d2d7ccc0b5ab9d9184776a5f5447382e23170c0000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecec1b5a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000b17222c363f48505a616a6f7980878e92989c9e9fa29f9d9a96918c847e78706c636059534d46413b3735393c424a505a616b707d8686796c5f5246392c1f130000010e1a26313c45515b646e747f868d929797989796918c857d716c62594f43392f241806000000000000000000000d1925303a44505a636d727e858d919697989796918d857e726d635a50443a301e140a000000000000000000010d18242f3a434f59626c717d858c919697989797928d867f746e645b51453c311f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000714212d3a46535e697683909dacb6c0ccd8e4dfdfe1d5c9beb3a99a8d8174665c5044382c1f120700000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c807c7874706d676664615e56585654524c4f4d4b494848474645404540454747484a4c4b5153555d60676d737b8390959fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6053473a2e23180c000000131f2c3946525f6c79868c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c44505b656e7b85929fa5afbbc4cfd0c6bcb1a79f92877c6f707d89929da8b2bdc7d2d5c9beb3a99e938b7e71695e52493f33291d140a000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdd0d9dbd0c4b7ab9f94887b6e6153493f3327160c0100000000000000000000000000000a15212d3a46535f697683909dabb5c0ccd7d2c7b8aca095887c6f62544a3f34281c100300000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced1c5b9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f231609000005101a242d363f48505860676d747c81868c8f92939792908e89847f79716d66615a544f47423c36302b292c30383f445059606b707d85786c5f5245392c1f1200000009151f2a333f49525c646d727b8085888a8b8a88847f79706b625a50473d31281d12070000000000000000000008131e29323e48515b636c717a8084888a8b8a8884807a716c635b51483e32291e0c020000000000000000000007131d28313d47505a626b70797f84888a8b8a8885807b726d645c52493f332a1f0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000815212e3b4854616e7b87959fabbec7d2dde8f4f2e6dacfc4b8ab9e9285796d6053463a2e23180c00000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f746f6c6563605d555754524c4c4947464142403e3d3c3b3a3a38342f34383a3a3b3d3f4045464b51555c60696e7a8390949faab3becad6dcd0c6baaea2988a7e7164544b4034281c100400000d192633404c5966737f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b3bec9d5cec3bbafa3999184797a84919ea4aebac4d0d6ccc4b9ada1978f82756c61574d42372d21180b02000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4cecececabfb4aa9c908376695f5341382d22170b00000000000000000000000000000005121e2a36424d5765727f8b99a4afbbc7cecec8bcb1a79a8d8074665c5044382c1f130800000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6cbc0b6aea9a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000008121b242d363e464e555d606a6f747a7f828586868583817c78726d67605c545048433d37312a251f1d1f262e343e474f59606b707d7064574a3d3124170a000000030e18212d37404a525b62686e74797c7d7e7d7b77736d67605950483f352b1f160c0100000000000000000000020d17202c363f49515a61686d73787c7d7e7d7c78736d68615a51493f362c20170c0000000000000000000000010c161f2b353f48505960676d73777b7d7e7d7c79746e68625b524a40372d21180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000005121e2a36424d5766727f8c99a7b1bcd0d9e4eef9f7ebdfd2c6b9ada197897d7063544a4034281c1004000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626763605b5353514b4a4746413f3c3a3936303331302f2e2e2d2c2823292c2d2e2e302e34383a40454b51575e686d79829098a2aebac3ced9d6cabfb4aa9c8f8275665c5145382c1f130600000c1825323e4b57636d73737373737373737373737373737373706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57626c75818f97a1adb9c0ccd7cbc0b5aba0968d80818e96a1adb6c0ccd5cfc4baafa59e92857a6d615a50453b30241b0f060000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac1c1c1c1c1baaea2988b7e7165574d422f261b1106000000000000000000000000000000020e1a26313b4754616e7b87939facb9c1c1c1c1c1b8ab9e9285796d6053463a2f24190d01000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd2c8c0b9b5b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d6d5c8bcafa295897c6f6256493c2f2316090000000009121b242c343d434b51586062686d727678797a787774706c65605c55504a423e38322b2620191410151c2328353d474f59616c706c6155493c3023160a00000000060f1b252e38404951565e61666d6f7171706e6a66605d554f473f362d23190d04000000000000000000000000050e1a242e373f4850565d61656c6f7071706f6c65605d5650483f372e241a0e05000000000000000000000000040d1a232d363f474f555d60666a6e7071716f6d66615e56514940382e251b0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000714212d3a46535f697783909daab6c2cdddebf5f7f7eee2d5c9beb3a99a8e8174665c5144382c1f1207000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555a565350494745403d3b393630302e2d2a25262523222221201f1c181c1f2021222323282c2f353940454d565d676e7a85929fa7b1bcc8d4dbd0c5b8ac9f9286796d6053463a2d20130700000a16222f3b46515b636666666666666666666666666666666664615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea5afbac4d0d1c7bdb2a89d928d8e939ea8b2bdc8d2d5c9bdb2a89e938a7e70685e52483e33291f120900000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4b4b4b4b4b4b4b4ac9f92867a6d6054473c3121140a00000000000000000000000000000000000914202d3946525e6876838f9cabb5b4b4b4b4b4b4ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced3d3d2cbc5c1c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8c9c9c9c8bcafa295897c6f6256493c2f231609000000000009121a222b313940454e54565e616569666d6d676a6763605b53514b443f38302c27211a150d08040a1117232b353d474f59616461594f44392d201408000000000009131d262e373f444d52545c6062646564625f5853514b433d352d241b1108000000000000000000000000000008121c252e363e444c52535b606264656462605b53524c443e362e251c1208000000000000000000000000000008111b242d353d434b5153585f6264656462605c54524d443f372e261d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000815222e3b4855616e7b8895a0abb8c4d1ddeaebeaeaebe6dacfc5b8ab9f9285796d6053463a2e23180c000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347494e4946443f3a39352f2e2d2a252321201d191a18161515141313100c101314141517181c1f24292f343b434c555e68727f8b95a0acb8c7d1dcd3c7baaea398897c6f6256493c2f231609000006121e2a354049515759595959595959595959595959595959575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525e68707d8a939da8b2bdc7d2cfc3baaea49d9a9b9ea5afbac4cfd6ccc4b9ada1968e81756c61564c41362d21170d0000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fa8a8a8a8a8a8a8a8a8a89b8e8175675d5145392c201302000000000000000000000000000000000005111e2a36414d5665717e8b99a3a8a8a8a8a8a8a8a8a99b8e8175685d5245392c201306000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbdbdbdbdbdbcafa295897c6f6256493c2f2316090000000000000810191f272f353d43474c525459545c60605d555b56535049454039342e261e1b160e0903000000061119232b353e474f5557554f473e33281c10040000000000010b141d252d323b41464a50535557585755534e4745403a312b231b1209000000000000000000000000000000000a131c242c323a4146495053555758575553504945413a322c241c130a0000000000000000000000000000000009121b232c313a4045474e53555758575553504a46413b322d241d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000006121e2b37424d5766727f8c99a7b1bcc8d4e0e1dedddddee1dfd3c6baada2978a7d7063544b4034281c10040000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c413c3937332d2c292421201e19161413110d08070c10131315171718181818171615131213181d2329313a434c56606d7883909dabb5c0cbd7d6cbbfb4aa988c7f7265594c3f322619060000020d19232e3740464b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212a36414c56616b74818e96a0abb5c0ccd7ccc0b6aea9a7a8aaafb7c1ccd6d0c4baaea49e91847a6d605a50443a30241b0f05000000000000000000000000000000000000000000000000000006121f2b3844505b6673808c999b9b9b9b9b9b9b9b9b9b9b96897d7063554c4135291d11040000000000000000000000000000000000020e1925303b4754616d7a86929b9b9b9b9b9b9b9b9b9b9b92867a6d6054473a2d211407000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb0b0b0b0b0b0b0afa295897c6f6256493c2f23160900000000000000070d151d242932373a4146474c4a505353514b4e4946443f38342e28231c140c0a0400000000000007111a232c353e44494a49443e352c21170b00000000000000020b121b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283035383f4446494a4b4a4846443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b120b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000814212e3a47535f697783909daab7c3cdd9d9d4d1d0d1d2d5d9d6cabeb3a99b8e8174665c5145382c1f13070000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f34302d2b27221f1d181414110d08070c10131417181c1f2022232425252525242321201f1b1714181f28313b44505c66717e8b99a3afbbc7d4dcd0c1b4a89b8e8175685b4e422d22170b00000007121c252e353b3e404040404040404040404040404040403d3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a4afbbc3cfd2c8c0b9b5b3b4b6bac1c9d3d2c7bdb2a89d92897d70685d52483e32291e12090000000000000000000000000000000000000000000000000000000613202d394653606c79848e8e8e8e8e8e8e8e8e8e8e8e8e8e84786c6053463a2f24190d010000000000000000000000000000000000000814202d3946525d6875828e8e8e8e8e8e8e8e8e8e8e8e8e8b7e7165584b3e3225180b000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadada79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a295897c6f6256493c2f2316090000000000000000030b121820272b3035393a3f3f4446474540413d3937332d28231d17110a0200000000000000000008111a232c33393c3d3c39332c231a1005000000000000000000090e171f252a2e34383a3c3e3e3d3b3a37312c29241d160d080000000000000000000000000000000000000000080e161e24292d3337393c3d3e3d3c3937332d29241e160e080000000000000000000000000000000000000000080d161d24292c31373a3b3d3e3e3c3a38342e2a251f170e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000815222f3b4855626e7b8895a0acb8c4d5d5cec8c5c4c4c5c9ced6cfc5b8ab9f9285796d6053463a2f23180c0000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222723201f1b1713100c0707070d1013181d1f202323282c2d2f30313132323131302e2d2b272221201d1f28343f4a54616d7a86929facb9c5d2dccfc3b6a99c90837669544a3f33281c0f030000000a131c232a2f323333333333333333333333333333333331302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515d676f7d87939fa7b1bdc6d1d2cbc5c1c0c1c2c6cbd3d7ccc0b5aba0968d81746b61564c41362c20170d000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8181818181818181818181818181817e71665b504438281e13080000000000000000000000000000000000000005111d2935414c5663707d81818181818181818181818181817f7265594c3f3226190c000000000000000000000000000000000000000f1c2835424f5b6875828e9ba0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895969696969696969696969695897c6f6256493c2f23160900000000000000000001070c151b1e25292d2e2e34383a3a39352f302d2b27221b18120b0600000000000000000000000008111a21282d3031302d28211a11080000000000000000000000050d14191c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000040c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000006121f2b37434e5866737f8c99a7b1bcc8d4ccc3bdb8b7b7b9bdc4ccd3c6baada2978a7d7063554b4034291c100400000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161b1613120f0b060403090e12181d2024292c2d302e34383a3b3d3e3e3f3f3e3d3d3b3937332d2d2c2924232e3846525e687683909ca9b6c3cfdcd1c4b8ab9e918578665b5044382b1f1206000000010a12191e2225262626262626262626262626262626262423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202935414b55606b73808d95a0abb4bfcbd7d6d1cecdcecfd2d7d9cfc7bbafa4999184796d60594f443a2f241a0e05000000000000000000000000000000000000000000000000000000000714212d3a46535f696e757575757575757575757575757575716c62544a3f3328160c0100000000000000000000000000000000000000010d1924303a4854606b707575757575757575757575757575726d62574a3e3125180b000000000000000000000000000000000000000f1c2835424f5b6875828e93939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b888a8a8a8a8a8a8a8a8a8a8a8a8a897c6f6256493c2f2316090000000000000000000000040a0f13191d202123282b2d2d2c292423201f1b17110c070000000000000000000000000000000810171c20232423201c1710080000000000000000000000000002080e11171c1f202224252422211f1a15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151a1f212224252422201f1c17110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000815212e3a47535f6a7784909daab7c3cdcec3bab2acaaaaacb2bac4cecabeb3a99b8e8175675c5145382c1f130700000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090e090605030002080d141a1d24292c2f35393a3d40404546484a4a4b4b4b4b4a494846443f3d3a39352f2c2a36414c5666727f8c99a5b2bfccd8d2c6b9ac9f9386796c605346392d2013060000000000070d12161819191919191919191919191919191919171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f3a434f59606d79839099a3aebac2ced7e2dbdadbdbdedcd1c7bdb1a89f93877d6f675d51473d32281e1208000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6168686868686868686868686868686865625a5042382d22170b00000000000000000000000000000000000000000008131e2c38444f596063686868686868686868686868686865625b51463a2e221609000000000000000000000000000000000000000f1c2835424f5b687581868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e0000000000000000000000000000000000000000000714212d3a4754606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d2114070000000000000000000000000002080d111314171c1f2020201d181613120f0b06000000000000000000000000000000000000050b101416171614100b050000000000000000000000000000000000060b101213161718171514120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171513120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121415171817161312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000915222f3c4855626f7b8895a0acb8c5d4c8bdb2a8a09d9ea0a8b2bdc9d0c5b8ab9f9285796d6053473a2f24180c00000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000060b14191f252a2f35393a4045474a4c4b5153555657585858585756545350494a4745413a3834303e4a5764717d8a97a4b0bdcad7d4c8bbafa49a867a6d6053473a2d20140700000000000002060a0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d45515c666f7c86929fa6b0bcc5d0dbe7e6e7e8e3d7cbc0b5aba0958d80736b60554b40352c20160c000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f2f261c110600000000000000000000000000000000000000000002101c27333d474f54565b5b5b5b5b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000000000000000000000000000000000714202d3a4753606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000613202c3945515d676d7070707070707070707070707070706d685d5245392c201307000000000000000000000000000000010507060b1012131413110d070605030000000000000000000000000000000000000000000004080a0a0a0804000000000000000000000000000000000000000000030607090b0b0a0808060200000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000020608080a0b0b0907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000006121f2b37434e586673808c99a7b1bcc8d1c5b8aca096919196a0acb9c5d2c6baaea2988a7d7064554b4035291d1004000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e252a3136394045474b51535659555c6062636464656564646361605b535754514b46443f383c4956636f7c8996a2afbcc9d5d8ccc0b6a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949faab4bfcad6e2eef4ede0d3c7bbafa3999184796d60594f433a2f231a0d040000000000000000000000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d1d140a00000000000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000000000000000000000000000006131f2c3845515c676d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000000000000000000000000000000000000000004111d2935414b555d60636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000000000003060707060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000815212e3a47535f6a7784919daab7c3ced0c4b7aa9d918484919eaab7c4d1cabeb4aa9b8e8175675d5145392c1f1307000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232830363b42464b5153555d60636669676d6e70717172727170706e6c656764605d5553504a45404855626e7b8895a1aebbc8d4ddd2baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c78829098a2aebac6d3dfecede0d4c8bcb1a79f92877c6f675c51473d31281d11080000000000000000000000000000000000000000000000000000000000000000030d18212931363a3b4242424242424242424242424242423e3d3a342d241b0b020000000000000000000000000000000000000000000000050f1a232b33383c3d42424242424242424242424242423f3e3a352d251b1107000000000000000000000000000000000000000004101c2934404b555c6060606060606060606060606060606060606060606060606060606060606060606060605c544b4034281c1004000000000000000000000000000000000000000000010d18242f3a434b515457575757575757575757575757575754524c443a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0909070704010000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000915222f3c4855626f7c8896a0acb8c5d5cdc0b4a79a8d80818e9ba8b4c1d1d0c5b8ac9f9285796d6053473a2f24180d010613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171e262e343b41464d53555d6064676d70737578797b7d7d7e7e7e7e7d7c7b797774706d6764605c54514b4754606d7a8793a0adbac6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c44505b666e7b86929facb8c5d2dfebeaded1c5b8aca0958c80736a60554b40352b1f160c00000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e35353535353535353535353535353532312e29221b12090000000000000000000000000000000000000000000000000008111a21272c2f30353535353535353535353535353532312e29231b130a000000000000000000000000000000000000000000000c18232f39434b51535353535353535353535353535353535353535353535353535353535353535353535353514b42392e23180c000000000000000000000000000000000000000000000007131d28313a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707080808080808080808080807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070d1013141516171716151413110d0806050300000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060006131f2b37434e586673808d99a8b2bdc8d4cabeb3a9988b7e7f8c99abb5c0cbd3c6baaea2988a7d7164554b4035291d10040613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212930383f444c52575e61676d71757a7d7f82858688898a8b8b8b8b8a89878583817d7a76716d66605d555053606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57626c76838f9ca9b6c2cfdce9eaddd0c3b7aa9d9084796d60584e43392f23190d040000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222828282828282828282828282828282524211d171109000000000000000000000000000000000000000000000000000000080f161c20222328282828282828282828282828282625221e18110a010000000000000000000000000000000000000000000007121d273139404547474747474747474747474747474747474747474747474747474747474747474747474645403930271d12070000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f2820160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11131414141414141414141414141413110d0801000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e121415181d202022232323232221201d191613120f0b060000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000815222e3b47545f6a7784919eaab7c3ced2c6b9ada197887c7d8999a3afbbc7d3cabfb4aa9b8e8275675d5145392c2013080013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333b424a50565e61696e73797e8285898c8f91939a96979798989797969892908d8a86827d79736d67605b54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69717e8b949fabb7c4d0dde9ebded2c5b8ab9f92857b6e665b50443c30271d120700000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b191816120d07000000000000000000000000000000000000000000000000010b151f272f34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b00000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021212121212121212121212121201d19130c040000000000000000000000000000000000000000000000000106090b0c131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10141a1e212224292c2d2f2f30302f2f2d2c292422201f1b17110d08020000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000916222f3c4955626f7c8896a0acb9c5d5d1c5b8ab9e9285787a86929facb9c5d2d0c5b8ac9f92867a6d6053473a2f24190d0113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353e454d545c60686e747b80858a8f9298999c9e9fa4aca4a4a5a5a4a3aaa29f9d9a99928f8a847f79716c665e606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc7d3dfececdfd3c6baaea2989082786c60584e43392e23180d0400000000000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0906010000000000000000000000000000000000000000000000000000030d151d23292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c030000000000000000000000000000000000000000000000000000040c13181d202124242424242424242424242424242421201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d0400000000000000000000000000000000000000000000060d1215181820202020202020202020201f1515120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f262a2d2e2f35393a3b3c3d3d3c3c3a39352f2f2d2b27221b19130b0600000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130606131f2b37434e586673808d99a8b2bdc8d4ccc0b6ac9b8f82757783909daab6c3cfd3c7baaea2988a7e7164554c4135291d110413202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d363e474f575e666d727a81878d92979b9fa2aaa8abacafb6b0b1b1b1b1b0b4aeacaaaba39f9c97918c847e786e68606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232f39434e58606d78839098a2aeb8c2cdd8e4e8e6e2d6cabeb4aa9f948c7f726a5f554b4034281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b030000000000000000000000000000000000000000000000000000000001070d1113141717171717171717171717171717171413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3a39352f2820160c0100000000000000000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2c22211f1b150e060000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151d23282c31363a3b3f40454748494a4a49484745413f3c3937332d29241e17110a020000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060815222e3b4754606a7884919eabb7c3ced4c8bbafa49a8b7e7173808d99a9b3becad6cabfb4aa9b8f8275675d5145392c20130813202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d373f48505961696e787f858e92999fa2a9acaeb4b5b8b9bbc0bdbebebebebdbfbab8b6b5aeaca9a19e97918b827a706b6d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202934404b555f6a727f8c949faab4bfcad4dedcdbd9dadbd0c5bcb0a69f92867c6f675c51453d31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0d0e0e0e0d0c0c0b090707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c101314141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323a41464747474747474747474747474745413a32281e13080000000000000000000000000000000000000009131b23292e31323939393939393939393939392f2e2b26201810060000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383b4246484c4b515355565656565554524c4c4946443f38353027221b140b0600000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013030f1b27333f4953626f7c8996a1acb9c5d5d2c6b9ac9f93877b6e6f7c8997a2adbac6d3d0c5b8ac9f92867a6d6054473a2f24190d13202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19232c363f49515a616b707b828c92989fa3abadb3b8babfc2c4c6c8c9c5c4c3c2c0c0c0c1c3c3bfbbb9b2ada9a19e948f857d706d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515c676f7c87929fa6b0bcc5d0d7d3d0cfcccdd1d7cec2baaea3999083796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080d1113141618191a1a1b1b1a1a191818161413110d0807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c5254545454545454545454545454524c443a2f24190d01000000000000000000000000000000000006111b252d343a3d3f4646464646464646464646463c3a37312a22180d03000000000000000000000000000000000000000000000000000000000000000000000000080e161e242930394045464d535558555d60626263636262605d56595553504946413a332d261d180f0a010000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201305121f2b3744505b6573808d9aa8b2bdc9d5d0c3b6aa9d908377696d7985929fabb8c5d2d3c7baaea3988a7e7164564c4135291d1113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353e48515b626c717d8590949fa2aaafb5babec5c6cacac6c5c1bdb9b7b6b5b4b3b3b5b6b8b9bdc2beb9b2ada69f9792867d70798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a444f59606d79839199a3aeb9c2ced3ccc7c3c2c0c1c5cad7cbbfb4aba0958d80736b60554c41352920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c10121316191d20212324262627272827262625242321201d19171413110d08050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424c565e616161616161616161616161605d564c4135291d110400000000000000000000000000000000010d18232d373f464a4b5353535353535353535353524847433c342a1f150b010000000000000000000000000000000000000000000000000000000000000000000008111a202830353e434b5153575f616568676d6e6f70706f6f6d68696662605b53524c443f382f2a211c130b0200000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130613202d394653606c7884919eabb7c4ced5c9bdb2a8998c7f73666675818e9babb5c0ccd6cbbfb4aa9c8f8275685d5245392c201308202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d47505a626d727e8792979fa6aeb4bbc0c7cacfc9c5bebab8b5b2acaaa9a8a7a6a7a8a9abadb2b6b9bbbeb9b0a9a19892877d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56606b74808d95a0abb5bfcbd3cac1bbb7b5b3b4b9c0c8d1c6bdb1a79f93877d6f675d51453e32291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f202324292d2e2f3132333434343433323231302d2c29242421201d1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545e686d6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013070000000000000000000000000000000006121d29343f4951565860606060606060606060605f55534e463c31271d120700000000000000000000000000000000000000000000000000000000000000000008121a232c323a41454f555c6064696e7275777a7b7c7d7d7c7b7a7876726f6c65615d565049413c332e251d140b01000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130f1b27333f4953626f7c8996a1adb9c5d6d2c5b9ada196887c6f6264717e8b99a4afbbc7d4d0c5b9ac9f92867a6d6054473a3024190d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a444f59616c727f889299a2a9b0babec5cbd0cac5beb9b3adaba8a8a09e9c9b9a999a9b9c9ea1a9a9acafb5bbbbb3aaa39992857b8894a1aebbc7d4d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323b45525d68707d88939fa7b1bdc6d1cdc1b8b0aaa8a6a8aeb6c0cbcfc3bbafa49991847a6d605a50443b3025190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2f3035393a3c3e3f4040414141403f3f3e3c3a393530312d2c2924211e1a14100b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415161616161616161616161616161616161616161616161616161616161616161616161615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e212121201e19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d7a7a7a7a7a7a7a7a7a7a7a7b7a6d6054473a2d211407000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c625f584e43392f23180e050000000000000000000000000000000000000000000000000000000000000008111a242c353e444c525961676d71777b7f8284868889898989888785827f7c78726d68605b534e453f372e261d140a010000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013121f2b3744505b6574808d9aa8b2bdc9d5d1c4b8ab9e9184786a5f616d7a86939facb9c6d2d3c7baaea3998b7e7164564c4135291d11202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414c56606b717e88939aa3abb3bbc2cad0cec5bfbab3ada9a29f9b979691908f8d8d8d8e909196989c9fa4abafb5bcb4aba1979083909ca9b6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d7a84919aa4afb9c3cfcfc5bbb0a69e9c999ca4aeb9c3cfccc0b5aba1968e81746c61564c41362a21180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d13181c22282b2e34383a3c3f414647494b4c4d4d4e4e4d4d4c4b4b49474541413e3a39352f2d2a261f1c160f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222323232323232323232323232323232323232323232323232323232323232323232322221f1b150e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a2d2e2e2d2a251e18130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d788587878787878787878787877e7164574b3e3124180b000000000000000000000000000000000b1824313d4a56626d727979797979797979797979796f6a5f554b40342920170b02000000000000000000000000000000000000000000000000000000000007111a232c363e474f565d606b70797e83888b8f91939a959696959596918f8c88847f7a726c655f57514940382e261c130a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201313202d394653606c7884919eabb8c4cfd5c9beb3a99a8d817467585e687683909da9b6c2cdd7cbbfb4ab9c8f8275685d5246392d2013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e686f7d86929aa4acb5bdc5cdd6ccc4bcb4aea9a19e97928e8b87848382818080828385888c8f93999fa4abb0bbb3a99f9490949fabb7c4d0ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d56616c75818e96a1acb6c0cbd6cabeb3a99e948f8d929ca7b1bdc6d1c7bdb2a89d938a7e70685e52463f332a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d24292d333839404446494c4c5254565759595a5a5b5a595958575654524c4d4a4745413b3a36312c271f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c222831363a3b3b39363029241d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a9794949494949494949285796d6053473a2d201407000000000000000000000000000000000c1825323f4b5865727f8686868686868686868686867c6f675c51453e32291d140a00000000000000000000000000000000000000000000000000000000060f19232c353e48505961686d747d848b9095989b9e9fa4aca3a3a2a9a19e9c9996918c867f776e6a635b524a40382e251c120800000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d200f1c28333f4a54636f7c8996a1adb9c5d6d2c6b9ada197897d7063565665727f8c98a7b1bcc8d4d1c5b9ac9f92867a6d6154473a302519202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3943505a616d7a859198a3acb6bec7cfd4cbc3bab2aaa29f97928b85827e7b7776757473747576787b7f83878e93999ea6aeb5b0a69f9c9fa6b0bbc7d3dfd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea8b2bec7d2ccc4b9ada2978f82808d95a0abb4bfcbd0c4baafa59e92857a6e615a50453b30261c11060000000000000000000000000000000000000000000000000000000000000000000000000002080d161d24292f35383f44464a51535659565d6162646566676767676665656463605d565a5754514c4846423b38332b28221c140b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181d262d333b4246484746413b352f28231c150c0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828e9ba9a1a1a1a1a1a89a8e8174675d5145392c1f1306000000000000000000000000000000000b1824313d4a56626d75828f9793939393939393989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000030e18212b353e47505a616b707a818a91969d9fa7a8aaacafb6b0b0afb2adaba9a8a09e98928b837b726d645c524a40372e241a0e04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20121f2b3844505b6674808d9aa9b2bdc9d5d1c5b8ab9e9285796d605354616e7b87959fabb8c7d2d3c7bbaea3998b7e7165564c41362a1d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000000000004101d2935404b55616c75818f97a1aab4bec7d0d4cac2b9b1a8a198928c857f7975716e69696867666768696a6e72767b81878f949fa3abb2b0aba9abb0b8c2cdd8e4d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303844505b656e7b85929ea5afbac4d0cfc4baafa59e92857a79839099a3aebac2ceccc0b9ada1978f82756c62574d42382e23170d030000000000000000000000000000000000000000000000000000000000000000000000050d14191f282f353a40454a5053545c60626669686d6f71727373747474737272716f6d68696764605d5555534d48443d38332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333b424648494949494949494949494949494949494949494949494949494949494949494949494947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821292f383f444d535454524c45403a342e271e1b160f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facadadadadaca096897c6f63554b4035291d1004000000000000000000000000000000000915222e3a46515b616d7a85919aa49f9f9f9f9fa0958d80746b61564d41382d22170d040000000000000000000000000000000000000000000000000009151f2a333d474f59616c717d848e939ea1a8abb1b5b7b9bbc0bcbcbcbdb9b8b5b2acaaa29f9490867f746e645c524940362c20160c020000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013202d394653606c7885919eabb8c4cfd5c9beb3a99a8d8174665c50535e697683909dacb6c0ccd7cbbfb5ab9c8f8276685e5246392d20202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000000000006131f2c3945515d67717e8a939ea9b3bcc6d0d6cdc2b8b0a79f9691867f79726d6764615e565c5a5a5a5b585f6265696e757b828c9299a1a9b2b7b6b7bbc2cad4dee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adb7c1ccd5c9bdb2a89e938a7e716f7c86929fa6b0bcc5d0c9beb3a99e948b7e71695f544a3f34281f150b01000000000000000000000000000000000000000000000000000000000000000000070e171f252a313a41454b51545b6063666d6f7275787a7c7e7f8080818180807f7e7e7c7a787674716d6765615f57544f46443f382f29241d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555656565656565656565656565656565656565656565656565656565656565656565655544e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d2328333b424a50575e61615e56514b444039302c27211b150e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727e8b98a3aebabac0b6ac9e9184786c605346392f24180c000000000000000000000000000000000006121d29343f46525e68707d88939fa7b1acacb1a79d928a7d70685e53493f33271f160c010000000000000000000000000000000000000000000000040d1a26313c454f59616b717e8791979da5adb2b8bcc2c4c6c5c3c2c2c3c5c5c4c2bdb9b4aea69f98928c80746e635b51483e32281e13080000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201c28343f4a5463707c8997a1adb9c6d6d2c6b9ada197897d7063544a4d5765727f8c9aa4afbbc8d4d1c5b9ac9f92867a6d6154473b3025192c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e08010000000000000000000000000005111d2935414c56606d7984919ea5afbbc4cfd8d0c4bbb0a69f9590847c736d67605c5554524d4f4e4d4d4f4e5355575f62696e777f879197a1a9b3bcc6c7cdd4dce6e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3bec9d3ccc3b9ada1968e81756c6a727f8c949faab4bfcacfc5bbb0a69f92867b6e665c50443c31271d120700000000000000000000000000000000000000000000000000000000000000010a1119202930363e434b51555d60666c7074797c7f828587898a8c8c8d8d8e8d8c8c8b8a89878582807d7a76726e6963605953504a423c352f271f181008000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6163636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e272e343e454d545b60696e6e68605d55514a423e38322b26201a140d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000010d18232a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d120700000000000000000000000000000000000000000000010c16202b37424d57606b707d879299a1a9afb9bdc4c7c6bfbab8b7b5b5b6b8babec5c8c5bfbab0aaa39f928d80736d635a50443a3025190b0200000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201f2b3844505c6674818d9aa9b3bec9d5d1c5b8ab9e9285796d6053464854616e7b87939facb9c6d2d4c7bbafa3998b7e7265564c41362a1e2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b020000000000000000000000000713202d3946525e68737f8c97a1adb7c1cdd6d2c7bdb2a99f948f837a6e6a605d55514b47464242414041424347484d53575f656c727c859197a2aab4bfcad6e0e6eee1d4c7bbaea194887b6e6155483b2e22150800000000000000000103040404040404040404040404040404040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc5cfcfc3baaea49e91847a6d60606c78829098a2aebac1cdcdc1baaea2989083786d60584e43392f23180d040000000000000000000000000000000000000000000000000000000000010a131b232b323b414650555d60676d72787c8185898c8f9297959798999a9a9a9a999898979697918f8d8a86827f7b76706b64605b544e454039312a221a1109010000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e707070707070707070707070707070707070707070707070707070707070707070706f6a5f54473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101920293039404550575f666c727b7a736d67605c545048443d37312a251f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0b01000000000000000000000000000000000000060d1925303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0500000000000000000000000000000000000000000008131e28323a47535f69707d869299a3abb2bbc1c9c2bcb7b4aeacaaa8a8aaabadb3b9bbc0c7c2bcb4aea49c928c7f736c61564c4135291d140a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20202d3a4653606d7985929eabb8c4cfd5c9beb3a99a8d8174665c504446535e697683909dacb6c0ccd7cbc0b5ab9c8f8276685e5246392d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b0100000000000000000000030f1c28333f4a54616d7a85929fa9b2bec9d3d7ccc0b5aba1968f82796e685f58514b45403b3a363034333431373a3c42474d535b606a6f7c859298a2aebac2ced8e2ede1d4c7bbaea194887b6e6155483b2e221508000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a2aeb8c2cdd1c7bdb2a89d92897d70685d5b666e7b86929fa6b0bbc5cfcabfb4aa9f948c7f726a5f554b4034291f160c01000000000000000000000000000000000000000000000000000000020b141c252d353d444d525a61676d737a7f84898e9297999c9ea1a9a4a5a6a6a7a7a7a6a5a5a4a9a19e9c9a99928f8b88827d77716c665f58514b433c342c231b130a0200000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222b323b424b515a61696e787f86858079726d66615a544f47433c363029241e160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a7b1bccabfb4aa9c8f8276695e5341382d22170b000000000000000000000000000000000000000008131e28323d45515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c0200000000000000000000000000000000000000010d19242f3a44505a616e7b869298a3abb5bdc4c6bfbab0abaaa29f9d9c9b9d9fa2a9acafb6bec4c6bfbaaea49c918a7e71685e52463d2f261b1106000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1c2834404a5463707d8997a1adb9c6d6d2c6b9ada197897c7063544a3f424d5765727f8c9aa4afbbc8d4d1c6b9ac9f93877a6e6154473b30252c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362e261d12080000000000000000000006121f2b3844505b66727f8c98a2aebbc4cfdbd4c7bbafa49991847a6d675e564e45403a342e2d2a25272727262b2e31373c41495058606a6f7d86929fa6b0bcc6d0dce7e1d4c7bbaea194887b6e6155483b2e22150800000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c959faab4bfcad7cbc0b5aba0968d80746b6056545f69717e8b949ea9b3becad0c5bcb0a69f92877c6f675c51453d31281e13080000000000000000000000000000000000000000000000000000010b141d262e373f474f565e616c717a80858c91969a9ea2a9a8abadb3b1b2b3b3b4b4b3b3b2b1b1b2adaba9aba39f9c98948f89837e786f6a605d554e463e352d251c140a01000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808989898989898989898989898989898989898989898989898989898989898989898983776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b2227343d444c545c606c717b838c92928c857f79716c636059534e46423b352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000020c16202834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291e140a0000000000000000000000000000000000000004111d2935414c56616c76828f98a2aab4bdc6c5bcb4aea69f9c9892908f8f9092979b9fa4acb2bac3cbbfb6ada39e92857a6d61594f41382d22170b000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1f2c3844515c6674818e9aa9b3bec9d5d1c4b8ab9e9185786c605346393b4854616e7b87939facb9c6d2d4c7bbafa4998b7e7265564d42362a2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252524d4c4740382e24190e030000000000000000000613202d394653606c7884919eaab3becdd6d5c9bdb2a89f93877d70685e554c443c352f2823201e191b1a1a1a1f21262b2f383f444e58606b717e8a949eaab4bfcbd6e3e1d4c7bbaea194887b6e6155483b2e221508000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676f7c87929fa7b1bcc6d0cfc6bbafa3999184796d60594f4d57626c75828f97a1adb9c1cccec2bbaea3999183796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000a131d262e384049515960686e767e848c92979ea1a8abadb3b5b8b9bebdbfbfc0c0c1c0bfbfbebdbeb9b8b5b5aeaca9a69e9c95908a837c736d675f584f473f372e261c130a000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d96969696969696969696969696969696969696969696969696969696969696969083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d262d333e464e565e666d747e8690959f9f97928b847e76706b625f58524d45413a322820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a00000000000000000000000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b30261c11060000000000000000000000000000000000000713202c3945525d68717e8a949faab4bcc6c5bcb3aaa29f94908a858482828385898e939aa0a8b1b9c3c8bfb9ada1978e81746b6053493f33271b0f030000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d202d3a4653606d7985929eabb8c5cfd5c9beb2a99a8d8074665b5044383a46525e697683909cacb6c0ccd7ccc0b5ab9c908376695e52463a2d2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f1307000000000000000003101c28343f4a5463707d8a96a0acbcc5d0ded2c5b9aca1968d80736b60564c433b3229241d1814110e090d0a0f12151a1d262d333d464f59616c76828f98a3aebac7d3e0e1d4c7bbaea194887b6e6155483b2e2215080000040e1720272e33363737373737373737373737373737373734322f2a241c140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a3afb9c3ced1c6bcb1a79f92877c6f675d514745505a616e7a85929ea5afbac4d0cbbfb5aba0958d80736b60564c41352920170d02000000000000000000000000000000000000000000000008121c252e38404a525b626b707a828a91969fa2a9adb2b8b9bec2c5c6cacfcbcccdcccbcbcccbcbcfc9c6c4c2bfbbb9b6b0aaa79f9d95908780796f6a6159514940382e251c12090000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272f383f44505860686e78818a92989fa7a9a19e96918a837d756f6a615e57524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9bdb2a89b8e8174675d5145392c201302000000000000000000000000000000000000000000000007121d27303c45505a606d7a849199a3afbbbfb4aba0968e81746c61574d42382e23170d040000000000000000000000000000000004111d2935414b55606d7a85929ea6b0bcc5c6bcb3a9a298928b837e7a77757577797d81889196a0a7b1bac4c9beb3a99d93897d70655b5044372b1f13080000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2834404b5463707d8997a2adb9c6d6d2c6b9ada197897c6f63544a3f3336424d5765727f8b9aa4afbbc8d4d2c6b9ac9f93877b6e6154473b30253946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b000000000000000006121f2b3844505c6675818e9ba8b2bdced7d6cabfb4aa9e9184786d60594f443a31292018130c0705020000000206090b141b2227343d46505a616e7b86929facb8c3ced9e5d4c7bbaea194887b6e6155483b2e22150800000b15202931393f4244444444444444444444444444444444403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935414c56616b74808d96a0abb5c0cbd7cbbfb4aaa0958d80736a60554b403f46525e68717e8a939ea8b2bec7d1c6bdb1a79f93887d70685d52453e32291f14080000000000000000000000000000000000000000000007101a242e37404a525c636d727d858f949ea1a8adb3b9bdc4c6cacfd1cbc7c5c3c1c0bfbfbebfc0c1c2c5c6cacfcbc7c5c2bbb7b1aba79f99928d847c706b625b524a40372e241b120800000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7afafafafafafafafafafafafafafafafafafafafafafafafafafafafaa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2830394149505a616a6f7a838e939fa2aab1b3ada8a09e959089827c746e69605d564c443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca096897c7063554b4035291d10040000000000000000000000000000000000000000000000000b151e2a333f45525d686f7d87929fa7b1bcbdb2a89d938a7e71695e544a3f34281f160c010000000000000000000000000000000613202c3945515d6774808d97a1adb8c2cbbfb4aaa29792867f76716d676968666d70757d849095a0a8b2bdc9c5bbafa59d9083786c6053463a3025190d0100000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2c3845515c6674818e9ba9b3becad6d1c4b8ab9e9184786c605346392d303b4754616e7b87939facb9c6d2d4c7bbafa4998b7f7265574d42362a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f3326190d00000000000000000713202d3a4653606d7985929eabb8c4ceded3c6baaea2988c7f72665c50473d32281f170e0701000000000000000000020a1117222b343e46535f6973808d9aa8b1bdc8d4e1d4c7bbaea194887b6e6155483b2e2215080006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333b46525e68707d89929da8b2bdc7d1cec5baaea3989083786d60584e433936414c56616c75818e96a1acb6c0cccfc3bbafa49a91847a6d605a50443b3025190f060000000000000000000000000000000000000000030d19222c364049525c646e737f8791979fa6adb2babec5c9cfcdc8c4c3c0bbb9b6b5b4b3b2b1b2b3b4b5b8babec1c5c6caccc7c3bcb8b1aba39f9691867d726d645c52493f362d241a0f06000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1720283139424a535b606c717c8490959da5aeb4bcbeb9b2aca79f9d948f87817b736d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e5765727e8b98a3aebac7c0b6ac9e9184786c605346392f24180d01000000000000000000000000000000000000000000000000030c18212935414c56606b73808c959faab3bebaafa59f92857b6e665c50443d31281e13080000000000000000000000000000000714212d3a4754606d7a86929fa9b3becac7baaea39892857c726d64605d55545c60636b707a839096a0acb9c1cdc0b8aca095897d7063564c41362a1d110500000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2d3a4653606d7985929fabb8c5cfd5c9bdb2a99a8d8074665b5044382b2d3a46525e697683909cabb5c0ccd7ccc0b5ab9c908376695e52463a2d3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b9ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585868074675a4d4134271a0e0100000000000000091623303c4956636f7c8997a2adb9c6d2dfd2c5b8ac9f92857a6d60544a3f352b20160d0500000000000000000000000000061019222a36424d57626f7c8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e221508000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea4aebac3cfd0c5bcb0a69f92867c6f665c51463d31303b44505a606d7a84919aa4afbbc3cfccc0b6aca1968e81756c61564d41362a21180c03000000000000000000000000000000000000010b151f2b343e48525b646e74808c9299a1a9b0b9bdc4cacfcbc7c2bcb8b6b5afaca9a8a7a6a5a5a5a6a7a9abadb3b4b8babfc5c7ccc8c2bdb5afa8a09892877f736e645b51483f362c21180c030000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020304040504030201000000060f182129323a434b545c656c737e8691969fa7afbabec5c9c3bdb9b1aba69e99938e86807a6d685d5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac0baada2979082786d60584e433a2f24190f060000000000000000000000000006121f2b37434e5865717e8b98a2aebbc5c8bcb1a79f92867d6f6a625b53514b4a50535960686e7a84919ea5afbdc7c8bcb1a79b8e8175685e5246392d20130700000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392834404b5563707d8a97a2adbac6d3d2c5b9ada196897c6f63544a3f33282a36424d5765727f8b99a4afbbc7d4d2c6b9ac9f93877b6e6154483b313946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e0d3c7baaea39992929292929292929292929292929292929292929292929292929292929292929292929292929292929292928d8074675a4d4134271a0e01000000000000030f1c28333f4a546673808d99a9b3becad6d5c9bdb2a89a8d8074685d5242382e23190e0400000000000000000000000000000007101a26313b47535f6a7784919daab7c4d0ddd4c7bbaea194887b6e6155483b2e221508000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e97a1adb6c0ccd6cabfb4aa9f948c7f726a5f544a40342b29323e45525d68707d88939fa8b2bdc7d1c7beb2a89e938a7e71685e52463f332a1e150a00000000000000000000000000000000000007121d27313d46505a636d74808d929fa3abb3bbc2c9cfcfc7c0bbb9b1aba9aba39f9d9b9a99989899999a9c9fa2a9a8acaeb4b7bbc2c7cfc7c0bbb2aaa299938b80736d635a50483e332a1e150b0000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfc5c6cad0d7d6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0e0f1010111211100f0e0d0c090f18212a333b444c555d666d77808b9298a1a8b1b9c0cad0d5cec8c2bcb8b0aba49f98928d847a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0c0100000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c030000000000000000000000000815212e3a47535f6a7683909daab4bfcdc5b8aca0958c7f726b6058514745403f44464f565e686f7d89939eabb5c0ccc3b9ac9f92867a6d6154473a2f23180c00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392c3845515c6774818e9ba9b3becad6d1c4b8ab9e9184786c605346392d2225303b4754616e7b87939facb9c6d2d4c8bbafa49a8c7f7265574d42363946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d7cbbfb4aba39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0100000000000006121f2b3844505b667683909ca9b6c3cfdbd2c5b9ada196887b6e62564c4130261c1107000000000000000000000000000000000009141f2b37434e586673808c99a6b3bfccd9d4c7bbaea194887b6e6155483b2e22150800101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b2bec8d2cdc5baaea2989082786c60584e42392e22202935414c56606b74808d96a0abb5c0cbd0c4baafa59e92857a6e615b51453c30261c110600000000000000000000000000000000000c18242f39434e58616c73808c929ca4afb5bdc4cdcfc9c0bdb5afaca79f9d999992908e8d8c8c8b8c8d8e8f9297979b9fa2aaaab0b7bbc1c8cbc3bcb4aba49f928c7f726d625a50453c30271d120700000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b8babec5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c10131416181a1b1c1d1d1e1e1d1d1c1b1a181618212a333c454d565d676d78818d929fa3aab2bac2cbd6dbd6cdc4beb9afa9a19e949087807a6d685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a7b1bccabfb4aa9c8f8376695f5341382d22170b00000000000000000000000000000000000000000000000000000000010c162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a0000000000000000000000000915222f3c4855626f7c88959fabbcc6c9bdb2a99d9183786d60594f463f393534383d444c56606b74818e99a4afbbc7c7baaea3998c7f7265554b4034291c1004000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d8074655b5044372b1c202d3946525e687683909cabb5c0ccd7ccc0b6ac9d908376695e53463a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dcd1c6bdb4aeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e010000000000000613202d394653606c7985929facb8c5d2ded1c4b8ab9e9184786a5f53443a2f1e150a000000000000000000000000000000000000030f1b26323e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e22150800111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656e7b85929fa5afbbc4cfcfc5bbb0a69f92867b6e665b50463c30271c19242f3a444f59606d79849199a3afbbc3ceccc1b9ada2978f82766d62574d42382e23170d0300000000000000000000000000000004101d2935404b55606a717e8a929ca4aebbc0c7cfccc4bdb9afaba39f9b95908c8986838281807f7e7f80818285888a8e92989c9fa6aab0b8bdc3ccc5bdb5afa49c918b7f716c61574d42392e23180c03000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6abaeb3bcc5d0d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000205080d111314181d1f202224262829292a2b2b2a2928272625232129333c454d575e686d79828e939da4aeb4bcc4ccd4d7cfcac1bbb2ada59d97918a827c746d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c11060000000000000000000003101c28343f4a546673808d99a7b1bccec5b9ada1968a7d70665c50473d342c29282b323b444f59616e7b87939facb9c6cbbfb4ab9d908376675c5145382c1f1306000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463935404b5564707d8a98a2aebac6d3d2c5b9ada196897c6f6353493f33271b1e2a36414d5665727f8b99a4afbbc7d4d2c7b8ab9f95877b6e6154483c3146535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b3a79a8d8074675a4d4134271a0e010000000000000815222f3b4855626e7b8898a2aebac6d3dbcec1b5a89b8e827568574e4232281e0c03000000000000000000000000000000000000000a1623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c77828f97a2adb7c1cdd5c9beb3a99e948b7e71695f544a3f342a1e15131e28323d45515d676f7c87929fa7b1bcc6d0cabeb3a99e948b7f72695f544a3f34281f150b0100000000000000000000000000020c1a242c3845515d676f7c86929fa4adb6bfcbd1c9c1bab2ada59d99928e8983807d7a76757473727272737476787b7e81858a8f949c9ea6acb2bbc0c7c7c0bbada39f93877e70695f544b4034281f1409000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9999999999999999999999999999999999999999999fa2aab3becad0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e202124292c2d2f31333535363737383736353433322f2d333b454d575f696e7a838f949ea5aebabfc6ced6d4cdc5beb9afa9a19e938e847e766f6a605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a0000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000006121f2c3844505c667683909ca9b6c2cdc4b8ab9e9184786c60544a3f352b221d1c2029323d46525e6976828f9cacb6c0ccc5b9ac9f9286796d6053473a2d201407000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393845515d6775818e9baab3becad6d1c4b7ab9e9184786c605346392d22171925303b4754616e7a87939facb9c6d1d4c8bcb1a7998c7f7266574d423746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b3a79a8d8074675a4d4134271a0e010000000000000b1824313e4b5764717e8a97aab4bfcad6d6cabfb4aa988b7f7265584c3f3125160c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949fa9b3bec9d3ccc4b9ada1978f82756c62574d42382d22180c0c16202935404b55606a73808c959faab4bfcbcfc5bbb0a69f92867b6e665c50443c31271d1207000000000000000000000000000a141e2c38434f59606d79849198a3aeb6bfc8d7c9c0b7afa8a19e928e86817c7673706d67686766656566666769696e7175797d82898f949da0a8afb6bec5ccbfbbafa49992867b6e665c51453b31261a0e020000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2f35393a3c3e4041424343444544434241403f3c3a3b454d575f696e7b8390959fa6afb7c0cbd0d8d6cbc2bbb3ada59e97918a8179716c625f58524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000613202c3945525d6875818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a3f342820160c0200000000000000000713202d3a4653606d7985929facb8c5cbbfb4ab998d8073665b5042382e2319101017202a36424d5764717e8a9aa4afbbc8c7bbaea399897c6f6256493c2f231609000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393a4753606d7985929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b1114202d3946525e6876838f9cabb5c0cbd7cdc2b6aa9d908377695f53463a46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0f3eae2dcd7d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b3a79a8d8074675a4d4134271a0e010000000000000c1926333f4c5966727f8c99a5b2bfd0dbd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a45515c666f7c86929fa6b0bcc5d0d0c4baafa59e92857a6e615a50453b2f261c1006040d18242f39434e58606d78839098a3aebac2cecdc2baaea2989083786d60584e43392f24180e04000000000000000000000006111c2630384854606b74808d96a0aab4bfc8d1c9c0b7afa59e969189817b756f6a6663605d555a595958595a5b575f6164676d71767c828991969fa4acb3bcc4ccc0b5aba2989083796d60574d42362a1e12050000000000000000000000000000000000000000000000000000000a1723303d4a5663707d7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f85929fabb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000070c11171c1f262b2d3036393a3e404547494b4d4e4f5050515150504f4e4d4b4947454d575f696e7b8491959fa7b0b8c1c9d6d8d0cbc0b9b1a9a29e938e847d746d67615a534e45413a322820160c020000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4035291d11040000000000000000000000000000000000000000000000000000000000000000030c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000916222f3c4955626f7c8898a2aebac6c7baaea399887c6f62544a3f30261c1107050e1a25303b4754606d7a86939facb9c6cbbfb5ab988c7f7265594c3f32261906000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534635404b5564717d8a98a2aebac6d3d2c5b9ada196897c6f6253493f33271b0a111e2a36414c5665727e8b99a3afbbc7d4d1c4b8ab9f95887b6e6155483c46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdc9c8c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e010000000000000e1b2734414e5a6774818d9aa7b4c0cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f3a434f59606d79839098a3aeb8c2ced2c7beb2a89e938a7e71685e52483f33291d140a000007121d27313d44515c666e7c86929fa6b0bcc5d0cabfb4aa9f958c7f736a60554b40352920160c02000000000000000000000b17232e3842505a636f7c88939fa8b2bcc6d0c9c0b7afa59d938e847d746e696260585653514b4e4d4c4b4c4d4e4d5355555d60646a6f757c848d939aa2a9b2bbc3c7bdb4aaa0958d8074695f53463a2d2114070000000000000000000000000000000000000000000000000000000916232f3c4855606b707373737373737373737373737373737373737373737884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030b12181c23282b31373a3b4146474b4b51535557595b5c5c5d5e5e5d5c5b5a5958565451575e696e7b849196a0a7b1b9c2cad3d6cec6bfbaaea79f97928a817a706b605d555047433c352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a3aebac7c4b7ab9e9184786c6053463a2f24180d01000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f06000000000000000c1825323f4b5865727e8b98aab4bfcac5b9ac9f9286796d6053463a2d20150a00000914202c3945515d677784919daab7c4d1c1b5a89b8e8275685b4f422d22170b000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463945515d6775828e9baab4bfcad6d1c4b7ab9e9184786c605346392d22170b0e1925303b4754616e7a86929facb9c5d1d4c8bcb1a7998c7f7266574d4246535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e010000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414b55606b73808d95a0aab4bfc1c1c1c0b6aca1968e81756c61564c41362d21170b020000010b151f2834404a545f6a727f8c949faab3bec1c1c1bcb1a79f92877c6f675d51453d32281e130800000000000000000003101c28343f4a54616c7683909aa4afbac3ceccc1b7afa59d938e817a706b615e57544e4a47454041403f3f3f40414246484b51535860626b6f7980889297a1a9b2bac3c4bab0a69f93867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000714202c38444f59606366666666666666666666666666666666666666666b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000040a0c151c23282e34383c4246484c525457555d606264666868696a6a6b6a696867666562605d5e696e7b849196a1a8b1b9c2cbd3d4ccc4bcb4aea49d9590857e756d686159514b433e373129241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfc7bbb0a6998c8073655b504437281d1307000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505b666e7b85929ea5afb9beb4aa9f958d80736b60564c41352921180c030000000000010e1b2834414e5b6774818e9aa7b4c1d0c3b6aa9d908377665c5145382c1f1303000004111d2935414b556875818e9ba8b4c1cec4b7aa9d9184776a53493f33271b0f030000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463a4753606d7a86929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b11060814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d908377695f534746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e01000000000000111d2a3744505d6a7783909daab6c3d0dcd0c3b6a99d9083766a544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d676f7d87939fa7b1b4b4b4b4b4b4afa49a91847a6d605a50443b30241b0f0600000000030d18232e39424e58606c77828f98a2aeb4b4b4b4b4b4afa3999184796d60594f443a3024190d01000000000000000006121f2b3844505c66707d8a959facb6c0cccfc4baafa59d938e81776d686059524d47433d3a39352f333232333331363a3b4045474e545960676d747d859197a0a8b2bbbcb2a89f948d8073695f53463a2d21140700000000000000000000000000000000000000000000000000000004101c27333d474f5556595959595959595959595959595959595959595e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000060b151b1e272e34383f44464d5355565e616468676d6f71737475767677787776757473726f6d67686e7b849196a1a8b2bac3ccd4d4cbc2bab2aaa39f928d837b716c615d564f45413a312b262019130c0400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69707e8a929da7b1bcbcb1a79f93877d70685d52463f332a1e150b0000000000020f1c2935424f5c6875828f9ba8b5c2cdc1b4a79a8e817467544b4034281c10040000010d18242f3f4c5966727f8c99a5b2bfccc5b8ab9e928578655b5044372b1f12050000000000000000030607080f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140808080807060401000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346414b5564717e8a98a2aebac6d3d2c5b9aca196897c6f6253493f33271b0a0005111e2a36414c5665727e8b99a3afbbc7d4d1c4b8aca095887b6e62554846535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb2aaa4a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e01000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3842505a606d79849199a4a8a8a8a8a8a8a8a8a89f93887d70685d52483e32291e120900000000000007121c27303c44505b656e7b85929fa5a8a8a8a8a8a8a8aba0968d80746b60564c4135291d110400000000000000000713202d3a4653606d7884919da7b1bec7d2c9bdb2a89e938e81776c655d564f46423b37322d2c29242626252627262a2d2f35383d43474f555d606b707c859196a0a9b3b4aaa1968f82786d60574d42362a1e1205000000000000000000000000000000000000000000000000000000000b16212c353d44484a4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000020a111720262b303940444a5053575f6166686d7175777a7c7e8081828383848483838281807e7c7a77737a849196a0a8b2bac4ccd5d3cac2b9b1a8a198928b80786e69615a524c443e352f281f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a6b0bccabfb4aa9c908376695f5341382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e95a0aab4bfbbafa49991847a6d615a50463c30271d12070000000003101d293643505c6976838f9ca9b6c2ccbfb3a6998c807366594d402e23180c00000000071825313e4b5864717e8b97a4b1becac6b9ac9f9386796c605346392d201306000000000000060c10121314141b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2114141414141413110d070100000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534645515d6775828f9baab4bfcad6d1c4b7ab9e9184786a605441382d22170b00010d1925303b4754616d7a86929facb9c5d1d4c8bcb1a7998c7f7366584e43535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa09995939393939393939393939393939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e01000000000000121f2b3845525e6b7885919eabb8c4d1dbcec1b4a89b8e8175685b4e4235281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616c74818e969b9b9b9b9b9b9b9b9b9b9b968d80746b60564c41362c20170d00000000000000000b151e27333f49535e69717e8b939b9b9b9b9b9b9b9b9b9b9b93887d70685d5245392c2013070000000000000005121e2a36424d5764707d8a95a0acb9c2d0cfc6b9ada1968e81776c655b534c443d36302b2720201d181a1918191a1a1e2124292c32373d434b5159606a6f7b849197a1abaea29891847a6d665c50453b31261a0e0200000000000000000000000000000000000000000000000000000000050f1a232c33383c3d404040404040404040404040404040404045515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b141b222732373e424a51545c6064696e73777a7e818486888a8c8e8f8f909191908f8e8d8c8b89868380839196a0a8b2bac4ccd6d2c9c1b8b0a79f9691867e746d665e575046413a3229241d160d0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c6baaea2988b7e7165574d422f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79839198a3aebac0b5aba1968f81756d62584e43392e23180e0500000004111e2a3744515d6a7784909daab7c3cbbeb2a5988b7f7265584c3f32251907000000000a1724313d4a5764707d8a97a3b0bdcac7bbafa499877a6d6054473a2d21140700000000030a11171c1f202121212835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21212121212121201d18130c04000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053464754606d7a86929facb8c5d0d5c9bdb2a89a8d807367584e432f261b110600000814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d9084776a5f5347535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bdb1a4998e8986868686868686868686868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e01000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66707d8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e84796d60594f443a2f241a0e050000000000000000030c17222d38414d57626c75818e8e8e8e8e8e8e8e8e8e8e8e8e8e847a6d6054473a2d211407000000000000000714212d3a46535f6976828f9ca8b1bdcbd1c6bdafa59e91847a6d655b5349413a322a251f1b1413110d070c0c0c090e1214181d1f272b313940454f585f696e7b859299a3a49f92867c6f685e544a3f332a1f140900000000000000000000000000000000000000000000000000000000000008111a21272c2f30333333333333333333333333333333333845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000070e171d262d333c434750545c60666d70767b8083878a8e91939a97999b9b9c9d9d9e9d9c9b9a99989a93908d9195a0a8b2bac4ccd6d2c8c0b7afa69f9590847c716c605c544d453e3530282018130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c5b8ac9f92867a6d6054473b3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f554b40342820170b02000005121e2b3845515e6b7884919eabb7c4cabeb1a4978b7e7164584b3e3125180b000000000a1623303d495663707c8996a3afbcc9ccc0b5ab94887b6e6155483b2e221508000000030c151c23282c2d2e2e2e2e35424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2e2e2e2e2e2e2d2c29241d160d040000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053414c5664717e8a98a3aebac7d3d2c5b9aca196897c6f6256493d3223140a00000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca095887b6e625548535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f33261a0d00000000000000131f2c3946525f6c7985929facb8c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78808181818181818181818181818181817c6f675d51473d32281e12080000000000000000000006111b262f3b45505a616d7a8181818181818181818181818181817e7164574b3e3124180b000000000000000815222e3b4855616e7b87939facb9c3cecbbfb5ab9d93897d70675d534941382f28201a140f0a06040100000000000205070c10151b1f272f353d464e575f69707d87929f9d928a7e716a5f564c42382e21180e0300000000000000000000000000000000000000000000000000000000000000080f161c2023232626262626262626262626262626262b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000008111920292f383f444e545a61666d72787d82878c90939a9b9e9fa4aca6a7a8a9a9aaabaaa9a8a7a6aca49f9d999da0a7b1bac3ccd6d7cec0b6aea59e948f837a6f6a625a514b423b3329241e160e07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b555f6a727f8b949ea9b3bebaafa59f92867c6e675c51453d32291d140a000006131f2c3946525f6c7985929facb8c5cabdb0a4978a7d7164574a3e3124170b000000000916222f3c4955626f7c8895a2afbbc8d2bbafa295887c6f6255493c2f2216090000000a151e262e34383a3b3b3b3b3b424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473b3b3b3b3b3b3b3b3a39352f281f160c0100000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605345525d6875828f9baab4bfcbd6d1c4b7ab9e9184786a6054473b2e221502000000010d1925303a4754616d7a86929facb9c5d1d4c8bcb1a7998c807366584e535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b0000000000000013202c3946535f6c7986929facb9c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c747575757575757575757575757575756f6a60554b40352b20160c0000000000000000000000000a141d29333e46525e686d757575757575757575757575757575716c6155493d3023170a00000000000005121e2a36424d576673808c9aa4afbbc8d3c7bbaea3998e81746b60554c41382f261d160d090200000000000000000000000000040a0d151d2429343c454d57606b727f8b94948d80736c61584e443a30261c0f06000000000000000000000000000000000000000000000000000000000000000000050b1014161719191919191919191919191919191e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000009121a232b333b414950585f626c71797f848a8f939a9d9fa4acaaacafb6b3b4b5b6b6b7b7b6b6b5b4b3b6afacaaa6aaacb1b9c3ccd5dbd0c6bcaea49d938e82796d685f585045403930292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58606c77828f97a1acb6c0baaea2989083796d60594f443a2f261b11060005121f2b3845525e6b7885919eabb8c4cabdb1a4978a7e7164574b3e3124180b00000000091623303c4956636f7c8996a2afbcc9c8bbaea195887b6e6255483b2f221508000006111c2630383f44464747474747474e5b6875818e9ba8b4c1cedbd3c7baada094877a6d61544747474747474747474745413a31281d130700000000000b1824313e4b5764717e8a97a4b1bdcad4c7bbafa39986796c60534754606d7a86929facb9c5d0d5c9bdb2a8998d807366584e43372b1f1306000000000813202d3946525e6876828f9cabb5c0cbd7cec3b7aa9d9184776a5f53535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626060606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a41362b1f130700000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b60676868686868686868686868686868686260584e43392f23190d04000000000000000000000000020b17212a36414c565e6168686868686868686868686868686864615a5045392d2115080000000000000714212d3a46535f697784909dacb6c0ccd2c5b9ac9f92867b6e61594f433a2f261d140b050300000000000000000000000000000000030b1218222a333b454f59626d76828f8f82786d605a50463c32281e140a0000000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d0d121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000010a131b242c353d454d535b606a6f767e848b91969c9fa4acacafb6b7b9bbc0bfc1c2c2c3c4c4c3c2c1c0bfc0bbb9b6b3b7b8bcc3ccd5ded6cabfb4aa9d928d81786d675e564e463e342e271e170f0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5765717e8b98a2aebac7c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929aa4afbbbfb4aaa0958d80736b61564c41382d22170d0304111e2a3744515d6a7784909daab7c3cbbeb1a5988b7e7265584b3f3225180c000000000a1724303d4a5763707d8a96a3b0bdc9cabeb3aa94877a6d6154473a2e21140700000c17232e38424a5053545454545454545b6875818e9ba8b4c1cedbd3c7baada094877a6d615454545454545454545454514b433a2f24180d01000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f534c5664717e8b98a3aebac7d3d2c5b9aca096887c6f6255493d32271b0f030000000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca096887c6f6255535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625653535353535353535353535353535353535353535353535353535353535353535353535353535353534d4c4741382f241a0e0300000000000000121f2b3845525e6b7885919eabb8c4d1dacec1b4a79b8e8174685b4e4135281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d31271d11080000000000000000000000000000050f1925303a444c52545b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e34281d11050000000000000815222e3b4855616e7b8895a0acbec7d2c8bcb1a79b8e8175685e52473d31281d141413120f0b060b0907070401000000000000000000010710182129333d47515b626e7b86847a6d665c50483e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000a131c252d363e474f575e656c727c838a91969ea1a8acafb6b9bbc0c4c6c8ccd2cececfd0d0d1d0cfcecdd2ccc8c6c3c0c4c5c8ced5dedfd3c6baaea2988d80786d665d554c443c3428231d150c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998c8073655b504437281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d88939fa7b1bcbcb1a79f93887d70685e53493f33271f150b01101d293643505c6976838f9ca9b6c2ccbfb2a6998c7f7366594c4033261908000000000b1824313e4b5764717e8a97a4b1bdcac6baaea29886796d6053463a2d2013070003101c28343f4a545c6061616161616161616875818e9ba8b4c1cedbd3c7baada094877a6d6161616161616161616161605d554b4135291d1104000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f53525d6875828f9caab4bfcbd7d1c4b7aa9e9184776a6054473b2b20150a0000000000010d1925303a4754616d7a86929facb9c5d1d4c8bdb2a8998c807366584e5f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362f261d13080000000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b1f150b0000000000000000000000000000000008131e29323a4146474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b49453e362c22170c000000000000000c1925323f4c5865727f8b98a7b1bcd0d1c5b8aca095897c6f63564d41352c26252321201f1b171917161413110d080c0a0807060400000000060f18212b353f47535f6a727f7c6f685d544a3f362c22180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000009121c252e373f48505960696e777f8790959ea0a8adb2b9bbc0c6c8ccd2d2d4d3d2d0cecccbcbcacbccccced0d2d4d2d0ccd0d1d4d9dfe7dfd2c5b8ac9f92857c716c605d554d453c342a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d12070f1c2835424f5b6875828e9ba8b5c1cdc0b3a69a8d8073675a4d403025190e020000000c1825323f4b5865727e8b98a5b1becbc5b8ab9f928578665c5044382c1f12060006121f2c3844505c666d6e6e6e6e6e6e6e6e6e75818e9ba8b4c1cedbd3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c201306000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f5254606d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b190f040000000000000813202d3946525e6876828f9cabb5bfcbd7cec3b7aa9e9184776a5f545f6c7985929facb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b010000000000000000111e2a3744515d6a7784909daab7c3d0dccfc3b6a99c90837669544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839414242424242424242424242424242423c3b37322b22190d0300000000000000000000000000000000020c1720293036393a4242424242424242424242424242423e3d39342c241a100600000000000005111e2a36424d576875828f9ba8b5c2ced0c3b7aa9d9083776b6054443b342e3331302e2d2b272226242221201d191a1817151313100c070b0a08060f19232b37424e57636d726f6a5f564c42382e241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000008111b242e374049515a616b707b828c92999fa7acb2b9bdc4c8ccd2d4d4d1d1cbc7c5c3c1bfbfbebdbebfc0c1c4c6c7ccd2d2d5dae1e3e9ecdfd3c6baaea29892867e746d675f574e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c99a6b0bccabfb4aa9c908376695f5341382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0e1b2734414e5a6774818d9aa7b4c0cfc2b5a89b8f827568564c41362a1e11050000030f1b27333f49536773808d9aa6b3c0cdc4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a818e9ba8b5c1cedbd4c8bbaea195887c7a7a7a7a7a7a7a7a7a7a7a7a796d6054473a2d211407000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f4c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f6255493c32271b090000000000000005111d2935414c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f62555f6c7885929fabb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b020000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d343535353535353535353535353535352f2e2b2720191007000000000000000000000000000000000000050e171e252a2d2e35353535353535353535353535353531302d28221a1208000000000000000714202d3a46525e697885919eabb8c4d1ccc0b3a6998d807366594f46444041403e3c3b3937332d32312f2d2c292427252422201f1c181a18161513120f1a26313c45515b6366625f584e443a30261c12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000007101a232d364049515b626c717d858f949fa3abb1b9bdc4c9cfd4d7d4cec8c5c4bfbbb9b7b4b3b2b1b1b1b2b3b5b7b9bbc0c4c6c9cfd3d8dee4e2d6cabfb4aaa298928b81796e695f584e453c332920170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c7baaea2988b7e7165574d422f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515c676e7c86929fa5afbabeb3a99e948b7f726a5f554b40352920170b1825323f4b5865727e8b98a9b3becac4b7ab9e918478685e5246392d201408000005121f2b3744505b6576838f9ca9b6c2cfc2b5a99c8f8276695c4f432e23170c00000915222f3c4855626f7c878787878787878787878e939eaab6c3cfdcd5c9bcb0a4988e888787878787878787878787878074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ab9f9285786c5f525e6876828f9cabb5bfcbd7d1c4b7aa9e9184776a5f53473b2b20150a00000000000000010d1925303a4754606d7a86929facb9c5d1d4c8bdb2a8998d807366585f6b7885929eabb8c5d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23202020202020202020202020202020202020202020202020202020202020202020202020201a1a17130e0801000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f202728282828282828282828282828282823221f1b150f070000000000000000000000000000000000000000050c13191d20212828282828282828282828282828282423211d17100800000000000000000814212e3b4754616e7b8797a1adb9c6d2c9bdb2a8968a7d7063575553514a4e4c4b494746443f413f3e3c3a39352f3432302f2d2c282326252321201f1c17202a33404951575955534e463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000040e19222c353f48515b636d727e8692979fa6aeb5bdc2c9ced5d8d1cbc7c3bdb8b7b5aeacaaa8a6a5a4a4a5a5a6a8aaacafb5b8b9bec4c7cdd3d8dedbd0c6bcb4aaa39f938e837b6f6a5f574d453b322920160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202834404b555f6a727e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d1415222f3c4855626f7b8897a2adb9c6c5b9ada196877a6e6154473b3025190d02000613202d394653606c7985929fabb8c5ccc0b6ac998c7f7366594c403326190600000915222f3c4855626f7b889494949494949494949b9ea5afbbc6d2ded8ccc0b5aaa0989594949494949494949494948d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f54616d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b1f130600000000000000000813202c3945525d6875828f9cabb4bfcbd7cec3b7ab9e9184786a605e6b7885919eabb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000d192633404c5966737f8c99a6b2bfd1dcd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a040000000000000000000000000000000000000000000002080d1113141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000a1724313d4a5764707d8a97a9b2bec9d2c5b9aca096877a6d656361605c545b595856545350494e4c4a4947454142403f3d3b3a38342e3331302e2d2b282226242e3740464b4c4847433c342a20160c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000020c16202b343e47505a636d737f879298a1a9b0bbbfc6cfd5d9d2ccc7c0bbb9b2acaaaba39f9d9b999898979899999b9d9fa4ababadb3b7bbc2c7cdd5dad7cec6bcb4aea59d9590857c6f695f574d443b32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50453b2f261c13202d394653606c7985929eabb8c5c9bdb2a8978a7d7064564c41362a1f1409070f1b27333f4953626e7b8898a2aebac6c8bbafa49a897d7063564a3d3023170a00000915222f3c4855626f7b8895a1a1a1a1a1a1a1a1a8aaafb7c1ccd7e3ddd1c6bbb2aaa4a1a1a1a1a1a1a1a1a1a1a19a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f5665717e8b99a3afbbc7d3d2c5b8aca096887c6f6255483c32261b0f03000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9aca196897c6f625e6b7784919eaab7c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000b1825313e4b5864717e8b97aab4bfcbd7d6cabfb4aa988b7f7265584c3f31261a0e02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f090806030000000000000000000000000000000000000000000000000000010507070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000c1926333f4c5966727f8c99a5b2bfcfd1c4b7aa9e9184777372706e6d66696866646361605b535a59575554524c4f4d4b4a4846454041403e3d3b3938332d33312f2e353b3e3f3c3a37312a2218191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000008131e28323d464f59626c737f8b9399a3aab3bbc2cbd1d8d5d0c7c0bbb5afaca8a09d9a9992908e8c8c8b8a8b8c8d8e9193999a9ea1a9abb0b7bbc2c9cfd6d7cfc6bfbaafa7a09791857b6e695e564d443a3024190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61574d42382d22171f2b3744505b6575828f9babb5c0ccc1b5a89b8e8275685e52463b30251a131318232b3744505b6573808c99aab3becac6b9ac9f93867a6d6054473a2d21140700000915222f3c4855626f7b8895a2adadadadadadadb5b6bbc1c9d3dde8e2d8cdc4bbb5b0aeadadadadadadadadada79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b8ab9e9185786b5e5e6876828f9cabb5c0cbd7d1c4b7aa9e9184776a5f53473b2a20150a000000000000000000010d1924303a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8073655b6a7784919daab7c4d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3dbd0c1b5a89b8e817568574e42372b1e1308000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdd2c5b8ab9f928581807e7d7b7978767473716f6e6c656967656462605d565c5a58575553514b4e4d4b494846443f413f3e3c3a3935303432302f2d2c29242625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000060f1925303a444e58616b717e8b919fa4abb4bcc5cdd7dbd6cbc3beb6afaba39f9b96918d89868481807f7e7e7e7f80828486898d91979c9fa6abb0b9bec4cdd8d8d1cbc1b9b1a9a19791847b6e685e564c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a2aebac6c4b7ab9e9184786c6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f1b27333f495365727f8c99a4afbbc7c5b9ac9f92867a6d61564d42362a2520202429343f4a54606c7884919eabb7c4ccc0b6ac9d918477685d5245392c20130600000915222f3c4855626f7b8895a2aebabababababac1c3c6ccd3dbe5efe9dfd6cdc6c0bcbbbabababababababab3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b7aa9e9184776b5e616d7a86929facb9c5d1d4c8bdb2a8998c807366584e43372b180e04000000000000000000000813202c3945525d6875828f9cabb4bfcbd7cec4b7ab9e9184786c606a7783909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2ded1c4b8ab9e9184786a5f53473a3024190d000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120600000000000002070b0d0d13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfd3c6baada297928e8d8b8988868483817f7e7c7a7977767472716f6d686a6867656362605c555b5958565453504a4e4c4a4947464142403f3d3c3a39352f33312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000030e18212935414c56606a707d87929fa3afb5bdc6cfd7d8d0cac0b9b1aca49f99928e8884807c7977757372717172727375777a7d81858a8f949c9fa6adb3bbc2ccd2d9d7cbc3bbb3a9a19691847a6e685d52453e332a1e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998d8073665b504438281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d222d3b4855616e7b87939facb9c3c7baaea3998c7f72695e52464036312d2d2f353d44505c66707d8996a1acb9c5c8bbafa49a8d807366564c4135291d110400000915222f3c4855626f7b8895a2aebbc7c7c7c7c7cecfd2d7dde5edf7f0e7dfd9d4d1d0c8c7c7c7c7c7c7c7c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c4b7aa9d9184776a5665727e8b99a3afbbc7d4d1c5b8aca096887c6f6255483c32261b09000000000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9ada196897c6f62697683909ca9b6c3cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d1dcd2c5b9ada196887b6e62564c4135291d12070000000000000000000000000000000000040d16202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d010000000000080e1317191a2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191916130d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a9a29f9b999896999391908e8c8b8987858482817f7d7c7a7877757372706e6d67696866646361605b545a59575654524c4f4d4c4a48474540423f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000915202a333c46525e686f7c869299a3afbbc0c7d0d8d7cec6bfbaaea7a09a938e87817c77736f6d66686665656465666668676d7074787d82888f949ea1a9b0bbc0c7d0d9d5cdc4bbb2a8a09691837a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b7ab9f94887b6e62544a3f3328160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada2978f82786c60584e433a2f24212d3a46535f6975828f9ca8b1bdc8bfb4ab9f92857b6e615b5146423b3a393b40454f59606d7883909da8b2bdc9c6b9ac9f93877b6e6155483b2f24190d0100000915222f3c4855626f7b8895a2aebbc1c1c1c1c1c4c5c9ced6dee8f1e7ded5cec8c5c4c1c1c1c1c1c1c1c1c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b7aa9d9084776a5e6876838f9cabb5c0cbd7d0c4b7aa9d9184776a5f53473a2a20150a0000000000000000000000010d19242f3a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8074656976838f9ca9b6c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818d9aaab4bfcbd7d5c9bdb2a89a8d8074685d5245392e23180e05000000000000000000000000000000030c161f28343f4a54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1dbcfc5bbb3adaba8a6a5aba49f9e9c9b9997969892918f8d8c8a8887858382807e7d7b797876747371706e6c666967666462615e565c5a58575553514b4e4c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000030d1a26313c46515b616d7a849198a2abb5c0ccd2d9d7cec5bcb4aea49d959087817b756f6a6763605c545959585758595a555d6063656c70767c828a91979fa6afb6bec7d0d9d6cdc4bab2a8a0958e81756c62574d42382e23170c0300000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8bfb4aa9c908376695f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b413529212a36424d5763707d8995a0acb8c3c6baaea2988e81756d635b534d484646474b5159616b727f8c95a0acbac4c9beb3a99c8f8276695f53463a2d1e13080000000915222f3c4855626f7b8895a2aeb4b4b4b4b4b4b7b9bdc4ccd6e0eadfd5ccc3bdb8b7b4b4b4b4b4b4b4b4b4b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b6a99d9083766a616e7b87939facb9c6d1d4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000813202c3945525d6875828f9caab4bfcbd7cfc4b8ab9e9184786c6975828f9ca8b5c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a98a3aebac7d3dacfc4b8ac9f92867a6d60544b40342820170e0600000000000000000000000000040c151e28313944505c66707d8996a3afbcc9d6d4c7bbaea194887b6e6155483b2e2215080000010b151d252c30343535353535353535353535353535353532312e29231b130900000000000a141c242a2f3334393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cdc5bebab8b5b3b1b5afacaba9a7a6a4aaa39f9d9c9a9897959792908f8d8b8a8886858381807e7c7b7977767472716f6d686a6867656362605d555b595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000010b151f2b37434e58626d75828f96a1aab4bdc7d1ddd7cdc5bcb3aaa29f928d837c746e696260585653514b4d4c4b4b4b4c4d4b5153535b60636a6f767e858f949fa4acb5bdc7d0d9d6ccc4bab1a79e938b7e71695f544a3f34281f14090000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7165574d422f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e332926313b4653606c7884919da7b1bdc7beb3aa9e938c7f736d615e5754535354555d606b707d87929fa7b1bcccc6b9ada1978a7e7164574d42362a1e0c010000000915222f3c4855626f7b8895a2a8a8a8a8a8a8a8abacb2bac4cedae5d9cec3bab2acaaa8a8a8a8a8a8a8a8a8a8a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc3b6a99c9083766965727f8b99a4afbbc7d4d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000004111d2935414c5664717e8a98a3aebac7d3d2c5b9ada196897c6f6875828e9ba8b5c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0dbd3c6baaea2988c7f72665c51453e322920180f090300000000000000000002080d161e263039434e58606d7883909daab7c3d0ddd4c7bbaea194887b6e6155483b2e221508000000030b131a202427282828282828282828282828282828282524221d181109010000000008121c262e363b3f404646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403e3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfdfd7cfcac6c5c1c0bec0bbb9b7b6b4b2b1b4aeacaaa9a7a5a4a9a29f9d9b9a98969a9391908e8c8b8987868482817f7d7c7a7877757372706f6d676a6866635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000007121d27313947535f6a727f8b939ea8b2bcc6cfd9d8cec5bbb3a9a298928a80786f6b615e57544e49464540403f3e3e3f3f404045474950535860626c717a828c939aa4abb5bdc7d2ddd5ccc3b9afa59f92867b6e665c50443c31261a0e040000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30262b3744505b65727f8b95a0abb5c0c5bcafa59c918c7f766e69646160606163676d747d869299a3aeb9c3c6bdb0a69e9285796d6053463b31261a0e000000000915222f3c4855626f7b88959b9b9b9b9b9b9b9b9ea1a8b2bdc9d5e1d4c8bdb2a8a09d9b9b9b9b9b9b9b9b9b9b9b9a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b6a99c8f837669697683909cabb5c0ccd7d0c4b7aa9d9184776a5f53473a2a20150a00000000000000000000000000010d19242f3a4754606d7a86929facb9c5d0d5c9bdb2a99a8d80746674818e9ba7b4c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9caab4bfcad6d6cabfb4aa9e9184796d60594f443b322a211a140e0906050300010507090e13191f283038424b555f6a727f8b95a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d060000000000020e19242e3840474b4d53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4b4640372e24190d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4e0dcd3ccc7c3c2c0c2c4c5c7c6c4c3c1bfbebfbab8b7b5b4b2b0b3adabaaa8a6a5aca49f9e9c9b9997969992918f8d8c8a8987858482807f7d7b7a787675726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000c18232f3943505a626e7c86929fa5afbac4ced8dbd0c6bcb3a9a29792867e746d666059534d47433c3a38342e32323132332f35393a3f44464e545a61686d7880889399a4abb5c0ccd7dcd5cbc1baaea2989083786d60574d42372b20150a000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2013020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e27333f4953606d78839099a3afbbc3c1b7ada39c918c827b75706e6d6c6e70747980879298a2abb4bfcbbfb5ab9f948b7e71665c5145382a1f1409000000000915222f3c4855626f7b888e8e8e8e8e8e8e8e8e9196a1acb9c5d2ded1c5b8aca096918e8e8e8e8e8e8e8e8e8e8e8e8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b5a89c8f8275696e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b180e0400000000000000000000000000000813202c3945515d6775828f9baab4bfcbd6cfc4b8ab9e9185786c74818d9aa7b4c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5565717e8b98a2aebac6d3dbd0c6b9ada1968d80746b61564d443c332b261f1a1413120f0b0d1113141a1e252a313a424a545d676e7c86929fa7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e22150800000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000007131f2a36404a52585a60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded3cac2bbb7b5b3b5b7b9babfbebfc1c3c5c6c7c5c4c2c0bfbdbebab8b6b5b3b1b6afacaba9a7a6a4aba39f9e9c9a9997959892908f8d8b8a88868583817f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000004101c2934404b55616c76828f98a2aeb7c1ccd6ddd6cabfb4aaa29792857c716c605c544f46423b37322d2c2823262524252624292c2d33373c434750565e666c737e879399a4afbbc0cad3ddd6cabfb4aa9f958c8073695f53463c32261b0f040000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105070709090a0a09080706040000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f34282d3844515c666f7c87929fa8b2bbc5bfb5ada39c948f86817d7b79797a7c81858d9399a2aab4bdc6c2bbaea3999082776c60544b403428180e03000000000815212e3b4854616e7b8181818181818181818184919eabb7c4d1ddd0c4b7aa9d9184818181818181818181818181817e7164584b3e3125180b000000000b1824313e4b5764717e8a97a4b1bdcacec2b5a89b8f827568727f8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0800000000000000000000000000000004111d2935414c5564717e8a98a3aebac7d3d2c6b9ada197897c6f73808d9aa6b3c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4754606d7a85929facb8c1d0d9d5c9bdb2a89d928a7d70695e564e453d37312b2621201f1b17191e2021262b30363c434c545c666d79839198a2aeb9c3ced9e5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b52463b2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3d8ccc2b8b0aaa9a7a8aaacaeb4b1b3b4b6b8b9bebdbfc0c2c4c5c7c6c5c3c2c0bec0bbb9b8b6b4b3b1b4aeacaaa9a7a5a4aaa29f9d9b9a9896959791908e84786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000006131f2c3845515c67717e8a949faab4bfc9d3dfd4cbc2baaea29892857c6f6a615a504a423d36312b27201f1c181918181819181d2022272b32373e444c545b606c717e87939fa4aeb8c2cdd6dbd0c5bcb1a79f92877b6e61584e43372b21160a000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184786c6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000000000000000000000030506080d1113141516171616151413100c0707050c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d322834404a54606a73808d96a0a9b3bbc5bfb5ada69e98928e8a87868687898d92979fa4abb4bcc6c2b8b0a69f92877c6f655b5042392e23180600000000000714202d3a46525e696e75757575757575757575818e9ba8b4c1ced9cdc0b3a69a8d8075757575757575757575757575716c6256493d3024170b000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a89b8e8175687683909cacb6c0ccd8d0c3b7aa9d9084776a5f53473a2a20150a000000000000000000000000000000010d19242f3a4754606d7a86929facb8c5d0d5c9beb3a99a8d807373808c99a6b3bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6774818e9aa5afbdc7d2dacfc4baaea49e92857b6e685f574f46423c37312e2d2b2722252a2d2e31373a41464e555d666d78818f95a0aab4bfcbd5dfe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736d63574b3e3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2d3c7bbb0a69f9c9a9c9d9fa3aba4a6a8a9abadb3b0b2b4b5b7b9bbc0bec0c1c3c5c6c8c6c4c3c1bfbebfbab9b7b5b4b2b0b4aeabaaa8a6a5a3a9a19e9d9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000004111d2935414c56606d7984919ea6b0bcc6d0dcd8cfc2b9aea49f92867c6f6a605850443f38302a251f1b1313100c070b0b0c070d1013171b1f272b323a424a505a626c717e8b929da6b0bbc5cfdad7cec2bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfc7bcb1a7998d8073665b504438281e13080000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d2021222323232322201f1c181514120e0f19242f3a434f59606d78829097a2adbac0baada2979083786d60594f443a2f2e39424e58606d79849197a1a9b3bcc5bfb8b0aaa29f9b9799929299969a9ea1a9afb5bdc6c2b9b0a69f948d80736a5f53493f30271d1207000000000005121e2a36424d575e6168686868686868686875818e9ba8b4c1ced9cdc0b3a69a8d807368686868686868686868686864625a5045392d211508000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a79b8e81746e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b1f1206000000000000000000000000000000000813202c3945515d6775828f9baab4bfcad6cfc4b7aa9d918477727f8c99a5b2bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b55626f7c88939eabb5c0ccd7d6ccc0b9ada19790837a6e6a6059534d46423d3a3937332d3036393a3d42474c525860676d78818e939ea7b1bcc6d0dde7e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a67738086868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2d0c3b7aa9f948f8d8f9192999697999b9d9ea1a9a3a5a7a9aaacafb5b1b3b5b6b8babebdbfc1c2c4c5c7c7c5c4c2c0bfbdbebab8b7b5b3b2b0b3adaa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000713202c3945525d68737f8c96a1acb8c2ced8dcd1c6bdb1a79c928a7e716a60584e463e342e261e1a140f0a06040000000000000104060b0f151b20282f383f44505a626c73808d949ea9b3bec9d5e0d7cbc0b5ab9f93877c6f62594f44382c20150a000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b8ab9f95887b6e62544a3f3328160c01000000000000000000000000000000000000000000000000000000000000000000000002080d11171b1f2023252a2d2e2f3030302f2f2d2c292321211e1a14131e28313d44505c666e7b85929fa5afbabeb3a99f948c80736b60564c413529303c45515d676f7c859297a2aab3bbc1c2bcb4aeaca8aba39f9fa3aba7abadb3bbc0c6bfbab1a79f948f82786d60584e41382d1e150b000000000000020e1a25303b454d52545b5b5b5b5b5b5b5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000b1824313e4b5764717e8a97a4b1bdcacdc0b4a79a8d8174727e8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000004111d2935414b5564717e8a98a2aebac7d3d1c5b8aca095877b727f8b98a5b2becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a47535f6a75828f99a4afbbc5cfdad5c9beb3a99f9590847c706b615f57534d4a4746443f43444146474a4d53565e616a6f7a818e939ea5afb9c3ced7e2efe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1cfc2b5a99c8f828082848687898b8c8e9092979597989a9c9e9fa3aba4a6a8aaabadb3b0b2b4b6b7b9bbc0bec0c2c3c5c6cac6c5c3c2c0bebdbeb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000004101c2834404b55606d7a85929fa8b2bdcad4e0d7cbbfb4ab9f958d80736c61584e463d3428231c150c090300000000000000000000000000030a0e161d262d333f48505a606d78828f97a1adb9c1ced8dcd1c7bbafa49a8f82756b6054483c32271b0f01000000000000000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000060b13191b22272b2d2f3036393a3c3c3d3d3c3b3a38342f2e2d2a251f1c181f28343f4a545e69717e8a939da8b2bdbcb0a69f92877d6f685d52453f332935404b555f6a6f7c859298a1a9afb9bec5bfbab8b5b5afacacaeb5b4b8b9bec5c2bcb4aea79f959082796d665c51463c2f261b0c030000000000000009141f29333b4246484e4e4e4e4e4e4e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4e4e4e4e4e4e4e4e4e4e4b49453f362d22170c01000000000b1824313e4b5764717e8a97a4b1bdcacdc0b3a79a8d807475828f9cacb6c0ccd8d0c3b7aa9d9083776a5f53473a2a20150a0000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d4c8bcb1a7988b7e717e8b98a4b1becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d2b37434e58626f7c87939fa9b3bec9d5dacfc5bbb1a79f9691857d756e69615f57575453504950504c525456575f62686d737c848f939ea5afb7c1cbd1d5dce3e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0cdc0b3a69a8d80747577797b7c7e8081838587888a8c8d8f9192999698999b9d9fa2a9a4a5a7a9abacafb5b1b3b5b7b8babec5ced0cecdcbcfc3b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000006131f2c3845515c67727f8c98a2aebac4cedcddd3c7baaea3999083786d605a50463d342b2217110a030000000000000000000000000000000000040b141c2228363f44505c666d7a85929ea5afbcc6d0dcd8ccc0b6ac9e94897c6f63584e43372b1d120700000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7265574e422f261c1106000000000000000000000000000000000000000000000000000000000000000000020a11171e252a2d3337393c4041464748494a4949484745403f3b3a36312c28231c232e38424d57616c74818e96a0abb5bfbbafa39991847a6d605a50453c302f39434e585f6a6f7c8692979ea5adb3babec5c5c1c0bbb9b9bbbfc0c5c5c3bcb8b1aaa39f959083796d675d544b40342a1d140a0000000000000000020d17212930363a3b4242424242424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4242424242424242423e3d39342d241b110600000000000b1824313e4b5764717e8a97a4b1bdcaccc0b3a6998d80737a86929facb9c5d2d4c8bcb1a7998c7f7366584e43372b180e030000000000000000000000000000000000000713202c3945515d6775828f9baab4bfcad6cec1b4a89b8e81757e8a97a4b1bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060606060606060606060606060606060606060606060606060606060606060606060606060101000000000000000000000000010f1b26323c47535f6a74818e97a1adb9c1cbd4d7cdc2b9b1a8a0979287817b746e69676461605b535d5d565e616366696e737a808691969ea6afb7c1c0c1c5cad2dae3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cecec1b5a89b8e827569666c6e7071737576787a7c7d7f8182848687898b8d8e9092979597999a9c9e9fa3aba5a6a8aaabaeb4bcbfc7d0d9d8cfc2b5a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000713202d3a4653606d7985919eaab4beccd6dfd5c9bdb2a89f92867c6f665c50483e342b221910060000000000000000000000000000000000000000020a11172428343f4a545e68717e8a939eaab4bfcbd6ddd2c7beb0a69c9083766a605447392f23180c0000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000060b141c22283036383f4446494c4c525455565656565553514b4b4846423b38342e271e26303b45505a606d79849199a3aebbc0b5aba1968e81756c62574d42392e313c464e58606a6f7d858e939ea1a9aeb3b9babfc0c1c2c2c1c0bfbdb9b7b1aca79f98928c837a6d675d554b42392e22180b02000000000000000000050f171f252a2d2e3535353535424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d40353535353535353531302d29221b12090000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a6998c7f737d8a98a3aebac7d3d1c4b8aca095887b6e6255483c31261a080000000000000000000000000000000000000004111d2935404b5564717e8a98a2aebac6d3d1c5b8ab9e9285787d8a97a3b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121212120e0e0b0803000000000000000000000a15202b37434e58616d7a85929ea5afb9c2ccd6d4cbc2bab2a9a299938e87817b7774706d6c656a696a6b686d7073777b80858d9299a0a8b0b8b9b5b3b5b9c0c8d2ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d2d0c3b6a99d9083766a5b6061636466686a676d6f7072747677797b7c7e8082838587888a8c8e8f91929996989a9b9d9fa2aaadb5bfc9d4dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006131f2b37434e5865717e8b97a1adbcc5d0ded9cec5b9aca1968c7f736a5f544a3f362c221910070000000000000000000000000000000000000000000000061217232e38424c56616c75818e98a3aebac5d0dbd9d0c1b7ab9f94887c6f62554b4034291c10040000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c20130200000000000000000000000000000000000000000000000000000000000000020a11171d262d333a41464950535659565e61626363636262605c555854534d4644403930292429333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a403428343c464e58606b6f7a818a92979fa2aaacaeb4b3b4b5b5b4b4b2b2adaba7a09d9590867f786d685d554c433930271d10060000000000000000000000050d141a1e20212828282835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034282828282828282524211d171109000000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a5998c7f74818e9aaab4bfcbd7d0c3b7aa9d908377695f53473a2a20150900000000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d2c6b9ada197887b7d8996a3b0bcc9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1b1a18140f08010000000000000000040f1b26313c46525e68707e8a939da6b0bac4ccd5d4ccc4bbb3aba49f99928e8884817d7a797877767777787a7d7f83888d92989fa3abb2bab6aea8a6a8aeb6c0cbd5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98abb5c0ccd1c4b8ab9e918578675d53545658595b555d606264656769666d6e7071737577787a7c7d7f8183848688898b8d8f9092989ba3adb8c3cfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000815222e3b4754606a7784919da9b3beced7e2d4c8bcb1a79e9184796d60584e42382e241a10070000000000000000000000000000000000000000000000000006111c26303a44505a616e7b86929fa9b3becad6e2d3c7bcb0a69a8d8074675c5145382c1f14090000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000020b141b22272f383f444c52535b60626669686d6f6f70706f6e6d676865615e5753514a423d352f282935404b55606a727f8c949fa9b3bebaafa59f92867b6e665c51443d322a343d464f5960686d757e858d92989c9fa3aba7a8a8a8a8a7a6a8a19e9a95918b837b726d665d564c433a31271e150b0000000000000000000000000002090e1214151b1b1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271b1b1b1b1b1b181715110c0600000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb2a5988b7f7884919eabb7c4d1d4c8bcb1a7998c7f7266574d42372b180e0300000000000000000000000000000000000000000713202c3945515d6775828e9baab4bfcad5c9beb3a9988b7e7c8996a2afbcc9d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282724201a130b0200000000000000000a15202a36414c56616c74818e949fa8b2bac3ccd7d6cdc5bdb5afaba39f9a96918d8a878685848383848587898c9095999fa2aaaeb4bdb8aea49c9a9ca4aeb9c3ced9c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d8d3d0cfc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a4afbbc7d2c6b9ac9f93867a6d605348494b4d4e4c51545557595a545c6061636566686a686d6f7172747678797b7d7e808283858b919ba7b3c0ccd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000003101c28343f4a54626f7c8995a0acbbc4cfe0ded1c5b8aca0958b7e71675c51463c30261c12080000000000000000000000000000000000000000000000000000000a141e28323e46525e6973808d97a2adbac7d1dcd8cdc2b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184796d6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000a141d262d333c424a50565e61656c6f7376787a7b7c7d7c7c7b7a7775726e6964605c544f45413a312c2f39434e58606c77828f97a1adb9c0baaea2989083786d60594f443a302b343d474f565e616c717a80858b8f9299989a9b9c9c9b9a999796918d89847e786e6a605c544c443a31281f150c03000000000000000000000000000000020507080f0f1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271a0f0f0f0f0f0b0b0805010000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a5988b7e7b8896a1acb9c5d2d1c4b8aca095887b6e6155483c31261a0800000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3cfc1b4a89b8e817c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b0100000000000000030d1925303a44505a606d79829096a0a8b1b9c1cbd1d7d0c7c0bbb5afaca8a09e9a9799929190909091929796999d9fa7abaeb4babfbab0a69c928d929ca7b1bcc8d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0d0d9e4dfdfdfdfe6dcd4cdc7c4c2bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2c8bbafa49a8a7d7063574a3d3e4042414547494a4c4e4a50535456585a5b565d606264666769666d6e7072737577787f8b98a5b2becbd5c9bdb2a896897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000006121f2c3844505c6674808d9aa8b1bdcdd6e1d5c9beb3a99d9083786c60554b40342a1e140a00000000000000000000000000000000000000000000000000000000020c16202a36424d57616d7a85929fabb5c0cbd7dfd3c6baada2978a7e7164574d42362a1e1205000000000000000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bfc8bcb1a7998d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000006111b262f383f444e545b60686d72787c7f8385878889898989888684827e7b76716d666059524c433e352c313c44505b656e7a85929ea4aeb9bfb4aa9f958d80736b60564c41362a2b343d444c525a61686d737a7e8286898b8d8e8f8f8e8d8c8a8884817d77716c665f57504a423a32281f160d030000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedacdc0b3a79a8d8074675a4d4134271a0e0202020200000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a4988b7e7f8b98a8b2bdc9d5d0c3b6aa9d908377695f53473a2a201509000000000000000000000000000000000000000000010d18242f3a4753606d7986929facb8c5d0d1c4b7aa9e91847c8895a1aebbc8d4cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454541403c362f261d1308000000000000000008131e28323e45515c676d7a849196a0a7b0bbc0c7cfd5d2ccc7c0bbb9b2acaaa7aba39f9e9d9c9d9e9ea2a9a6aaabb1b8babec3bab2a89f948d808d95a0acb8c5d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aaab4bec7d2dde8f0f4e9ded4cac2bbb7b6b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784919daab7c4d1ccc0b6ac9a8d817467584e4337332f35393a3c3d3f413f444648494b4d4f4c52545557595b545c6061636567686a74808d9aa7b3c0cdd2c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000713202d3a4653606d7985929eabb8c3cededfd2c6b9ada1978a7e71665b5043392e22180c020000000000000000000000000000000000000000000000000000000000050e1a25303b46525d6873808d99a3afbbc7d3e0d6cabeb3a99c8f8276695e52463a2d201407000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6e62544a3f3428160c0100000000000000000000000000000000000000000000000000000000000a1317222d38414950585f666c727a7f84898c8f929795969696959993918f8b87837e79706b605d564f473e3627333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e52463f342a2b323a414650565e61676d72767a7c7e8081828281817f7d7b7874706b65605b544e443f38302820160d04000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddacdc0b4a79a8d8174675a4e4134271b090502000100000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacabeb1a4978b7e828f9ba8b5c2ced4c8bcb1a7998c7f7266574d42372b1e12060000000000000000000000000000000000000000000007131f2c3945515d6775818e9baab4bfcad2c5b9aca096887c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524e4c4841382f251a0f0300000000000000020c16202834404b555e686e7b8491959ea6afb5bdc2c9ced4d1cbc7c4bdb9b7b4b5afacabaaa9aaaaabadb3b2b6b8bcc3c6c0b9b1a8a1968f827883909daab7c3d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d98a2acb6c0ccd8dde7f1e4d8cdc2b8b0aba9a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aabb4bfcbd2c4b7ab9e9184786a5f53473b3025292c2d2f31322e34383a3b3d3e4042414547494a4c4e4a51535556585a5b667683909ca9b6c3cfd1c4b8ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000a1723303d4a5663707d8997a1adb9c6d2dfd8ccc0b6ac9e9285796d60544a3f30271d10060000000000000000000000000000000000000000000000000000000000000009141f2935414c56616e7b86929facb9c4cfdadbcfc5b9ac9f93877b6e6154483b2e23180c00000000000000000000000000000000000000000000000007131f2c38444f5966737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382e23170b000000000000000000000000000000000000000000000000000000000008121c2527333f49535b606a6e787f868c9196999c9ea1a9a2a3a3aba49f9e9b9894908a847d746d68615950483e352d38414d56616c74808d95a0aab4bfbbafa49a91857a6d615b51463c31272930363e444c52555d6065676d6f7274757575757473706e696763605953504a423c342e261e160e0400000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9cec1b4a79b8e8174685b4e4131261a14110e090d0d0c0c0b090601000000000000000b1824313e4b5764717e8a97a4b1bdcacabdb1a4978a7e85929eabb8c5d1d1c4b8ab9f95887b6e6155483c31261a0e020000000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3c9bdb2a8978a7d8a97a4b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b41362b2014080000000000000000050e18232e39434c565f696e7b838f949fa3abb0b9bdc4c8cdd1d3cec9c5c4c0c0bbb9b8b7b6b6b7b8b9bebfc3c4c7c3bcb8afa7a09691847b74808d9aabb5c0cbc7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c86929aa4afbbc1cbd5dfe9dfd3c7bbb0a69f9c9696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5764707d8a99a3aebac7d2c5b9ada196887b6f62574d42362a1e202122242623282b2d2e3032333035393a3c3e3f41404446484a4b53606c7985929fabb8c5d2cec2b5a89b8f827568564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000006121e2b37424e576874818e9ba9b3bec9d5e0d4c8bbafa49a8c8073665c5142382d1e150b0000000000000000000000000000000000000000000000000000000000000000030d1924303a46525e6975828e9ba9b2bec9d5e0d4c7bbafa4998c7f7265544a4034281c100400000000000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3988b7e7265584e4330261c110600000000000000000000000000000000000000000000000000000000040e1a242e373f44505b656c727c838c92989ea1a8a9abadb3afb0afb5afacaaa8a69f9c969189817a706b615a50473e352f3b444f59606d79839098a3aebac0b6aca1978f82756d62584e43392f23252a323a41464c5154555d6063656768696968676664615f5756544f46443f382f28231c140c040000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9cfc3b6a99c90837669584e43372b23201e1a1b1a1919191815120d060000000000000b1824313e4b5764717e8a97a4b1bdcad0c3b6aa9d90839097a1adb9c6d2d0c3b6aa9d908377695f53463a2a1f15090000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cec3b6aa9d9083909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b00000000000000000007121d27303a444d575f696e7a828c92999fa6acb2b8bcc3c5c8cecfd1d1d1cbc7c5c4c3c3c3c4c5c6cac8c5c2bcb7b1aba59d9590847b6e707d8a99a3afbbc1c1bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a707e88939fa5afb9c3cdd7e1ddd0c4b7ab9f948f898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0c9bdb2a89a8d8074695e52463b30261c14161719171c1f202123252724292c2d2f31332e34383a3b414c5663707d8997a2adbac6d3c9bdb2a8998c7f7266594c3f3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000814212e3a47535f6a7884919eabb8c4cfdadfd2c6b9ac9f93877b6e61544b402f261c0c0300000000000000000000000000000000000000000000000000000000000000000008131e2a36424d5763707c8997a1adb9c6d2dfd7ccc0b5ab9c8f8276665c5144382c1f12060000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6054473c3121140a00000000000000000000000000000000000000000000000000000000020c16202c363f49525c606c777f8690959fa2aaadb2b6b8b9bebcbcbcc0bbb9b7b5b0aba8a09e938e847d706c61594f473d33323e45515c676f7c86929fa6b0bbbeb2a99e948b7f726a5f554b40342920202930363a4145474b515456585a5b5c5c5b5a595755534d4948443d38332d261d17110a02000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bed1dcd1c5b8ab9e9285786a5f53473c342e2d2a25282726262524221e18110901000000000b1824313e4b5764717e8a97a4b1bdcad1c4b8aba0959095a0a9b3becad4c8bcb1a7998c7f7266574d42362a180e0300000000000000000000000000000000000000000000000007131f2c3845515d6775818e9baab4bfcad1c4b8aca0959095a0acb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878746f64594c4033271a0e000000000000000000000b151e29323b454d565e686d777f8790949ea0a8abb1b7b8bdc0c2c4c6c7ccd2c9c9d2ccc7c6c4c2c0bdb8b7b1aba79f9d938e837b6e696d7a86929facb4b4b4b4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58616c73808c939ea7b1bbc5cfd9dccfc2b6a99c8f827d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca9b3becacfc4b9ac9f92867b6e61574d42382e23171107060b1012131516181a191d202122242623282c2f3846525e6875828e9ba9b3becad2c5b9aca096887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000815222f3b4855626e7b8896a1adb9c5d2e1d8ccc0b6ac9c908376695e5242392e1d140a00000000000000000000000000000000000000000000000000000000000000000000020e1a25303b4653606c7884919eabb8c4cfdbddd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000000006131f2c3945515d6774818e9aa8b2bdc9beb3a99b8e8275685d5245392c2013020000000000000000000000000000000000000000000000000000000008131e28323e48515b636e74808c92989fa7aeb4b9bdc2c5c6c5c3c2c2c3c5c6c4c2bcb7b2aca59d9691877e706b61594f453c3134404b555f6a727f8b949ea9b3bebbb0a69f92867c6f675c51453e32291d1e252a2f35393a414547494b4d4e4f4f4e4e4c4a4846423d3c38332b28221c140b060000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7d2c6b9ada197887b6e62584e45403b3a36303434333232312e29231b1309000000000b1824313e4b5764717e8a97a4b1bdcad4c8bcb1a7a09da0a7b1bbc5cfd1c4b8ab9f95887b6e6155483b31261a080000000000000000000000000000000000000000000000000004101d2935404b5564707d8a98a2aebac6d3c8bcb1a7a09da0a7b1bcc8d4d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858174675b4e4134281b0e00000000000000000000030c172029333b444d565d656c727c838b91969d9fa7aaacb2b3b6b7b9bbc0bcbcbcbbc0bbb9b7b5b4b1acaaa79f9d95908981796e695f677683909ca8a8a8a8a8a8a194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c46505a606c77818f95a0a9b3bdc7d1dcd0c4b7ab9f948a7e7170707070707070707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5564717e8b97a2adbac7d2c7baaea3988d8074695e544a3f34282318120c07030607080a0b080d1113141617141b222d38424e58616d7a86929facb9c5d0d1c4b7aa9e9184776a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000030f1b27333f495365727f8b98a8b2bdc9d5e0d4c8bbafa49a8b7f7265574d4230271d0b02000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b6674808d9aa9b3becad6dfd3c6baaea298897c6f6356493c2f24180c000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000000000000000000020b1924303a44505a636d73808d929fa3aab1babfc6c8c5beb9b8b6b5b5b7b8babfc6c7c4bdb9afa9a19992877d706b60574d42372f39434e58626d75828f97a1acb6c0baaea3989083796d60594f443b2f261b191e24292c2f35393a3c3f414242424241403d3b3a37312f2c271f1c17110a02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3afbbc7d3d5c9beb3a99a8d80746a5f57514b474642424140403f3f3e3a342d251b11060000000b1824313e4b5764717e8a97a4b1bdcad9cdc3b9b1abaaabb1b9c3cdd7d0c3b6a99d908376695f53463a2a1f140900000000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cdc3b9b1acaaacb1b9c3cdd9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea29892929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292928e8175685b4e4235281b0f0000000000000000000000050e172129323b444c535b606a6f787e848a9095999da0a8a7a9abacafb5afafafafb5afacaaa9a7a8a09d9a95908a837d746d675f576673808c999b9b9b9b9b9b9b94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343e44505b656d79839197a2abb5c0cbd7d3c7bbb0a69f92867c6f68636363636363636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4753606d7985929facb6c0cccbbfb4aa9f92867b6e665c50443e3529241d18120d0706030002000205070c11171d262d333f4a545f6a73808d99a3aebac7d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121f2b3744505b6575828f9ba8b5c2cfdadfd2c6b9ac9f93877b6e6154483b3021150b000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54636f7c8997a2adb9c6d2dfd6cabfb4aa998c7f7366554b4035291d1004000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000a141d2935414c56616c727f8c929ca4aeb4bcc2c7c0bbb9b3adaba9a8a8aaacaeb4b8bcc2c9c0bbb2aba39992867d70695f53463e32313c46515b616d7a85919aa4afbbbfb4aaa0958d80746b61564c41382d221713191d2024292c2d303234353636353433312e2d2b2622201c160f0b060000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5d2dacfc5b8ac9f92867c6f69605c5554524d4f4e4d4c4c4c4a463f372d23180d0100000b1824313e4b5764717e8a97a4b1bdcad7d5cbc3bcb8b6b8bcc3cbd5d4c8bcb1a7988c7f7265574d42362a180e03000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6cbc3bcb8b6b8bcc3cbd5dfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f000000000000000000000000060f172029323a414950585f656c71787e83888c9196979a9c9e9fa4aba2a3a3a2aba49f9e9c9a9795918d88837e78706b605c5556636f7c898e8e8e8e8e8e8e8e8e887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000030e182227333f49535d676e7b859299a3afbbc1cbd4cdc2baaea29891847a6d665c5656565656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6774808d9aa4afbbc7d1c6baaea3998f82786d605a50473f352f28231c1815120f0a0e090e1214181c23282f383f44505b666f7c87929fabb4bfcbd1c4b8ab9f95887c6f6255493c31261a0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d908377695e52463a2d201403000000000000000000000000000000000000000000000000000000000000000000000000000b17222d394653606c7885929eabb8c5d1dedbd0c2b6a99c8f8376675d5145382c1f130600000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000006111b262f3846525d68717e8a919ca4aebabfc6c4beb6afaca9a19e9d9b9c9d9fa3aaabb1babfc5c4bdb4aba39892867b6e615a50443a30343f46525e68707d88939fa7b1bcbcb1a79d928a7d70685e53493f33271f160d1113181d20212325272829292827262422211e1a1613100b03000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784909daab7c3cfdad3c6baaea29891847b736d6764615e575c5b5a5959585651493f34291e120600000b1824313e4b5764717e8a97a4b1bdcad7ddd5cdc8c4c3c4c8cdd5ddd1c4b8ab9f95877b6e6154483b31261a0800000000000000000000000000000000000000000000000000000004101c2934404b5564707d8a98a2aebac6d3d5cdc8c4c3c4c8cdd5dde7d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababababababababababababababababababababababababababababababababa89b8e8175685b4e4235281b0f00000000000000000000000000060e1720282f383f444e535b60666d71777b8084878a8d8f9193999595969695959993918f8d8a8784807b76716c656059514b53606d7981818181818181818181817a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38414b555f69707d87929fa5afb9c3cdd6cabfb4aaa1968f82786d605a504a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7c87939fabb5c0cbcbbfb4ab9f948d80736c615951454039342e2924211f1b1c1b1c1a1e2123292e343b4149505c606c78839099a3afbdc6d1c9bdb2a89d9083766a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adbac6d3dfd8ccc0b6ac9a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3744505b6575828f9ba8b5c2d0dcdfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6f62544a3f3428160c020000000000000000000000000000000000000000000000000000000b17222d38414f59616d7a85929ea3adb6bfcbc3bab2aca49f9b9792908f8f9092989d9fa7aeb4bcc5c6bdb4aaa2988f82766c61564c41352a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d1207070d11131416181a1b1c1c1b1b19171514120e0907040000000000000000000000000000000000000000000000000000000000000000000004101c2934404b556874818e9ba9b3becad6d6cabfb4aaa19691867f7975716e696a686767666565625b51463a2e22150900000b1824313e4b5764717e8a97a4b1bdcad7e6dfd9d4d1d0d1d4d9dfdcd0c3b6a99d908376695e53463a291f1409000000000000000000000000000000000000000000000000000000000c18232f3a4653606d7985929fabb8c5d0dbd9d4d1d0d1d4d9dfe7e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a89b8e8175685b4e4235281b0f0000000000000000000000000000050e161d262d333c414950545c60646a6f73777b7d808384868888898989888887868482817e7a77736e6a64605b534f4545515c666d75757575757575757575756e685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3a434d57606b727f8c939ea7b1bbc4cfd0c6bcb2a89f948d80736c61584e443d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a75818e99a3afbbc5cfc6bdb0a69d928a7e716b635b514b444039352f2e2b26292828262b2d2f34383f444d535b606e74808d959fabb5c0cfd2c5b9ada1968b7e7164584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000a1724313d4a5764707d8a97a9b3becad6e0d4c8bbafa49a8a7d7064574a3d30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495365727f8b98aab4bfcbd6e0d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000007131f2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083776a5f5342382e23170b000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74818e97a1adb5bfc8c3b9b1a8a19a938e898583828284868b90959fa2aab4bcc5c6bcb4aa9f948a7e71685d52463a2f303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0501040607090c0e0f0f0f0f0e0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3e4b5864717e8b97a1adb9c7d1dbd0c6bcb2a8a198928c85827e7b78777574737372726d62564a3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4eae4e0dddddde0e4e0d4c7bcb1a7988c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6e2e0dedddee0e4eaf1e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000040b141b22272f383f444a5053585f6266696e71747678797b7b7c7c7c7c7b7b79777674716e6867625f58535049413d404b545c606868686868686868686868615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626d74818e959fa9b3bdc6d1cec4bab0a69d928a7e716a60564c42392e3030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e58626e7b87929fa9b3bec9cfc2b8aea49f92867d726d605d55514a45403c3a373136353531373a3b40454a50565e656c73808c929da7b1bdc7d1c8bdb1a89e9184796d6053473c32261b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000d1a2633404d596673808c99a6b3bfd0dbdfd2c6b9ac9f93867a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3c4955626f7c8898a3aebac7d3e0d7cbbfb4aa978b7e7164584b3e31251806000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3998b7f7265584e4330261c110600000000000000000000000000000000000000000000000000000005121f2b3744505b656f7c88939fa9b3bec7c4bab1a7a0969188817d79767575777a7e838b9298a2aab4bcc6c6bcb0a69e92857a6d61554b413529323d45515c666e7b86929fa5afbabeb3a99f948c7f726a5f554b40352921170b02000000000001020303020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d7cec4bab2aaa29f97928e8a8785838281807f7f7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4f5f0eceae9eaeceaddd1c4b8ab9f95877b6e6154483b31251a0e020000000000000000000000000000000000000000000000000000000004101c2834404b5564707d8a98a2aebac6d3dfeceae9eaecf0f5f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000020a11171d262d33383f44464e5355575e61646769666d6e6f6f70706f6e6e6d66696764615e5655534e46443f382f39424b51535b5b5b5b5b5b5b5b5b5b5b54524c443b3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47515b606d79839097a1abb4bfcbd7ccc2b8aea49f92867c6f685e544a403428232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c47535f6974818e97a1adb9c1cccac0baaea29892877f746d67605c54514b48474344434142434246484b51545c60686e777f8c929ca4aeb9c2cfccc4b8aca0958b7e71675c5145382a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000613202d3a4653606d7986929facb8c5d2dfdcd1c0b3a6998d8073665a4d402d22170b00000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6154473c3121140a000000000000000000000000000000000000000000000000000000000613202d394653606c7883909aa4afbbc5c7bdb2a8a09590847d75706c666869676d71787f869298a2aab4bfcbc2b9ada1978d8074675d5145392c2834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6773808d99a3afbbc4cdd7d6ccc4bcb4aea9a29f9b979792908f8e8d8c8c83776a5d5144372a1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4f0f0f0f0f0f0f0e4d8ccc0b6ac9d908376695e53463a291f14090000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5d0dbe6f2f0f0f0f0f0f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000060b141b22272e34383c4347484d5254575a545c606162626363626261605c545a5754524d4847433c37332d2730394045464e4e4e4e4e4e4e4e4e4e4e4746413b32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f45515c676e7b859199a3aebac0cad4cac0baaea39891847a6d665c51443f342b201717171717171717171717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37424d57616d7a85929ea5afbac3cecabfb4aaa299938c8179726d66605d5555534e504f4e4f504d5355555c60666d717a828c929ca4aeb6c0cbcec4baafa59d9184786d60554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0dddbcec1b5a89b8e82756853493f33271b0f03000000000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8e8275685d5246392d20130200000000000000000000000000000000000000000000000000000005111d2935414c5663707d8995a0acb6c0ccc0b5aba09690837a706b63605b54555d60656c727c869298a3aebac4c9beb3a99f92857a6d6054473c32262e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b2f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929fa8b2bbc5cdd6d6cec6bfbab3adaba8a9a29f9d9b9a9a998e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e3e3e3e3e3e3e3e3e0d4c8bbafa49a8c7f7265574d42362a170d0300000000000000000000000000000000000000000000000000000000000007131f2c3845515c6774818e9ba9b3becad6e2e3e3e3e3e3e3e3e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000020a11171c23282b31373a3c4246484a4d4b5153555556565655555453514b4e4b4746413b3a37312b27221e272e34383a42424242424242424242423b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232934404b555e696f7d87929fa4aeb8c2ccd6cbbfb4aaa1969082786d605a50463d32291e150b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c46525e68717e8a939ea8b2bcc5cfc6bcb4aba49f938e847f79716d6765625f585d5c5b5b5d575f6165676d72787e858f949ca4adb6bfc8d0c6bcb2a89d92897d70665c5043392f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546874818e9ba7b4c1cedaddd0c3b7aa9d908477655b5044372b1f120500000000000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000713202d3946525d6875818e9ba7b1bec7c7bbafa49991847a6e68605953504a4b51535b606a707d86929fa8b2bdc9c5baaea2988b7e7165584e43372b27303c45505a606d7a849199a4afbbbfb4aba0968e81746c61574d42382d22170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6974818e96a0a9b3bbc3cad0d6d0cac5bebab8b5b3adabaaa8a7aa988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad6d6d6d6d6d6d6d6d6d6d2c6b9ac9f93877b6e6154483b31251a080000000000000000000000000000000000000000000000000000000000000004101c2834404b5563707d8a97a2adbac6d3d6d6d6d6d6d6d6d6d6d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000060b11171c1f262b2e30363a3b3e414045464848494949494848464540413e3b3936302e2b261f1b17151d23282c2d35353535353535353535352e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118232f39434d57606b717e8b929da6b0bac4ced0c6bcb2a89f948d80746c62584e443b30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202a36414c56616c75828f96a0aab3bcc6cec6bdb5afa59e96918b847e7a76726f6a6b6a696868696a696e7275797e848a92979fa6adb6bfc8d2c7beb4aaa1968e81746b60544a3f31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7b8799a3afbbc7d3e0d7cabeb1a4978b7e7164584b3e3125180800000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3f4c5966727f8c99a5b2bfccd8dfd2c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c3cbbfb4aa9f93877c6f685e564f46443f4145495058606b737f8c96a0acb9c5cabfb4aa9d9083776a5f53473b2e212a333f45525d686f7d87939fa7b1bcbdb2a89d938a7e71695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57606d79849197a1a9b1babfc6cacfd3d0cac6c5c1bebab8b6b5aea298887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c9c9c9c9c9c9ccc0b6ac9c908376695e52463a291f140900000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5cfc9c9c9c9c9c9c9c9c9c9c9bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000060b10151a1f21252a2d2e312e34383a3b3c3c3d3d3c3b3b3a38342e312e2d2a25211f1a150f0b0b12181c1f20282828282828282828282821201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626c74808d949fa8b2bcc6d0cec4bab0a69d928b7e716a60564d42392e231810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a44505a606d79849198a2aab4bcc6cec7c0bbafa9a19e96918b86827f7b7978777674757677787b7e82858b91969ea1a9b0b8bfc8d0c7c0b6aca2989184796d60594f42382e1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdd2dde0d3c7baaea298877b6e6154483b2e211508000000000000000000000000000000000714202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000004101c2934404b5565727f8b98a3aebac7c7baaea3988e81746a60564c443d383335383f444f59606d7984919eaab4becac5b8ab9f95887c6f6255493c2e23212935414c56606b73808c959faab3bebaafa59f92857b6e665b50443d31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b45515d676f7c859297a0a7aeb4babec5c6cad0d0d2d0cac6c5c3b8ac9f9285796d6053463a2d20130700000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbbafa49a8b7f7265574d42362a170d03000000000000000000000000000000000000000000000000000000000000000007131f2c3845515c6674818e9ba9b3bebdbdbdbdbdbdbdbdbdbdbdbdbdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000030a0f12151a1e20212423282c2d2e2f2f30302f2f2e2d2c28232421201e1914120f09030000070c1013131b1b1b1b1b1b1b1b1b1b1b1414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d46505a606d78828f96a1aab4bfcad6ccc2b8aea49f92867c6f685e544b40342823190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e45515d676e7b869298a3aab4bcc4ccccc1bbb2ada8a19e99928f8c88868483828182838485888b8e92979ea0a8adb3bbc2cacfc6beb6afa49a92867c6f675d51473d30261c0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce2d6cabeb3a994877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995acb6c0ccd8e2d6cabfb4aa96897c706356493d3023160a000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000006131f2c3845515c677683909daab4bfcbc5b8ac9f92867a6d61584e443b322b28292d333d45515c67717e8b98a2aebac6c8bcb1a7998d807366544a3f34281c24303a444f59606d78839098a2aebac0baada2979082786c60584e433a2f24190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a6f7c8590959fa2aaadb3b8babfc2c4c5c7cbd1cbc3b6a99c908376665c5044382b1f120600000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ac9f93877b6e6154473b30251a0800000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8a97a2adb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a3978a7d7064574a3d3124170a000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000306090e12141517181c1f202222232323222221201f1c18181414110e0806020000000000000406070f0f0f0f0f0f0f0f0f0f0f0807050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17202b343f44505c666d7a849198a2aebac0cad3cac0baaea39891847a6e665c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935414c555f69707d869298a2aab2bac2cacdc4bdb9b2acaba39f9c98999291908f8e8e90919297989b9ea2a9acb2b9bec5cdccc4bdb4aca49f93887e706a5f554b41352b1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879aa4afbbc8d4e0dbd0bdb0a3978a7d7064574a3d3124170a00000000000000000000000000000007131f2c38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5cabeb3aa9b8e8175685e52463c3229201c1b222934404b55606d7985929fabb8c5cdc3b6a99c908376665c5044382c1f1e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18242f3a434e58606a6f7b838c92989fa2a9acaeb4b5b7b9bbc0bebfc0b3a69a8d807367544a3f34281c100300000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3ab9c908376695e52463a291f1409000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3978a7d7064574a3d3124170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000002050708070c10131315151616161615151313100c07080705020000000000000000000000000202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545e686f7c86929fa4aeb8c1ccd7cbbfb4aaa1969082786d605b51473d33291f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a434d57606b707d869298a1a8b0babfc5cec9c4bdb9b4aeaca9aba39f9e9d9c9b9b9c9d9ea2a9a8abadb3b9bdc4c9cec9c1bab2aba39a938b7f726c61584e433a2f231a0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfd7cabdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000915222e3b4854606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c1106000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3aebac7c6baaea2988a7d7063564c41342b20170f1118232f3945515d6774818e9ba7b4c1cfc5b8ac9f9285796d6053463a2d20162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464e5860696e787f868d92979b9fa2aaa8aaacafb5b1b2b3b3a9978a7d7164574a3e2e23170b0000000b1824313e4b5764717e8a969696969696969696969696969696969696998b7f7265574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c6674818e969696969696969696969696969696969696968a7d7064574a3d3124170a000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000406070809090a0a090808070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a717e8a929ca6b0bac3ced1c6bcb2a99f948e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c454f59616b707d8691969fa6aeb4bcc1c7ccc9c6bfbab9b6b4aeacabaaa9a7a8a9aaabadb3b5b8b9bec5c9cec9c4bdb9afa8a19992887f726d625a50463c31281d1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667885929eabb8c5d1ded7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000004101d2935404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3121150a00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfcbc5b8ab9f9285796d6053463a3020190e0507121d2935404b5564707d8a97a9b3bec9c6baaea298887c6f6255493c2f221617232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d464e575e666d727b80858a8e9298989b9d9fa3aba4a5a6a7a197877b6e6154483b2e2115060000000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5463707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a0005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c73808d949ea8b2bcc5d0cfc4bbb0a69d938b7f726b60574d43392f2318110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333d474f59616b707c848f949fa2aab0b7bbc1c6cacbc7c5c2bfbab9b7b6b5b4b5b6b7b8b9bec1c5c6cacec8c4beb9b2aca59e9691877e726d625b51483e342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddaddd0c3b6aa9d9083776a5d50442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546b7884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8f8275685e5246392d20130300000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c2b6a99c8f8376665c5044382b1f120700010c18242f3b4854616e7b8797a1adb9c6cabfb4aa988b7e7265584b3f322518111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343d454d545c60686e73797e8285898c8f9192999697989a9a9b928578695e53463a2d2114070000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d70695e52463a291f14090000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e6154473b2e21140800010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f1013131313131313131313131313130a090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323c46505a606c78828f96a0a9b3bdc7d2cdc2b9afa59f92877d6f695e554b40342923190f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353d474f59616a6f7a828b92989ea6aab0b8babec5c6cacfcbc7c5c4c3c2c1c1c3c4c5c6cacfcec8c5c3bcb8b2ada8a09e938f847c716c625b51493f362c22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e44515e6a7784919daab7c4d0ddd9ccbfb2a6998c7f7366594c403326190d00000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c41362a1d110500000000000000000000000000000000000000000000000000000000030f1c28333f4a546a7784919daab7c4cdc0b3a69a8d807367544a3f34281c100300000714202d3a46525e697885929eabb8c5d0c1b4a79a8e8174675b4e4134281b0a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938a7e71695f544a3f342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019222b333b424a51565e61676d7175797c7f82848688898b8c8d8d8e8f827569574d42362a1e12050000000714202d3a46525e696e7070707070707070707070707070707070707070706b60564d42362a170d0200000000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c666d7070707070707070707070707070707070707070706e685e5246392d201407000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c2020202020202020202020202020161613100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e44505b666d79849197a2abb5c0ccd7cbc0bbaea39991857b6e675c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353d474f585f686d787f868f939c9ea6abaeb3b8b9bec1c3c4c6c9cfc8c9c9d1cbc7c5c4c2c0bcb8b7b1aca9a19e96918a817a6f6a615a51493f372d241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000071e2a3744515d6a7784909daab7c3d0ddd9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000005111e2a36424d5764717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5cabdb1a4978a7e7164574b3e2e23170b00000005121e2a36424d576976828f9ca9b5c2cec1b5a89b8e8275685b4f4235281c0f0c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710192129303940444d52555d6064676d6f727577797b7d7e7f808181827e7164584b3e31251a0e0200000005111e2a36424d575e6163636363636363636363636363636363636363636360594f443b302519050000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c60636363636363636363636363636363636363636363615e564c41362a1e11050000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e182228333f4a545d676e7b859299a4afbbc1cbd7cbbfb5aba1979083796d605b51473d33291f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353d464e565e666c727b82898f949a9fa2aaabadb3b4b6b8b9bebbbcbcbcbbbfbbb9b7b5b3b1acaaa7a09d97918c847d756d68605850483f372d251b1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6c9bcafa396897c706356493d30231606000000020e1a2530424e5b6875818e9ba8b4c1cec2b6a99c8f8376695c504336291d10060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343b41464b5153555c60636568666d6e70717273747575716c6256493d301f140900000000020e1a25303b454d5254575757575757575757575757575757575757575756544f473d32291f140900000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515357575757575757575757575757575757575757575754524c443b3025190d01000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d3235363939393939393939393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38424c555f69707d87939fa5afb9c3cdd1c6bdb3a99f958e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545b60696e757c82898e92989b9ea1a9a7a9abadb3aeafafafafb5aeacaaa9a6a7a09d9995908b847f79706b615d564e463e362d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000814212e3b4754616e7b87939facb9c5c4b8aca095887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7c8bbafa295887c6f6255493c2f22160900000000091b2734414e5a6774818d9aa7b4c0cdc3b7aa9d9084776a5d5144372a1e110007131d28313d44505b666e7b85929ea5afbabeb4aa9f958c80736b60564c41352921180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151c23283036394045474b51535659545c60626364656767686864625a5045392d210d03000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b20170d02000000000000000000000000000000000000000000000000000000000000000000000000000007121c2730394044464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e14080000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57616b727f8c939ea7b1bbc5cfcfc4bbb1a79d938b7f726b60574d43392f24181108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575e616a6f757c81858a8f9297989a9c9ea1a9a1a2a3a3a2aba39f9e9c9a9795918c88837e79726d676159524c443c342d241b12090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000006131f2b37434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c0000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894abb5c0ccc7bbaea194887b6e6155483b2e221508000000000d1a2733404d5a6673808d99a6b3c0ccc4b7ab9e9184786b5e5145382b1e1205010c161f28333f4a545e69707e8a929da8b1bdbcb1a79f93877d70685d52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a2f35393a404546494c4a5153555658595a5a5b5c585650483e34291d11000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b38332b23190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d0200000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59636d75818e95a0a9b3bdc6d1cdc2b9afa59f92877d70695e554b40352923190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820282f383f444d525860626a6f74797e8285888b8e909197949595969695959992918f8d8a8784807b77716d67605c554f46413a322b221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000815222e3b4754606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c11060000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd1c7baada094877a6d6154473a2e211407000000000c1926333f4c5966727f8c99a5b2bfccc5b8ab9f9285786c5f5245392c1f120600040d17222d38424d57616c74818e95a0abb4bfbbafa49991847a6d615a50453c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c14191d24292c2e34383a3c3f404446484a4b4c4d4e4e4f4b49453e362d22170c00000000000000050e171f252a2d2e3030303030303030303030303030303030303030302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3030303030303030303030303030303030303030302e2d2a251e170e05000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333e47515b606d79839097a1abb5bfcbd7cbc1bbafa39992857b6e675d51453f352b21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e161d262d333b42464e54586062676d7175797b7f818385868788898989888887868482807d7a77736e6a65605c55514b433e3530282019100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddadcd0c3b6a99d9083766a5d50432e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7884919eabb7c4d1ded9ccbfb3a6998c807366594d4033261a0d000000000000000000000004101c2934404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3221150a000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895abb5c0cbc7baaea194877b6e6154483b2e211508000000000d1a2633404d596673808c99a6b3bfccc4b8ab9e9185786b5e5245382b1f1205000006111c262f3b45505a606d79839199a3aebac0b5aba1968f81756c62574e42392e23180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e12181d1f23282c2d302e34383a3b3d3e3f404142423e3d39342d241b10060000000000000000050d141a1e202124242424242424242424242424242424242424242322201c160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2024242424242424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212c353f45515d676e7b859299a3aebbc0cbd7cbc0b5aba1979083796d605b51473d33291f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c222830363d43474e54555d6064656c6f727476787a7b7b7c7c7c7c7b7b79777673706d6866625f5853514b4540393129241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929eabb8c5d1ded8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000006131f2c3845515c6774818d9aa8b2bdc9beb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3afbbc7c8bbaea295887b6f6255483c2f221509000000010e1a2734414d5a6774808d9aa7b3c0cdc4b7aa9d9184776a5e5144372b1e11040000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f544b40342820170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f202323282c2d2f3031323434353531302d29221b12090000000000000000000002090e1114141717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131717171717171717171717171717171717171717171414110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232935404b555e696f7d87929fa5afb8c2ccd1c7bdb3a9a0958e81756d62594f453b31281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a32383d43474b5153535b6062656769676d6e6e6f70706f6e6e6d66696764615e5655534e46454039342f271f19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578665c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5c9bcafa296897c6f6356493c30231609000000020e1b2835414e5b6874818e9ba7b4c1cec3b6a99c908376695d5043362a1d1003000000020b17212935404b555f6a727f8c949fa9b3bebaafa59f92867c6e665c51453d32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10131316181c1f2022232526272728292524211d17100900000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118242f39434d57606b727f8b929da6b0bac4cecfc5bbb1a79e938c7f726b60574d43392f2418110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a20272b32373940454749505355585b555d606162626363626261605c545a5754524c4847433c38342e29231d150d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1925323f4c5865727f8b98a5b2becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8799a3afbbc7d4e0d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36424d5664717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657885929eabb8c5c9bdb0a3968a7d7063574a3d3024170800000004101c2934404b556875828f9ba8b5c2cec2b5a89b8f8275685c4f4235291c0f0200000000050f18242f39434e58606c77828f97a1adb9c0baaea2989083796d60594f443a2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607070c101213151718191a1b1b1c181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626d74818e949fa8b2bcc6d0cdc3b9afa59f92877d70695f554b403529231a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b20272b2f35383a3f4446484c4e4b5153545556565655555453504a4d4a4746413b3a37312c28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895abb5c0cbd7e3d8ccc0b6ac96897c6f6356493c30231609000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c514438291e13080000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536a7784919daab7c4cbbeb2a5988b7f7265584c3f3024190d01000006131f2c3845515c677784909daab7c3cec1b4a79b8e8174685b4e4135281b0e02000000000007121d27313c44505b656e7a85929ea4aeb9bfb4aaa0958d80736b60564c41382d22170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0b0c0d0e0f0f0b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313131313131313131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d47515b606d78829096a1aab4bfcad6cbc1bbafa39992857b6e675d51453f352c21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1d24292c2d3337393c3f41404547484849494949484846443f403d3a3936302e2b261f1c18120c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d8ccc0b6ac95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e211508000000000000000000000814212e3b4754616e7b86929facb9c5c5b8aca095887c6f62544a403428170c020000000000000000000000000000000000000000000000000000000000000000000b17222d424f5b6875828e9ba8b5c1cfc1b4a89b8e817568564c4135291d110500000714202d3a4753606d7986929facb9c5cbc0b5ab998c7f7266594c3f3326190c000000000000010b151f27333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e53493f33271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11161a1d1e20202020202020202020202020201e1d1b17110b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212b353f44515c666e7a849198a2aebac0cad7cbc0b5aba2979083796d605b51473e332a1f160b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181d1f22272b2d2f322f35393a3b3b3c3d3d3c3b3b3a38342e312e2d2a25211f1a15100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7a8799a3afbbc7d3e0ddd2bdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000006131f2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5342392e23180c00000000000000000000000000000000000000000000000000000000000000000000061925323f4c5865727f8b98a9b3becac4b7aa9d918477685d5246392d20140a00000916232f3c4956626f7c8999a3afbbc7c7bbafa399897c6f6356493c3023160900000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0e13131313131313131313131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000407090a13131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000050e161c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27221d160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f151b1f22232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232834404a545e686f7c86929fa4aeb8c2ccd1c7bdb3a9a0958e81756d63594f453c31281d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013171b1f20222524292c2d2e2f2f30302f2f2e2d2b28232421201d1914120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578665c5145382c1f13060000000000000000000815222e3b4754606a7784919dabb5c0c7bbafa3998b7f7265584e4330271c1207000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8897a2adbac6c6b9ac9f93877a6d6154473d2f261c110709121e2b37424d5765727f8b98abb5c0cbc5b9ac9f92867a6d6053473a2d201407000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020202020202020202020202020201b1a18140f0801000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020201b1a18140f08010000000000000000000000000000000000000000000000000000000000040e1720272e33363739393939393939393939393939393736332e2720170e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393635322d261e160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424c56606a717e8a929da6b0bac3cecfc5bbb1a79e938c7f726b61574d433a2f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f12131519181d20202122232323222221201f1c17171413110d0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57697683909ca9b6c3cfdcdcd0c3b6a99d9083766a544b4034281c1004000000000000000004101c2834404b55626f7c8995a0acbdc7c5b9ac9f92867a6d6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5c8bbafa49a8b7e7265584e42382d221813131a252d3a47535f697683909ca9b6c3d1c3b6aa9d908377675d5145392c1f13060000000000000000000a141d29323e45515c676e7c86929fa5afbbbeb3a99e948b7f726a5f554b40352920170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b13191f2426272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000000000000000b16202932393f4344464646464646464646464646464644433f39322920100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646464646464643413e3830281e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444e58616c73808d949fa8b2bcc5d0cdc3b9afa59f93877d70695f554b41382d22170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050609070d11131415151616161615151312100b06070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8c5d1dedacdc0b4a79a8d8174675a4e412e23180c00000000000000000006131f2c3845515c6774818d9aa7b1bccabeb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba9b3bec9c0b6ac9d9083776a60544a3f3329242020262b37424d57616e7b88949fabb7c4c9bdb2a89a8d817467554b4035291d1004000000000000000000020b17202834404b555f6a727f8b939ea9b2bdbbb0a69f92867c6f675d51453e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d242b30333439393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000008111a21282c2f3039393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000006111c27323b434a4f515353535353535353535353535353514f4a443b3222190e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343d4347495353535353535353535353535353534f4e49423a30261b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c46505a606d78828f96a0aab4bec7d2cbc1bbafa49992857b6e675d53493f332721180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070808090a0a0908080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000b17222d404c5966737f8c99a6b2bfcfdbded2c5b9aca196877a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd8ccc0b6ac988b7e7265584b3f322518070000000000000000000713202d3a4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b97a1adb9c7c7b8ab9f95897c6f665b50443d352f2d2d31364046535f6973808d99a6b0bcc7c5b9aca196897d7063564a3d2f24180c0000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50443b2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c3f41464646464646464646464646464646464641403c362f261d13080000000000000000000000000000000000000005101a232c33383c3d464646464646464646464646464646464641403c362f261d130800000000000000000000000000000000000000000000000000000a16222e39434d555b5d60606060606060606060606060605e5b554d44342b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54566060606060606060606060606060605c5a544c42382d211509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202b343e44505c666d7a849198a2acb6c0ccd7ccc0b5aba2979183796d655b50443e332a1f160b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000061724313d4a5764707d8a97a9b3becad6e1d5c9bdb2a8978a7d7164574a3e31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad6e0d4c8bbafa49a897c6f6256493c2f231609000000000000000005111e2a36414c5664717d8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eabb5c0c8bcb1a79d9083786c60594f45403a393a3b4246525c616e7b86929facb8c2cbc0b5ab9e9184786c605346392d20130700000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61564d42382d22170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535353535353535353535353534e4c4841382f251a0f030000000000000000000000000000000000000b16212c353e44484a53535353535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f55463c32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3225190d00000000000000000000000000010406070a090703000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545d686e7c86929aa4afbbc1cbd2c7bdb3a9a0958f81776c605a50463c31281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815212e3b4854616e7b8797a2adb9c6d2dfdacec0b3a79a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cfdadfd2c6b9ac9f93867a6d6053473a2d20140700000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e13080000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc6c3b8ab9f958b7f726b6059514b474646484d535b636e76828f98a3aebac7c7bbafa3998c7f73665b5044382b1f1206000000000000000000000000000b151e2a343f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2b36404a52585a60606060606060606060606060606060605b58534a41362b201401000000000000000000000000000000000004101c28333e474f555760606060606060606060606060606060605b59534a41362b20140200000000000000000000000000000000000000000000000000101d2936434f5b6771777979797979797979797979797979777167584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f7979797979797979797979797979797670665a4e4135281c0f000000000000000000000001080d111314161613100b0400000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a707d88939fa5afb9c3cdd0c5bbb1a79e938c7f736c61584e433a2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535e697885929eabb8c5d1deddd0c3b7aa9d908477695e53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784919daab7c4d0ddddd0c4b7aa9d918477675d5145392c20130600000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87929faab4bfc8bcb1a79f92867d706b605d5554525354575f616d73808c949eaab4bfcbbfb4ab9f92867b6e61544a3f33281c0f0300000000000000000000000000030c18222935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301e130800000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c301e130800000000000000000000000000000000000000000000000000111e2a3744515d6a7783868686868686868686868686868683776a605447382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8686868686868686868686868686868276695c4f4336291c1000000000000000000000040c13191d20212322201b160c06000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c737f8c939ea7b1bbc5cfcdc3b9afa59f93887e706a5f564c42382d22171006000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021201e1a140d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e2021201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576875828e9ba8b5c1ced9ded1c5b8aca095877b6e6154483b31261a0e010000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded7cbc0b5ab9a8d817467554b4035291d11040000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5442392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946525e6975828e98a2aebac2c2baaea29892867d736d6763615e606164696e767f8c929ca6b0bcc6c7baaea3998f8275695e5242382d22170b000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada1978f82786c60584e433a2f24180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e747979797979797979797979797979797979746f64584c3a2f24190d01000000000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979746f64594c3a3024190d010000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9a939393939393939393939395887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674808d939393939393939393939393988b7e7164584b3e3125180b000000000000000000050d161e24292c2d302f2c272117110a0300000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323c464f59606c77818e95a0a9b3bdc7d1cbc1bbafa49a92867c6e685d544a3f332822180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e2d2a251f18120c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181f252a2d2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000020e1a25313f4b5865727e8b98a8b2bdc9d5e0d4c8bcb1a7988c7f7265574d42362a1d1207000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a8b1bdc8d4e0d4c7bbafa3998a7d7064574a3d2f24180d01000000000000000815222e3b4754606a7784909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57616e7b86929fa7b1bdc6bfb4aaa29892878079746f6d686d6e71757b828c919ca4aeb8c2c9bdb2a89f92867b6e62564d422f261c11060000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774808686868686868686868686868686868686817467564c4135291d1104000000000000000000000000000000000a1724303d4a5763707d8686868686868686868686868686868686817467564c4135291d11040000000000000000000000000000000000000000000000000815212e3b4854616e7b87939f9f9f9f9f9f9f9f9f9fa79a8d8074665c5044382c1f130800000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919e9f9f9f9f9f9f9f9f9f9f9f9286796d6053473a2d2014070000000000000000050e171f282f35393a3d3b383228231c150c03000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202a343e44505b656d79839097a1abb5c0cbd7ccc0b6aca29891847a6d665b50443e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3a363029241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d242930363a3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000915222e3b4855616e7b8896a0acb9c5d2ded9cec3b6a99d908376695f5346392f24180c00000000000000000000000000000000000000000000000000000000000000000000000a14202d3a46525e697683909da9b6c3ced9dfd2c5b9ac9f92867a6d6054473a2d2114070000000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b46535f69727f8c959fabb4bdc6bcb4aaa299928d85807c7a79797b7d82868f949ca3adb6bfc8c0b9aca0968c80736a5f53443b301d140a0000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e33291e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d67778390939393939393939393939393939393908477685d5245392c20130600000000000000000000000000000003101c28343f4a546673808d939393939393939393939393939393918477685d5245392c2013070000000000000000000000000000000000000000000000000714202d3a46525e6976838f9caab4acacacacacacacab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adacacacacacacacb3a99b8e8175675d5145392c20130600000000000000060f172029313a4145474948443d342e261e150d030000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303030303030303030303030303030300040d182227333f49535d676e7b859299a3afbbc0cbd2c7beb4aaa0968f82786c605a50463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464746423b352f281f18100701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353b42464746423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000714212d3a46535f697784919eaab7c4cedaddd1c4b8ab9f95887b6e61554b4035291c110600000000000000000000000000000000000000000000000000000000000000000006111b2834404a54616e7b87939facb9c6d2dfdcd0c3b6a99d908376685d5245392c2013070000000000000006131f2c3845515c6674808d9aa7b1bccabeb3a99c8f8275685e5246392d201403000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606c78839099a3abb5bec6bcb4aba39f97928d89878686878a8e92989fa6adb5bfc8c0b6ada39e9184796d60574e4232291f0b02000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000006121f2b3844505c6676838f9c9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a3aebab9b9b9b9b9b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6774818e9ba9b3beb9b9b9b9b9b9ada1978a7d7063554b4035291d1104000000000000070f182129323a434c515456544f443f3830271f150d0300000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b10101010101010101010101010101010101010100f17222d38414b555f69707d87929fa5afb9c2cdd0c5bcb2a89e948c80736c61584e443a30261c1106000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254524d454039312a2218130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313940454d5254524d453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000005121e2a36424d576774818d9aa8b2bdc9d5e0d4c8bcb1a7998d8073675d5145382e23170c0100000000000000000000000000000000000000000000000000000000000000000b17222d3844515c6673808c9aa4afbbc8d4e0d4c8bcb1a7998c807366564c4135291d1104000000000000000713202d3a4653606d7985929eabb8c3c6b9ada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b44505b666e7c869299a4acb6bfc6bdb5afa9a19e9a969992939a979b9fa3aab0b8bfc9c0b6aea49c91897d70675c51453c3120170d000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afacacacacacacacacacacacafa499897d7063564a3d2d22170b0000000000000000000000000000000713202d3a4653606d7985929facacacacacacacacacacacacafa49a897d7063564a3d2d22170b000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb9c5cfc6c6c9beb3a99b8e8175685d5245392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c4cfc6c6c6c5b8ab9e9285796d6053463a2f24180d010000000000071018212a333b444c555d60636059504a423931271f150b01000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b262f39434d57606b727f8b939da7b1bbc4cfcec3bab0a69c928a7e716a5f564c42382e23171007000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e615e57514b433c3429241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429343c434b51575e615e574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000020e1a26313c4956636f7c8996a1acb9c5d2ded8cdc2b8ab9e9285796d60544a3f34281d120700000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7985919eacb6c0ccd8ddd1c4b8ab9f95887b6e6255483b2f24190d0100000000000005111e2a36414c5664717d8a97a2adb9c6c5b8ab9e9285796d6053463b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28333f4a545f6a717e87939aa4aeb5bdc3c0bbb3adaba7aba39f9fa4aca8acaeb4bcc2c4bdb9aea49c928c7f736b60554b40332a200e050000000000000000000000000000000000000000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495366737f8c99abb5c0b9b9b9b9b9b9b9b9b9c0b5ab998c7f736653493f33271b0f0300000000000000000000000000000916222f3c4955626f7c8898a2aebab9b9b9b9b9b9b9b9b9c0b6ac998c807366544a3f33281c0f030000000000000000000000000000000000000000000000000914202c3945525d6875828e9ba9b3becad6dacfc5b8ac9f92867a6d6054473b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d6d2d5c9bdb2a89a8d8074665c5044382c1d13070000000000071019222a333c454d565e676d706b605c544b433931271d1207000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28313b454f59626d74818e959fa9b2bcc6d1ccc1b8aea49f92867c6f685d544a3f342822180e05000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e69605d554e463f352f281f1810070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353f464e555d60696e695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000913202d394653606c7884919eabb7c2cdd8dfd2c6b9ada2978b7e71665c5044392f24180c030000000000000000000000000000000000000000000000000000000000020b17212b3744505b65717e8a97a1adbec7d2ddd7cbc0b5ab9d9083776a5f53473a2e1e1308000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b17222d38424e58616c717e88939fa3abb1bbbfc5beb9b8b3b4aeacacafb6b5b8babfc6c0bab2ada49d928d80736d63594f43392f21180e00000000000000000000000000000000000000000000030c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ca8b5c2d1c6c6c6c6c6c6c6d2c2b5a89c8f8275655b5044372b1f120500000000000000000000000000000c1825323f4b5865727e8b98aab4bfcac6c6c6c6c6c6c6d2c2b5a99c8f8276665b5044382b1f120600000000000000000000000000000000000000000000000004111d2935414c5664707d8a97a2adbac6d3dfd3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9caab4bfcad6ded2c5b9aca096897c6f62544a3f34281c0c0100000000040f19222b343c454d575e686d7a7c736d665c554b43392f24180f050000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d30313636363636363636363636363636363636363636363636363636333d47515b606d79839096a1aab4bfcbd7cabfbaaea29891847a6d665c50443e342a20160c030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b756d675f585045403a312a2218130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313a404550585f676d757b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000005121f2b3744505b6573808d99a7b1bcc8d4e0d6cabeb3a99d9184786d60554b4035291e150b00000000000000000000000000000000000000000000000000000000000a141d28343f4a54606c7883909da9b3bed0d9e0d4c7bbafa3998b7f7265574e42372b1e0c01000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c46505a626c727f8b9299a0a7aeb5bbc0c7c5c0bfbab9b9bbc0c1c5c4c2bbb7afa8a19e928d80746e635b51473d31271d0f060000000000000000000000000000000000000000000000060f19242f3a434f59606d78829097a2adb0b0b0ada2979083786d60594f443a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2d2d2d2d2d2d2d2d1c5b8ab9e9285796c605346392d2013060000000000000000000000000005111d2a36414c566874818e9ba7b4c1d0dbd2d2d2d2d2d2d2c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929fabb8c4cedad6cbbfb4aa9c908376695e53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c00000000000a16212b343d464e575f696e7a838680786d675d554b40352921170d0300000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e434343434343434343434343434343434343434343434343434343434345515c676e7a849198a3aebac0cad6cabfb4aaa0968f82786d605a50463c32281e150a0000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d81796f6a625a514b433c3429241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d2429343c434b515a626a6f79817d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953626f7b88959fabb8c3ced9dbcfc5b8aca0968b7e72675d51453c30271d120700000000000000000000000000000000000000000000000000000006111b262f3844505c66717e8a95a0abbbc4cfe2dfd2c5b9ac9f92867a6e6154473c31261a0e0000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605442392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343e48505a626d727f8790959fa3abafb5b8bcbfc0c1c2c2c1c0bebcb8b6b0aba59d96918a80776c605c524940352b1f150b0000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5a3a3a3a3a99f948c80736b60564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a2adbac6d3dfe4e0dfe0e4dfd2c6b9ada297887b6e6255483b2f221507000000000000000000000000000713202d3946525e687784919eaab7c4d1dddfdfdfdfdfdfd3c6baaea298887b6f6255483c2f2215080000000000000000000000000000000000000000000000000008131f2c3845515c6674818e9aa8b2bdc9d5dcd0c6b9ac9f93877b6e6154483d32271b0f00000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3e2d4c8bcb1a7998c807366584e4330261c110600000000030f1b27323d464e585f696e7b8490938d82796d675d51453f33291f140900000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a5050505050505050505050505050505050505050505050505050505050504b555e686f7c86929fa4aeb8c2ccd0c6bcb2a89f948d80736c61584e443a30261c110600000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86837c716c605d554e463f352f281f181008010000000000000000000000000000000000000000000000000000000000000000000000000000000000010810181f282f353f464e555d606c717c83867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3847535f6a7683909da8b2bdc8d4e1d4c8bdb2a89e9185796d60584e42392e2318110700000000000000000000000000000000000000000000000000060f17222d38414d57606d7884919ea7b1bccdd6e1d4c7bcb1a79c8f8275685e5246392a201509000000000000000815222e3b47545f6a7783909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222c363f48515b626d727c838c92999fa3ababb1b2b4b4b5b5b4b4b2b1acaaa69f9c938e847d746c655b504a40372e231a0d0300000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a93969696969696969692877d6f685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a9b3becad6ddd8d4d2d4d8ddd6cabeb3a9978b7e7164584b3e2f24180d010000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dee0dedddedfe1d6cabeb4aa988b7e7265584b3f3025190d0100000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded4c8bbafa49a8c7f7366584e43372b1c120700000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909cabb5bfcbd7ddd1c4b8ab9f95887b6e6255483d3222150a000000000007131f2c38434e58606a6f7b8491969f948f82796d605b51453b31251a0e04000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c28333e485055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606a717e8b929da6b0bbc7d3cec4bab0a69c928a7e716a5f564c42382e23170c06000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f867e756d675f585145413a312a2219130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222a313a414551585f676d757e868f8275675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006111b2b37434e5864717d8a96a0acb9c4cfdad9cec3b9ada1978c80736a60544b403428231910070000000000000000000000000000000000000000000000060f182127333f49535f69727f8b96a0acb9c3cddfdcd1c4b8ab9f95897c6f63564c41362a1e110500000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242d363f49515b626a6f787f878e92999d9fa7a5a7a8a8a8a8a7a5a7a09d99948f89817a706b605b53493f382e251c1108000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818a8a8a8a8a8a8a8a8a8a8a847a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566874818e9ba7b4c1cfd9d2ccc8c6c8ccd2d9cfc0b4a79a8d817467554b4035291d11040000000000000000000000000a1724303d4a5763707d8a96a8b2bdc8d4d9d4d1d0d1d2d5dad0c1b4a79b8e817468564c41362a1d1105000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d8ccc0b6ac9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53473a2e21140300000000000915222e3b4854606a6f7c859196a0a69f948e81756d62574d42362a20150a000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a616469696969696969696969696969696969696969696969696969696969696969696969696c74808d949fabb7c3d0d6ccc2b8aea49f92867c6f685e544a3f342822170c0000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727f8b928b81796f6a625b514b433c3429241e160d0700000000000000000000000000000000000000000000000000000000000000000000000000070d161e2429343c434b515b626a6f79818b928b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000f1a26313c4653606c7884919ea9b3bec9d5dfd5c9beb3a99f92877c6f665c51453f352b22191107000000000000000000000000000000000000000000060f18212a333c44505b656e7b86929fa8b2bdcbd5e1d4c8bdb2a89d9083766b6054443b3025190e0200000000000006131f2c3845515c6674808d9aa7b1bcbebeb3a99c8f8275685e5246392d2014030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4951585f666d737c81878c909596999a9b9c9b9b9a989695908c88827d746d686159504941382d261c130a000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d797d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d0d0c7c0bbb9bbc0c7d0d0c3b6aa9d908377675d5145392c201306000000000000000000000003101c28343f4a546673808d99a6b3c0ced5cdc8c4c3c5c6c9cfd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4ddd2c7b8aca096897c6f62544a4034281c100400000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5866727f8c9aa4afbbc8d4e0d4c7bbafa3998b7f7265574d42372b1e120600000000000916232f3c4956626f7c859297a1a8b0a69e938b7e72695e53463c32271b0f010000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c717676767676767676767676767676767676767676767676767676767676767676767676767678838f9ca9b6c2cfdcd4cac0baaea29891847a6d665c50443e34281d1105000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b8795938e847c726d605d554e463f352f281f19100801000000000000000000000000000000000000000000000000000000000000000000010810191f282f353f464e555d606d727c848e9395877b6e6154483b2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000a151f2b3844505b66727e8b97a1adb9c3cdd9dacfc4bbafa3999083796d605a50473d342b2318120b030000000000000000000000000000000000020a1117212a333c454f59606c77828f98a2aebac3ceddd9cfc7b8aca0968a7d7064594f4332291e1408000000000000000713202d3a4653606d7985929eabb1b1b1b1ada2978a7d7164564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f464e545c606a6f757b7f83878a8c8d8e8f8f8e8d8b898783807b76706b605d564f443f382f261b140a010000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676d7070707070707070707070706e695e53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8c5d2c7beb6afacafb6bec6cec5b9ac9f92867a6d6053473a2d201407000000000000000000000006121f2b3844505c6676838f9ca9b6c2cfcbc3bcb8b7b8b9bec5cdc5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000030f1b27333f4953626f7b8895a0acb8c7d2ddd4c8bdb2a89a8d8074665c5144382c1f13080000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7784919dacb6c0ccd8dfd2c5b9ac9f92867a6e6154473c31261a0e0200000000000714212e3a4754616d7a828b9298a3abafa59f92867b6e61584e43372b1e13080000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e838383838383838383838383838383838383838383838383838383838383838383838383838383909daab7c3d0dddcd6cabfb4aaa1968f82786d605a5045392d211508000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909d9691867e756d675f585145413a312a2219130c0400000000000000000000000000000000000000000000000000000000000000040c1319222b313a414551585f676d757e8691969d908377695e53463a2d1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000030f1c28333f4a54606d7985919ea7b1bcc8d4dfd7cbc0b5aba0958d80746c62594f473d3528231c150c08020000000000000000000000000001080b141b2227333c454d57616b727f8c949faab4bfccd5dcd1c7bdb0a69d9184786c6053463d3220170d0200000000000005111e2a36414c5664707d8a97a1a5a5a5a5a5a59f9285796d6053463b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d343c424a51585f62696e73777a7d7f8181828281817f7d7a77736e6a636059524c433e332d261d140a0200000000000000000000000000000000000000000000000000000000000000020c17212935404b555d60636363636363636363636363615e574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdc8ccc0b6aca49fa4acb4bcc6c7bbafa399897c706356493d3023160900000000000000000000000713202d3a4653606d7985929facb8c5cdc3b9b1acaaabadb3bbc5c8bdb2a8968a7d7063574a3d2e23170c00000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7d9cec3b8ab9e9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acbec7d2ddd6cabfb4aa9c8f8276685e5246392a1f15090000000000000713202d3946525e686d757f869299a3afaea3988e81756a6054473a2f24190d0100000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b909090909090909090909090909090909090909090909090909090909090909090909090909095a0acb8c5d1dee7dbd0c6bcb2a89f948d80746c6155493d3023170a0000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a098928b81796f6a625b514c433c3429241e160d070000000000000000000000000000000000000000000000000000000000070d161e2429343c434c515b626a6f79818b9298a0998d807366574d42362a1e0c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000b17222d3845515c67717e8b95a0acb8c1cdd6dcd1c7bdb1a79d928b7e716b60594f473e342e271e19140f0a0602000000000000000205090e13191d262d333d454e575f69707d87929fa6b0bcc6d0ded7cbc0b5ab9f948a7d70665b5044382b1f1205000000000000000713202d3946525e6875828f9898989898989898988d8174675c514538291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b222a303940444e53575e6166686e707274757575757472706e6866625f58544f45413a3127221b140b02000000000000000000000000000000000000000000000000000000000000000000050f18242f39434b515357575757575757575757575754534d453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546673808d99a6b3c0cec8bbafa49a939aa2aab4bfcac0b5ab998c7f7266594c3f31261a0e02000000000000000000000916222f3c4955626f7c8898a2aebac6c8bcb1a7a09d9ea1a9b3bec9c0b3a6998d807366544a3f34281c10030000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4dfd2c6b9ada1978a7d7064564c4135291d11040000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d9aa7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000005111d2a36414c565e616d727d87929fa5afaa9e93887c6f62564c4135291d110400000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9da0a7b1bcc8d4e0ede2d8cec4bab0a69d928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000020e1a25313c4956636f7c8997a1a39f938e847c726d605d554e463f352f281f1910080100000000000000000000000000000000000000000000000000020810191f282f353f464e555d606d727c848e939fa3a197897c6f6256493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000006111c2934404b55606c7883909da5afbbc5d0d9d9cfc3b9aea49f92877d6f6b605950444039302a251e1a15120f090b0a0a0a0b090e12141a1e24292f383f444f575f696e7b859299a3afb8c2ced7d9cfc7bbafa3998f82766c61544a3f33281c0f03000000000000000714212e3a4754616d7a868b8b8b8b8b8b8b8b8b8b897c6f62554b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010910181e272e343c43474d5354565e6163666768696868676563615e5655534e48443d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045474a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667683909ca9b6c3cfc6b9ac9f93869298a2aebac7c2b5a89b8f827568574d42362a1e1205000000000000000000000c1825323f4b5865727e8b98aab4bfcac4b8aca095909297a1adb9c6c2b6a99c8f8376665c5044382c1f120600000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dcd6cabeb3a99b8e8275685d5245392c201409000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c3cededfd2c5b8ac9f92857a6d6053473b3025190700000000000000010d1925303a444c525b626b727f8c939eaaafa59b8e8174685d5245392c20130600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9aaacb1b9c3ced9e4f0eae0d6ccc2b8aea49a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000913202d394653606c7985929eaba59e9691867f756d675f585145413a312b2219130c040000000000000000000000000000000000000000000000040c1319222b313a4145515860676d757f8691969ea5ab9e9285796c605346392d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000c18232f3944505b666f7c89939ea9b3bec7d2ddd5cbc0bbaea39992867d6f6b615a514a423d36302b26211f1a181817161718181a1e21252a2f353c41495059606a6e7b849197a2abb5c0cad4dcd1c7bdb2a89f92877c6e62594f42382d22170b00000000000000000815222e3b4855616e7b7e7e7e7e7e7e7e7e7e7e7e7e716a605443392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232831373b4246484c525457595a5b5c5c5b5a585654524c4847433c383329241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5cfc2b5a89c8f8286929facb8c5c5b8ab9e928578695f53463a2d21140700000000000000000005111d2a36414c566875818e9ba8b4c1d0c3b7aa9d908385929eabb8c5c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000a15202d3a46525e6976828f9caab4bfcbd6dacfc5b9ac9f92867a6d6054473c31261a0e02000000000000000000000000000000000000000000000000000000000004101c2834404b5563707c8996a1adb9c5d2dfd5c9beb3a99b8e8175675d514539291e1408000000000000000008131e29323a41465159626d75828f98a2aeac9f92867a6d6054473a2d22170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8bcc3cbd5dfe7e7e7e8ded4cac0b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6674818e9babafa8a098928b817a6f6a625b524c433d3429241e160d07000000000000000000000000000000000000000000070e161e2429343d434c525b626a6f7a818b9298a0a8afab9b8e8174665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d28333f4a54606b75818e97a1acb6c0ccd8ddd7cbbfb5aba29892867d716c605c544e46413b37312e2b2625242423242425262b2d31363a41454e535b606b707c859196a1a9b3bdc7d1dcd7cbc0b5aba0968d80746a5f53473e2f261c110600000000000000000714212d3a46535f696e7272727272727272727272716c62584e4330271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31363a3b4146474a4c4e4e4f4f4e4e4c4a4746413b3a37312c272119130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8998a3aebac7cec2b5a89b8f8284919eaab7c4c6b9ada197887b6e6155483b2e2215070000000000000000000713202d3946525e687784919eaab7c4cec1b4a89b8e8183909daab6c3c6baaea298887c6f6255493c2f221608000000000000000000000000000000000000000000000000000005111e2a36424d5764717e8b98a3aebac7d3e0d3c7baaea3998b7e7265574d42372b1e1205000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9aa8b2bdc9d5dfd2c6b9ada197897d7063554b4035291d10040000000000000000020c17202930363f47515b616d7a86929facaea2988b7e716453493f33271b0f03000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c8ced5dbdbdbdbdbdbdbdacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717d8a99a3aeb2aaa39f938e847c726d605d564e463f352f282019100802000000000000000000000000000000000002081019202830353f464e565d606d727c848e939fa3aab2aea3998a7d7164544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000010b17222d38424f59616e7a85929aa4afbbc3ccd6dcd1c6bdb4aaa29892867e746d666058524c47433c3a37313231303030313231373a3b42464c52575f656c727d859197a1a8b2bbc5cfd9d5ccc3bbafa3999184796d60584e43352c1d140a00000000000000000005121e2a36424d575f61656565656565656565656565625a50463d321e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b1f252a2d3036393b3d3f4142424242413f3d3b3936302e2b26201c160d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d202024242424242424242424242421211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98aab4bfcbcec1b4a89b8e8183909ca9b6c3c9beb3a9978a7e7164574b3e2f24180c0000000000000000000714212e3a4754616d7a8796a0acb9c5cdc0b4a79a8d80838f9ca9b6c2cabfb4aa988b7f7265584c3f3025190e0200000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb8c5cfdbd7cbbfb4ab9c908376695f53463a2d21160a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cfdaded1c5b8ab9e9285796d6053463a2f24180d01000000000000000008110e171e252a353f46525d6874818e9ba8b1aa9b8e8175655b5044372b1f1205000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcecececececececececececececececececececececececececececececececececececececececececececececdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb9b4aea59e9691877f756d6860585145413a322b2219130c04000000000000000000000000000000040c1319222b323a4145515860686d757f8791969ea5aeb4b9ac9f92867a6d6054473a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000006111c262f3d46525e68707d88939fa7b1bac4ced7d8cfc5bcb4aaa298928a80786f6a615e56534e484743403f3e3d3d3d3e3f404246484d53565d606a6e777f879297a1a9b2bac4cdd7d6cdc3bab0a69f92877c6f675d51463c31231a0b02000000000000000000020e1a26313b454d53555858585858585858585858585650483f342b200c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e21252a2d2e303334353635353432302e2d2a25211f1a15100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1013141717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2d0cdc0b4a79a8d81828e9ba8b5c1cfc0b3a79a8d807467554b4035291d100400000000000000000a1724313d4a5764707d8a97a8b2bdc9ccbfb3a6998c80828f9ba8b5c2d0c1b4a89b8e817568564d41362a1e110500000000000000000000000000000000000000000000000000000914202c3945515d6775828e9ba9b3becad6dcd1c6b7ab9f94887b6e6155483d32271b0f0707070707070707070707070707070707070707070707070707070707111d2935414c5664707d8a97a2adbac6d6e0d4c8bdb2a89a8d8074665c5044382c1d1207000000000000000007111a232a3135383935414c56636f7c8995a0acab9e9285796c605346392d201306000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000613202c3945525d6876828f9ca9b6bfbaafa8a099928b817a6f6a625b524c443d3429241e160e0600000000000000000000000000060e161e2429343d444c525b626a6f7a818b9299a0a8afbabfb6a99c8f8276675d5145392c1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000a141d2a36414c56616b74808d95a0a8b2bcc5cfd8d7cec5bcb4aaa29f928d837c746e68625f5855534e4d4b4b4a494a4b4b4d4d5355575e61686d737b828c9299a1a9b2bbc4ccd6d7cec4bbb2a89f948c7f726a60554b41342a201108000000000000000000000009141f29333b4246484b4b4b4b4b4b4b4b4b4b4b4b49453f362d22190f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e20212426272829292827252321201e1914120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885919eabb8c4d1ccc0b3a6998d80808d9aa7b3c0cdc3b6aa9d908377675d5145382c1f13060000000000000003101c28343f4a546673808d99a6b3c0cecbbfb2a5988c7f818e9ba7b4c1cec4b7ab9e918478685e5246392d201407000000000000000000000000000000000000000000000000000004111d2935414c5564707d8a97a2adb9c6d2dfd3c7bcb0a6998c807366594f43382c1d13131313131313131313131313131313131313131313131313131313131313202c3945525d6875828f9ba9b3becad6ded2c5b8aca096897c6f62544a3f34281c0c0100000000000000030e19232c353c41454646464854606b7784919daaada197877b6e6154483b2e211508000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000004111d2935414c5665727f8c98a8b2bdc1bab2aba39f938e847c726d605d564e463f3530282017110a02000000000000000000020a1117202830353f464e565d606d727c848f939fa3abb2bac1bdb2a8988b7f7265554c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000020b1925303b444f59606d78839096a1a9b3bcc6cfd7d7cec5bcb4aea49d959087817a746e6a66625f585a585757565757585a575f6165696e747a80868f949fa3abb3bbc4cdd6d6cec5bcb3a9a0968f82786c60584e433a2f22180e000000000000000000000000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3e3d39342d241b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080e11141417191b1b1c1c1b1b19171414110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9c6d2cbbfb2a5988c7f7f8c99a5b2bfccc5b9ac9f92867a6d6053473a2d2014070000000000000006121f2c3844505c6676838f9ca9b6c2cfcabeb1a4978b7e808d9aa6b3c0cdc5b9aca196877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929eabb8c4cedad8cdc2b7aa9e9184776b605448392e2320202020202020202020202020202020202020202020202020202020202020212d3a4754606d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c000000000000000008141f2a353e464d51525353534f596774818e9aa7b3a996897d7063564a3d3023170a000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000010d19242f3b4855616e7b8896a0acb8c1bab6b4aea59e9691877f756d6860585145413a3227221b140b0400000000000000040b141b2227323a4145515860686d757f8791969ea5aeb4b6bbc1b8aca096887b6e6155483b2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000008141e29323e45515c666e7b849197a2aab4bcc5ced6d7cec6bfbaaea7a09a938e86817b76726e6a6967656463636364656769696e72767b80858d92999fa6afb5bdc5cdd6d6cdc5bcb4aaa19791847a6d665b50463d31281d0f0600000000000000000000000000060f181f262a2d2e323232323232323232323232302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0c0e0f0f0f0f0e0c0a08070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3bec9d5cabdb1a4978a7e7e8b97a4b1becac7bbafa399897c6f6356493c30231609000000000000000713202d3a4653606d7985929facb8c5d2c9bcb0a396897d7f8c98a5b2bfcbc9bdb2a8978a7d7064574a3d2e23180c00000000000000000000000000000000000000000000000000000008131f2c3845515c6674818d9aa8b2bdc9d5ded2c5b9aca096897c6f63554b40342d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d36424d5765717e8b98a3aebac7d7e1d4c7bcb1a7998c7f7366584e4330261c110600000000000000000d1925313c4650585d5f606060606066737f8c99a6b2a5988b7f7265584c3f3225190c000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000000814212d3a47535f697784919daab7b7afaaa8acafa8a099928b817a6f6a625b524c443d332d261d160e060000000000060e161d262d333d444c525b626a6f7a818b9299a0a8aeaca8aab0b8b7aa9d918477695f53473a2d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101010101010101010105121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020d17202834404b545e696f7c859298a3aab3bcc4cdd8d8d0cac0b9b1aca49f98928e87837f7b787673727170707071727376787b7f83878d92989fa3abb0bbc0c7cfd6d7ccc4bbb3aaa29891857b6e685e544a3f342b1f160c000000000000000000000000000000060d141a1e212225252525252525252525252524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c556774818d9aa7b4c0cfdac9bcb0a396897d7d8996a3b0bcd0cbc0b5ab988c7f7265594c3f31251a0e020000000000000916222f3c4955626f7c8898a2aebac6d3ccc0b6ac95887c7e8b97a4b1becacec0b3a69a8d807367544b4034281c1004000000000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded5c9bdb2a89a8d8174675c51453a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a46525e6976838f9caab4bfcbd7ddd1c4b8ab9f95887b6e6155483d3222150a000000000000000000101d2935414d58626a6c6c6c6c6c6c6c717e8b97a4b1a6998c807366594d4033261a0d000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576773808d9aa9b3afa59e9b9fa3ababa39f938f847c726d605d564e443f382f282017110a0200020a111720282f383f444e565d606d727c848f939fa3abaaa29f9b9ea6b0b3a99a8d807367574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0e0e0e0e0e0e0e0e0e0e0e0e0e121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000050e18232e39424d575f6a707d869298a2aab3bbc3ccd2d9d6cbc3beb6afaaa39f9a93908c888582807e7e7d7c7d7e7e808285888c9093999fa2aaaeb4bdc2cbd1d9d1cbc2bab2a9a19892867c6f695f564c42382d22190d040000000000000000000000000000000003090e1214151818181818181818181818181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0b0b0b0c0c0b0b0a0907070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3d0d6cabfb4aa95887c7c8895aab4bfcad1c2b5a89b8f827568574d42362a1e12050000000000000c1825323f4b5865727e8b98aab4bfcad4c8bbafa49a877b7d8a96a3b0bdd2cfc3b6a99c908376665c5145382c1f13060000000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d9cec4b8ab9f9285796d60534646464646464646464646464646464646464646464646464646464646464646464646464754616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53463a2d211403000000000000000000121f2b3845515d6a7479797979797979797d8996a3afa79a8d8074675a4d4134271a0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817f7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000020e1a26313d495663707c8997a2adaa9e938e9299a1a8aea59e9691877f756d6860585049413a3227221b140b050b141b2227323a4149505860686d757f8791969ea5aea7a098928f939eaaada297897c706356493d31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1a1a1e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000007121d27303b454e58606b707e869298a1a9b1bbc0c7d0d7d5d0c7c0bbb4aeaca49f9d9997928f8d8b8a8a898a8a8b8d8f9197989c9fa4abaeb4babfc6cfd7d7cfc7c0bbb0a8a09792867d706a5f574d443a2f261c100700000000000000000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0b0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d11131416171718181918181717161413110d080a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2d3c7baaea298877a7a8798a2aebac6d1c4b8ab9e918578695e53463a2d211407000000000005111e2a36414c566875818e9ba8b4c1d0d2c6b9ac9f9386797c8995acb6c0ccd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4dfd3c6baada2978a7d716456535353535353535353535353535353535353535353535353535353535353535353535353535865727f8c99a4afbbc7d4e0d3c7bbafa3998b7f7265574d42372b1e1205000000000000000000131f2c3946525f6c798586868686868686898f99a5b4a79b8e8174685b4e4135281b0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575716d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929faba89b8e818791969ea6aea8a199928c827a6f6a605b534c443d332d261d160e161d262d333d444c535b606a6f7a828c9299a1a8aea59d959086828f9ba8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242727272727272727272727272727272b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000b151e29333c464f59616c707d869197a0a7afb6bec4cbd1d9d2ccc6bfbab6afaca9a9a19e9c9a989796969697989a9c9ea1a9a9acafb5babec5cbd1d8d1cbc4bdb5afa69f9691857c706b60584e453b32281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d1113141719191d2021222424252525252524242221201d1919171413110d080503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8999a4afbbc7d4d2c5b8ac9f9285797985929facb8c5d2c6b9ada197877b6e6154483b2e21150700000000000713202d3946525e687784919eaab7c4d1d1c4b8ab9e9185787b879aa4afbbc8d3c7baaea398897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000030f1b27333f4953626e7b8895a0abb8c7d2ddd6cabeb3a99b8f8275686060606060606060606060606060606060606060606060606060606060606060606060606060606a7783909dabb5c0ccd7dfd2c5b9ac9f92867a6d6154473c31261a0e02000000000000000000131f2c3946525f6c7985929393939393939699a1abb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59616368686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686865625a50453a2e211509000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675818e9baba6998c7f7c848f949fa3ababa39f938f847c726c655d564f443f382f28201720282f383f444f565e656c727c848f939fa3abaaa29f938e837b818e9ba7ab9b8e8175665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3031343434343434343434343434343434343845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000030c17212a343d47505a616b707c8590959fa4acb3bbc0c7cfd4d8d1cbc7c0bbb9b6b3adaba9a6a5a4a3a3a3a4a5a6a9abadb3b6b9bbc0c7cad0d7d4cfc6bfbab2aba39f9490847b6f6a60594f463c332920160b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808080808080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213191e20212426252a2d2e2f3031313232323131302f2e2d2a25262321201d1913120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99abb5c0ccd7d0c4b7aa9d9184777784919daab7c4d0c9beb2a9978a7d7164574a3e2e23180c00000000000714212e3a4754616d7a8796a0acb9c5d2d0c3b6a99d9083767986939facb9c6d2cbbfb4aa988c7f7265594c3f30251a0e020000000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7dbcfc5b9ac9f92867a6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6e7b8895a0acbdc7d2ddd6cabfb4aa9c8f8275685e5246392a1f140900000000000000000000131f2c3946525f6c7985929f9f9f9f9f9fa3a5abb3b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55575b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8a99a4a99d9083767a828b9299a0a8aea69e9691877f776d6860595049413a32272227323a4149505960686d777f8791969ea6aea7a098928a81797985929eaba3998a7e7164544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d414141414141414141414141414141414145515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050f18222b353e485059606a6f7b838d939aa1a9afb5bdc1c8ccd2d6d2ccc8c6c3beb9b8b6b3b1b1b0afb0b1b1b3b5b8b9bec3c6c7ccd2d5d1cbc7c1bcb4aea8a199928c827a6e6960584f473d342a21170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141515151515151515151515151515151414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090f11171c1f20252a2d2e30333036393a3c3d3e3e3e3f3f3e3e3d3c3a39363033302d2c2924201f1b17110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2d2ddcfc2b5a99c8f827676828f9ca9b5c2cfcfc0b3a79a8d807467554b4034281c1004000000000a1724313d4a5764707d8a97a8b2bdc9d5cec1b5a89b8e82757885929eabb8c5d1d1c1b5a89b8e827568574d42362a1e120500000000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4e0d3c7bbaea3998b7f7979797979797979797979797979797979797979797979797979797979797979797979797979797979808d99a7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000000000000131f2c3946525f6c7985929facacacacacafb1b6bdb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c010000000000000000000000000000000000000000000000000000000000000000000000000c17232e3a4754616d7a86939fac9f93877a6e757f8791969ea5aea8a199928c827a6f6b605b534c443d332d333d444c535b606b6f7a828c9299a1a8ada49d9590867e746f7c8997a1ac9f92867a6d6154473a2e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000061019232c363e474f585f696e79808891979fa3abb0b9bbc0c7cacfd2d4d2cfc9c6c5c2c0bebdbdbcbdbdbec0c2c4c6c9cfd2d4d2cfc9c7c0bbb9afaaa39f96918780786e685f574e463d352b22190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2022222222222222222222222222222221201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282b2d3036393a3d4042414647494a4a4b4b4c4b4b4a4a49474641423f3d3a3935302d2b27221b1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2dacdc1b4a79a8e817474818e9aa7b4c1cdd0c3b6a99d908376675c5145382c1f130600000003101c28343f4a546673808d99a6b3c0ced9cdc0b3a69a8d80737784909daab7c3d0d1c4b8ab9e918478695e52463a2d201407000000000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dbd7cbbfb5ab9b918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868d929ca8b9c3cde2dfd2c5b8ac9f9285796d6053473a3025190d0100000000000000000000131f2c3946525f6c7985929facb8b9b9b9bcbdc1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d4242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242423e3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000613202d3946525e687683909ca9a49a8b7e716d727c848e939fa2aaaba39f948f847d726c655e564f443f383f444f565e656c727d848f949fa3aba9a29f928d837b716c73808c99a9a99c908376685e5246392d1c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000007111a242c353d464e575f676d747d858d92999ea6acafb6b9bec4c6c9cfd1d2d2d1cfcdcbcac9c9c9cacbcdcfd1d2d2d0cfc9c5c4beb9b5afaca59e98928d847d736d665e564d453c342b231910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10171c20262b2e34383a3c4146474a4c4f4c5254555757585858585857575554524c4f4c4a4745413c3937332d2a251f1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3d8cbbfb2a5988c7f72727f8c99a5b2bfcfd2c5b9ac9f9286796d6053463a2d20130700000006121f2c3844505c667683909ca9b6c3cfd8cbbeb1a5988b7e7275828f9ca8b5c2cfd2c5b9ada196877b6e6154483b2e211507000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6dcd1c6bdada39b989393939393939393939393939393939393939393939393939393939393939393939393939393939393999ca4aeb9cbd5dfd5c9beb3a99b8e8174675d514539291e13080000000000000000000000131f2c3946525f6c7985929facb8c5c6c6c9cacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f3035353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353532312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5666727f8c99a8ac9c8f8275676a6f7a818b9298a0a7aea69e9691877f776d68605950494149505960686d777f8791969ea6aea79f97928a80796e69697783909daaa8998c7f7266564c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a616467676767676767676767676767676767676767676b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000008111a232b343c454d555c606b707a81878f949c9fa4acadb3b8b9bec2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c2bdb9b7b3adaba39f9b938e86807a6f6b605c544c443c332b221911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161c22282d3137383f4446494c525457595c565e616263646465656564646362615e565b595654524c4946443f3836302c27211b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aab4becad6d6cabeb3a9968a7d70707d8a97a9b3becad3c7baaea399897c6f6256493c2f2316090000000713202d3a4653606d7985929facb8c5d2d5c9bdb2a896897c7074818d9aa7b4c0cdd5c9bdb2a8978a7e7164574a3e2f24180c0000000000000000000000000000000000000000000000000000000005111e2a36414d5664717e8b98a2aebac7d3e0d8cfbfb5ada7a5a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a6a8aeb6c0cadddfd2c6b9ada197897d7063554b403529170c020000000000000000000000131f2c3946525f6c7985929facb8c5d2d2d6dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023242828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282524211d181109000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303c4855626f7b8896a1ac9f9286796d60676d757e8691959da5aea8a199928c827a6f6b605b534c535b606b6f7a828c9299a1a8aca49f9590857e746d67616e7b8795a0aca196887b6f6255483c3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707474747474747474747474747474747474747474747884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000081119222a333b434b515960686d747c82898f939a9ea1a9abadb3b5b7b9bbc0bfc0c0c1c2c2c2c1c0bfbfc0bbb9b7b5b2adaba9a19e99928f89817b736d676059504a423b322a2119100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2731394045474848484848484848484848484848484746413b32291e14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21282c33393c43474a505356565e616366686a686d6f7071717172727171706f6d686a686663605d565553504946423b38322b272019130c04000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d566875818e9ba8b4c1d0dbd3c6baada297877b6e6e7b8797a2adbac6d3cbbfb4ab988b7f7265584c3f3025190e0200000916222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6d727f8c98a5b2bfced9cfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000020e1925303b4754606d7a86929facb8c5cfdae1d0c7bfb8b3b2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb3b4b9c0c8d1dcded1c4b8ab9e9185796d6053463a2f241807000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe2dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7884919eaba2988a7d70635d606c717c838e939fa2aaaba39f948f847d726c655e565e656c727d848f949fa3aba9a19a938d837b716c605c65727e8b98a7ab9e9184786a5f53473a2e1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8080808080808080808080808080808080808080808086929facb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000710182129303940454f565e616a6e757d82878d92979b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a19e9a97918c87827c756e69605d554f443f38302920180f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b515355555555555555555555555555555554524c443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262b33383e44494e53545c606366686d70737577797a7c7d7d7e7e7f7e7e7d7d7c7a79777572706d686662605b53524d48433d373229241e160e07000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687884919eabb7c4d1ded2c5b8ab9f9285796c697885929fabb8c5d2d1c1b5a89b8e827568564d42362a1e110500000c1925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e91847868707d8a96a8b2bdc9d5d0c3b6a99d908376675d5145382c1f1306000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3becad6e2d9d0c9c3c0beb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0c1c5cad1dae1d4c8bdb2a89a8d8074665c5044382b1d1207000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aaaaa9a8e8174655b5a626a6f79818a9298a0a7afa69e9691877f776d6860686d777f8791969ea6afa69f97928880786e69615a5d6775828f9ca8aa9a8d807467584e43372b1f0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000060f171e272e343d444c52585f626b70767b80858a8e9197999c9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918e8a85807b756f6a615f57514c433d342e261e170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c60616161616161616161616161616161615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232831373e44485055585f62666d6f73777a7d7f82848587888a8a8b8b8b8b8b8a8a88878584827f7d7a76736f6c65615e57544e47433c3530282018120b0300000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8796a1acb9c5d2dccfc2b5a99c8f8276656976828f9ca9b5c2cfd1c4b7ab9e918478695e52463a2d2014070005111e2a36414c566875818e9ba8b4c1d0dbcec1b5a89b8e8175686d7a8796a0acb9c5d2d2c5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8a97a1adb9c6d2dfe2dbd4cfcccbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6cccdd0d5dce3ded1c5b8aca096887c6f62544a3f34281c1003000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313d4a5663707d8998a2ab9e9184786c6053585f676d747e8690959da4ada8a199928c827a706b707a828c9299a1a8aca49f9490857d736d665f5753606d7a86929faca298897d7063564a3d31261a0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa2aab4bfcad0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000060c151d2328323a41464e53596063696e73797d8185888c8f9193999799999a9b9b9c9b9b9a9999979992918f8c8884817d79736e69626058534d45413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e262e343c42464f555a61646a6e73797c8084878a8c8f91929895969797989898979796959892918e8c8986837f7c78736e69626058544e45413a3228231d150c05000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b2bdc9d5d9ccbfb3a6998c8073666673808c99a6b3bfced2c5b9aca196877a6e6154473b2e211407000714202d3946525e687784919eaab7c4d1d6cbbfb4aa988b7f7265687784919eaab7c4d1d3c7bbaea399897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c4ced9e5e6e0dcd9d8d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d9dadde1e7eaddd0c4b7aa9d9184776a605442382e23170b00000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d3a4653606d7985929faca197887c6f62554e555d606c717b838d929fa2a9aba39f948f847d757d848f949fa3aba9a19a938d827b706b605c544d5364707d8a98a3ac9f9285796d6053463a2d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7acaeb4bcc5d0d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000030b1218202930363c43474f54575f61676d7174787c7f828486888a8c8d8d8e8f8f8f8e8d8c8c8a888684827f7b7874706d66615e57544e46423b352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930383f444d535961636c70767b8085898d909596999b9d9fa2aaa3a4a4a4a5a5a4a4a3aaa29f9d9b999a93908c88847f7b756f6a626058524c443e342e271e170e06000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa6b3c0cedad5c9bdb2a8968a7d706363707d8a96a8b2bdc9d5c9bdb2a8978a7d7064574a3d2e23180c000814212e3b4754616e7a8796a0acb9c5d2d3c7baaea398897c6f626875818e9ba8b4c1d1d7cbbfb5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000007131f2c3844515c6674818d9aa8b2bdc9d5e1edece8ebe3ddd7d4d2c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cacbced3dae1e7e9edece0d3c7bcb0a6998c7f7366584e4330261c110600000000000000000000000000131f2c3946525f6c7985929facb8c5d2dadadacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9baca9998c807366574d4b515a61696e79808a92979fa6afa69f969187828791969fa6afa69f97928880786e696159514a505b6574818e9aaaac9b8f8275675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b8babfc5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000070e171e252a31373d44484d53555c6064656c6f7275777a7c7e7f8080818282828180807f7d7b797775726e6a6764605c54524d47433d363129241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8888888888888888888888888888888275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575f616b70777d83888d9297999da0a7a6a8aaacaeb4b0b0b1b1b2b1b1b0b0b4aeacaaa8aca49f9d9996918c86827c756f6a605d5650454039302920180f060000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dcd2c5b9aca096877a6d61616d7a8796a1acb9c5d2cec0b3a69a8d807367544a4034281c10040a1724313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9286796d6065727f8c98abb5c0cbd7d1c2b5a89b8f827568574d42362a1e12050000000000000000000000000000000000000000000000000000000004101c2834404a54636f7c8996a0acb9c5d2deeaf5ebe2d9d2ccc7c6bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbec2c8cfd8e1ebf6eaddd0c4b7ab9f94887b6e6155483c3222140a0000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5565717e8b9aa4aa9d908377695e52464550575f666d747d8590949fa4aca9a199928e9299a1a9aba39f948f857d736d665e574f444653606c7884919eaba49a8b7e7165554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c5c6cad0d7d3d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000050c131920262b33383c42464b5153535b60626669676d6f717273747475767574747372716f6d676865625f585753514a46423b37322a261f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88949494949494949494949494948f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545c60696e767d838a90949a9ea1a9aaacb1b2b5b7b8babfbdbdbebebebebebdbdbfbab8b7b5b6afaca9a8a19e99928f89827c746d68615a514b423b322a21180f060000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2ddd1c4b7aa9e918477685e5e687884919eabb7c4d1cfc3b6a99c908376665c5144382c1f1206101c28343f4a546673808d99a6b3c0ced9cfc3b6a99c908376665c636f7c8999a3afbbc7d4d1c5b8ab9e928578695f53463a2d21140700000000000000000000000000000000000000000000000000000000000c18232e394854606b7784919eaab7c3cdd8e4eee3d9d0c7c0bbb9afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafb0b2b6bdc6cfdae4efe3d7cbbfb5ab9c908376695f53463a2d2114020000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3b4754616e7a87939faca095877b6e6154483e454d545c606c707b838d939aa1a9aba39f9b9fa3aba9a199928c827a706b605c544d453e4955626f7c8896a1ac9f93877a6e6154473b2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002080d151a21272c3137394045464950535559555d60626466666768686968686766666462605c555955534e4a4644403936302b27201a140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a1a1a1a1a1a1a1a1a1a19d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353e464e565e666d727b828a90959c9fa6abadb3b7b8bcbfc2c4c5c7cad0cacacbcbcbcacad0cac7c5c4c1c0bbb9b6b2acaba39f9c948f88817a716c605c544d443c332a21180f060000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3dbcec1b4a89b8e81756856566875818e9ba8b5c1d1d2c5b8ac9f9286796d6053463a2d201307121f2c3844505c667683909ca9b6c3cfd9cdc0b3a69a8d80736754606d7a86929facb9c5d2d2c6b9ada197887b6e6155483b2e221507000000000000000000000000000000000000000000000000000000000007121c2c38434f596673808c99a7b1bcc8d4e3e8ddd2c7bdb5afaca3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a6acb4bdc8d3deede0d3c7bbaea3998b7e7265574d42362a1e12050000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687783909daaa7988b7e7265554b403c424b515a61696e78808891979fa6afaca8acafa69e9691877f786e686059504a423b414d5666737f8c99a9a99d908376685e5246392d1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030a0f161c1f262b2e34383a3f4446484c4b51535557595a5a5b5c5c5c5b5a5959575553514b4c4847433d3a38342e2a251f1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adaeaeaeaeaeaeaeaeaa9d9083776a5d5044372a1d0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353e474f585f686d787f868f949da0a7abb0b8b9bec3c5c8ceced0d2d3d6dbdbd6d3d2d2d4d8dbd6d3d2d0d2ccc8c6c3bdb9b5afaca69e9c938e857e746d665e564e453c332a21180d04000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5bfcbd7d7cbbfb4aa988b7f7265585965727f8c98abb5c0cbd3c7baaea398887c6f6255493c2f22160813202d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064575d677783909daab7c3d0d5c9beb3a9978a7e7164574b3e2f24180d0100000000000000000000000000000000000000000000000000000000000f1b27323d4855626e7b88959fabb8c7d1dce3d7ccc0b5aba49f9695959595959595959595959595959595959595959595959595959595959595979aa2acb6c2cedaecdfd2c5b9ac9f92867a6d6154473b31261a0e020000000000000000000000000000131f2c3946525f6c7985929fa7a7a7a7a7a7a7a7a7a7a79b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5666737f8c99a9a99c8f8276675d51453939404550575e666d737d858f949fa3abb2aba39f948f847d736c665e564f443f383946525e687783909daaa9998c7f7366564c41362a1e0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7adadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000050b10141a1d23282c2d3337393c3f404547484b4c4d4d4e4f4f4f4e4d4d4c4a484645403f3b3a37312d2c28231c1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfbbbbbbbbbbbbb7aa9d9184776a5e51442f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222c353e474f59616a6f7a828c92989fa6abb1b7bcc2c6c9cfd1d4d7d4d2d0cccac9d0cac6c5c6c8ccd2cacccfd2d3d7d4d2cec9c7c0bbb9b0aaa59d97918a81786e685f574e453c332a1f160b02000000000000000000000000000000000000000000000006121e2b37424d576975828f9ca8b5c2d1dcd3c7baaea398897c6f625656636f7c8999a3afbbc7d3cbbfb4aa988b7f7265584c3f3025190d16222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6e6154556774818e9aa7b4c1d0dacfc0b4a79a8d817467554b4035291d110400000000000000000000000000000000000000000000000000000000000a16212e3a47535f697783909dabb5c0cbd7e0d4c7bbafa4999389888888888888888888888888888888888888888888888888888888888888888a909aa6b2becbd7e2d6cabeb4aa9c8f8275685e524639291f1409000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303c4955626f7c8896a1ac9f92867a6d6053473a2e343e454d545c606b707a828c9299a1a8a199928c827a706b605b544c443d342e3b4754616e7a87939faca196887c6f6255493c3025190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000003090e12181c1f22272b2d2f2f35383a3c3e3f4041414243424141403f3e3c3a38342e2f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798698a2aebac6c7c7c7c7c4b8ab9e9185786b564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d474f59616b707c8490949fa2aab0b8bcc3c7cdd2d5d6d3d1cbc7c5c3c0bdbcbbbfbab8b9bbc0bcbdbfc2c5c7cbd1d2d5d5d1cbc7c1bbb7afa9a19e938e837a6e6a5f574e453c31281d140a00000000000000000000000000000000000000000000000814212e3a47535f697885929eabb8c5d1ded2c5b9ac9f9286796d605353606d7a86929facb9c5d2d0c1b4a89b8e817568564c41362a1e111925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e918478685e525865717e8b98aab4bfcad6d0c3b6aa9d908377675d5145392c201306000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d4dfd2c6b9ac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8a97a3b0bdcad6dfd3c6baaea2988a7e7164564c413529180d03000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d394653606c7884919eaba3988a7d7064544a3f3328333b424a505960686e787f8791969e9691877f776d686059504a423b322834404b5565717e8b9aa4ab9e9184786a5f53473b2e1e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d93939393939393939393939393939393939393939393939393939393939393939083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000070c1013171b1f202224292c2d2f313333343535363535343333312f2d2c282322211f1a1312100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2d4d4d2c5b9ac9f928679685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464f59616b707d8691969fa6aeb4bcc2c8cdd3d8d6d0cac6c5c0bbb9b6b3b0afaeb4aeacacafb6afb0b2b6b9babfc5c6c9cfd5d7d4ccc7c1bbb3ada59d9590847c6e6a5f574d433a2f261b1106000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2dcd0c3b6a99d908376665c51515d677783909daab6c3d0d1c4b7aa9e918477685e5246392d20131e2a36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c55626f7c8898a2aebac6d3d2c5b9ac9f92867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000020e1a26313c4754616e7a86929facb9c5d0dbd4c7bbafa4998a7e716f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f727f8c98a5b2bfcbd8ded2c5b8ab9f9285796d6053473a3025190d010000000000000000000000000000000e1b2834414e5b6774818181818181818181818181818181817e7165584b3e3225180b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818e9aaaaa9b8e8174665b5044382b2930383f444f565e666c727d848f938f847c726c655e564f443f382f292c3845515c6775828f9bacaa9a8e817467584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808686868686868686868686868686868686868686868686868686868686868686868683776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181d1f20222426272728292929282726262422201f1c181514120f0a060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1dde0d3c7baaea399877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58616b707d869298a1a8b0babfc6ced4d9d7d0cac6bfbab8b5afaca9a6a4a2a1aaa29f9fa4aca2a3a6a9acaeb4b8b9bec5c9cfd6d7d3cdc4beb9afa79f9691857c6e695f564c41382d22170b020000000000000000000000000000000000000000000b1825313e4b5864717e8b97a9b3becad6dacdc0b3a79a8d807467544b4b556774818d9aa7b4c0d0d2c5b9aca096877a6d6154473a2e2114202d3946525e687784919eaab7c4d1d6cabfb4aa988b7f7265584c53606d7985929facb8c5d2d4c7bbafa399897c706356493d2d22170b0000000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6d7ccc0b5ab9c8f827568626262626262626262626262626262626262626262626262626262697683909da9b6c3d0dcd5c9beb2a99b8e8174675d514538281e1308000000000000000000000000000000000d1a2733404c58646e74747474747474747474747474747474716d62564a3d3124170b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364707d8a98a3ab9e9285796c605346392d20262e343d444c545b606b6f7a8289827a6f6a605b534c443d332d26202d3a4653606d7985929faca3988a7d7063574a3d32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1013141518191a1a1b1c1c1c1b1a1a1917151313100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e43505d697683909ca9b6c3cfdce3d7cbbfb4ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c555f6a707d869298a2aab2bac2cad0d8d9d1cbc5bebab4aeacaba39f9d99979695949892939a959697999c9fa3aaabadb3b9bdc4cad0d7d6cfc9c0b9b1a9a19791857b6e685d53493f33271d140a000000000000000000000000000000000000000005111d2935414c566774818e9aa7b4c1cfdad5c9beb3a9978a7e7164574b4b5865717e8b98aab4becad5c9bdb2a8978a7d7064574a3d2e2317212e3b4754616e7a8796a0acb9c5d2d3c7baaea298887c6f625549505c667683909ca9b6c3cfd7cbc0b5ab998c7f736653493f33271b0f03000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8b98a2aebac6d3ddd2c5b9ac9f92867a6d6155555555555555555555555555555555555555555555555555616e7b88959fabb8c4d1ddd2c6b9ada197897d7063554b403529160c02000000000000000000000000000000000b1824303c48535c646768686868686868686868686868686865625a50453a2e211509000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4753606d7a86929faca197897c6f6256493c31261c2328323b424a505960686d757c756d6860585049413a3228221c23303d4a5663707d8998a2ac9f92867a6d6053473a2d20140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061c2835424f5b6875828e9ba8b5c1cedbe7dcd1bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a45515d676e7c869298a3aab4bcc4ccd6dbd7cfc7c0bbb3aeaaa29f9a9992908d8a8988878685868788898a8c8f9298999ea1a9adb2babec5ced5dad5cbc2bbb2a9a19791847a6d655b50443c2f261b1106000000000000000000000000000000000000000713202d3946525d687784919daab7c4d0ddd2c6b9ada197877b6e6154484855626f7b8898a2aebac6d3cec0b3a6998d807366544a3f34281c24313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053464a546773808d9aa6b3c0cfdad1c2b5a89c8f8275655b5044372b1f12050000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7a86929facb8c5cfdad3c7bbafa3998b7e7265574d4949494949494949494949494949494949494949494e5866737f8c99a7b1bcc8d4ded1c4b8ab9e9184786c605346392f24180600000000000000000000000000000000000814202b36414a53585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6775828f9ca8a9998d807366574d42362a1e1720292f383f444f565d616b706b605d564e443f382f2920171f2b37434e586774808d9aaaa89c8f8275675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545c6060606060606060606060606060606060606060606060606060606060606060606060605d554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a606d79849198a2aab4bcc6ced6ddd5cdc5bdb5afaaa29f98928d8a8683807d7c7b7a7979797a7b7c7d7f8386898d92979ea1a8adb3bcc3cbd3dbd4cdc4bbb3a9a0968f82776c60584e41382d22170b000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2ded1c5b8ab9e928578695e53464653606c7985929fabb8c5d2cfc2b6a99c8f8376665c5044382b1f2834404a546673808d99a6b3c0ced9cfc3b6a99c908376665c50444b5764717e8a97a9b3becad6d1c5b8ab9e9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3bec9d5d7cbc0b5ab9c908376695e53463c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c47535f6a7784919daab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1d12070000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c01000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b98a7aa9d908477695f53463a2d2114171d262d333d444c525960636059524c443d332d261d1715212e3a47535f6a7884919eaba7988b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b51535353535353535353535353535353535353535353535353535353535353535353535353514b43392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c75818f96a0aab4bcc6cfd8ddd4cbc3bbb3aba39f98928c86807d7a7673716f6e6e6d666d6d6e6f707376797c80858b91969fa2a9b1b9c1c9d2dad6cdc4bbb2a89e948c7f736a5f53493f33271c12070000000000000000000000000000000000000a1724303d4a5763707d8a9aa4afbbc8d4dbcec2b5a89b8f827568574d4244505b6676838f9ca9b6c2cfd2c5b8ac9f9285796d6053463a2d202c3844515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f4855616e7b8897a1adb9c6d2d2c6b9ada297887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8a97a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c322f2f2f2f2f2f2f2f2f2f2f2f2f2f2f333f4953626f7c8895a0acb8c5d4ded1c5b8aca095887c6f62544a3f33281c0f0300000000000000000000000000000000000008131d262f363c40414141414141414141414141414141413e3d3a342d241b110600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b4854616e7b8795a0aca095887b6e6155483b2f24190b141c2228323a41464f5456544f45413a3227221b140b15222f3c4855626f7b8896a1aca095877b6e6154483b2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474745403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfdae6d9cdc0b3a69a8d8073675a4d4034271a08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202c3945525d68717e8a939ea8b2bcc5cfd8dfd4cbc2b9b1a9a299928c85807a74706d676664636261605c606162636466676d7073797f848b9297a0a7afb7c0c8d2dcd6cdc3bab0a69f92877c6e655b5044392e23180c000000000000000000000000000000000003101c28343f4a546673808d99acb6c0ccd8d7ccc0b5ab998c7f7266594c3f3f4a546673808d99a6b3c0cfd3c6baaea298887c6f6255493c2f222d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064574a3d46535f697885929eabb8c5d1d6cabeb3a9978b7e7164584b3e2f24190d010000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c3ced9d4c8bbafa49a8c7f7266584e43372b222222222222222222222222222b3744505b6573808d9aa7b1bcc8d4d8ccc0b6ac9d9184776a5f5342382d22170b00000000000000000000000000000000000000010b141d252b30333435353535353535353535353535353532312e29221b12090000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaa7988b7f7265564c4135291d110a1117202830353d44484948443d3530282017110a111d2a36414c5666727f8c99a8aa9d908377695e52463a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3bec9d5e1dbcec2b5a89b8f8275685c4f423024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7a85919ea5afbac3ced7e1d6cdc2b9b1a7a0979287807a736d6863605d555756555453515354555657555c6063676d72797e8590959ea5aeb6c0cad4ded5ccc1bbaea3999083776c60544a4034281c11060000000000000000000000000000000006121f2c3844505c6676838f9ca9b6c2d2ddd4c7bbafa499897c706356493d3d4a5764707d8a97a8b2bdc9d5cabfb4aa988b7e7265584b3f30252f3c4955626f7c8898a2aebac7d3d2c5b9aca096877a6d6154473a424d576976828f9ca9b5c2cfdbcfc1b4a79a8e817467564c4135291d110400000000000000000000000000000000000000000000000000000000000007131f2c3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9184776a5f5347382d221716161616161616161616202d394653606c7884919eabb7c3ced9d4c8bbafa49a8c7f7266584e432f261c11060000000000000000000000000000000000000000020b131a202427282828282828282828282828282828282524211d181109000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a9a99c8f8276685d5245392c201306060e161e242932383b3d3b383229241e160e060713202d3946525e687683909ca9a9998c807366574d42362a1e0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2c29231d1b150e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9c6d2dfddd0c3b6aa9d9083776a564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46525e6974808d97a1adb7c1ccd5e0d9cfc5bbb1a79f9590857d736d68615e5654514c4a4948474644464748494a4b5153555d60666d717b838e939da4aeb8c2ccd6ded7cbbfb5ab9f948b7e71665c5144382e23170b000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfd2c6b9ac9f93867a6d6054473a3b4754616e7b8796a1adb9c5d2d0c1b4a79b8e817468564c413529323f4c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e524639404d596673808c99a6b3bfcedad0c3b7aa9d908477685d5245392c20130600000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb9c5d2ddd2c7b8aca095887c6f62544a3f33281c0f09090909090909101c2834404b5563707c8996a1adb9c5d5dfd2c6b9ac9f93877b6e6154483c3221140a0000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313c4956626f7c8997a1ac9f92867a6d6054473a2e23170b00040c131921272c2f302f2c272119130c04000714212e3a4754616d7a86939faca197897c6f6256493c30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a38342f2b26201a140d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1deded2c5b8ab9f928578685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56616e7b86929fa9b3bec9d3dedcd1c7bdb3a99f9590837b706b605d56524c4745413e3c3b3b3a383a3a3b3c3d4045474b51545c60696e79818d929da6b0bac4ced8dcd1c6bdb0a69e9184796d60544a3f34281c10030000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3ddd0c3b7aa9d908477675d5145393a46525e697884919eabb8c4d1d0c4b7aa9d918477685e5246392d36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c41363d4a5763707d8a96a8b2bdc9d5d2c6b9ac9f93867a6d6054473a2d211406000000000000000000000000000000000000000000000000000000000000000c17232e384754606a7784919eaab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1f1207000000000006131f2c3845515c6774818e9aa8b2bdc9d5d7cbbfb5ab9c908376695e53463a2d21140200000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0b0905010000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a1117202d394653606c7985929eaba3998a7d7164544a3f34281c10030002080d161b20222322201b160d08020004101c2834404a5464717e8b99a4ab9e9285796c605346392d2017110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141413100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454745403937322a251f18130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfdcdfd3c6baada297877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874808d99a3aebbc4cfdbe3d7cbc0b5aba1979083796e696059524c46413a39352f302f2e2d2c2d2e2f302f34383a40454b51575f676d75808d949fa8b2bcc6d0dbd8cfc2b9aca1968b7e71665c5044382b1f12070000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcad6dacdc1b4a79a8e817467554c413536424d576875828f9ba8b5c2d2d1c5b8aca096877a6d6154473a2e3946525e687884919eabb7c4d1d6cabfb4aa988b7e7265584b3f303a4754616d7a8796a1acb9c5d2d4c8bbafa49a897d7063564a3d2d22170b0000000000000000000000000000000000000000000000000000000000000006111c2b37434e586673808c99a7b1bcc8d4d9cec3b8ab9e9184786c605346392f23180c00000000000713202d3a4653606d7985929fabb8c4cfdad3c7bbaea3998b7e7265574d42362a1e1205000000000000000000000000000000000000000000000000000000010102020202020202020202020202020200000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c2328323a44505b6674818e9ba7ab9b8e8175665c5044382b1f1206000000040b101316161613100b0400000006121f2c3844515c6675828e9baba79b8e8174665b50443a3128231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707070707070707070707070707070707070707070707070707070707070707070707070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b5153514b47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0cddae2d6cabeb3a995897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fabb4bfcdd6e1dfd4c7bbafa39992857b6e675f574f45413a36302c2924232221201f2021222323292c2f353940454d555d606d78828f96a0aab4bfcad6e1d5c9bdb2a89e9184786d6053463a2f24180d010000000000000000000000000005121e2a36424d576875828e9ba8b5c1d0dbd6cabfb4aa988b7e7165584b3e2f303f4c5966727f8c99abb5c0ccd4c8bdb2a8968a7d7063574a3d2d3b4754616e7a8796a1acb9c5d2d3c6baaea298887c6f6255493c2f3946525e687884919eabb7c4d1d8ccc0b6ac998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9ada196897c7063554b4034291c100400000004111d2935414c5664717d8a97a2adbac6d6dfd2c5b9ac9f92867a6d6154473b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f171e262e343d444c525a64717d8a97a4ab9e9285796d6053463a2d20130600000000000407090a09070400000000000713202d3a4653606d7985929faba4978a7d71645a524c433d342e261e170f0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c605c55534e46423b352f28231c140c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081926323f4c5965727f8c98a5b2bfced9e5dbd0beb1a4988b7e7165584b3e3225180900000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8c98a2aebdc6d1dfe1d5c9bdb2a89f92877d70695e554d453d352f2a25201d19161514131213141516181c1f24292e343c434b515c666d7a849198a2aebac6d1dcdacec4b9aca096897d7063554b4035291d1004000000000000000000000000000714212d3a46535e697884919eabb8c4d1ded3c6baaea298887b6f6255483c2f303d495663707c8999a4afbbc7d4cebfb3a6998c807366544a3f333d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d36414c566875828e9ba8b5c1d2ddd2c2b5a99c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000a16212d3a47535f697683909dabb5c0cbd7d5c9bdb2a89a8e8174675c5145382c1f13080000000713202c3945525d6875828f9ba9b3becad6d6cabeb3aa9b8f8275685d524639291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f565d606c717c8895a2ada297897c6f6356493c2e23170b00000000000000000000000000000000000a1623303d495663707d8998a2aea295887c716c605d564f443f3830292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c09040000000000000000000000000000000000000106090b0c13131313131313131313131313130808060200000000000000000000000000000000000000000306080913131313131313131313131313130f0e0c090400000000000006131f2c3845515c676d67625f58524d45403a342e261e1b150e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a8b2bdc9d5e1dacdc0b3a79a8d8074675a4d413025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7783909daab4bfcfd8e2dacfc5b9aca0968c7f726b60574d433b3329241e1913110d0808080706070708070c1013181d23283139404a545d686f7c86929faab4bfcbd7e0d5c9bdb2a89b8e8174675d5145392c201306000000000000000000000000000815212e3b4854616e7b8796a1adb9c5d2dfd2c5b8ac9f9285796c605346392d2d3a4754606d7a86939facb9c6d2cfc2b5a99c8f8276665b504438404a546773808d9aa6b3c0cedacfc2b6a99c8f8376665c5044382b303f4c5965727f8c98abb5c0ccd7d2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d3dacfc4b8ab9f9285796d6053473a3024190d0100000714212d3a4754606d7a86929facb9c5d0dbd3c6baaea2988a7d7164564c413529170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960686d757e86929facb3a99a8d807367544a3f34281c100300000000000000000000000000000003101c28343f4a546773808d9aaab3ac9f92867e756d686059504a423b3329241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000070d1216181920202020202020202020202020201514120e090300000000000000000000000000000000030a0f12151520202020202020202020202020201c1b18150f0902000000000714202d3a4753606d79766f6a615e57514b443f38302b262019140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dedccfc2b6a99c8f837669564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a0acbcc6d0e1e1d5c9beb3a99e9184786d60594f453b31292119130d0804010000000000000000000004070c12181f282f38424c565f6a74808d98a3aebac7d1dcd9cec4b8ac9f92857a6d6053473a2d201408000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d5dccfc2b6a99c8f8376665b5044382b2c3945515d677784909daab7c3d0d2c5b8ab9f9285796c6053463944515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f3428303d495663707c8999a4afbbc7d4d3c6baaea298887b6f6255483c2f22150800000000000000000000000000000000000000000000000000000000000000020e1a26313c4754616d7a86929facb9c5d0dbd3c6baada2978a7d7164564c4135291d11040005121e2a36424d5765717e8b98a3aebac7d7ded2c5b8ab9f9285796d6053473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606b6f7a818b9298a2aeaaa29d918477665c5044382b1f120600000000000000000000000000000006121f2b3844505c667784919ea2aaaea298928b817a6f6b605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2d2d2d2d2d2d22211e1a150e060000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201b140c030000000a1724313d4a5764707d827c746e69605d55504a423e37312a251f18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687784919eaab7c4d1ddded1c5b8ab9e928578695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5566737f8c99a7b1bcced8e2dfd2c6b9ada1978b7e72665c50473d33291f180f080100000000000000000000000000000000070d161d26303a444e58616e7b86929fabb5c0cbd7dfd3c6baaea2988a7d7164574a3e3025190d01000000000000000000000004111d2935404b556774808d9aa7b3c0cfdad9ccc0b3a6998d807366544a3f33282935414b556874818e9ba7b4c1d0d3c6baaea298887b6f6255483c4653606d7985929facb8c5d2d4c8bdb2a8968a7d7063574a3d2e232d3a4753606d7a86939facb9c6d2d6cabeb3aa988b7e7165584b3e3025190d01000000000000000000000000000000000000000000000000000000000000000915202d3946525e6875828f9caab4bfcad6d6cabeb3a99b8f8275685d5245392c201409000714202d3a46525e6976838f9caab4bfcbd7d5c9bdb2a89a8e8174675c514538281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c2328313a414550575f666d737d848e939fa2aaa69f98928b81786d6053463a2d2013070000000000000000000000000000000713202d3a4653606d78818b92989fa7aaa29f938e847d736d665f575045413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000009131b23292e313239393939393939393939393939392f2e2b2620180f0600000000000000000000000006101820262b2e2f39393939393939393939393939393534312c251e150c0200000a1724313d4a5764707d8a87817b736d67605c544f47433c363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566875818e9ba8b4c1d1dcdfd2c6b9ada297877a6e6154473b2e2114060000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6776838f9ca9b6c2cddceaded1c5b8ab9e9285796d60544a3f352b20170d0600000000000000000000000000000000000000040c141e28323c46525e6974818d99a3afbbc7d3e0d6cabfb4aa9a8d817467564c41362a1d110500000000000000000000000613202c3945515d677783909daab6c3d0ddd5c9bdb2a8978a7d7064574a3d2d22242f3f4b5865727e8b98aab4bfcad6cabeb3aa988b7e7165584b3e4956626f7c8998a2aebac7d3d2c5b8aca096877a6d6154473a2e212c3945515d677784909daab7c3d0dbd0c1b4a79b8e817468564c4135291d11050000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8a98a2aebac6d3dbd0c5b9ac9f92867a6d6054473b30251a0e020815212e3b4854616e7b87939facb9c6d1dcd2c5b9ada196897d7063554b403429160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171e262e343d434c515a61696e78808791969ea5aba39f9490857e756d665c5044382b1f120600000000000000000000000000000006121f2b3844505c666d757e8690959fa3aba59e96918780786e69615a514c433d342e261e170f0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e14090000000000000000000007111b252d343a3e3f46464646464646464646464646463b3a37312a21180e0300000000000000000000030e18222a31373a3c464646464646464646464646464642413d3730271e140900000a1724313d4a5764707d8a938e868079716d666159534e46423b352f28221c140b0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303f4c5965727f8c98abb5c0cbd7e2d6cabeb3a9968a7d7063574a3d2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5d2dfe1d4c8bdb2a8998c7f72675c5142382e23190e05000000000000000000000000000000000000000000020c16202a36424d56616e7b86929facb9c5d2dfdbd0c3b7aa9d908477685e5246392d20130700000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd2c5b9aca196877a6e6154473b2e21222f3c4955626f7c8898a2aebac7d3d0c1b4a79a8e817467564c414c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e5246392d202935404b556774818e9aa7b4c1d0dcd0c4b7aa9d918477685e5246392d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7a85929facb8c4cfdad3c7baaea3998b7e7165574d42362a1e1206121f2b37434e5865727f8c99a4afbbc7d4ded1c4b8ab9e9184786c605346392f231806000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318212930383f444e555d606c717b838c9299a1a8a8a099928c827b716c605c544a3f34281c100300000000000000000000000000000003101c28343f4a545c606c717b838c9299a1a8a8a199928c837b716c605d554e443f3830292118130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000010d18232d373f464a4c53535353535353535353535353534847423c332a201509000000000000000000000a15202a343c43474853535353535353535353535353534f4d48423930251b0f04000a1724313d4a5764707d8a9798928c857e78706b625f58524d454039332d261d1b150e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8999a3afbbc7d4e0dbcfbfb3a6998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a3aebac7d3e0ded1c5b8aca096877b6e61554b4030261c11070000000000000000000000000000000000000000000000040e1925303b46535e6976828f9ca9b5c2d0dbdfd2c6b9ac9f93867a6d6154473a2e21140700000000000000000000000a1623303d495663707c8999a3afbbc7d4ded1c4b7ab9e918478685e5246392d20202d3a4653606d7985929facb8c5d2d0c4b7aa9d918477685d52454d566875818e9ba8b4c1d0dbcec1b4a79b8e817468564c41362a1d242f3f4b5865727e8b98aab4bfcbd6d1c5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000000000000000000813202c3945515d6775818e9ba9b3bec9d5d7cbbfb4ab9c8f8376695e52463a2d20150a15212e3a47535f6a7783909dabb5c0ccd7d4c8bcb1a79a8d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d757e8590959fa3aba59d9691877f786e69615a504a42382e23170b00000000000000000000000000000000000b17232e38424a505a61696e78808791969ea5aba39f9590857e756d676058504a423b3329241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000006121e29343f49515658606060606060606060606060606055534d453c31261a0e020000000000000000030f1a26313c464e535560606060606060606060606060605b59534b42372c201509000a1724313d4a5764707d8a97a29f97918b837d766f6a615e56514b443f382f2b262019140c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdccfc2b6a99c8f8276665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcbd6e3ddd0c4b7aa9d918477685e5243392f1e140a0000000000000000000000000000000000000000000000000009141f2a36424d5766727f8c99aab4becad6e0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000030f1c28333f4a5466737f8c99abb5c0cbd7dbcec1b5a89b8e827568564c41362a1e1f2c3844505c667683909ca9b6c3cfd2c6b9ac9f93867a6d605447525e687884919eabb7c4d1d6cabeb4aa988b7e7265584b3f302519222f3c4955626f7c8898a3aebac7d3d4c8bdb2a8968a7d7063574a3d2e23170b000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c31261a0f1b27333f4953626f7b8895a0acbdc7d2ddd1c5b8aca095887c6f62544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f81818181818181818181818181817c6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606a6f7a818a92989fa7a9a19e938e847c736d665e5750443f3830261c1106000000000000000000000000000000000006111c2630383f4450575f666d737d848e939fa2a9a79f98928a817a6f6a605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1206000000000000000006121f2b37434e585f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000a1724313d4a5764707d8a97a3a9a19e95908a827c746e69605d55504a423d37312a251f18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909daab6c3d1dcded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0d0dce7dacdc1b4a79a8e817467564d4131271d0c0200000000000000000000000000000000000000000000000000020e1a25313c4956626f7c8998a2aebac6d3dfd8ccc0b6ac988b7e7265584b3f3225180c0000000000000000000006121f2b3844505b6676828f9ca9b5c2d1dcd7cbbfb5ab988c7f7265594c3f3025191c28343f4a546773808d9aa6b3c0cfd4c8bbafa49a897d7063564a54616e7a8796a1acb9c5d2d3c6baaea298887b6f6255483c2f2215202d3a4653606d7986929facb8c5d2d9cec0b3a6998d807366544a3f34281c100300000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985919eabb8c3ced9d4c8bbafa49a8c7f7265584e43372b1f121f2b3744505b6573808d99a7b1bcd0d9d8ccc0b6ac9d9084776a5f5342382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c2228313a414550575e666d737c848e939fa2aaa69f97928a81796f6a605c544d453e342e261e140a000000000000000000000000000000000000000a141e262e343e454d545c606b6f7a818a92979fa6aaa29f938e847c736d665e575045403a3128221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000b1825313e4a56626d72797979797979797979797979797976695f53473a2e21140800000000000000000815212e3a47535f6a767979797979797979797979797979756f65594d4134271b0e000a1724313d4a5764707d8a97a3b3ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808d99abb5bfcbd7dfd3c6baaea298887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdce2d6cabeb3a9978a7e7164574b3e3024150b0000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929fabb8c5d2deddd2c0b3a79a8d8074675a4d4134271a0e000000000000000000000613202d394653606c7985929fabb8c5d2ded3c7bbaea399897c6f6356493c30231617232e3e4a5764717e8a97a9b3bec9d5ccc0b6ac998c7f736653495764707d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d20131f2c3844515c667683909da9b6c3d0dccfc2b6a99c8f8376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9083776a5f53473a2e2113202d394653606c7884919eabb7c3cdded4c8bbafa49a8c7f7266584e432f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171d262d333d434b515a61696e787f8791969ea5aaa39f948f857e746d676058504a423b3328231c140c0200000000000000000000000000000000000000020c141c2328333b424a505960676d747e8590949fa3aba59e9691877f786e69615a514b433d332d261d170f0701000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986868686868686868686868686868275695c4f4236291c0f03000000000000000c1925323f4c5865727f86868686868686868686868686867b6e6255483b2f22150800000000000000000915222f3c4855626f7c86868686868686868686868686868175685b4f4235281c0f000a1724313d4a5764707d8a97a3b0b9b1aca69f99938e868079716c666059534e46413b352f28221c140b0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5663707d8999a3aebbc7d3e0d6cabeb4aa988b7e7165584b3e31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1dddfd3c6baada297877b6e6154473b2e21140800000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f9ca8b5c2cfdbdbcfc2b5a89c8f8275695c4f4236291c0f000000000000000000000915222f3c4855626f7b8897a2adbac6d3dfd2c5b9ac9f9286796d6053473a2d201415222e3b4855616e7b8897a1adb9c6d2d2c2b5a89c8f8275655b50546773808d9aa6b3c0cedacfc2b6a99c8f8276665b5044382b1f121c2834404a546774808d9aa7b3c0cfdbd2c5b8ac9f9285796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb8c5d1ddd2c7b8aca095887b6f6255483d32271c2834404a54636f7c8996a1acb9c5d2dfd2c6b9ac9f93877b6e6154483c3221140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c121821292f383f444e555d606c717b828c9299a0a8a7a098928b827a706c605d554e443f3830292117110a02000000000000000000000000000000000000000000020a1117212930383f444f555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292118120c040000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b939393939393939393939393887b6e6255483b2f22150800000000000000000915222f3c4855626f7b889393939393939393939393938e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdbcb8b0aba49f98928c847e78706b625f58524d454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdbd0c1b4a79b8e817468574d42372b1e12060000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2dfded2c5b8ab9f928578695e52463a2d20140700000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a6b3c0ccd9ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000c1825323f4b5865727e8b98a9b3becad6ddd0c3b6aa9d908377675c5145382c1f1314212d3a46535f697885929eabb8c5d1d2c5b8ab9f9285796c60535c667683909ca9b6c3cfd8ccc0b6ac998c807366544a3f33281c0f18232e3e4b5764717e8a97a9b3becad6d3c6baaea298887c6f6255493c2f2216080000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d4c8bcb1a7998d807366584e43382c1f2c3844515c6674818d9aa8b2bdc9d5d7cbbfb4ab9c8f8376695e53463a2d21140200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d747e8590949fa3aba49f9590867f776e68615a514b433d342e261e170f0600000000000000000000000000000000000000000000000000060f181e262e343d434c515a61696e787f8791969da5aba39f9490857e746d676058504a423b3329241d160d0600000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9f9f95887b6e6255483b2f22150800000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdc8c2bdb5afaaa29f97918b837d766f6a615e56514b443f382f2b262019140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677683909ca9b6c3cfdbded1c4b7ab9e918478695f53473a2e211406000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c778698a2aebac6d3e0ddd1c4b7aa9e9184776b574d42362a1e1105000000000000000000000000000000000000000000000000000000000b17232e3f4c5965727f8c98a5b2bfcbd8ddd0c4b7aa9d9184776a5e5144372b1e1100000000000000000005111e2a36414c566874818e9ba7b4c1d0dbdacdc0b3a79a8d807467554b4034291c10121e2a36424d576975828f9ca8b5c2cfd3c6baada297887b6e6255606d7986929facb8c5d2d4c8bbafa49a8a7d7063574a3d2d22170b15222e3b4855616e7b8897a2adbac6d3d6cabfb4aa988b7e7265584b3f3025190d01000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a7b1bcc7d4d9cdc3b7ab9e9184786a605448382e232d3a4653606d7985929eabb8c4cedad3c7baaea3998b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c3f393e4042424242424242424242424242423b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545b606a6f79818a92979fa6a9a19a938d837c726c655e56504540393128231c140c05000000000000000000000000000000000000000000000000000000060c151c2328313a414550575e666c727c848e939ea2a9a69f97928a81796f6a605b544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5acacacacacacacaca195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2acacacacacacacaca89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdd0d0c7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808c99a9b3becad6dfd2c5b9ada196887b6e6255483b2e23170b000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d798693aab4bfcad6e2dcd0c3b6a99d9083766a5d504330251a0e0200000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97a4b1becad7ded1c4b8ab9e9185786b5e5245382b1f120000000000000000000713202d3946525e687784919eaab7c4d1ddd6cabeb3a9978a7e7164574b3e2f23180c0e1a2631404c5966737f8c99a6b2bfced6cabeb3a9978b7e716458626f7c8998a3aebac7d3d2c6b9ac9f93867a6d6154473a2e21140613202d394653606c7985929fabb8c5d2dbd0c1b4a89b8e817568564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9aca196897c6f62544a3f342935404b5563707d8a97a1adb9c6d6dfd2c5b9ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494b46443f382f3535353535353535353535352f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c22283139404550575e666c727c848e939fa2a9a59e97918880796f6a605b534d443e352f281f17110a090909090908060300000000000000000000000000000104060709090909090a11171f282f353e454d545b606a6f79818a92979fa6a9a29f938e847c726c665e57504540393127221b140b0500000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2b9b9b9b9b9b9aea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aeb9b9b9b9b9b9b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bfc6ccd2ccc6bfbab2ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3c4956636f7c8997a2adb9c6d2dfd5c9bdb2a8988b7e7265544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dbe7dbcfc2b5a89c8f8275695c4f4236291c0900000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6ded2c5b8ab9f9285786c5f5245392c1f120000000000000000000714212e3a4754616d7a8796a0acb9c5d2ded2c6b9ada297887b6e6155483b2e221507091723303d4a5663707d8996a8b2bdc8d4cfc0b4a79a8d8174675565727f8b98aab4bfcbd6d0c4b7aa9d918477685d5246392d201307121f2b3744505b6576828f9ca9b5c2cfdcd1c4b7aa9e918477685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909dabb5c0cbd7d5c9bdb2a89a8d8074665c5044382c3945515d6775818e9ba9b3becad6d6cabeb3a99b8f8275685d524539291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54565853504a423d36302823282828282828282822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5aaa29f938f857d746d675f585049413b3229241d16151515151515151515120f0a030000000000000000000001070d1013141515151515151515161e2429333b424a505860676d747e858f949fa3aba59d9691877f786e69615a514b433c332d261d170e07010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc6c6c6c6c1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a9aeb4bbc0c7d0d0cac4beb9b1aca69f99928e867f79716c666059534e46413b352f28221c140b0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d1dcdacfc2b5a89b8f8275665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000a1724313d4a5764707d8a97a8b2bdc8d4ded1c5b8ab9e928578695f53463a2d2114070714212e3a4754616d7a8796a0acb8c5d2d0c3b7aa9d908477675d6875818e9ba8b5c1d0dccec1b4a79b8e817468564c4135291d11050f1b27333f49536673808c99a6b3bfcfdad2c5b9aca096877a6e6154473b2e21140700000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8b99a3afbbc7d3dacec4b8ab9e9285796d6053463a2f3a4753606d7a85929facb8c5cfdad3c6baada2978a7d7064564c413529170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b38434e58606265605b544f46423b342e271e1a1b1b1b1b1b1514120f090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c717b828c9299a0a8a79f98928b827a706b605c554e443f382f29222222222222222222222222211f1a150e060000000000000000040c12181d2020222222222222222222222222292f383f444e555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292018120b0300000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd2d2c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d2d2cec1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a979fa2aaafb5bdc2c8cecfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675818e9babb5bfcbd7ded2c5b8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dacdc0b3a79a8d8074675a4d4134271a0e01000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000004101c2834404b556773808d9aa6b3c0ced9dbcfc2b5a89c8f827569574d42372b1e12050713202d3946525d687784919eaab7c4d1d2c6b9ac9f93867a6d60697884919eabb7c4d1d6cabeb3a9988b7e7165584b3e3024190d010b17222d3d4a5764707d8a97a8b2bdc9d5d5c9bdb2a8978a7d7064574a3d2e23180c000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd2c6b9ada197897d7063554b4035414c5664717e8a98a2aebac6d7ded2c5b8ab9f9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000000103040404040404040404040404040404040100000000000000000000000000000815222e3b4754606a6f726c666059524d454039302b261f18130b06080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429333b424a505860676d747e858f949fa3aba39f9590867e756d686059514b433c332d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620181006000000000000040d161d24292c2d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d333d434b515a61696e787f8791969da4aba39f948f857e746d6760585049413b3229241d150d06000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000916222f3c4955626f7c858d92989fa4abb0b8bcc3c9cfcec8c2bdb5afaaa29f96918b837d756f6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717d8a99a3aebbc7d3dfd3c6baada297897c6f6256493c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000006131f2c3845515c677683909ca9b6c3cfdcd8ccc0b6ac998c7f7366594c4031261a0e0205111d2935414c566875818e9ba8b4c1d1d4c7bbafa499897c70636e7b8796a1acb9c5d2d3c6baada297887b6f6255483c2f221508000614212e3b4754616e7a8796a1adb9c5d2d9cec0b3a69a8d807367544a4034281c10040000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4bfcad6d5c9beb3a99b8e8174675d51453946525e6875828f9caab4bfcad6d5c9bdb2a89a8e8174675c514538281e130800000000000000000000000000000000000000000000000000000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000006131f2b37434e58626f7c7e786f6b615e57514b433e373129241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e454d545b606a6f79818a92979fa6a8a199928c837b716c615e564f45403c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a2218100600000000010c161f282f35393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c404550575e666c727c848d929ea1a9a69f97928a81796f6a605b534d443e352f271f17110a0200000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000815212e3b47535f6a6f7a80868e93999fa6acb1b9bdc4cad0cfc7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4754606d7a86929facb9c5d1dcd6cabeb3a9998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000713202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897d7063564a3d3023170900010d1924303f4c5865727f8b98abb4bfcbd7ccc0b5ab998c7f7266717d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d201306000714202d3946525e687884919eabb7c4d1dccfc3b6a99c908376665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664717e8a98a2aebac6d3dacfc5b8ab9f9285796d6053473a4754616d7a86929facb9c5d0dbd2c5b9ada196897c7063554b403428160c020000000000000000000000000000000000000000000000000000000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e0800000000000000030d15212e3b47535f6a75828b837d756e69605c554f47423c352f27221b140b08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22273139404550575e666c727c848e939fa2a9a59e96918780786e69625a524c48484848484848484848484848484848484848484847433c342a22180e0400000007121d2831394045474848484848484848484848484848484848484848484d545b606a6f79818a92979fa6a9a29f938e847c726c655e56504540393127221b140b05000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0006131f2b37434e585f676d737b81878f949da0a7adb2babec5cbd1cbc6bfbab2ada7a09d948f87817a736d67605b544f47433c363029241d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cabb5bfcbd7dbd0c3b7aa9d908477695f53473a2d21140800000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000091623303c4956636f7c8998a3aebac7d3dfd2c6b9ac9f93867a6d6054473a2d21140700000816232f3c4956626f7c8999a3aebac7d3d2c2b5a89b8f82756873808d99a6b3c0cedacfc2b5a99c8f8276665b5044382b1f12060005111e2a36414c566875828f9ba8b5c2d2ddd2c5b8ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929facb8c4cfdad3c6baaea2988a7d7164554c424d5765727e8b99a3aebbc7d3ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a02000000000009141f2b37424e57626f7c88949089817b726d676159534d45413a332d261d19130c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5a9a29f938e847d736d665f57555555555555555555555555555555555555555555555555534e463c342a20150a0000010d18242f39434b5153555555555555555555555555555555555555555555555555585f676d747d858f949fa3aaa59d9691877f776e69615a514b433c332d261d170e070100000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00030f1b26323c464e555d60696e747c828990959ea1a8aeb3bbc0c7cfd0cac4bdb9b1aca69e99928e867f79716c666059534e46413a352f27221b140b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565727f8b99a3aebbc7d3ded1c5b8aca095887b6e6155483b3025190d01000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000c1926323f4c5965727f8c98aab4bfcbd7ddd0c4b7aa9d918477685d5245392c20130700000713202d3a4653606d7986929facb9c5d2d1c4b7ab9e9184786775828f9ca8b5c2cfd8ccc0b6ac998c807366544a3f33281c0f0300020e1925303f4c5966727f8c99acb6c0ccd8d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b3bec9d5d6cabeb4aa9b8e8275675d5146525e697683909cabb5bfcbd7d4c8bcb1a7998d8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000040e1720272e33363737373737373737373737373737373734322f2a241c140a00000000020e1a25313a47535f6a75828e9b9d938e867f79706b625f57514b443f382f2a251e17110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c707b828c9299a0a8a8a197928a817a6f6b626262626262626262626262626262626262626262626262626262625f584e463c31261b0f030004101d2935404b555d60626262626262626262626262626262626262626262626262626262626c707a828b9298a2a9a8a099928c827b706c605d554e443f382f292018120b03000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000a15202a343c434c51575e616a6f767d838b91969fa2aaafb5bdc1c7cdcfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5cfdad4c8bcb1a7988c7f7265564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000005121e2b37424d576875828f9ba8b5c2d1dcdacec1b4a79b8e817468564c4135291d1104000006131f2c3845515c677683909da9b6c3d0d2c6b9ac9f93867a6d7784919eaab7c4d1d4c8bbafa49a897d7063564a3d2d22170b000000081623303d495663707c899aa4afbbc8d4d6cbbfb4aa988b7f7265584c3f30251a0e0200000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dbd0c5b8ac9f92867a6d60544854616e7b87939facb9c6d1dcd1c5b8aca095887c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000b15202931393f4244444444444444444444444444444444403f3b362e261c120800000005121e2a36424d57626e7b87939fa59e98928c847d756e69605d555049413c363028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429323b414950585f676d747e858f949fa3abaca19691857e756f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f584e43372b1f1206000613202c3945515d676d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f777f869297a2adaba39f948f857e746d675f585049413b3229241d150d060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000040e18222a313a41454d52585f626b70787e848c92989fa3abafb8bcc2c8cecec8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6875828f9ba9b3bec9d5d9cec3b6a99c908376685e5246392d201409000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000714212d3a46535f697885929eabb8c5d1ded6cabfb4aa988b7e7265584b3f2f24190d01000004101c2834404b556774808d9aa7b3c0d0d4c8bbafa49a887b6f7986929facb9c5d2d2c6b9ac9f93867a6d6054473a2d2114060000000714212d3a4754606d7a86939facb9c6d2dcd0c1b5a89b8e827568574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4653606d7985919eabb8c3ced9d3c7baaea3988b7e7164564d5765727f8c9aa4afbbc8d4d8ccc0b6ac9d9083776a5f5341382d22170b0000000000000000000000000000000000000000000000000000000006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000714212d3a46535e6974818e99a4afaaa29f96918a827b736d67605b534e46413a342e261e1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e444d535b606a6f79818a92979fa6aeb5ab9e91847d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c766a5f53473a2e211509000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7e85929eabb5aea69f97928a81796f6a605b534c443e352f271f17110a02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000710181f282f353b42464e535960666c71797f858d92999ea5abb1b9bdc3c9cfcfc7c0bbb4aea8a19e959089827c746d68605d555049413d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd2c6b9ac9f93867a6e6154473b31261a0e020000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000815222e3b4855616e7b8897a1adb9c6d2dfd3c6baaea298887c6f6255493c2f221608000000000c18232e3e4b5864717e8b97a9b3becad6ccc0b6ac978a7d707a8799a3aebbc7d3d0c3b7aa9d908477685d5245392c2013070000000613202c3945515d677784919daab7c4d0ddd1c4b7ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6673808d9aa8b1bdc8d4d6cbbfb4aa9c8f8275685d535f697783909dacb6c0ccd8d4c8bbafa49a8c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070005111e2a36414c56616e7b86929fabb5b4aea8a09e948f87807a716c656058524c443f38302a251f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227313940454f565e656c727c838e929ea2a9b0bbb9aca196918a8888888888888888888888888888888888888888888888888888888888888888887c6f6255483c31261a0e05111e2a36414c5665727f8888888888888888888888888888888888888888888888888888888888888888888a9297a2adb9bbb0a9a19e928e837c726c655e564f4540393127221b140b020000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000070d161e242930363c43474f545b60676d727a80878f939d9fa7acb2b9bec5cbd0cbc5bfbab2ada7a09d948f87817a736d67605b534f47423c363029231d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3ced9d4c7bbafa4998b7e7265574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000b1825313e4b5864717e8b97a9b3bec9d5dfd2c5b8ac9f9285796d6053463a2d201307000000000715222f3b4855626e7b8897a2adbac6d3d2beb2a5988b7f727c8895abb5bfcbd7cdc1b4a79a8e817467564c4135291d110400000004111d2935414c556874818e9ba7b4c1d1dcd2c5b9ada196877b6e6154483b2e2115070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c5d1dcd0c5b9ac9f92867a6d6155616e7b88959fabbec7d2ddd2c6b9ac9f93877b6e6154483c3121140a00000000000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000714202d3946525e6874808d99a3aebdbfbab2aca69e99928d857e786f6a615e56504a423d363129241d150d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333c434b515961686e777f8691959da5adb3bbc2bdb2a8a19e9695959595959595959595959595959595959595959595959595959595959595958c7f7366574d42362a1e120714202d3946525e687683909595959595959595959595959595959595959595959595959595959595959595979ea2a9b3bec2bbb3ada59d9591867f776e686159514b433c332d261d140a0000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000040c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6ccd0cac4bdb9b1aca69e99928d857f79716c656059534e46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8d4d7ccc0b5ab9c908376695f53463a2d21160a0000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000004111d2935414c566774818e9aa7b4c1cfdadccfc3b6a99c908376665c5044382c1f1206000000000613202d394653606c7985929fabb8c5d2ccbfb3a6998c80737d8a96a3b0bdd1d6cabeb3a9988b7e7165584b3e2f24190d01000000010d19242f3f4b5865727e8b98abb4bfcbd7d5c9bdb2a8978a7d7164574a3e2f23180c00000000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d3c7bbaea3998b7e71655766727f8c99a7b1bcd0d9d7cbbfb4aa9c8f8276695e52463a2d2014020000000000000000000000000000000000000000000000000000000000101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d000814212e3b4754616e7a86929faab2bac2c4bdb9b0aba39f97918b837c746d68605c544f46423b352f271f1a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f444e555d606b707a828c9299a0a8afb9bebcbcbcbab2acaba3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d908377695f53463a2d21140814212e3b4754616e7a86939fa2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a4abadb3bbbcbcbcbeb9afa8a099928c827a706b605d554e443f382f261b110600000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7d1dcd2c7b7ab9f94887b6e6155483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000613202c3945525d687784909daab7c3d0ddd9cdc0b3a69a8d807367544a3f34281c10030000000005121f2b3744505b6576828f9ca9b5c2cfcdc1b4a79a8e81747e8b98a4b1becbd3c6baada297887b6e6255483b2f22150800000000000816232f3c4956626f7c8999a3aebac7d3dacfc0b3a79a8d807467554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a6b0bcc7d3d7cbbfb5ab9c8f8276685f697783909daab7c3cdddd3c7baaea3988b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000b1825313e4b5864717e8b9298a1a8b0b8c0c9c1bdb5aea9a19e959087817a726d666059534d454039312c241a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414950585f676d747d858f949fa3abb1afafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaca095887b6e6155483b302519111d2935414c5665717e8b99a4afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafb1aba39f948f857d746d675f58504941382d22170b00000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb5bdc2c8cecdc8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c0701000000000000000000000000000000000000000000000000000000000000000000000c18232e3947545f6a7783909dabb5c0cbd7d3c7bcb0a6998c7f7366584e43382b1d130700000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000714212d3a4754606d7a86939facb9c6d2dfd5c9bdb2a8978a7d7164574a3e2e23170c0000000000030f1b27333f49536673808c99a6b3bfcecfc2b5a89c8f82757f8c99a5b2bfccd2c5b8ab9f9285796c605346392d20130600000000000713202d3a4653606d7986929facb9c5d2dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000f1b27323c4855616e7b88949fabb7c6d1dcd1c5b9ac9f92867a6d626e7b8895a0acb8c4d1dfd2c5b9ac9f92867a6d6054473b30251a0e020000000000000000000000000000000000000000000000000000000000131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f000a1724303d4956616c717e8691969fa6aebabfc5c6bfbbb3ada79f99938e857f78706b615e57514b433e362c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535b606a6f79808a92979fa6a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3acafb1a7988c7f7265564c41362a1e13202c3945525d6876828f9cabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a69f97928a80796f6a605b53493f33271b0f03000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4abb0b8bcc3c9cfcfc7c0bbb4aea8a19e959089827b746d68605c555049413d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7d3d8cdc2b7aa9e9184776a6054473a2f24180d01000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c5b9ada196877b6e6154483b2e2115060000000000000b17222d3d4a5763707d8a96a8b2bdc9d0c3b6aa9d908377808d9aa7b3c0cdcfc2b5a89c8f8275655b5044372b1f1205000000000006131f2c3845515c667683909da9b6c3d0dcd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909cabb5bfcbd7d3c7bbafa3998b7e7166737f8c99a7b1bcc8d4d6cabeb3a99b8e8275685d524539291f1409000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000815212d3945505a626c717c848f949ca4aeb4bcc3cbc4beb9b1aba49f97928b837d756e69605d5550483e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656c727c838d92969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969fa4aba99c908376685e5246392d2014212d3a4754606d7a86929facaba39f96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696928d837c726c655b5044372b1f1205000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e93999fa6acb1b9bdc4cad0cbc5bebab2ada7a09d948f87817a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616e7a86929facb9c5cfdbd2c5b9aca096897c6f62554b4035291d1104000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003101c28343f4a546673808c99acb6c0ccd8ded1c4b8ab9e918478695e52463a2d2014070000000000000614212e3a4754616d7a8796a1acb9c5d1c4b8ab9e918578818e9ba7b4c1ceccc0b5ab998c7f736653493f33271b0f03000000000004101c2834404b546774808d9aa7b3c0d0dbd3c7baaea399897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3d7cbc0b5ab9c8f8276697783909daab7c3cdd9d3c6baada2978a7d7064564c413529170d02000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f0005111d28343e48505a626a6f7a828d929fa2aab2bac1ccc9c2bdb5afa9a29f959089817b736d67615a50483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787f868989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898a9399a4ac9f93867a6e6154473b2f241c2934404b5564717e8a99a3aea399928a898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989867f786c605346392d201306000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7adb2babec5cbd0cac4bdb9b1aca69e99928d857f79716c656059534d46413a342f27221b140b03000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3becad6d4c8bdb2a89a8d8174675d5145392c20160a000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000006121f2b3844505c6676838f9ca9b6c2d2dddbcec2b5a89b8f827568574d42362a1e12050000000000000713202d3946525e687884919eabb7c4d1c5b9ac9f928679828f9ca8b5c2cfc7bbafa499897d7063564a3d2d22170b000000000000000c18232e3e4b5864717e8b97a9b3becad6d7cbbfb4ab988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd1c5b9ac9f92867a6e7b8895a0acb8c5d5ded2c5b8ab9f9285796d6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f00000c17222d363f48505860686d78808a9298a0a8afbbc0c7d0c7c0bbb3ada7a09d938e868079716c615a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a7d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d87939faca4998b7e7165554c4135291f2c3845515c6775828e9babac9f92877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7a6d6054473a2d211407000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c828990959ea1a8aeb4bbc0c7cfcfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d150d0300000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6d1d9cec3b8ab9f92857a6d6053473d32271b0f020000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000713202d3a4653606d7985929facb8c5d2dfd7cbc0b5ab988c7f7265594c3f30251a0e0200000000000005111e2a36414c566875828e9ba8b5c1d1c7baaea399867983909ca9b6c3cfc6b9ac9f93867a6d6054473a2d211406000000000000000715222f3b4855626e7b8897a2adbac6d3dcd1c2b5a89b8f827568574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4becad6d3c7bbaea3998a7e727f8c98a7b1bcc8d4d5c9bdb2a89a8e8174665c514538281e130800000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f000006101b242d363f464e565e666d737e8691969ea5afb5bdc5cdccc5bebab1aca59e98928c847e716c6155493d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707076838f9cacab9c8f8275675d5145392c202d3a4753606d7985929facac9c8f837670707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d685d5245392c201307000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d838b91969fa2aaafb5bdc1c7cdcdc8c1bdb5afaaa29f96918a837d756e69615e56514b443f382f271f150b010000000000000000000000000000000000000000000000000000000000010d1925303b4653606d7985929eabb4bfcbd7d3c6baaea2988b7e7265594f43382c1e14080000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000916222f3c4955626f7c8898a2aebac6d3dfd4c7bbafa399897c6f6356493c3023160900000000000000010d1925303f4c5965727f8c98abb5c0cbcbbfb4ab94877b84919daab7c4d0c3b7aa9d908477675d5145392c201306000000000000000613202d394653606c7985929fabb8c5d2ded1c4b8ab9e918578695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d3d7cbbfb5ab9b8e817683909ca9b6c3ced9d2c5b9aca196897c6f63544b403428160c0100000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f00000009121b242d343d444c545c606c717c848f939fa4abb3bbc3cbd0cac3bcb8afaaa29f96918a7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636365727f8b9aa4ac9f92867a6d6054473a2e28343f4a5463707d8a98a2aea49a8b7f726563636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000003090e161b1e272e343a41454d52585f626b70787e848c92989fa3abafb8bcc2c9cecfc7c0bbb3aea8a19e959089827b746d68605c555049413931271d120700000000000000000000000000000000000000000000000000000000000008141f2c3845515c6773808d99a3aebac7d2d6cabeb3aa9d9083776b6054483b3025190d0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000c1925323f4c5865727f8b98aab4bfcad6dfd2c5b9ac9f92867a6d6053473a2d2014070000000000000000081623303c4956636f7c8999a3afbbc7d1bbafa295887c85919eabb8c4cdc1b4a79a8e817467554c4135291d11040000000000000005121f2b3744505b6576828f9ca9b6c2cfdcd2c6b9ada197887b6e6155483b2e2215070000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929fabb8c4cfdad1c5b8ab9f92857a87929facb9c5d2ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f0000000009121b222b323a424a505a616a6e79818c9399a1a9b1b9c0cbd1cec8c0b6aea49d928d80736c6155493d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656616e7b87939faca3998a7e7164554b40342b3844505c6674818e9baaac9f93877b6e615656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524c443a3024190d01000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000040a0c151c23282f353b42464e535960666c71797f858d92999ea5abb1b9bdc4cacfcbc5bebab2aca79f9d938f87807a726d67605b534b43392f23180c00000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b86929fabb5c0ccd7d0c5b8aca095897c6f63564c41362a1d130700000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000005111e2a36424d576875818e9ba8b4c1d0dbddd0c3b6aa9d908377675d5145392c20130600000000000000000714202d3a4753606d7a86929facb9c5c9bcafa396897d85929facb8c5cabeb3a9978b7e7164584b3e2f24190d0100000000000000030f1b27333f49536673808d99a6b3c0cfdad5c9beb3a9978a7e7164574b3e2f24180d01000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b2bdc9d5d3c6baada2978d818d99a3afbbc7d4d4c8bcb1a7998d8073655b5044372b1f12070000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000091019202930383f4450585f676d777f8792979fa7afbabfc6c9c0b7aea49d928d80746e645a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a414547494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949525e697683909da9ab9b8e8275675c5145382d3a4653606d7985929eaba99d908376695e524949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494745413a32281e130800000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000030b12181e242930363c43474f545b60676d737a80878f939d9fa7acb2b9bec5cbd0cac4bdb9b1aba69e99928d857f79716c655c554b4034291c10040000000000000000000000000000000000000000000000000000000000000c18232e3946525e6874818e99a4afbbc7d4d4c8bcb1a79b8e8175685e52463a2f24180d00000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000714202d3a46525e697884919eabb7c4d1dedacdc0b4a79a8d817467554b4035291d1004000000000000000006131f2c3945515d677783909daab7c3cabdb0a4978a7d86939facb9c6c6b9ada197887b6e6255483b2f2215080000000000000000000b17222d3d4a5764707d8a97a9b2bdc9d5dacfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8996a1adb9c5d2d6cabeb3a99d928d929dabb5c0cbd7d1c4b8aca095887b6f6253493f33271b0f030000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000070e171e262e343e464e555d656c727d8590959da5aeb4bdc0b7aea49d928d80746e645c52483e34281d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d424d5766727f8c99a7ac9f9285796d6053463a2e3d495663707c8997a1ada7988c7f7265574d423d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3935302820160c0200000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000070c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6cccec9c3bcb8b0aba39f98928c847e776d675c5145382c1f130600000000000000000000000000000000000000000000000000000000000007121d2a36414d56626e7b87939facb9c2cdd8cec3b9ac9f92867a6e61554b4135291d1207000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000814212e3b4754616e7b8796a1acb9c5d2ded6cabeb3a9978b7e7164584b3e2f24180d01000000000000000004101d2935404b556774818e9aa7b4c1d0bfb2a6998c7f8c9aa4afbbc8c5b8ab9e928578695f53473a2e2114080000000000000000000614212e3b4754616e7b8796a1adb9c5d2ddd0c3b6aa9d908377675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eabb8c3ced9d0c5bcaea49d9a9da4aebdc7d1d7ccc0b5ab9d9083776a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000050c141c2328343c434c535b606b707b838e939fa3abb2b7afa59d928d80746e645c524a40362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303b4855616e7b8895a0aca2988a7d7063544a3f37434e586774808d9aa9aca095887b6e6155483b30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c29241e160e040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f96918a83796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000e1925303b47535f6975828f9ba6b0bbc7d3d3c7bbaea3998c8073675d5145392e23180c000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000b1724313e4a5764717d8a97a8b2bdc9d5dfd3c6baada297887b6e6255483b2f221507000000000000000000000c18242f3e4b5865717e8b98aab4bfcac5b8ab9f9285929facb6c0ccc2b5a89c8f827569574d42372b1e12060000000000000000000714202d3a46525e697885919eabb8c4d1ded2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6673808d9aa7b1bcc8d4d7cec0b6aea9a7a9aeb6c0cfd9d4c7bbafa4998c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f0000000000000000020a1117222a313a4149505960696e79818b9299a1a8afa59d938d80776c605c524a40382e241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232d3a46535f697783909daaaa9a8e8174665c50443b4754606a7884919eabaa9d908377695f53463a2d2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201d19130c04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb6bec2c8cecfc7c0bbb3aea8a19e95877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000008141f2b37424d57626f7c89949fabb7c3cdd7cbbfb5ab9f92857a6d60554b4034281c11060000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000004101d2935404b556774808d9aa7b3c0cedaded2c5b8ab9f9285796c605346392d201306000000000000000000000715222f3c4855626f7b8898a2aebac6c6baaea2989298a2aebec7cbc0b5ab998c7f7366594c4031261a0e0200000000000000000005111e2a36424d576875828f9ba8b5c2d2ddd3c7bbafa399897c706356493d30231609000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acb8c7d2ddd2c8c0b9b5b4b5b9c0c8d2dfd2c6b9ac9f93877b6e6154473c3121140a00000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f00000000000000000000060f181f282f383f444f575e676d747e8791969fa59d938e81776c655b504a40382e261c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161e2a36424d5766737f8c99a8ab9e9285796d6053463c4955626f7c8896a1ada8998c7f7366574d42362a1e1616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161413110d080200000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4acb0b8bcc3cbd1cbc5bebab2aca793877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7b1bcc8d4d1c6baada2978c7f72675c5145382e23170b0000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000006131f2c3945515d677683909da9b6c3d0dcdccfc2b5a99c8f8276655b5044372b1f1205000000000000000000000613202d394653606c7985929facb8c5cabeb4aaa29fa2aab4bed0c7bbafa399897c706356493d3023160900000000000000000000020e1a25303f4c5966727f8c99acb6c0ccd8d7cbc0b5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6a7784919dacb6c0ccd8dad2cbc5c2c0c2c5cbd2dad6cbbfb4aa9c8f8276695e52463a2d20140200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f0000000000000000000000060d161d262d333d454d555c606d727c848f949d938e81776c655b53493f382f261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0e1a26313c4855626f7b8896a0aca197897c6f635649424e576673808d99a8aca096887b6e6255483b31261a0e0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e939a9fa6acb1b9c3ced7d0cac4bdada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000915202b37434e5863707d8995a0acb8c4ced6cabeb3a99e9185796d60544a3f34281d120700000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000714202d3a4753606d7a86929facb9c5d2dfd9ccbfb3a6998c80736653493f33271b0f030000000000000000000006121f2b3844505b6676838f9ca9b6c2d0c5bcb4aeabaeb4bcc5d0c5b9ac9f92867a6d6053473a2d2014070000000000000000000000091723303d4a5663707d899aa4afbbc8d4dcd1c2b5a89c8f827569574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866727f8c9aa4afbbc8d4e0dcd6d1cecdced1d6dce0d3c7baaea3988b7e7164564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000000000000040b141b2227333b434b515b626a6f7a828d928e81786c655b534941382d261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a47535f6a7784919daaa99a8d807467584e47535f6a7784919daaaa9d9184776a5f53473a2e1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7b1bcc6d0dbd6cebaada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000030f1b27323d4855616b7783909da8b2bdc9d5cfc5b9ada1978b7e72665c5044392e23180c01000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000a1623303d495663707c8999a3afbbc7d3e0d4c8bdb2a8968a7d7063574a3d2d22170b0000000000000000000000030f1c28333f4a546673808d99a6b3c0cfcec5bebab8babec5ced0c3b6aa9d908377675d5145392c20130600000000000000000000000714212d3a4754606d7a86939facb9c6d2ded1c5b8ab9e928578695f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4854616e7b87939facb9c6d1dce7e2dddbdadbdde2e3dfd2c5b8ac9f92867a6d6054473b3025190e0200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000020a1117212931394045515860686d78808981786c665b534941382f261b140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586673808d99a8ab9e9184786a5f544855626e7b8895a0aca8998d807366584e43372b1f0e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c82899095a0aab4bfcad6d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a0acb9c4ced5c9beb3a99e9184786d60554b4034281e1308000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030f1b27333f495366727f8c99abb5c0cbd7ded2c5b9aca096877a6d6154473a2e2114060000000000000000000000000b17222d3e4a5764717d8a97a9b2bec9d5d0cac6c5c6cad0d7cdc0b4a79a8d817467554b4035291d110400000000000000000000000713202c3945525d687784919daab7c4d0ddd2c6b9ada197887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535e697683909cabb4bfcbd7d6d6d6d6d6d6d6d6d6d6cabeb3a99b8e8175675d514539291f14090000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000000000000000000060f171f272f343f464e565e666d737c786d665b544a41382f261d140a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c4955626f7c8896a1aca196887c6f62554d5766727f8c99a8aca196887c6f6255493c31261a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d839098a2aebac6d3d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000004101c27333d4653606d7884919ea8b2bdc9d5cfc4b9aca0968b7e71675c51453a2f24190d020000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000005121f2b3744505b6575828f9ca8b5c2d1dcddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000615212e3b4854616e7b8797a1adb9c6d2dbd6d3d2d3d6dbd5c9beb3a9978b7e7164584b3e2f24180d01000000000000000000000004111d2935414c566875818e9ba8b4c1d1dcd6cabeb3a9978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebac7c9c9c9c9c9c9c9c9c9c9c9c6b9ada2978a7d7064554c413529170d020000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f00000000000000000000000000000000050d151d2329343d444c545c606b706d665c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7884919eaba8998c80736657525e697683909da9ab9e9184786a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d85929facb8c5d2d3c6baada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000b161f2b3844505c66727f8b96a1acb9c3cdd5c9bdb2a89e9184796d60554c4135291e14080000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000613202d394653606c7985929eabb8c5d1d6d6cec1b4a89b8e817568564c41362a1d11050000000000000000000000000714202d3a46525e697885919eabb8c4d1d6d6d6d6d6d6d6d2c6b9ada197887b6e6155483b2e221507000000000000000000000000010d19242f3f4c5865727f8b98abb5bfcbd7dacfc0b4a79a8d817467554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a86929facb9bdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000030b1218222b323a424a50596063605c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e586773808d9aa9aa9d908477695f54616e7b87939faca99a8d807367584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a9298a2aebac6d3d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7984919ea7b1bcc8d4cec4b9aca1968b7f72675d51453b3025190b0200000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000815222f3b4855626e7b8897a2adb9c6c9c9c9cbbfb4aa988b7f7265584c3f3025190d0100000000000000000000000005121e2a36424d576875828f9ba8b5c2d2c9c9c9c9c9c9c9c9c5b8ab9e928578695f53463a2d211407000000000000000000000000000816232f3c4956626f7c8999a3aebbc7c9c9c9c3b7aa9d908477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525d6875828f9ba9b3b0b0b0b0b0b0b0b0b0b0b0b0b0b2a89a8d8174665c514438281e13080000000000000000000000000000000000000000000000000000000000000000000000000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b00000000000000000000000000000000000001071019202930383f444f545653504a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c4956636f7c8997a1aca095887b6e615665727f8b9aa4ada196897c6f6356493c32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949fa2aab4bfcad6dbc6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515c66717e8a95a0acb8c2d0d5c9bdb2a89e92857a6d60564c41362a1d140a00000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000b1825323e4b5865717e8b98a9b3bebdbdbdbdbdbaaea398897c6f6256493c2f23160800000000000000000000000000020e1a25303f4c5966727f8c99acb6c0bdbdbdbdbdbdbdbdbdbdb5a89b8f827568574d42372b1e1205000000000000000000000000000713202d3a4653606d7986929facb9bdbdbdbdbdb9ac9f93867a6d6054473a2d2114060000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717d8a97a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a196897c6f63544a403428160c010000000000000000000000000000000000000000000000000000000000000000000000000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000070e171e262e343d44484946443f3830261d140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7884919eaba7998c7f72665e6876838f9cacab9e9184786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6aeb4bcc6d0d7cfcabaada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54606c7883909da6b0bec7d2cec4b9ada1978c8073685e52463d2f261c1106000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005111d2a36414c566874818e9ba7b0b0b0b0b0b0b0b0ac9f9286796d6053463a2d2013070000000000000000000000000000091623303d495663707c899aa4afb0b0b0b0b0b0b0b0b0b0b0b5ab998c7f7266594c3f31261a0e020000000000000000000000000006131f2c3845515c677783909daab0b0b0b0b0b0b0afa499897d7063564a3d2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4753606d79859296969696969696969696969696969696969184786c605346392e231806000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d1206000000000000000000000000000000000000000000050c151c232832383b3d3a38342e261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818d9aa9a99d90837669616d7a86929faca99a8d8074655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0babfc6ced1cbc5beb9b2a093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000c18232e3944505b66707d8a949facb6c0ccd6cabeb3a99f92867a6e61584e42382d22170b020000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000713202d3946525e687784919da3a3a3a3a3a3a3a3a3a39d908376665c5145382c1f130600000000000000000000000000000714212d3a4754606d7a86939fa3a3a3a3a3a3a3a3a3a3a3a3a3a399897c706356493d30231609000000000000000000000000000004101c2834404b556774818d9aa3a3a3a3a3a3a3a3a3ab998c7f736653493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c6774818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d0100000000000000000000000000000000000000000000030a111721272c2f302d2b28231c140c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495363707d8997a1ac9f93877b6e64717e8b99a3ada197897d706353493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2cad0cfc6bfbab3ada8a093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54616b76828f9aa4afbbc5d0cfc5baaea2988e81746a60544a3f33281e14080000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212e3a4754616d7a87969696969696969696969696968d807367544b4034281c100400000000000000000000000000000613202c3945515d6777849196969696969696969696969696969692867a6d6053473a2d2014070000000000000000000000000000000c18232e3e4b5864717e8b9696969696969696969696968f8276655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000000000000000000000000060c161b202223201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eaba49a8b7e726775828f9babab9e9285796d6053463a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29e9691877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59626f7c87939fa9b3becad6cabfb4aa9f93877c6f665b50443b3025190d0400000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e2e23180c00000000000000000000000000000004111d2935414c556874818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8377675d5145392c1f13060000000000000000000000000000000715222f3b4855626e7c888a8a8a8a8a8a8a8a8a8a8a8a8a85796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e696e707070707070707070707070707070707070706d685e5241382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000010b151d252c30343535353535353535353535353535353532312e29231b1309000000000000000000000000000000000000000000000000000000040b101316161312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674818e9aaaac9c8f82766d7a86929facaa9a8e8174665c5044382b1b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb7afaba39f97928b847e71685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3e4754606a74818e97a2adbac3d0d0c6bbafa4999083786c60564c41362a20160c01000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d211407000000000000000000000000000000010d19242f3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f62554b4035291d10040000000000000000000000000000000613202d394653606c787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d575e6163636363636363636363636363636363636363615e564c412f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282828282828282828282828282828282524221d1811090100000000000000000000000000000000000000000000000000000000000407090a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5463707d8a98a2ac9f92867a717d8a98a3aea2988a7d7063544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b0aba59e99928d857f79716c61564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000a141d2b37434e58616d7a85929fa7b1bec7d2ccc0b5aba0958b7f72685e52463d32281e1308000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212d3a46535f696e7070707070707070707070707070706d685d5245392c201306000000000000000000000000000000000814212d3a46535f696e70707070707070707070707070707070706f6a5f5343392f24180c0000000000000000000000000000000006121f2b3844505b666c7070707070707070707070707070706d665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b454d52545757575757575757575757575757575757575754524c443a301d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7985929faba3998a7e75818e9baaab9f9285796d6053463a2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca69f9c938e86807a726d66615a50433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000020b1b27323c46525e68727f8b95a0acb6c0ccd2c7bdb1a79f92857a6e61594f443a2f24190e050000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005121e2a36424d575f61636363636363636363636363636363605d564c4135291d11040000000000000000000000000000000005121e2b37424d575f616363636363636363636363636363636363625f584e4331271d120700000000000000000000000000000000030f1c28333f4a545b60636363636363636363636363636363605c544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413a32291e0b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675818e9baaab9b8f827985929fabaa9b8e8175665c5145382c1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2c8cecfc6bfbab3ada8a09e949089817b736d68605c5450483e31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a36414c56606d7883909aa4afbbc4cfd0c3baada2978e81746b60564c41352920170d0200000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300020e1a26313b454d535557575757575757575757575757575754524c433a2f24190d0100000000000000000000000000000000020e1a26313c454d5355575757575757575757575757575757575755534e463c321f150b0100000000000000000000000000000000000b17222d38424a505357575757575757575757575757575753514b42392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5464717d8a98a2ac9f92867d8a97a2ada2988a7d7064544b4034281c0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29f96918a837c756e69605d56514a423e362c1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303a44505c666f7d88939fa9b2bec9d5cabeb3a99e93897d70685d52453e32291f140800000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a31281e130800000000000000000000000000000000000009141f2a333c4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a200d0300000000000000000000000000000000000006111c262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4645403930271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e303030303030303030303030303030303030302e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4753606d7986929faca2989184919ea9ac9f9286796d6053473a2e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6a615f57524c444039302c241a0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28343f4a54606b74818e97a1adb9c1cdd0c5bcafa59e91847a6d605a50443b3025191107000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c01000000000000000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e00000000000000000000000000000000000000000a141d262d3338393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242421201d19130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6775828f9babaaa0969196a0acab9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b1aba59e99928d857f79716c626058534d45413a342e271e1a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17232e38424f59606d7a84919ea5afbbc5cfcec1b9ada1968e81756c61564d41362a23190e050000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000060f181f262a2d2e3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000060f181f262b2d2e30303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000020b141c22282b2d3030303030303030303030303030302d2c28231d150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5564717e8a99a3aea8a09ea0a8aea3998a7e7164554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544e46423b353028231c150c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d45525d68707d8a939ea9b3becad5c9bdb2a89e938a7e71685e52463f352b20170c0300000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000060d141a1e212224242424242424242424242424242421201d19130c0400000000000000000000000000000000000000000000060e141a1e2122242424242424242424242424242424242422211f1b150e0700000000000000000000000000000000000000000000020a11171c1f20242424242424242424242424242424201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4754606d7a86929facb2acaaacb2ac9f92867a6d6054473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f2215060000000000000000091623303c4956636f7c8996a2afbcc9d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089817b736d68605c545047433d363129241e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935414c56616c75818e97a1adb9c0cccfc4baafa59e92857a6e615b51473d33291e150b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003090e1214151717171717171717171717171717171413110d080100000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000060b0f12131717171717171717171717171717171313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6775828f9cabb5b9b7b9b5ab9c8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232261b0f03000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d6c9bdb0a3968a7d7063574a3d2d22170b00000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69605d56514b423e38322a261f19130c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7a85929ea5afbac3cfccc1b9ada1978f82756d62594f453b30271d1207000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040100000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000306060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565717e8b99a3afbbc4bbafa3998b7e7164554c4135291d0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1f1409000000000000010e1b2834414e5b6774818e9aa7b4c1cddad8cbbeb2a5988b7f726553493f33271b0f03000000000000000b1824313e4b5764717e8a97a4b1bdcad7dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302b27201a140d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e46525e68707e8a939da8b2bdc7d1cabeb3a99e948c7f726b60574d42392e231811080000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5b9ac9f92867a6d6154473a2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776a5f54473b31251a0e04000000000005111e2a36414c566976828f9ca9b5c2cfdcdacdc1b4a79a8e8174655b5044372b1f150a000000000000000c1926333f4c5966727f8c99a5b2bfccd8dacdc1b4a79a8e8174675b4e4134281b0e000000000000040a0c151c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d45413a342e271e1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36414c56616c74818e96a0abb5c0cbcfc5bbb0a69f92877d70695e544b403428231a100700000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6876828f9cacb6c0b6ac9c8f8276685e5246392d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8aca095887c6f62574d42362a20160d03000000000713202d3946525e687885919eabb8c4d1deded1c4b8ab9e9184786c6053463c31261a1107010000000006121e2a36424d576875828e9ba8b5c1cedbd9ccc0b3a6998d8073665a4d4033271a0d0000000000070e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303b44505a606d79849199a3afbbc1cccdc1bbafa39992857b6e665c51453f352c22190f06000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b9aa4afbbafa49a8b7e7265564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8e8174695e53463d32281f150c070506080f17212e3a4754616d7a8797a1adb9c6d2dfdfd2c6b9ada197897c6f62584e43372b2318120b060606070e18212d3a46535f697884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c0000000007101820262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089827b746d68605c545048433d363129241e18120b030000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b08141e29323e45515d676f7c87929fa6b0bac4cecbc0b5aba1979083786d605a50473e342b21180e050000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9ac9f93877b6e6154473b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9cdc3b9ac9f92867b6e61594f443a31271e181311131419212a36414c5664717d8a97a9b2bec9d5e1e1d5c9beb2a99b8e81746a5f53473f3529231d1713121313182028343f4a54616e7b8896a1acb9c5d2ded7cabeb1a4978b7e7164584b3e3125180b000000071119222a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615d56514b423e38322a261f19130c07000000000000000000000000000000000000000000050b1013161617171717171717171717171717171717171717171717171717171717171717171717171717202935404b55606a727f8c939ea8b2bcc6d0c7bdb3a99f958d80746c62594f463d332a20170d0500000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3946525e687683909ca9b6a99c908376685e5246392d1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe0d3c7baaea3988e81746b60564c4339302924201d1f202429333b46525e6875828f9ca8b5c2cfdae6e6dacfc4b9ac9f93877c6f625b51473e342f2722201f1f202429323b44505c6673808c99a8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000050f19232b343c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302c27211a140d0802000000000000000000000000000000000000000000070f161c2022232424242424242424242424242424242424242424242424242424242424242424242424242424242f3a434e58606c77828f96a0aab4bfcacfc5bbb1a79d928b7e716b61584e453c322920160e05000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d5665727f8c98a7b1a7988c7f7265564d41362a1e0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe3d7cbbfb4aa9f93877d70685d554b423b352f2d292c2d2f353c454e58616d7a86929facb9c5d2dfece7e0d4c7bbafa4998f82756d635950454039332d2d2b2c2d2f353b444d57606d7884919eabb8c4cedadfd2c5b9ada196887b6e6155483b2e22150800000b16212b353d464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d46413a342e271e1b160e09030000000000000000000000000000000000000000000007111921272c2f3031313131313131313131313131313131313131313131313131313131313131313131313131313131313d44505b656d7a849198a2aebabfc9cdc2b9aea49f92877d706a60574d443b322820170e050000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b8795a0ab9f95877b6e6154483b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dcd1c6bbafa49991847a6d675c544d45403a3935383a3b41454e57606a74808d99a3afbbc7d3e0e3dcd5d1ccc0b5ab9e948c7f726b615a514b443f3b3a38383a3b40454d565f69727f8c96a1adb9c5d6e0ded1c4b7ab9e918478695f53463a2d2114070004101c27323d474f585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3f49535d686f7c86929fa4aeb7c1cbcbc0bbafa39992867c6f695f564d443a322920170f0600000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3a46535e697783909daa9d908377695e53463a2d1f1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe2d7ccc0b5aba1968f82796d665f57514b4746414547484c52585f696f7c88939fabb5c0cbd7e3dad2cac5c1c0bdb0a69f93877d716c605c5550494746444546484b51575f686e7b86929fa9b2bdc9d5e8dacec1b4a79b8e817468574d42372b1e1205000713202c38444f59606a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555048433d363129241e18120b03000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4c565f6a717e8b929ca5afb9c2cfcbc0b5aba29892857b6e685e564c443b322921180f06000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8c99a7998c7f7266574d42362a1e0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ebe2d9d2ccc7bdb2a89f948f82786e69605d5554524c515354565d606a6e7b84919aa4afbdc7d1dcdfd2c8c0b9b5b3b8baafa49992877e736d67605b53545350515354555d60696e7a839098a2aebbc4cfdadfd3c7bbb0a6978b7e7164584b3e31261a0e02000916222f3b4854606b707c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b433e38322a261f19130c07000000000000000000000000000000000000000000000000000004101c27333d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575758616c73808d939ea6b0bdc6d1c7bdb4aaa19791847a6e685e564c443b332921180c030000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4855626e7b8895a095887b6e6255483b31251a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9d0c7c0bbb9bbb0a69e948f837b726d6763615d565c606164686d737c849196a1acb6c0cfd9e1d7cdc0b6aea8a6abaeb3aba399928b8079716c656361605c5c606164676d737b849095a0aab4bfcdd6e0dcd0c3b7ab9f94877b6e6154483b2e21150900000a1623303d495663707d888f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039302c27211a140d08020000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646c77818e949fabb4bfcbcfc6bcb3a9a19690837a6d685e564d453b33291e150b0000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000914212e3a47535f697784919d908477695f53473a2e1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd2c7beb6afacafb6b0a69e9590857f7a74706d686b676d6e71757a80869196a1a8b2bec7d2e1dbcfc5bbaea49c999fa2aab3aba39f928d847e7874706e6d66676d6e71747a80869196a0a7b1bcc6d0dfdfd4c8bcb1a79c8f8276695e53463a2d21140700000a1724313d4a5764707d8a9a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e271e1b160e090300000000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717179839099a3aebac7d3cec5bbb2a8a09590837a6e685e574d453b30271d120700000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576673808c998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8ccc0b6aca49fa4acb4b0a79f98928c85817d7a7978797a7b7e81858d9298a1a8b2bac4d0d9e0d6cabeb3a99c928d9298a2aeb4aea49c96918a84817d7a797878797b7e81858c9298a0a8b1b9c3ced8e1d6cdc4b8aba095897d7063574d42362a1e120500000a1724313d4a5764707d8a97acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f46423c353028231d150c0a04000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7f86929facb9c5d2d7cdc4bab1a7a09590837a6e695f574d42392e23180c00000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4855626f7c8896887c6f6255483c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c8bbafa49a939aa2aab4b1aaa29f97928d8a8786858586878a8e92979fa3aab2bac4ccd6e1d8cec6b9ada2978d8086929fa9b2baaea8a19e96918d898786858586878a8e92979fa2aab2bac3cbd5e0d9cfc4bbb0a69d9083776b6054453b31251a0e0200000a1724313d4a5764707d8a97a3b0bdc8cecfc7c0bbb3ada8a19e959089827b746d68605c555049413d373129251e18120b03000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b9299a3aebac7d3dfd6ccc3b9b1a7a09590847b6e695f544b4034281c1004000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3b47535f6a77849184776a5f53473a2a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ac9f93869298a2aebab3aea9a19e9a96999291929894979b9fa2a9aeb4bcc4ccd6ded9cfc6bcb1a79e92857a7f8c96a1abb5bab2aca9a19e9a96999391929794979b9ea2a9aeb4bcc4ccd5ddd8d1c7bdb3a99f948a7e7164594f4433291f14090000000a1724313d4a5764707d8a97a3b0bdcdc8c1bdb5afa9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778390979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797989fa3abb4bfcbd7e3ded5cbc3b9b1a7a09691847b6e665c5145382c1f1306000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586773808d807366584e43372b180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cec1b4a79b8e8186929fa5afb9bab3adaba7aba39f9e9fa2aaa4a8abadb3babfc6cfd6dfd7d0c7bdb4aaa0958c7f7379849199a3afbbbdb9b2adaba7aba49f9e9fa2a9a4a7abadb3babfc6ced5ded7cfc6bfb5aba1978f82786c6053463d3320170d030000000a1724313d4a5764707d8a97a3b0bdc3bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a140d0802000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5acaeb4bdc6d1dce7e7ddd5cbc3b9b1a8a0969184796d6053463a2d201307000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4956626f7c897c6f6256493c31261b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c939ea7b0b8beb9b8b4b4aeacabacaeb4b1b4b8babec5cbd1d8d9d5cdc5bdb5aba3989083796d6f7d87929fa3afb6bebdb9b8b4b5afacababadb3b1b4b8b9bec5cad0d8d9d4cdc5bdb5aea39991857a6e665b5044382b1f1205000000000a1724313d4a5764707d8a97a3b0bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b9babfc6cfd8e2edefe7ddd5cbc3bab2a8a196867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7883786c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f79818f959fa6afb9bec5c0bfbab9b8b8babfbdc1c5c6cacfd7d7d4cec9c2bbb3aba39992867c6f666b727f8c919fa4acb2bbc0c4c0c0bbb9b8b8babebdc1c5c6cacfd6d7d3cec8c2bbb3aba39f92877d70685e544a3f33281c0f03000000000a1724313d4a5764707d8a97a3b0b2aca79f9d938f87807a726d67605b534f47423c353028231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbec5c7cbd1d8e1eaf4f0efe7ddd5ccc3bab2a893867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656e7b6e655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f73798390949ea5adb3babfc5c7c5c4c5c6cad0ced2d3d3d2d1cbc7c4bdb9b1a9a29992877e716a5f626d737f8b939aa1a8afb5bbc0c7c7c6c4c5c6cad0ced1d2d3d2d1cbc7c3bcb8b0a9a299928b7f726b60564c42382d22170b00000000000a1724313d4a5764707d8a97a3aea8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbd2d3d7dce2eae3e3e3e3e3e7ded5ccb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4d6d6cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d6d2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535f6a6e6a5f53493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f736d7a828e939ea1a9aeb4b8bcc1c3c5c7cbd1c9d1cbc7c5c3c0bbb9b2aca79f9792877e716c61585b636d737f8891969fa4abafb5b8bcc1c3c5c7cbd0c9d0cac6c5c4bfbab9b1aca69f9792877e726d63594f443b2f261c110600000000000a1724313d4a5764707d8a97aaa29f96918a837d756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3d0d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d3c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7c9c9c9c9c0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7c9c9c9c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414e585f625f584e41382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f73686d79818a92979fa2aaacb1b4b7b9bbc0bcbcbcbfbab9b6b5afaca8a09e9590857e716c615a50515b636d727d848e93999fa3abacb1b4b6b8babfbbbcbcbebab8b7b4aeaca7a09d9490857d716c635b51473d32291d140a0000000000000a1724313d4a5764707d8a979f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdb9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c464e5355534e463c2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f7366676d757e858d92989da0a7a8aaacafb5afafafb4aeacaaaba39f9c96918b837b706c615a504849515b626b707981878e92999da0a7a7a9acaeb4afafafb3adabaaaba39f9c95908a837c706b625a51493f352b20170b020000000000000a1724313d4a5764707d8a99928d857f79716c656059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0b0a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343c43474847433c342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f73665c606c717a80858c9095989b9d9fa3aba2a3a2aaa39f9d9a99928f8b847e786e69615a50483e4049515960676d747b81868c9095989a9d9fa3aaa2a3a2a9a29f9d9a99928f8b837d766e6a605950483f372d23190e05000000000000000a1724313d4a5764707d8a8f87807a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a3a39a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a39f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222a31373a3b3a37312a22180b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064575a61686d737a7f83888c8e90929995959695959892908e8b86827e79716d665e5750483e36373f474f555d60696e747b7f83888b8e90929894959695949792918e8a86827e78706b625f584f473f362d251c110700000000000000000a1724313d4a5764707d89827b746d68605c555049413d37312a251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a093867a6d6053473a2d201407000815212e3b4854616e7b87949696969696969696969696968d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879496969696969696969696969286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c615550565e61686d72777b7f818486878889898988878683817e7a76716d66605c544d453e362c2d353d434b51575f62696e73777b7e818385878888898987868584817d7a76716c666159534e463d352d241c130a0000000000000000000916222f3c4955626f7c7c756e69615e56514b443f382f2b261f19130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969693867a6d6053473a2d201407000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a8a8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a87796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f2122211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50444c52565d6066696e727577797a7b7c7c7c7b7a797774716d6864605c54504a423b332c23232b313a41454d53575e6166696e727476797a7b7c7c7c7b7a787774706d6764605b544f47433c332b231b120a010000000000000000000815212e3b47535f6a6f706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a867a6d6053473a2d201407000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12141514120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e41464c5254575f616568666d6e6e6f706f6e6e6d666765615e5653514a443f383029211a191f282f353c42474d5354575f616567666d6d6e6f706f6e6d676a6764605d5553504a423e37312a21191109000000000000000000000006131f2b37434e585f62636059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2c3845515d676d7070707070707070707070707070706e6a5f53473a2e211408000000000000000000000000000000000000000000000000000000000006131f2c3845515d676d7070707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e36363a4145474d535559545c6061626263626261605c545854524c46444039342e261e170f0d161d242931373b4246484d535558545c60616162636261605c555b5754514b46443f382f2b2620180f07000000000000000000000000030f1b26323c464e535556544f47423c363029231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5044382b1f12060004101d2935404b555d60636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000004101d2935404b555d6063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2a3035393c4246484c4b51535455565656555453504a4b4746413a38342e28231c140c05040c13181f262b31363a3c4246484b4a505354555556565453514b4e4a4745413a38332d261d1a150e0600000000000000000000000000000a15202a343c4347494948443d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a3f34281c100300000c18242f39434b515357575757575757575757575757575755534e463c31261a0f020000000000000000000000000000000000000000000000000000000000000c18242f39434b5153575757575757575757575757575757554f473e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221e24292c31373a3b3f4045464748494949484746443f3e3a3936302c28231c17110a02000001070d151a1f252a2d31373a3b3f3f4446474849494948474540413d3a39352f2b28221c140b0903000000000000000000000000000000040e18222a32373b3c3d3b38322b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382e23170b00000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c332a2015090000000000000000000000000000000000000000000000000000000000000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c1713191d20262b2d2e2e34383a3b3b3c3d3c3b3b3a38342e2e2d2a251f1c18120b0600000000000003090e141a1e21262b2d2e2e34383a3a3b3c3d3c3b3a38342f312d2c29241f1c17110a0200000000000000000000000000000000000007101820262b2e2f302f2c27211a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c1106000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b080d11141a1e212223282c2d2e2f2f302f2f2e2d2c282321201e1913100c070000000000000000000003090e12141a1e212223282b2d2e2e2f302f2e2d2c29232421201d18130f0b06000000000000000000000000000000000000000000070e151b1f21222322201b160e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a0000000000030d151d24292c2d3030303030303030303030303030302f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d3030303030303030303030303030302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000104090e121415181c1f2021222323232221201f1c171413110d080400000000000000000000000000000205090e121415171c1f20212222232321201f1c18171413110d0703000000000000000000000000000000000000000000000000040a0f131516161613100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28231c140c02000000000000030b12181d1f2024242424242424242424242424242422211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f2024242424242424242424242424242423201c1610080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000020507070c101313141516161615141312100c0607050100000000000000000000000000000000000000020507060b1012131415161616151413100c070706040100000000000000000000000000000000000000000000000000000000030608090a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a02000000000000000001070c1013141717171717171717171717171717171514120f09030000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141717171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a09080807060300000000000000000000000000000000000000000000000000000000000306070708090a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100b06000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020304000004060706050300000404040201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0c0c0b0a0a09080707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0b0c0c0b0b0a0908060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d080300000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313121111100f0d0c0a080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a1313131313131313131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1111131313131313131313131313131312120f0c0802000000000000000000000004080a0a13131313131313131313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d101213131313131313131313131313131311100e0b0600000000000000000000000005080a0b1313131313131313131313131313130e0d0b070300000000000000000000000005090d0f1013131313131313131313131313130a09070300000000000000000000000002060a0c0c131313131313131313131313131310100d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f1215151c1514120e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608090b0d0e1011070c10121313120f0b061111100f0e0c0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708060b0f12131516161718181818171616151413110d080907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070d10131415151617181818181717161513120f0b060706040100000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1d19140e0700000000000000000000000000000000000000000000000000000000000000000000030b11161a1c1d202020202020202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020201f1f1e1e1d1c1a18161513120f0b06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020202020202020202020202020171714110c05000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020201f1e1c18130d060000000000000000050b101416172020202020202020202020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f20202020202020202020202020201e1d1a16110b040000000000000000060c111517182020202020202020202020202020201a1917130e08010000000000000000020a1015191c1c2020202020202020202020202020161613100b04000000000000000000070d1216181920202020202020202020202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222821201e1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b0f12131516181a1b1d1e1e181c1f20201f1b171e1e1e1d1c1b191816151413110d0708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e11141418171c1f2021232324242525252423222221201d1918161313100c07050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e12141517181d2020212223242425252524242321201f1c17161413100d0705020000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f1911080000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a2a2927252321201f1b171312100c06040000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e1810070000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2927221c160e050000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120b02000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f07000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820262b2e2f352e2d2a251f170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d111314171b1f2021232526282a2a2b23282c2d2d2b27222b2b2a2a29272625232220201d18171414110e0907050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d111314191e20212422282b2d2e2f30313132323131302f2e2d2c29242522201f1c1814110e090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1e20212424292c2d2e2f3030313232313130302e2d2b28222320201d1814110e09030000000000000000000000000000000000000000000000000000000000000000020b151d252c3134353939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a1107000000000000000000000000000000000000000000000000000000000000030d171f272d3236373939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000008111a22282d30313939393939393939393939393939393939393939393939393939393939393939393939393938383736353432302e2d2b2722201f1c1713100c0703000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000040e1820282e33363839393939393939393939393939393937343029221910060000000008111a22282d30313939393939393939393939393939392f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a232a3135383939393939393939393939393939393736332e2720170e040000000009121a22282d30313939393939393939393939393939393433302b241d140b0100000000020c161e262d3235363939393939393939393939393939302f2c272119110700000000000a131c232a2e323339393939393939393939393939393735322d271f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000091119222a31373a3c423b3a3630292117110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1214191d202122272b2d2e303133353637382e34383a3937332d3837373735343331302f2d2c29242421201e1a1514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b1013191d2021252a2d2e312d3338393b3c3d3d3e3f3f3e3d3d3c3b3a393530312f2d2c2823201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f20252a2d2e302f35393a3b3c3c3d3e3f3f3e3e3d3c3b3938332d302d2c2924201e1a14100c0600000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e0300000000000000000000000000000000000000000000000000000000000b151f2931383e424446464646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464544444342403f3d3b3937332d2d2c28231f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646464646464646464646464646463e3d39332c241a1005000000000000000000000000000000000000000000000000000000000000000b16202a32393f434446464646464646464646464646464544403b342b22180d02000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19232c353c414546464646464646464646464646464644433f39322920160b00000006101a242c34393d3e464646464646464646464646464646413f3c362e261d1208000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f0400000007111c252e353a3e3f464646464646464646464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000006121b232b343c4347484f4846423b3328221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151a1f2124292c2d2d3337393b3c3e40414344444540444646443f454544444342413f3e3d3b3a39352f302e2d2a2521211e1a15130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f24292c2d30363a3b3e403f44464849494a4b4b4b4b4a494948474541413e3c3a38342e2d2a25211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1c22282b2d30363a3b3d404045474848494a4b4b4b4b4a4a494846443f403d3a39352f2d2a251f1c17110c06000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e352a1f14080000000000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535352525151504f4d4b494846443f3c3a38342e2c29241f1b17110b060000000000000000000000000000000000000000000000000000000000000000000b17222c353e44494a5353535353535353535353535353534a49453e362c22170c00000000000000000000000000000000000000000000000000000000000006121d28323c444b4f51535353535353535353535353535352504c463d34291e130800000b17222c353e44494a5353535353535353535353535353534947433d342b20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353514f4a433b32271c110600000c17222c363e45494b5353535353535353535353535353534d4c4740382e24190e03000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000020d18232e373f464b4c5353535353535353535353535353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000000000000000000000000020a1117242d353d464e53555b54524d453d332d261d170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f151a1f21262b2e2f35393a3d3f444648494b4d4e505151524a515353504952515151504f4e4c4b4948474540403d3b3a36302e2d2a25221f1b15110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d13191c23282b2f35393a3e4246474b4d4a505354565657575858585756555554524c4d4b494645403b3a36302d2a261f1b150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c21272c2d3338393c4246484a4c4b515354555657575858585757565453504a4d494745403b3a36302c28231c17110a03000000000000000000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463c3125190d000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d6060606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5d5d5c5a5856545350494946443f3a38352f2b27221b17110b0600000000000000000000000000000000000000000000000000000000000004101c28333e47505557606060606060606060606060606060575550483e33281d110500000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e60606060606060606060606060605f5d574f463b3024180c0004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925313c4650585d5f60606060606060606060606060605d5b554d43392e22160b0005111d28343e485055576060606060606060606060606060605a58524a40362b1f130700000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030006121e2a353f4951575960606060606060606060606060605d5b554c43382d22160a00000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227363f474f585f6268615e574f443f382f292017110a0200000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f262b2e31373a3b4145474a495053545658595b5d5d5e5e5f5c60605b5f5e5e5e5d5d5c5a5958565553514b4d4a4746423f3b3a36312e2b26201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191e25292e34383a4145474b4d5254575a545b60616263646465656464636261605d565a585553514b4746423b3a36312b26201b160e09030000000000000000000000000000000000000000000000000000000000000000000000000002090e161b21272c3238383f4446494d52545759555d60616263636465656464636361605b54595653514b4746423b38342e28231c150c080200000000000000000000000000000000000000000000000c1824313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d10000000000000000000000000000000000000000000000000000000010e1a26323e4a555f666a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a696867656361605b535653504a4745403937332d28221c17110a02000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000a16222e3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665e554a3e32261a0d000000000000000000000000000000000000000000000000000000000000000000000000030b141d262d3340485059606a6f756e696059504a423a3227221b140b0400000000000000000000000000000000000000000000000000000000000000000000060b13181c22282b31373a3c4347484c525456535b606163646668696a6b6b6c666d6c656c6b6b6a6a6a686766646362605d55595754524d4c4846423c3b37322d2a251e1b15100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e252a3035383f44464c515457565e61646768666c6e6f70707172727170706f6e6d6869676462605c5454524d4846423b37322c27211a150b060000000000000000000000000000000000000000000000000000000000000000000000050d141a21272c33383d43484a505356575e61636668676d6e6f6f707172727171706f6e6c66696663605d5554524d46443f38342e261e19130c04000000000000000000000000000000000000000000000e1b2734404d59656f75797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5d5145382b1f1200000000000000000000000000000000000000000000000000000003101c2936424f5b667177797979797979797979797979797979766c5f5346392d201306000000000000000000000000000000000000000000000000000000000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797978777776757372706e6c656662605c5453514b46443f38332d28221c140b070100000000000000000000000000000000000000000000000000000a1623303c4955616c70797979797979797979797979797979716c6155493d3023170a0000000000000000000000000000000000000000000000000000000004111d2a36434f5c67727779797979797979797979797979797873695d5044372b1e12000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845515d6a747979797979797979797979797979797771675b4f4336291d10000a1724303d4955616c71797979797979797979797979797979746e64584c3f3326190d00020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f221609000c1825323e4b57636d7279797979797979797979797979797671665b4e4235291c100000000000000000000000000000000000000000000000000000000000000000000000030c151d262f383f44525a626b707c827b706b605b544c443d332d261d160d0400000000000000000000000000000000000000000000000000000000000000020a11171d24292d33383c4347484e5355565d606366656c6e6f71737476777778787979797978787877777675747271706e6d67696663615e575854534d4947433c3936302b26201c160f09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151d242930363a41464a5053555d606467696e71737577797b7c7c7d7e7e7e7e7d7c7c7b7a787674716f6d6665615e5655534d47433c38322b261f17110a020000000000000000000000000000000000000000000000000000000000000000070f171f252a32383d44484f54545b606367696e707375777a7b7b7c7d7e7e7e7e7d7d7c7b79777573706d6765615e5753504a443f383029241e160e080000000000000000000000000000000000000000000f1b2835424e5b687581868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783868686868686868686868686868686796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686858584848382807e7c7b7976726f6d6664605d55535049443f38332d261d18130c04000000000000000000000000000000000000000000000000000a1724313d4a5764707d8686868686868686868686868686867e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784868686868686868686868686868685786c5f5245392c1f12000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868686868686868686868686868683776a5d5144372a1e11000b1824313e4b5764717e8686868686868686868686868686868074675a4d4134271a0e0003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a000c1926333f4c5966727f868686868686868686868686868683766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000020b151e262f384149505c636c717d858e857d736c665e564f443f382f2820160c010000000000000000000000000000000000000000000000000000000002080b141c22282f35383f44464e5355585f6266686d707376797b7c7e808183848485858686868685858484848382817f7e7c7b7a787573706e696965615e5755544e4746413b37322c28211a150d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191f272f353a41464c52545c6063676d7174777b7e808284868789898a8a8b8b8b8a898888878583807e7c7976726e6965615f57534e48433d373128231c140c060000000000000000000000000000000000000000000000000000000000030b1218212930363d43484f54596063666c6f74787b7d7f8284868788898a8a8b8b8b8a8a8987868482807d7a76726e6964605c54504a423e353028201a110600000000000000000000000000000000000000000e1b2835414e5b6874818e9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909393939393939393939393939386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393939393939393939393939393939393939393939393939892929190908f8d8b898785827f7c7975716d6763605b53504a443f382f29241d160d060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393938a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919393939393939393939393939285786c5f5245392c1f12000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929393939393939393939393939084776a5d5144372a1e11000b1824313e4b5764717e8a939393939393939393939393938d8074675a4d4134271a0e0003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a000c1926333f4c5966727f8c9393939393939393939393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000a141d263038424a535b606e737e879297928780786d6860595049413a32281e1308000000000000000000000000000000000000000000000000000000050d13191d262d333a40454a5053585f62666a6e73777a7d7f828587898b8c8e9090919192929999929291919190908f8d8c8b8988868582807d7b7875726e6966625f5854524c47433c38332b262018130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429313940454c52565e61666d70757a7e8184878a8d8f919298959697979898979796959497928f8d8b8886827f7b76726e69625f58544f47423c342e261e181009000000000000000000000000000000000000000000000000000000050c151d2328333b42464f545960636b6f74787c8084878a8c8f91939a959696979898979796969992918f8c8986837f7b76716d66605c545046413a322c2317110a020000000000000000000000000000000000000e1b2834414e5b6774818e9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa29f9e9e9d9c9b9a989698928f8c8985827e79746f6c65605b54504a423d352f281f17110a02000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000006111c262f38424a545b656c74808b9299a199938c827a6f6b605b534c443a2f24190d0100000000000000000000000000000000000000000000000000070e171e252a2f383f444b51545b60646a6f73777b7f8386898c8f92979697999b9c9d9e9e9f9fa3a39f9f9e9e9d9d9d9b9a9997969597918f8c8a8785827f7b77736f6a66615e56534e48443e373129241d160d0701000000000000000000000000000000000000000000000000000000000000000000000000000006101820282f353d434b51565e61686d73797d81868a8e9196979a9b9d9fa3aaa3a3a4a5a5a4a3a3a2a9a19e9c9a9799928f8b87837f7b756f6a636059534d443f38302a221b120600000000000000000000000000000000000000000000000000050e171e272e343e454d525960636b70767c8084898d919696999b9e9fa4aca2a3a4a5a5a4a4a3aba39f9d9c999992908c87827e78716d66615a524c443e3527221b140b0200000000000000000000000000000000000e1b2734414e5a6774818d9aa7acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb4aeacabaaaaa9a8a6a5aaa29f9c9998928f8a85817c78716c66605b544f45403a3127221b140b040000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacaca4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaacacacacacacacacab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4acacacacacacacacaca79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a000c1926333f4c5966727f8c99a5acacacacacacacaca99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000a1317222d38424a545c666c77808c929fa3aba49f948f847d726c655d564c4135291d11040000000000000000000000000000000000000000000000030b1218202930363d424a50555d60666c70767b8084888c909399999c9fa2a9a4a6a7a9aaaaababacafaeacabababaaaaa9a8a7a5a4a3a9a19e9c999697918f8b8783807c78736e68625f58554f47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000020a1117222a323a41454f555d60686d737a8085898e92989a9ea0a8a6a8aaacaeb4afb0b1b1b1b1b0afafb3adaba9a7aba39f9c9a93908c87817c756f6b625f57504a423c342d2417110a0300000000000000000000000000000000000000000000050e172029303940454f575e616b6f767d83898d91969a9ea1a9a6a8aaacafb6afb0b1b1b1b1b0b0b4aeacaaa8aba39f9d99938f8b847e78706c615d564f473f332d261d140b02000000000000000000000000000000000e1b2734414e5a6774808d9aa7b4b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b9b9b9b9b9b9b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bfbab8b8b7b7b6b5b3b1b4aeaca9aaa29f9c98928e89837e78716c666059514b433d332d261d160d0500000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7b9b9b9b9b9b9b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b9b9b9b9b9b9b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2b9b9b9b9b9b9b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000008121c2528333f4a545c666d78818d929ca4afb5afa69f9691877f776d685d5245392c20130700000000000000000000000000000000000000000000050c151d2328323a41464f545b60676d72787d82888c9195999d9fa4aba9abadb3b1b3b4b6b7b7b8b8b9bbbab9b8b8b7b7b7b6b5b4b2b1afb2adaba8a6a9a19e9c9895908c8884807a746f6a636159534e45403a3129241d150d06000000000000000000000000000000000000000000000000000000000000000000020b141b2227343c444c525960676d737a80868c91979b9fa2aaaaacb2b3b5b7b9babfbcbdbdbebebebdbcbbbeb9b8b6b3b5aeacaca49f9d99938e88827c766e69605c544e463f3628231c150c040000000000000000000000000000000000000000050e172029333b424b515961696e757c828990959a9ea1a9abadb2b2b5b7b9bbc0bcbdbdbebebebdbdbfbab9b7b5b5afacaba49f9c96918b847d756d68615951443f382f261d140a000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c6c6c6c6c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d0cac6c5c5c4c3c3c2c0bebfbab8b5b4aeacaaa29f9a95908a837e786f6b605d554f443f382f281f170f06000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c6c6c6c6c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c6c6c6c6c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfc6c6c6c6c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000007101a242d373f44505b666d78818e939da4aebbc0bbb0a9a199928c827a6d6054473a2d211407000000000000000000000000000000000000000000060f171e272e343d444c525960666c71797f848a8f94999da0a7aaacafb5b5b8bab9b8b5b4b2b0afaeaeadacadadaeaeafafb0b1b3b4b6b7b9bbb9b8b5b3b3adaba8a7a09d9996918c86817c76706b625f58514b433e352f271f180f0800000000000000000000000000000000000000000000000000000000000000020b141d262d333e464e565d606b707980868d92989ea1a9acaeb4b7b8bdc0c2c4c5c7cbd1cacacbcbcacac9cfcac6c5c2c0bfbbb9b6afacaba49f9b948f89827b726d665f58504840342e261e160d04000000000000000000000000000000000000050e172029323b454d545c606b707b82898f949d9fa7abadb2b8b9bdbfc2c4c6c8ccd2c9cacbcbcacad1cbc7c5c4c2c0bbb9b5afaca8a09e96918a817a706b625b504941382f261b11060000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2dbd6d3d2d1d1d0cfcecdd0cac6c5c2bfbab8b3aeaba7a09d95918a837c746d6761595049413a312921180f060000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d2d2d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad2d2d2cdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd2d2d0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000050e18222c363f49525c606c78818e939da5aeb6bfcbc0b7afa69e9490837a6e6154473b2e2114080000000000000000000000000000000000000000070f182129303940454f565e616b70787e858b91969c9fa6aaacb1b6b9bbb8b7b3b2adaba9a7a5a3a2a1a1a0a0a0a0a1a1a2a2a3a4a6a7a9abacafb5b4b7b9bbb9b8b5b1acaaa8a19e99928e88827d766e6a605d55504540393129211a110a0100000000000000000000000000000000000000000000000000000000020b141d262f383f4450585f686d747d848d92989fa2aaadb3b8babfc4c5c8ceced0d2d3d7dcd6d7d8d8d7d6d6dad6d2d1cfd1cbc7c5c0bbb9b5afaca69e9c948f867f786f6a625a52443f3830281f160b0200000000000000000000000000000000030c162029323b444d575e666d747d858f949c9fa6abb1b8b9bdc4c5c9cfced1d2d0cecccbcac9c9cacaccced0d2d0d1cbc7c5c0bbb9b2aca8a09e938e857d726d605b534941382d2217120800000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dfdfdfdfe6ded8d3d0cfcececececececececececececececececececececececececececececececececececececececececececececececececec5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacacbcdcfd1d2d4d7d6d3d2d0cac6c5bebab8b1aca7a09d9590878079706b605b534b433b332921180f0500000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7dfdacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000030c17202a343e48515b636e74808e939ea5afb7c0c8c0b6aea59d948f827a6e685e5246392d20140700000000000000000000000000000000000000081019222a333b424b515960686d757d838b91979ea0a8abb0b7b8bcb8b7b1acaaa7a9a19e9c9a989795959493939394949595969697999b9c9e9fa4aba7aaacafb5b6b8bcb8b7b2adaba39f9b948f8a827c736d67615a514b433b332c231c130b020000000000000000000000000000000000000000000000000000000a141d262f384149505a616a6f7a818991969fa2aaaeb4b9bec4c7cad0d2d4d9dbdcd7d4d2d1cfcdcdcccccdcdcecfd2d3d6dbd7d3d2ccc8c6c0bbb9b0aaa69f98928c837c716c635c504a423931281d140a000000000000000000000000000000000b151e28323a444d565e696e78808a92979ea6abb0b8bcc2c5c9cfd2d2d1cbc7c5c3c1bfbebdbdbdbdbebfc1c3c6c7ccd2d3d2ccc7c4bdb9b2aca59e9791877f736c655b53493f3327241a0e05000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e5ecf0e6ddd4cdc7c4c3c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbebec0c2c4c6c7ccd2d2d4d7d6d3d0cac6c3bcb8b1aca7a099938d847d736c655d554d453b332921170f05000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000b151e29323c46505a636d73808d929da5afb7c0c9c0b6aea49d938e82796d685e564c41362a1e110500000000000000000000000000000000000008111a222b343c454d545c606b707a818990959ea1a9acb2b7bbbab9b1acaaa7a09d9a9796918f8d8c8a8888878786868787888889898b8c8e90919399979a9d9fa4abaaacb1b6b8bcb9b4aeaca69f9c948f878079716c605d554d453e352e251d140b020000000000000000000000000000000000000000000000000006111b262f384149535b606c717c848e939ea0a8aeb4babfc5c9cfd3d6dbdcd6d3d2d1cbc7c5c4c2c1c0bfbfc0c1c2c3c5c6cad0d1d2d5d8d4d2ccc7c1bbb7b0aaa29f9590867e736e605c544b43392f261c1106000000000000000000000000000007121d27303a444c565e686e7b838d929ea1a9b0b7bbc2c7cdd2d3cec9c5c4c0bbb9b7b4b2b2b1b0b0b0b1b2b4b6b9bbc0c5c7cbd1d4cec9c4bdb9afa9a199938b80776c655b50443f362c20170d020000000000000000000000000b1824313e4b5764717e8a97a4b1bdd0dce7f3e9ded4cbc2bcb7b6b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafb0b0b1b2b3b5b7b9bbc0c3c6c7ccd2d4d9d6d3cec8c3bcb8b1aba49f9691887f776d675e574d453b332921170d040000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000007121c27303b444e58616c727f8c929ca5afb7c1c9c1b7aea49d928d81786d675d564c443b3025190e02000000000000000000000000000000000007111a232c343d464e575e666d737d858e939da0a7adb3b9bdb9b4aeaca7a09d9995918d8a878582817f7d7c7b7b7a797a7a7b7b7c7c7d7e8081838486888b8d909399999da0a7aaabb1b8b9bab9b0aba69f99928d847e756d675f574f4740372e261d140b020000000000000000000000000000000000000000000000081217222d384149535b656c737e8691969da5acb2babfc6cad0d5dae0d8d3d0cbc7c5c2c0bbb9b7b5b4b3b3b2b3b4b5b6b8babec0c4c5c9cfd2d6d7d4ccc7c2bcb4aea79f99928b80746d665d554b42382d22171107000000000000000000000000040d18232e39424c565e686e7a8490959da4adb3bbc1c7cdd4d1cbc7c4bdb9b7b5afacaaa7a6a5a4a3a3a4a4a6a8aaacafb5b9babfc6cacfd5cec9c1bbb3aba49f928d81776c605b51483e32291f14090000000000000000000000000a1723303d4a5663707d8996aab4bfcbd6e3efe4d8cdc2b9b0aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a4a4a5a7a8aaacafb5b6b9bbc0c7c8ced3d8d9d4cec8c3bdb5afa8a19a938c81796e695f574d453b332920160b0200000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000050e18232e39424c565f6a717e88939fa4aeb7c0c9c2b8afa59d928d80776d665d554c433b32291e14080000000000000000000000000000000000061019232c353e474f585f696e78808891979ea5acb1b9bebbb3adaaa39f9b95908c8884807e7b78767472706f6e6e6d6d6d6d6e6e6f6f707173747678797b7e818486898c9095999d9fa7abadb3b8bbb7b0aba39f96918a81796e696159514940382e261d140b02000000000000000000000000000000000000000000060f1a2427333f49535b656c77808a9298a1a8afb9bdc4cad0d6dbded7d3cdc7c6bfbab8b5b5afacaaa8a7a6a6a6a6a7a8a9abaeb3b4b7b9bdc4c6cacfd5d7d3cec6bfbab1aba39f928c81786d675d544a3f332823190d0300000000000000000000010c16202834404b545e686d7a839196a0a7aeb9bec5cdd3d2ccc7c0bbb9b2acababa39f9d9b99989796969797999b9d9fa4abacaeb4babec5ccd2d5cdc4bdb5afa49d938d80746d625a50443b3025190e0500000000000000000000000815222e3b4855616e7b8898a3aebac7d3e0ece0d3c7bcb0a69f9c9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b98969696969696969696969696969696969696969797989a9c9e9fa4abaaacafb5b8bdc3c7ccd3d8d9d4d0c7c0bbb2aca49f938f837b6e695f574d453b32281d140a00000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000020d17202834404a545e686f7c86929aa4afb6c0c9c3b9b0a69e938d80736c655c544b433a312920170d0200000000000000000000000000000000050f18222b353e474f59606a6e7b838d939aa1a9afb8bcbdb5aea9a29e98928e88847f7b7774716e696967656462626160606061616262636364666869666d6e7174777a7c7f83888c9095999ea1a9acb2b7bdb5aea8a19e938e837b706b635b524a40382e261d140b0000000000000000000000000000000000000000040d18212c363e44505b656c77818c929fa2aab2bac0c9ced6dbdfd8d4ccc7c2bcb7b4aeaca9aba39f9e9c9a9a99999a9a9b9c9fa2aaa7abadb2b8b9bec5c9cfd5d8d0cac2bdb4aea49c938e82796d665b50443f352b1f150b0100000000000000000008131e28323a45515c666d7a839095a0a8b1b9c0cacfd5d0c7c0bbb5afaca8a19e999992908e8c8b8a8a8a8a8b8c8e9093999b9fa3aaadb3bbc0c7d0d6d0c7c0bbaea59d928c7f726c61564d42362a20170d02000000000000000000000613202d394653606c7885929facb8c5d2dfebddd0c4b7ab9f94908e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e86796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c5c5c5c5c5b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b898989898989898989898989898989898989898a8b8b8d8f919399999d9fa4abacb2b7bbc2c7cdd6dbd9d2ccc4beb6afa59e9590847b6e695e574d443a2f261c1106000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c5c5c5c5c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000008141e29323b44515c666e7a849198a2acb6c0c8c4bbb1a79f948e81776c605b534a423931281f170e0500000000000000000000000000000000040d17212a343d474f59616b6f7c8490959fa4acb3bbbebab0aba39f97928c86817c77736e6a6764615e575a595755555454535354545555565658595b545c60626467676d7073777b7f83888c92979da0a8abb0b9bbb2ada59e9590857d736d645c524a40382e261d0e05000000000000000000000000000000000000010c161f2a333e48525c606c77808d939ca4aeb4bcc4ccd5d9e0dbd6cdc8c1bbb7b0abaaa39f9c999992918f8e8d8c8c8d8e8f909298979a9ea1a8abadb3b9bec4c9cfd7d6cfc6bfbaaea59d948f81786c605a50473d31271d12070000000000000000010d19242f3a444f59606d78839095a0a7b1bac3cbd6d7cbc3beb6afaba39f9a96918d898684817f7f7e7d7d7d7e7f8183868a8e92989fa2a9afb5bdc4cdd4d2ccc0b7aea49f93887e70695e52463f32291f14090000000000000000000006121f2b3844505b667784909daab7c3d0dde9dccfc3b6a99c90828181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818174685b4e4135281b0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b8b8b8b8b8b8b8ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f80828486898d9093999ea0a8abb0b7bcc2cad0d7ddd7d0c7c0bbafa7a09691847b6e695e564c42382d22170e050000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b8b8b8b8b8b8b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000050e1925303b444f59606d78839096a1aab4bec7c5bcb2a9a0959082796d655b5049413830271f160d0500000000000000000000000000000000010c161f29333c464f59616c707d859196a0a7afb6bebcb3aea69e99928d85807a746f6a66625f585754534d4e4c4a49484847464747484849494a4b4d4e4b51535558555d606366696e72777b80858b91969c9fa6adb2bbb9afa7a09792887f746e645c524a40382e20170d02000000000000000000000000000000000007131d28313c46505a636e74808d929da5aebabfc6ced6dee0d8d0cac2bcb8b0aaa69f9c98928f8c898684828180807f8081828385888b8d91969a9ea2a9adb2b9bec5cdd6d8d1cbbfb7afa69e938d80736c62594f43392f24180c030000000000000004111d2935414c56606b73808d959fa7b1b9c3ccd5d1cbc0b9b1aca49f99928e8984807c7a7774737271707071717375777a7d81868c92979fa4abb3bbc3cbd4d7c9c0bbafa49a92857b6e615b51443b3025190e03000000000000000000030f1c28333f4a546875818e9ba8b4c1d0dbe6d8ccbfb2a5998c7f757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575746f64594c4033271a0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f707171727475777a7d8083878c91969c9fa6abb1babec5ced4dcd9d2ccc1b9b1a8a19691847b6e685d544a3f332820170d0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000020c17202a36414c56606b73808d959fa8b2bcc6cabfb4aaa19791837a6d675c53493f382f261e150d04000000000000000000000000000000000008131e28313b454e58606b707e869297a1a8b1bbc0b9b0aaa29f948f86807a736e68625f5855534e4b484642413f3d3c3b3b3a3a3a3a3b3b3c3c3d3e4041404546484b4b515456575f6166696e73797e848a90949ea1a9aeb5b9b1a9a29a938c80746e645c524a4032291e130800000000000000000000000000000000030d18242f3a434e58616c73808c929da4aeb7bfcad0d8e0ded5cec6bfbab1aba69e9c94908b86827f7c7977757473737373747576797b7e8184898d92979ea1a9adb3bbc1cad0d7d7c9c1b8b0a69c928b7e716b60554b40352920150a000000000000030e18222c3945525d68707d87939fa7b1b9c3ccd5cfc6bfbaafa7a09a938e87817c78736f6d6768666564636364646668686d71757a7f858d9399a1a9b1b9c2cbd4d8ccc0b6aca2978f82766d62564d42362a201509000000000000000000000b17222d3f4c5865727f8b98a9b3becad6e2dacdc1b4a79a8e8174686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868645d53483c3024180b00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6363636363636363636363636363636363636464656769676d7073777b7f84898f949d9fa7aeb3bcc2cad7dcddd8cbc3bab2a8a19691847a6d665b50443e32291e140800000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000008131e29323a46525e68707d88939fa7b1bac4ccc4baaea29891857b6e685d554b41382d261d150c030000000000000000000000000000000000060f19242f3a434d575f6a707d879298a2a9b2bac0bbaea69f98928b827b736d68615e56534e4847433e3b3a363132312f2f2e2d2d2d2e2e2f2f303031332e34383a3b3e414547494d5355575f61676d71787d838a91969fa3abb0bbb3aca49f928d80746e645c52443a3025190d010000000000000000000000000000010b151f2935414b555f6a707e8a929ca4aeb7c0c9d6dbe2dcd3ccc3bcb4aea79f9d948f88837e7a76726f6d666967676666676768656c6e7174787c81858b91979ea1a9afbabec5ced5d2cac1b8aea49f92877d70675d51453c31261a0f0100000000000a15202b37434e58606d7a849199a4afb9c3cbd5cfc6bdb4aea59d959087817b746f6c6563605d555958575757575859565d6164686d727a808791979fa7b1b9c2cbd5d2c7beb3a99f948b7f72695e52463c31261a0e040000000000000000000615222f3c4855626f7c8897a2adbac6d3dfdccfc3b6a99c90837669585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41362b20140800000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909292929292929292929292929286796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565758585a555d606366686e72777c828990959fa2aab0b8c0cbd1d8ddd5ccc4bab2a8a0968f82786c605a50443b3025190d04000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929292929292929292929292929084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000020b1925303a44505a616e7a85929aa4afb9c2ccc4baafa59f92867c6f695e564c43392f261b140b030000000000000000000000000000000000020b18212935414c565e696f7c869299a3aab3bbbdb5afa49d9490857e756e69605d56524c47433c3a37312e2d2a252624222221212020212122222323252623282c2d2f2f35393a3d4246484d53555c60656c70767e848d92999fa6afb6b6afa49d928d80746e64564c41362a1e1105000000000000000000000000000007121d27313945515d676e7c86929fa4aeb6c0c9d2dbe7dbd2cac1bab1aaa29f959089827c76716d686662605c545b5a59595a5b535b606264656c6f74797f848c92979ea5aeb3bcc3cbd4d3cac0bbaea3999184796d60584e43372b1d130700000000020f1a26313a47535f6a74818e96a1abb5c0cbd4d0c7bdb4aba39f938e837c756e6963605b5353514b4c4c4b4a4a4a4b4c4c5254565e61686d747d8590959fa7b1b9c3cdd7d0c5bbb0a69f92867b6e61574d42372b20150a0000000000000000000613202d394653606c7985929fabb8c5d0dcded1c5b8ab9e9285786a5f534e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4841392f251a0f0300000000000000000000000000000000000000000000000000000003101d2a3643505d697682858585858585858585858585858586796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564949494949494949494949494949494a4a4b4c4d4b515356565e61666b6f767d838b92989fa6aebbbfc6cfd8ded6ccc4bab2a89e948d80736c61564c41362a1f160c010000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885858585858585858585858585858583766a5d5043372a1d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000a141d2a36414c56616c76828f97a1acb6c0cbc7beb2a89e938b7e716a5f574d443a30271d140a020000000000000000000000000000000000000a141d2a333b45525d686e7b859198a2abb4bcbcb4aba49f928d837b716c615f57524c46413b37322e2b26272828292827252423201f1c181515161617181a181c1f202224292c2d31373a3b42464b51535b60636c7179808790949fa4acb3bbaea49d928d8074685e5246392d20130700000000000000000000000000000c18232f39434f59606d79849198a2aeb6bfc8d2dbe4dbd2c9c0b8b0a8a098928c837c756f6a65605d565653514b4e4d4d4c4d4e49505355535b6063676d72797f858e939fa2aab1b9c2cbd4d7cbbfb5aba1968d80736a5f53473a2f24180d0100000006121f2b37434e58626f7c87939fa8b2bdc7d2d2c7bdb5aba399928b81796f6a615f57535049474540403f3e3d3d3e3e404146474c52565e616b707a8390959fa7b1bbc5d0d7cdc2baaea2988e8174695f53473c32261b0f01000000000000000005121f2b3744505b6575828e9baab4bfcbd6dfd2c6b9ada197887b6f6255484242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424241403c362f261d130900000000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797979797979797979797979797974695d5144382b1e1205000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3d3e3e3f414045474a4d52545960636b70767e858f949ca4aeb5bdc6cfd8ded6ccc3bab0a69c928a7e71685e52463e31281e13080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3744505d68737879797979797979797979797979797671665b4f4236291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000006111c262f3846525e68717e8b949fa9b3bec7ccc0b6aca1968e81756c61584e453b32281e150b0200000000000000000000000000000000000006111c262f3b45505a606d7a849197a1aab3bdbdb4aaa399938b80786e69615a534d45413a36302b2d2e30323435353635333231302d2c2923201d19130e09070c10131315181d2021262b2d31363940454950535a61676d737b828c939aa1a9b1b6aea49f92857a6d6154473a2e2114070000000000000000000000000004101c2934404b55606b74818e96a0aab4bec8d1dae4dbd2c9c0b7afa69e9591867f786f6a62605854524c494645404140404040413f444648495053555c60676d727a818a9298a0a7b1b9c2cad4d1c6bdb2a89f92877c6e62554b4035291d11040000000814212e3a47535f6a75818e9aa4afbac4d0d7ccc0b5aba39992877e746d675f58534d46443f3a39352f3231303031313035393a41464c525960686e7a839095a0a9b3bec7d2d6cabfb4aa9f92877b6e62584e43372b1e13080000000000000000030f1b27333f495364717e8a98a3aebac7d3e0d5c9beb3a9998d807366584e433735353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353533302b251d140b0100000000000000000000000000000000000000000000000000000000010d1a26323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c1003000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303131322f35393a3d4146474f545960636c717b828d929fa3abb4bdc6cfd9ded5ccc1b8aea49f92857a6e615a50433a2f24190d0200000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000b17222d38424f59616d7a85929ea6b0bbc5d0c7bbafa49a91847a6d605a50463c332920160c03000000000000000000000000000000000000000b17222d38424d57616c75818e96a0a9b3bcbdb5aba39892877f736d665f575047423c352f2e3036393b3d3f4141424241403f3e3c3a38342f2c29241e1a140c070c141a1e20262b2e2f32362e34383a393f444650555d60696e78808892979fa7b0ab9f958b7f72685e5246392d201307000000000000000000000000030d17212c3845515c67707d89939da8b2bcc5d0dae3ddd3c9c1b7afa59d948f837b726c666058544e4745413c3a38342e343333342d3337393b3f44464b51555d60686d757e8590959fa7b0b8c2cbd4ccc4bbaea399908376675d5145392c201306000004101d2935404b55626e7c87939facb6c0c8cecdc5bbafa49992877e716c605d554e46423c37332d2c292425242424242524292d30363a41464f565e686d79839097a2acb6c0ccd8d0c6bbafa3998e81756a5f53473a2f24190d0100000000000000000b17222d3a4753606d7a86929facb8c2cdd8dacfc4b7aa9e9184776a6054473c3226282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282724201a130b020000000000000000000000000000000000000000000000000000000000000a16212d38434c545a5d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5850463b3024190c00000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232324252524292c2d3036393d44484f545a62696e77808b9299a3abb4bdc7d1dcded3cabfbaada2978e81756c61554c4135291e130800000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b454f575d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5b554d43382d22160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000030f1c28333f4a54606b75818e97a1adb8c2cdc7bdb1a79f93887d70685d52483e342a21170e0400000000000000000000000000000000000000030f1c28333f4a545f69717e8b939ea8b2bbc0b5aba39992867e726d605c544d453e373131373a3b4146474a4c4d4e4f4f4e4d4c4a494745403a39352f2b261f1812181f252a2d31373a3b3f424340454646443f43434b51575f666d737d8590959ea6a3999083786c60564c41362a1e110500000000000000000000000009141f2a36424d57606d7984919ea5afbac3ced7e2dfd5cbc1b7afa59d938e827a6e69605b544e47433c39352f2d2c28232726262722272b2d2d33373940454b51565d616c717b8390959fa6b0b9c2cdc4bab2a8a09691847a6d6053473a2d201407000006131f2c3845515d6775818e99a3abafb8bcc3c5bbb0a69f93877e716c615a514b433c37312b27221f1d18191817171718191d20252a30353d444c565d676e7b85929aa4afbbc5cfd7cbc0b5ab9e93887c6f62564c4135291d110400000000000000000613202c3945515d6775828f9ba7b1bcc8d4ded2c5b9aca096897c6f62584e43372b1f161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f09010000000000000000000000000000000000000000000000000000000000000005101c26313a43494e50525252525252525252525252525252514d463e342a1f140800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161616161616161616161617171819181d1f20252a2d32383d444850575e656c737e879299a3abb5c0cbd7dddcd6cabeb3a99e938a7d70675d51453a3025190d02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333d454c50525252525252525252525252525252504f4a433b31271c1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000006121f2b3844505b66707d89939ea9b3becaccc0b5aba0958d80736b60564c41362d22180f0500000000000000000000000000000000000000030d17212b3844505b666e7b86929fa5afbac3bbafa49992877d706c625b504a423b3334383c4347484c525457585a5b5b5c5b5a58575653514b4745413a373129241d232830363a3c4247484c4f504b5153535049504e4b494d545c606b707b838f949e9f92877c6f665b50443a3025190d010000000000000000000000020e1a26313a46535f6973808c96a0acb7c1ccd5e0e1d7cdc3b9afa59e938e81786d685f57504a423d37322c2924201f1c181a1a191a171b1f2022272b2e343940454c525a61696e7a838f949fa6b0bbc4bbb2a8a09691847a6e675d5145392c20130600000714202d3a4753606d79848d92999ea5acb1b9beb3a99f948b7f726c615a50454039312b261f1b1713100c070b0a0a0b080d1113191e2529323b434c555f69707d88939fa9b3bec9d5d1c7bdafa59a8e8174685d5245392c20150a000000000000000004111d2935404b55636f7c89959fabb8c4cedad5c9bdb2a89b8e81746a5f53473d31281d12070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e0e0b0803000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e424346464646464646464646464646464644413b342c22180d0200000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090a0b0b070c101314191e20272c32383f454d535b606c717d879299a3afbbc0cbd4e0dbcfc5bbafa59e91847a6d60564c41362a1e1408000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212b333b404445464646464646464646464646464643423e3831291f150a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000004101d2935404b55606c7883909da5afbbc5cfc7bbafa4999083796d60594f443a30241b1006000000000000000000000000000000000000000009141f2935414b55606c78839098a2aeb7c1b9aea49f93877e716b615a51443f3830383f44464e5355565e616365676868696866656463605c5554524c46423c352f272e343b4246474d5355595c5d545c60605b5e5d5a58555350505961696e79828e93968d80736a5f544a3f32291e130800000000000000000000000005121e2a36424d57616e7b86929fa8b2bdc9d2dee6dbd0c5bbb1a79e938e81786c665d564d443f382f2b27201d191313100c070d0d060b0f1213171b1f23282f353a414650575e686d79828f949fa9b2bbb2a9a19691847b6e685e554b4035291d1104000006131f2c3845515d676d7a80868f939da0a7adb3ada2978f82766d625a50483e352f271f1a140f0b0604000000000000000105080d13192029313a434d57606b74818e97a1adb9c4cfd9cfc1b8ac9f92867a6d6054473c32271b0f0300000000000000010d18242f3a4854606b7683909da8b2bdc9d5d9cec4b9ac9f93877c6f62594f43392f241810060002020202020202020202020202020202020202020202020202020202020202020202020202020202010000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f4446474747474747474747474747474746443f382f261c11060000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000406080e11161b21272c333b4149505a626b707e87929fa4aeb9c2ced7e1d7cdc1b9ada1968c8073685e52463b3025190d000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1921292f34373839393939393939393939393939393736322d271f170d0300000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000a131f2c3845515d67717e8b95a0acb7c1cdcabfb4aa9f93877c6f665c51473d32281e12090000000000000000000000000000000000000000020e1a26313945515d67717e8b959faab4bebcb1a79d928b7f726c615950483f34363d424a5053585f6266686e707274747575747372716f6d6764605d56534d454039313940454d5254575f6265696a6b666d6c656b6a676562605b5454575e676d78818e9184796d60584e42382d20170d020000000000000000000000000714212d3a46535f6974818e99a3aebac3cedbe4e0d6cabeb3a9a0958e81786d665b544c433c332d261d1b15110d0806040000000000000305060b0f12181d242930353e454d565d676d79829097a1abb3a9a19691847b6e695e564d433a2f24180d01000004101d2935404b555d676d737b828990959ea1a9a89f92857b6e615b51483e3629241d150d09030000000000000000000000000002080e171f28313b454f59616d7a85929ea8b2bdc9d5d3c6baaea2988b7f7265584e43372b1f1306000000000000000007131d2c38444f5964717e8a96a1acb9c5d0dbd4c8bbafa49a8f82766b60554b40352922180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a5053545454545454545454545454545453504a42382d22170b0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000002050b0f161b21292f383f445059616c717e8b929da7b1bcc5d0dbdfd5c9bdb2a89f92867a6d61564c41362a1c12070000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f121b22292d30313636363636363636363636362d2c29241e160d0d040000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000006111c2935404b55606d7984919ea7b1bcc9d3c7baaea2988e81746a5f544b40352b20160c00000000000000000000000000000000000000000005121e2a36424d57606d7a85919ea7b1bcbeb3aa9f958d80746d625a50473e363b42464f545c60656a6e72767a7d7f8081828281807f7d7c7975716d68615f57514b433d424b51575e6167696e7275767879797978777674716f6c66626058555c666d7881897d70675d51463c2f261c0e0500000000000000000000000005121e2a36424d57616e7b87929fabb5bfccd5e0e2d7cec5baada2979083796d665c544a423a3128221c140b0a04010000000000000000000000000003070c12181e2429333b444c555d676e7a859199a3a9a19791847b6e695e574d443b31281d1307000000000c18242f39434c555d60696e757d838b92979fa0968b7e71695e52493f362c2318120b030000000000000000000000000000000000050d161f29333d46525d68727e8b96a1adb9c5d0d6cabfb4aa9d9184776a6054473b2e2215090000000000000000010f1b27323d4653606d7884919ea9b3becad6d8ccc0b6ac9f94897d70675d51453f342a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606060606060606060606060606060605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000040b0f171d262d333f47505a626c74808d959fa9b3becad6dfdacfc4baaea2988d8073685e5246392e23180c0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e4343434343434343434343433a39352f2820160c010000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000c17232e3845515d67727f8c96a1adb9c3cec9beb3a99f92867b6e61584e42392e23190e040000000000000000000000000000000000000000000714212d3a46535f6973808d97a1adb9c2baaea2989083786d605b51483e353c454d535960666d72777b7f83878a8b8d8e8e8f8e8d8b8a8985827e7a756e69605d554f474d545c60696e73777b7f828384858686858483817e7c79736f6a6360595c666d777d706b60554b40342a1d140a000000000000000000000000000714212d3a46535e6974818e99a3afbdc6d1dee7dbd0c5bcafa59f92857b6e675d544a42382f281f17110a0200000000000000000000000000000000000001070c13192129323a434b555e686f7c87929fa19792857c6e695f574d453b32291f160c010000000007121d27313a434c51575f616b70787e858d92999184786c60574d42372d241a11070100000000000000000000000000000000000000040d17212935414c56606d7984919ea9b3becad6d0c6b8aca095887c6f6255493c31261a0e0200000000000000000a161f2b3844505c66727f8b97a2adbac3cfd9d2c7beb0a69d9184796d605a50463c332920170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c665b5044382b1f120600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000050b141b2227353e48505a606d78839097a2adbac3cdd9e0d6cabfb4aa9f92867a6e61544a4034281c100400000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b5050505050505050505050504745413a32281e13080000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000003101c28343f4a54606d7985929ea8b2bdcbd2c6b9ada1978d8073695e52463c30271d110700000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3bebdb0a69f92857b6e665c51493f363d464e575e616b70787f84888c90939a989a9b9b9c9b99989798928e8a86827b736d6760594f575f666d737b8084888c8f90919298939291908d8b8884807c76706b615f5c656c706c61594f43392f22180b0200000000000000000000000003101c28343f4a54616e7b86929fabb5c0cfd8e3e2d6cabfb4aa9e938a7e70695f554b42382f261d160d060000000000000000000000000000000000000000000002080f172028313a434d56606a727f8b959792857c6f6a5f574d453b332920170d040000000000010b151f28313a41454d535960666d727a80868f8b7e72665b50453b30251b120800000000000000000000000000000000000000000000060f1924303a45515c66727f8b97a2adbac6d3d4c8bcb1a7998c807366574d42362a1e1205000000000000000003101c28343f4a54606d7985929fa7b1bdc7d1d9d0c2b8aca0968e81756c62584e453b332920170e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787a7a7a7a7a7a7a7a7a7a7a7a7a7a786c605346392d20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000020a1117232c363e44515c666e7b85929fa7b1bcc8d4dedbd0c5baaea2988d8073665c5144382c1f140900000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056585d5d5d5d5d5d5d5d5d5d5d5d54524c443a2f24190d0100000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000006121f2c3844505c66727f8b97a1adbac4cfc9bdb2a89e92857a6d60574d42342a1e150b000000000000000000000000000000000000000000000714202d3946525e6874818e98a3aebbc0b5ab9f948a7e71695f544b40373d464e585f696e757d838b9196999d9fa4aca7a7a8a8a7a6a5aaa29f9b99928f868079706b61595f696e7980868d9196989c9d9e9fa29f9f9e9d9a9896918d89837d766e69625b6064615a50473d31271d10060000000000000000000000000006121f2b3844505c6673808d99a3aebdc7d1e1e9dfd3c6baaea2988f82756c61574d433930261d140b0400000000000000000000000000000000000000000000000000050e161f28303b444e58606d78839092857c6f6a5f574e453c332921170e0500000000000000030d161f282f353b42464f545c60686d737b8285796d60544a3f33291f130900000000000000000000000000000000000000000000000008131e2834404b54606d7985929fabb8c3ced9cec3b7aa9d908377695f53463a2d2114060000000000000000000b17232e3845515d67727f8c95a0abb5c0cbd7d4c8bdb2a89e938b7e716a5f574d453b322920191006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c87878787878787878787878787877b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000006111a242834404a545e69727f8b95a0acb8c1ccd7e2d6cabfb4aa9e9185796d6053463b31261a0e02000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23171717171717171717171717171717171717161615151312100c07080705020000000000000000000000000000000000000000000000000000000000000000000815212d3945505a6264696969696969696969696969605d564c4135291d110400000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000713202d3a4653606d7984919ea9b3beccd2c5b9aca0968b7f72685d52453b3022180c0300000000000000000000000000000000000000000004101c2834404b55616e7a86929faab4bfbbafa3998f82766c61574d42393d474f58606a6f7b828991959ea0a8a9acafb6b3b4b5b5b4b3b2b4aeacaba39f98928c847d706b61696e7b838d92989ea0a8a8a9abacaeacabaaa9a7a8a19e9a949089827b716c605c545550483e352b1f150b00000000000000000000000000000713202d3a4653606d7984919eabb5bfcfd9e3e1d5c9beb3a99f92867b6e615a50453b31271e140b02000000000000000000000000000000000000000000000000000000040d161e29323d44505c66707d89867c6f6a5f584e453c332a21170f05000000000000000000040d161e242931363d424a50565d60696e757b6e675d5142382d20170d01000000000000000000000102020201000000000000000000020c18232e3945515c6774818d9aa8b1bdc8d4d1c5b8aca095887b6e6155483b2d22170b00000000000000000006111c2935404b55606d78839099a3afbbc4ced9cec3baafa59f92867c6f695e574d443b322b2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c89939393939393939393939399867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000081218232e39424d57606d7883909da6b0bbc7d3dedbd0c6b9ada1978a7d7164574d42362a1e1205000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232221201f1c18181514120e0906030000000000000000000000000000000000000000000000000000000000000a1724303d4956626c717676767676767676767676766d685d5245392c20130700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000006121f2b37434e5864717e8a96a1acbbc5cfc9beb3a99e9184796d60564c4133291f10060000000000000000000000000000000000000000000006131f2c3845515c67737f8c98a3aebcbeb3aa9f92877c6e625a50453b3b454f59606a6f7c848f949da0a7acb2b6b9bbc0c0c1c1c2c1c0bebfbab8b5aeaaa39f9691877d706b6e7b8490959fa3aaacb2b5b6b7b8bab9b8b7b6b4b2adaba69f9c948f867e746d665d554b42392e231810070000000000000000000000000005111d2a36414c5663707d8a97a1adbdc6d1e1e6dacfc6b9ada1978c7f72695e52483e332a1f150c020000000000000000000000000000000000000000000000000000000000040c172028343f4a54606b75817d6f6a60584e463c332a21180f050000000000000000000000040c13191f262a30383f444c52575f62696e695e554b402f261c0e05000000030607080a0b0c0c0d0e0f0e0e0d0c0b0807060300000007121d2934404b55626f7c8995a0acb8c5d1d4c8bcb1a7988b7f726553493f33271b0f030000000000000000000d18242f3a44505c666f7c87929fa8b2bdc9d5d5ccc1baaea39891847b6e695e564d443d3428231c140c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a09f928679675d5145392c1f130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000007121c27303b44505c666f7c89949eaab7c2cdd8e2d5c9beb3a99c8f8276695f53463a2d211408000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3030303030303030303030303030303030303030302f2f2e2d2c28232421211e1a15130f0a04010000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8383838383838383838383827a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000815212e3a47535f6a7683909da8b2bdcdd2c6b9ada1978a7e71665c51433a2f20170d00000000000000000000000000000000000000000000000713202d3a4653606d7985919eaab4bfbaaea2988d80736a5f53483e38414d57606b707c8591969ea6acb1b8bdc3c6c8ccd2cecccbcacad0cac6c5bfbbb4aea8a09992867d707a849196a0a7aeb4b8bdc2c3c4c5c6c6c5c4c3c0bdb9b8b0aba69f98928b81786d675d544b40342822190c030000000000000000000000000713202d3946525e6875828f9ba9b2becfd8e3e2d5c9beb3a99e9285796d60574d42362c21180d0300000000000000000000000000000000000000000000000000000000000000050e17232e38424f59606c796f6b60584e463c342a21180f060000000000000000000000000001080d141a1e262e343a41454d53575e615e574d43392f1d140a0507060c10121315161718191a1b1c1b1a1a1917151312100b0606040c18232f394754606a7784919daab7c4d0d9cec2b5a99c8f8276655b5044372b1f120500000000000000000007131d28343f4a545f6a73808d96a0acb9c0cad3d6cbbfb4aaa19691847b6e685e564e463e342e261e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4adadadadadadadac9f9285796c554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000b151e28343f4a54606a75828f9ca6b0bbc7d3e1dacfc4b9ac9f93877b6e6155483b2f24190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e312e2d2a25221f1b15110d0701000000000000000000000000000000000000000000000000000d1a2633404d596673808c90909090909090909090877b6e6154473b2e21140800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000004101d2935404b55626f7c88959fabbac4ceccc0b6ac9e9285796d60544b4031281e0e050000000000000000000000000000000000000000000005111e2a36414c5664717e8b97a1adbcbfb5ab9f92857a6d60584e43333f49535e69707d869297a1a9b0b8bcc3c8ced2ccc7c6c3c0bebdbdbec0c3c5c7c6bfbab2aba39892867c828f96a1a9b1babfc6c8ccc7c6c2bfbcbbbdbec1c5c5c2bcb7b0aaa29f938e82796d665c51453f342a1e150b0000000000000000000000000714212e3a4754616d7a86929facb9c4cfdfeadfd2c6b9ada1978c7f72675d51453b30241a0f0600000000000000000000000000000000000000000000000000000000000000000006111c26303d44505b656c6560594f463d342a22180f060000000000000000000000000000000003090c141c23282f353c42474d5354534d453b31271d0b0e111414171c1f202223242526272828282726262422201f1c171313100c121d2b37434e586773808d9aaab4becad6d2c5b8ab9f9285796c605346392d201306000000000000000000010b17232e38424e58606d7984919ea4aeb8c1cbd5d0c6bcb2a8a09691847a6e68605850443f383028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bababababab8ab9f9285786c5f52452f24180c0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000030c17232e38424e58636f7c89949fabb7c5cfdae0d4c8bbafa49a8c7f7265564c4135291d11040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49494848464440413e3b3a36312e2b27201d18130d080100000000000000000000000000000000000000000000000d1a2733404d5a6673808d999c9c9c9c9c9c9c9c94887b6e6155483b2e22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000006131f2c3945515d6774818d9aa7b1bcccd4c8bbafa49a8d8073665c5142392e1f160c00000000000000000000000000000000000000000000000714202d3946525e687683909ca9b3bebbaea3998d8073685d52463c3744505b656e7b859298a2a9b2bbc1c8ced0cac7c0bbb9b6b3b1b0b1b1b3b6b9babfc6c4bdb4aaa29892868f949fa9b2bbc3cbd0c7c0bbb9b5b2afaeb0b1b4b8babec5c2bcb4aea59d948f82786d605b51463c30271d120700000000000000000000030f1c28333f4a5464717e8b99a3aebbc7d3e0ebded1c5b8ab9e9285796d60554b4033291f120800000000000000000000000000000000000000000000000000000000000000000000000a141e27333f49535b605b534f473d342b2218100600000000000000000000000000000000000000020a11171e242931373b42464846423b33291f1514191e202123282c2d2f3031323334353535343332312f2d2b2823201f1c18121b27323d495663707c8998a2aebac6d3d3c6baada297887b6e6255483b2f2215070000000000000000000006111c26303c45515d67707d89929da6b0b9c3cdd6cec4bab2a8a09691837a6f6a615a504a423c342e271e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bec6c6c6c5b8ab9e9285786b5f52452f24180d0100000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000006111c26303d4854606b76828f9ca9b3becad6e2d8ccc0b6ac9c8f8376685d5245392c2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565656565656565656555453514a4e4b4846423c3b37322c29241d19130c04000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7a9a9a9a9a9a9a195887b6e6255483b2f22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000714202d3a4753606d7985929fabb8c2cdd2c6b9ac9f93877b6e61544b4030271d0d0400000000000000000000000000000000000000000000000814212e3b4754616e7a86939facb9c4b9ac9f92867b6e61564c4137434e58606c77828f97a2aab3bbc4cdd4cec6bfbab5afaca9a6a4a3a4a5a6a9acaeb4b9bdc4bcb4aaa29993999fa6b0bbc4cdccc3bdb5afaca8a5a3a2a3a5a7abadb3b8bdc3bebaafa69e948e81746d63584e43392e23180c0100000000000000000006121f2b3844505b6675818e9babb5bfcbd7e3e0d4c8bcb1a79a8d8073675d5143392f21170d000000000000000000000000000000000000000000000000000000000000000000000000020c17222d38414950535049413d342b2219100700000000000000000000000000000000000000000000060b131920262b31363a3b3a363129211a1e21252a2d2e2e34383a3b3d3e3f3f4041424141403f3e3b3a38342e2d2c28231f1c202d3a4653606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e2e23180c00000000000000000000000a141e2935404b55606b74808d949ea7b1bbc4ced6ccc4bab2a8a09591847c716c605c544e444039302a261f1a140e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd3d1c5b8ab9e9285786b554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000a141e2c38434f5964717d8a97a1adb9c6d2dfddd2c5b9ac9f92867a6d6054473a2d2114080000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f63636363636363636363636363636363636363636363636363626261605c545a5754534d4947433d39352f29241e160d090200000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b6b6b6b6aea295887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000004101d2935404b5564717e8a98a2aebac6d5c9bdb2a89c8f8276695f5342392e1e150b000000000000000000000000000000000000000000000005111d2935414c5665727e8b99a4afbbbdb2a89b8e8174695e52433a3a47535f6a727f8c949fa9b3bcc5cdd3cbc3bcb4aeaba49f9d9998979798999c9fa3abadb2bbc1bcb4aba49fa4abb0b8c2cdcbc2bab1aba49f9b99969596989a9fa2a9acb1bac0c1b8b0a69d938c7f726a5f554b4034281d12070000000000000000000613202d394653606c7985929eabb8c5d1dce7ddd1c4b8ab9f95887b6f62554b4031271d0f050000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4446443f382f2b2219100700000000000000000000000000000000000000000000000001080d151a1f252a2d2e2d2a251f1f262b2e30363a3b3e3f444648494a4b4c4d4e4f4e4d4d4c4a4846443f3d3a38342e2b28232c3844515c6675828f9ca8b5c2cfdbd0c1b4a79a8e817467544b4034281c100400000000000000000000020c18242f39434f59606c78828f95a0a9b3bcc6d0d5ccc3bab1a7a09691867e746d665f58514a423c36312a251f19140e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679675d5145392c20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000020c1b27323d4653606d7985929eabb8c5cfdae0d3c7bbafa3998a7d7164574a3e3024190d0100000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c70707070707070707070707070707070707070707070707070706f6f6e6d66696764615e5756544e4745413a352f281f19140d05000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1c3c3bcafa295897c6f6256493c2f23160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006131f2c3945515d6775828e9baab3becad2c5b9ada1968a7d7064574d4230271d0c0300000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0b8aca096887c6f62574d4236414c56626e7c86929fa6b0bcc5ced3c9c1b9b1aaa29f9993908d8b8a8a8b8d9092999ea1a9afb7c1bdb5afacafb5bdc2cad0c2b9b1a8a099938f8c89888a8b8e92979da0a8aebbbfc1b8afa59f92877c6f675c5145392f24180d0100000000000000000916232f3c4956626f7c8997a2adb9c6d2e3e9dcd0c3b6a99d9083766a5f5343392f1f150b0000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d33373937332d261d19100700000000000000000000000000000000000000000000000000000003090e141a1e2121211d23282c31373a3b4246474b4a505355565758595a5b5b5b5a5959575553504a4a4645403a38342e2934404a5466737f8c99a6b2bfcfdad0c3b7aa9d908477665c5145382c1f1306000000000000000000000007121d27313d44505b666d79839097a1aab4bdc6cfd5ccc3b9b1a8a198928b80786e6a605c544e46423b36302a251f1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d3c7baaea398867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a161f2c3845515c6674808d9aa9b3becad6e2d7cbc0b5ab9b8e817468564c4135291d110500000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbeb2a5988b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b79787674716e696762605854514b45413a312a251f170e080000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cec9bcafa296897c6f6356493c3023160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000714202d3a4753606d7986929facb8c5d0d1c4b8ab9e9184786d6053463b3120150b0000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c4b7aa9e9184776a6054453b3946525e6874818e98a3aeb8c2ced5cbc1b7afa79f98928d8783807e7d7e7e8083868c91969ea5afb7c1c0bbb9bbc0c7d0d2c7bdb1a79f959187827f7c7b7d7e81858a91959da4aeb5bdc1bbafa3999083796d60554b4035291d120700000000000000030f1b27333f49536673808c99a9b3becad6e2e1d4c8bdb1a8988b7f7265584e4331281d0d03000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d2b27221b140b0700000000000000000000000000000000000000000000000000000000000003090e11171d24292e34383c4247484d525458545c606263646566676868686766656462605c545753514b46443f38352f3d4a5763707d8a96a8b2bdc9d5d2c5b9ac9f9286796d6053463a2d2013070000000000000000000000010b151f28333f4a545d676e7b859198a3abb4bcc5ced5ccc3bab2aaa39f928d837c736d666058534d46423b36302a251f1a140e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdad7cbbfb4aa94877b6e6154483b2e21150900000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8997a1adb9c6d2dfdcd1c4b7aa9e918477685d5246392d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918b8989898989898989898989898989898989898989898989898989898887868483817e7b78736f6a65605d55524c433e3630292019110900000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec9bcafa396897c706356493d3023160a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000b1724313e4a5764717d8a98a2aebac6d3c8bcb1a7998c7f73665c5044382b1f12030000000000000000000000000000000000000000000000000b1724313e4a5764717e8a99a3afbbbcb1a7998c807366584e4334404a54616d7a86929faab4bfcad4cec3b9afa59e959086807a76737170717273767a7f848e939ea5afb9c3c7c6c7ccd2d7ccc0b5ab9f9590837c7572706f707274797e848d929fa3abb5bfc0b5aba0958c7f72675d5145392f24180c0000000000000005121f2b3744505b6576838f9ca9b6c2cfdbe6ded1c5b8aca095877b6e6154483c3121160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f201f1b17110a0200000000000000000000000000000000000000000000000000000000000000060b141b22272f35394045464d5355565e616468666d6e7071727273747574747372716e6d666763605c5453504a4540393a4754616d7a8796a1adb9c5d2d4c7bbafa399887b6e6255483b2f221508000000000000000000000000030d17222d38424b555e696f7c869299a3aab4bcc5cdd5ccc4bcb4aea49d9590867f786f6a615f57524d46413b36312a261f19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a9b3bec9d5dcd1bcafa396897c706356493d31261a0d04000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000c18232e394653606c7985929eabb8c5d1deded2c5b9aca096877a6d6154473a2e21140700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0707070707070707070707070707070707070707070707070707070707111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc3b8ada39b98969696969696969696969696969696969696969696969696969695959992918f8d8a8784807c77726d67605d565046423b322b231b130a010000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec9bcb0a396897d7063564a3d3023170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005121e2a36424d576874818e9baab4bfcad1c5b8aca095877b6e61544a3f34281c1003000000000000000000000000000000000000000000000004101c2934404b556774808d9aabb5c0b8aca095887b6f6255483c3844515c66737f8c98a3aebcc6d1d0c6bcb1a79e938f837b736e68666564646566676d727a818e939ea7b1bcc8d2d4d7ddd4c7bbafa4999083796f6a6663626365676d7179808a9299a3aebbbfbdb1a79e9285796d60554b4035291d12070000000000000613202d394653606c7985929fabb8c5d2deeaddd0c4b7aa9d918477695e53463a2d21140400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213120f0b0600000000000000000000000000000000000000000000000000000000000000010710181d262d333a41454b5153575f6266696e717477797b7c7d7e7f8081828180807f7d7b797674706d6664605c54514b443f46525e687884919eabb7c4d1d7cbc0b5ab968a7d7063574a3d3024170a0000000000000000000000000006111c262f3a434d57606a717e879298a2aab3bbc4ccd5cec6bfbaaea79f99928c837c746e69615e57524d46423b36312a251f18130b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8797a1adb9c6d2d9ccbfb3a6998c807366574d42372b1f160b020000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b5c1d0dbe1d5c9bdb2a896897d7063564a3d3023170a00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417141414141414141414141414141414141414141414141414141414141414141e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c9a9796918d89847f7a736d68615a524d443d352d251c130a0100000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabdb0a3978a7d7064574a3d3124170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714202d3a46525e697884919eabb7c4d0d0c3b7aa9d908477695e5342382e23170b00000000000000000000000000000000000000000000000006131f2c3845515c677683909da9b6c3b7aa9d9184776a5f53473a3a4653606d7985919eaab4bfcfd6cabfb4aaa0958f81796e69615e5658575758555d60686d77818e95a0abb8c3cdd9e3dfd2c6b9ac9f93877b6e676058565557555d60676d747e87929fa3adb8c2b9ada1978c7f72675d5145392e23180c0000000000000815222e3b4855616e7b8898a2aebac6d3dfe6dacdc0b3a79a8d807467574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050605030000000000000000000000000000000000000000000000000000000000000000030b1218222a2f383f444b51555c6065696e73777b7e81838688898a8b8c8d8e8e8e8d8c8c8a888583817d7975716d66605d55504a424c566976838f9ca9b6c2cfdcd1bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000a141d28313b454e58616c717e869298a1a9b2bac3cbd5d0cbc0b9b1aba39f959087817b746e69615e56534d46423b363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687885929eabb8c5d1dcd0c3b6a99d908376695f53473c31281d140c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8b97aab4becad6e2d9cebfb2a5998c7f7266594c3f3326190800000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242121212121212121212121212121212121212121212121212121212121212121212b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafb5afacaba9a7a8a19e9a96918c85807a716c615e564f473f372e251c13090000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabdb0a4978a7d7164574a3e3124170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000815212e3b4854616e7b8796a1acb9c5d2cbbfb4aa9a8d807367574d4230261c11060000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c0b4a79a8d817467584e43373d495663707d8997a1adbcc6d1d3c6baaea2989083796d675e57524c4b4a4b4b4b51565d656d7883909da7b1bcc8d4e4dbcfc2b5a89c8f8275695f554e49484a4b51555d606c717e8b919ca6b0bdbeb3a99e9185796d60554b4034281c100400000000000b1724313e4a5764717d8a97aab3becad6e2e1d5c9bdb2a8968a7d7063574a3d31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151d2329343c414950555d60676d71767b8084878b8e909298969798999a9b9b9b9a9998979892908d8a85817d78726d67605b544e4e5b6774818e9aa7b4c1cddacdc0b4a79a8d8174675a4e4134271b070000000000000000000000000000020b161f29333d46505a616c717d869297a1a8b1b9c0c9cfd6cbc2bdb4aea7a099928e86817b746e68615e57534d46413b352f27221b140b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2cfdad2c6b9ac9f93877b6e62584e433a2f261e150d05000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000b17222d3b4855616e7b8898a2aebac6d3dfdbcec2b5a89b8f8275685c4f422f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d9d1c9c3c0bebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcc0bbb9b7b6b4b2acaba8a09e97928d857e766e69605951493f372e251b110700000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb1a4978a7e7164574b3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d3c7baaea398897d7063564a3d3123140a00000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebabdb2a8978a7e7164574b3e343f4a546673808c99a9b3becfd6cbbfb4aa9f92867b6e675d554d46413e3d3e3f41454c535c666f7c8995a0acb8c7d2ddd8cbbeb2a5988b7f7265574d433d3c3d40454b515a616c727f8c949fabb5c0b9ada1978b7f72675c5145382c1f130600000000000d1a2733404d5a6673808d99a6b3c0d0dbe6dfd2c5b9ada196877a6d6154473a2e211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161f272f343f464e535b60676d72797e83888c9095979b9d9fa3aaa4a5a5a6a7a8a7a7a6a5aaa29f9d9a98928e8a847e79726c665f58515965727f8c98a5b2bfcbd8cfc2b6a99c8f8376695c50432f24180d010000000000000000000000000000040d17212b343e48505a616b707c859196a0a7aeb9bec5cdd7cfc6bfbab1aba39f99928d86807b746e69615f57524d45413a332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303f4c5966727f8c99a8b2bdc9d5d4c7bbafa4998e81746a5f554b423830271f170f070000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d9084776a564c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bdb9b7b2aca9a29f97918b827b706b625b51493f372d23190e05000000000000000000000003101d2a3643505d697683909ca9b6c3cfcbbeb1a4988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000005111d2935414c566774818d9aa7b4c0ced2c5b8ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfb9aca196877b6e6154483b3844505c6676838f9ca9b6c2cfd3c7baaea3988d8073695f554b433b363031312f353a414a54606a7783909dacb6c0ccd8d5c9bcafa296897c6f6356493c312f2f35394045505a636d76828f99a3afbbbeb3a99e9184796d6053463a2d22170b00000000030f1c2936424f5c6975828f9ca8b5c2cfdbe8ded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720283139404550585f656c717a7f848b9095999da0a7a7aaacaeb4b0b1b2b3b4b5b4b3b3b2b4aeaca9aaa29f9b96918b857f786f6a635b5764707d8a97a3b0bdcad6d1c4b7ab9e9184786b554b4035291d1104000000000000000000000000000000050f19222c363e485059606a6f7b8490959da4adb3bbc2cbd1d1cbc3bdb5afaba39f98928d86817b746e69615e56514b443f382f28231d150c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8996a1adb9c7d2d7ccc0b5ab9f92877c6f675d544a423931292118120b03000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657683909ca9b6c3cfdcdfd2c5b8ac9f928579685d5245392c201307000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a474747474747474747474747474747474747474747474747474747474747474747474747474747515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f3ebe3dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d4d2d1cfcec9c5c4bdb9b3ada9a19e948f857d726d635b51493f352b20170b020000000000000000000004111d2a3744505d6a7783909daab6c3d0cbbeb1a5988b7e7265584b3f3225180c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000713202d3946525e687784919daab7c4d0cfc2b5a99c8f8276675d5145382c1f1306000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0b7ab9e918478695e52463a3a4653606d7985929facb8c5d2d2c5b8ac9f92867a6e61574d4339312a25242424292f38424e5865727f8b9aa4afbbc8d4d4c8bbaea195887b6e6255483b2f2224292f353e48515b626f7c87929faab4bfb9ada1968a7d706353493f33271b0f0300000004111d2935414c566a7784919daab7c4d0dde8dbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a434b515a626a6f787e858c91979d9fa7aaacb1b4b6b9babfbdbebfc0c1c1c1c0bfbfbfbab8b6b4aeaba8a09e97928b837c726d605c626f7c8995a2afbcd0dbd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000007101a242c363e474f5860696e7b838d929ea1a9b0babfc6cfd4cfc7c0bbb5aeaaa39f98928d87817b746e68605d555049413c342e271e18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb5c0ccd7d2c7bbafa3999184796d665c544b433b3328231d150c060000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddadfd3c6baaea298877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645754545454545454545454545454545454545454545454545454545454545454545454545454545454545e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1cdd1d2d5dadad5d2cec9c5bebab3ada69f9792877f726d635b51473d32291d140a0000000000000000000004111e2a3744515d6a7784909daab7c3d0cbbeb2a5988b7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714212e3a4754616d7a86939facb9c6d2c9bdb2a9988c7f7265554b4035291d1004000000000000000000000000000000000000000000000000030f1b27333f49536976828f9ca9b5c1b5a89b8e827568574d42363c4956626f7c8998a2aebac6d3cec1b5a89b8e8275685e52453b31271f191718181d26303d4754616e7a87939facb9c6d2d4c7baaea194877b6e6154483b2e21181d2429364047535f6a74818d98a2aebabdb2a89a8e8174655b5044372b1f12050000000713202c3945525d687985929facb8c5d2dfe6d9ccbfb3a6998c807366594d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c555c606c717c838b91979ea1a9abb1b7b8bcc1c3c5c7cbd1cbcccdcecececdccd0cac7c5c3bebab8b2aca9a19e9590867f746d66616e7b8794aab4bfcad6d3c7baaea398867a6d6053473a2d201407000000000000000000000000000000000008121a242c353d464e575f696e79808a92979fa6aeb4bcc1c7cdd1cbc6bfbbb4aeaaa39f99928e86817b736d67605b534e454039302a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808c99a4afbbc6d0d7cbc0b5aba0968e81786d665d554d453e342e271e180f0701000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e2d6cabfb4aa95887c6f6255483c2f221509000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164616161616161616161616161616161616161616161616161616161616161616161616161616161616161616b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9babfbdc1c4c5c9ced3d6dbd9d5d0cac4beb9b0a9a199938b7f726d62594f443a2f261c110600000000000000000004111e2b3744515e6a7784919daab7c4d0cbbfb2a5988c7f7265594c3f3226190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000a1724313d4a5764707d8a9aa4afbbc8d2c5b9ada196887b6f6255483c2f24180c0000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c0b3a6998d8073665a4d40303e4a5764717d8a97aab4bfcad6cbbfb4aa988b7e7265564c4133291f150d08070b15202d3946525e687784919daab7c4d0d4c8bbaea195887b6e6255483b2f22151218242b37434e58616d7a86929facb8c4b8ab9e9185786c605346392d2013080000000714212d3a4754606d7a8798a2aebac6d3dfe4d7cabdb1a4978a7e7164574b3e31241808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28313b444c565d676d757e8690959ea1a9adb2b8bcc2c5c8ced0d2d2d1cecbd0cac6c5c4c5c6cad0caced0cac6c4bdb9b3ada79f99928c81786d676d7a8698a2aebac6d3d6cbbfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000008121a232b343c454d575e676d747d858f949fa3aaafb8bcc2c9ced1cbc6bfbab4aeaba39f99928d86807a716c655f58514b423c3429241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939faab4bfcbd6d1c7bdb2a89e938e81786d675e574f454039302a2118130c040000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdcad6e7dbd0bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb4b1b4b7b9bdc4c6cad0d6dbdbd6cfc9c2bbb3aba49f918c7f726b60564c42382d22170b04000000000000000005111e2b3844515e6b7784919eaab7c4d1ccbfb2a6998c7f7366594c403326190d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000010d1a2734404d5a6773808d9aacb6c0ccd1c4b8ab9e9184786a5f53473a2e1d1207000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9beb1a4988b7e7165584b3e323f4b5865727e8b98a5b1bed0d3c7baaea398887b6e6255483b3022170d03000005111e2a36414c566774818e9aa7b4c1cfdbc8bcafa295897c6f6256493c2f231607121b26313c46525e6875818e9ba9b3beb9ada197897c6f6256493c3025190d0100000915222f3c4855626f7b8895aab4bfcad6e2e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a434c565e686d79818b92989fa7adb3b9bec4c8cdd1d4d2cfc9c5c4c1bebbbfbab8b8b8babfbbbec1c4c5c9cec9c5beb9b1aba39f938e82796d677985929facb8c5d2dcd0bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000081119222b333c454d555c606b707a828b92989ea5abb1b9bdc4cacfd0cbc6bfbab5afaba39f98928d847e786f6a605c544e463f352f281f180f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3846535e6975828f98a3aebac3ced7cfc3baafa59e938e81796e696159514b423c3329241d160d0600000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2d7cbbeb1a4988b7e7165584b3e3225180b000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a84919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abacb2b8babfc6cacfd7dfdad5cdc5bdb5afa39f92877d6f685e544a3f332821160a000000000000000005121e2b3845515e6b7884919eabb7c4d1ccbfb3a6998c807366594d4033261a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000004101c2934404b55697683909ca9b6c3d2cec1b5a89b8e827568584e43372b1f0b01000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a3aebabcafa396897c706356493d33404c5966737f8c99a6b2bfccd2c5b8ac9f928579695f53473a2e211406000000010d1925303e4b5864717e8b97a9b3becad6cabdb0a4978a7d7164574a3e312417060a15202a36414c5664707d8a97a2adbabeb3a9998d807366564c41362a1e110500000a1724303d4a5763707d8a96a3b0bdd0dbe7e2d5c9beb3a994887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424b555e686e7a828e939fa2aab1b9bec4c9cfd4d4cfc9c6c4bdb9b7b4b1afb4aeacabacaeb4afb1b4b7b9bdc4c5c9c9c2bdb4aea59d948f82786d7884919eabb7c4d1d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000071019212a333b434b515961686e777f868e939d9fa7acb2b9bec5cacfd1cbc7c0bbb5aeaaa29f97918b837c736d665f585145413a312a211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d57616e7b86929fa8b2bcc5d0d5ccc1b7afa59e938f837b706b605c544d453f352f281f181009000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad1dce7d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787879196a0acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929994979a9ea1a8acaeb4b9bec5cdd7dddfd6d0c7c0bbafa39991847a6d665b50443d32271b0f050000000000000005121f2c3845525f6b7885929eabb8c5d1ccc0b3a6998d8073665a4d4033271a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006131f2c3845515c677885919eabb8c4d1ccbfb3a6998c807366594d4031261b0f00000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995aab4bfbfb4aa94877b6e6154483b34404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b574d42372b1e1206000000000815222f3b4855626e7b8897a2adbac6d3cbbfb2a5988c7f7265594c3f2e23170b030d1925303a4653606d7985929fabb8c3b7aa9d908477685e5246392d20130700000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545d676e7a8390949ea5aeb4bcc2c9cfd5d7cec8c5beb9b8b2adaba8a4a2aaa29f9e9fa2aaa2a4a7abadb2b8b9bdc4c8c6bfbaafa69f948d80747784909daab7c3d0d7cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000070f182129313940454f565e656c727b828990959ea0a8adb3babec5cad0d1cbc6bfbbb4aea9a19e95908780796f6a625b514c433c332b231a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313b46535f6973808c96a0aab4bec7d2d3c9c1b7afa59e9590857d746d665f575045403a312a221b12060000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693aab4bfcbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b9894949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949ea0a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888a8e91969a9fa2aaadb3bbc2ccd2d9e2d9d2cbc0b5aba1968f82786c60594f43382c21170b0000000000000006121f2c3945525f6c7885929fabb8c5d2cdc0b3a79a8d8074675a4d4134271a0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac978a7e7164574b3e3124180a00000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcbaaea39886796d6053463a35414e5b6874818e9ba7b4c1ced0c3b6aa9d9083776a5d504431261a0e02000000000613202d394653606c7985929fabb8c5d2cdc1b4a79a8e817467544a3f34281c100308131f2c3845515c6674818e9aa7b4c1b8aca095877a6d6154473a2e21140700000c1926323f4c5965727f8c98a5b2bfcbd8e5ded1c5b8ab9e928578675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a44505c666d798390959fa6afbabfc6ced5d8d1cbc3bcb8b3adaba8a19e9b98959498929192989495979b9ea1a8abadb2b8bcc3cac1b8b0a69d928b7e7783909daab6c3d0d8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000060f171f272f343e444c535b60696e757c838a91969ea1a9adb3babec5cbd0d1cbc6bfbab2ada79f99928c837c726d605d554d453d352b231a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d79849198a2acb6c0ccd2d3c9c1b7afa7a097928880796e69625a514b433c342d2417110a02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a3aebac7d3e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0aaacb2bac4ced9e5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea2a9b0bbc0c7d0d9e1dcd1c7bdb2a99f948c80736b6054483e33281c100400000000000006131f2c3946525f6c7985929facb8c5d2cdc0b4a79a8d8174675a4e4134271b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222f3b4855626e7b889aa4afbbc8d4c8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdb8ac9f928579665c50443835424e5b6875818e9ba8b4c1cecfc2b6a99c8f8376695c504336291d09000000000005121f2b3744505b6576828f9ca9b5c2cfd0c3b6a99d908376665c5044382b1f120604101c2834404b5464717e8a97aab4bfbcb1a796897c706356493d3023160a00000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444f59606d78828f95a0a7b0b8c1cad0d8d5cfc6bfbab1aca9a19e9996918e8b8887868585858687888b8e9196999ea1a9abb1babec5c2b8aea49f92867a83909ca9b6c3cfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000050d151d2329323b414950575f616b6f767e848c92979fa2a9aeb3babfc6ced5d0cac4beb9b1aba39f9591867f756d675f574f473d352c231a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b45515d676e7c86929aa4afbbc0c7d0d3c9c1b9b1a9a19a938d837b716c605d554e463e3628221c140b020000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b676d6e7174787b80868c92979fa6afb5bdc7cfd9e3d9cfc4bbb0a69f93887c6f63594f44382c20160a00000000000005121f2b3744505b657986929facb9c5d2cdc1b4a79a8e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1724303d4a5763707d8a96acb6c0ccd2c6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdb8ab9e9285786b5f4a3f3434414e5b6774818e9aa7b4c1cdcfc3b6a99c908376695d5043362a1d060000000000030f1b27333f49536673808c99a6b3bfced2c5b8ac9f9285796d6053463a2d201307000c18232e3b4855626e7b8898a2aebabeb2a5988b7f7265584c3f3225190800000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56606b74808d949fa7b1b9c2cad6dbd3cbc3bcb4aea7a09d97928c8884817e7c7b7a7978797a7b7c7e8184888c91969d9fa7adb3bcc1c0baaea2988e81828f9ca9b5c2cfd9ccbfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000030b121820292f383f444d535960636c71797f858c92979fa2aaaeb4bcc1c9ced6cfc9c2bdb5aea7a098928b82796e6960594f473e352c23190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a707e88939fa3afb6bec5ced3cbc3bbb3aca49f9590867e756d675f58504840332d261d140b0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5f6c7885929fabb8c5d2dedacdc0b4a79a8d8174675a4e4134271b0e000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebababababababababababababababababababababababababababababababababababababababababababababababac4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d555d60616467696e737a7f858f949fa4abb5bdc7d1dce1d6cdc2bbafa49a9083766b6155483d32271b0f0100000000000613202d394653606c798699a3aebbc7d3cec1b4a79b8e8174685b4e4135281b0e02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000c1825323f4b5865727e8b98a5b1bed2d1c4b7ab9e918478675d5145382c1f130600000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beb7ab9e9184786b5e51452e34414d5a6774808d9aa7b3c0cdd0c3b7aa9d9084776a5d51442e23170b0000000000000b17222d3d4a5763707d8a96a8b2bdc9d3c6baaea298887b6f6255483c2f221507000713202d394653606c7985929facb8c0b4a79a8d8174675a4e413025190d01000e1a2734414d5a6774808d9aa7b3c0cddae6dcd0c3b6a99d9083766a5d5043372a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c3945525d68707d88939fa6b0b9c3cbd4dbd3c9c1b9b1aaa39f95908b85807b7875716f6e6d676b676d6e6f7174787b7f848a90959fa2a9b0bbc0beb4aa9f938784919eaab7c4d1d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000001070e171d262d333c42464f545a61666d727a7f858c92989fa3aab0b9bdc4cbd1d5cfc6bfbbb1aaa39f948f837b6f6b60594f473e352b22180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434e58616c727f8b919fa4acb3bcc3ccd6cdc5beb6afa7a098928b81796f6a615a51443f382f261d140a00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000b17222d46525f6c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4134271a0e000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dad4cfcccbc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d1d2d5d9e0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514b51545557575f61686d737b828c9399a3abb5c0cbd7dcdfd8ccc0b6ac9f948a7d7063584e43372b1d130700000000000713202d3a4653606d798693a0b5bfcbd7cec1b5a89b8e8275685b4f4235281c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcfc2b5a89c8f827569554b4035291d100400000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e51443734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a3f34281c100300000000000614212e3a4754616d7a8796a1acb9c5d2cabfb4aa978b7e7164584b3e2e23180c0006121f2b3844505b667683909da9b6c3b6a99c90837669564c41362a1d1105000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d7a84919aa4afb8c2cbd5dcd3c9c1b7afa7a098928c837e79736e6968656261605d555c6061626468696e73797e838b92979ea6afb6bebbafa499939196a0acb9c5d2d9cdc0b3a69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000050b141b222731373d434850545c60676d737a80858d92989ea6acb2bbc0c7cfd6d1cbc3bcb4aea69e9591857d706b61594f473d342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46505a626d727f8b939aa2aab2bac1cad0d0c7c0bbb1aaa29f938e837c716c635b504a42382f261c1106000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0f4ece5dfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dddee1e5ebf2f8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686e787f879299a3afbbc0cad4e2ddd2c7beb0a69d9083776a6054473a2f24180d01000000000714202d3a4753606d7a8693a0adb9d1dccec2b5a89b8f8275685c4f4235291c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cecdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfb6aa9d9083776a5d504437333f4c5966727f8c99a5b2bfccd2c5b8ab9f928578665c5044382b1f120600000000000713202d3946525e687884919eabb7c4d1d0c0b4a79a8d817467544b4034281c1004030f1c28333f4a546774818e9aa7b4c1b8ab9e928578685e5246392d201307000e1b2835414e5b6874818e9ba7b4c1cedae7dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313a46535f6974808d96a1acb6c0cad3ddd4cac1b7afa59e9590867f78716d67615f5758555453514b5153545558575f61666d71777e858f949fa4acb5bdb5aba49f9ea0a8b2bdc8d4dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000020a11171f262b32383e424b51555d60686d737a80868f949ea1a8afb5bdc4ccd7d7cfc6bfbab0a7a09792867d706b61594f463c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343e47515b626d727f889298a0a8afbabec5ced2ccc3bcb4aea59e9591867e736d605b544a42382d221711080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d4e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe3dbd4cfcccbc8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42464c52565e666c737e87929fa4aeb8c2d0d9e4d9d0c2b8aba095897c6f62554b4035291d1104000000000714212e3a4754616d7a8794a0adbac7d3cfc2b5a89c8f8275695c4f4236291c0f03000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000003101c28343f4a546a7784909daab7c3d0cbbeb1a4988b7e7165584b3e322518070000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e514437313e4b5764717e8a97a4b1bdd0d2c6b9ac9f9386796d6053463a2d201307000000000005111d2a36414c566875828f9ba8b5c2ced0c3b6a99d908376665c5145382c1f1306000b17222d3f4c5865727f8b98a5b2beb9ada297877a6d6154473a2e211407000f1b2835424e5b6875818e9ba8b4c1cedbe7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8b2bec7d2dcd5cbc2b8afa59e938e837c726c66605c55534d4b4948474540454748494b4d53545c60646c717b828b939aa4abb5bdb5afacaaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000000000000000000000000000000000000060b141a21272c303940454b51565d60686d737b828a91969fa3abb2bac1cbd1d8d1cbc1b9b1a9a29892867d706b60584e43392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222c353f49515b626d727d8691969ea5aeb3bcc2cbd1cec6bfbaafa8a098928b7f746c665b544a3f3328231a0e0500000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3ede3d9d1c9c4c0bfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2e31363a41464d545b606c727f8b929ca6b0bec7d2dde2d4c8bcb1a79b8e8174675d5145392c201306000000000814212e3b4754616e7a8794a1adbac7d4cfc2b6a99c8f8376695c504336291d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505c667885929fabb8c5d2c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1beb7ab9e9184786b5e51452e303d495663707c8996aab4bfcad4c8bbafa49a877a6d6154473a2e2114070000000000010d192530404c5966737f8c99a6b2bfcfd2c5b9ac9f9286796d6053463a2d20130700061724313e4a5764717d8a97a4b0bdbeb3a995887b6e6255483b2f221508000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975818e99a3aebac4d0d9d9cec3b9b0a69e938e81796f6a605b54514b46423e3c3b3a3835383a3b3c3e42464a51535a62696e757f889399a3abb5c0bbb9b7b9bdc3ccd5e0dacec1b4a79b8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454c52565d60696e757d848d9299a1a8b0bbc0c7cfd8d7ccc3bbb3aaa29892867d6f6a5f554b40342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232d373f49515b626b707c848e939fa2aab0bbc0c7cfd0cac1bab1aaa29f918c80786c665b50443f352c20170c02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebad1dce8d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d181d202122262a30353b424a5059626d73808d949facb6c0ccd8e2d9cdc3b8ac9f92867a6d6053473a2d201409000000000815212e3b4854616e7b8794a1aebac7d4cfc3b6a99c908376695d5043362a1d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000713202d3a4653606d798698a2aebac6d3ccc0b5ab95887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdb8ab9e9285786b544b40342f3b4855626e7b8898a2aebac6d3ccc0b6ac96897c6f6356493c30231608000000000000081724303d4a5763707d8a96a8b2bdc9d3c7baaea399887c6f6255493c2f221608000a1623303d495663707c8996a3afbcbcafa295897c6f6256493c2f231609000e1a2734414d5a6774808d9aa7b3c0cddae6dccfc3b6a99c908376695d5043362a1d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb5bfccd6e0d4c8bcb1a79f948f81786d675f58504a45403936312f2e2d2c292c2d2e2f31363940444650575e616d727e879299a3afbbc1c6c4c5c8ced5dee7dacec1b4a79b8e8174685b4e4135281b0e000000000000000000000000000000000000000000000000000000000000000000040a0c151d23282f353a41454c52575f616c7079808791969ea6afb5bdc6cfd8d5cdc5bcb4aaa29892857c6e675c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d373f495159616a6e7a818a92989fa6afb5bdc5cdd6ccc3bcb4aea49c928d81786c605b51473e32291e1308000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d7cabeb1a4978b7e7164584b3e3125180b000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1abacb2bac4cedae5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111070d111314151a1e24292f383f44515b606c77828f9aa4afbbc6d1dce0d3c7baaea3988a7d7064574a3d31261a0e020000000815222e3b4855616e7b8894a1aebbc7d4d0c3b6a99d9083766a5d5043372a1d1004000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212d3a4754606d7a8793aab3becad4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdb9ac9f928679665c5145382d394653606c7985929facb8c5d2d2bfb2a5988c7f7265594c3f3024190d0100000000000714212e3a4754616d7a8796a1adb9c5d2cbbfb4ab988b7e7265584b3f2f24190d010915222f3c4855626f7b8895a2aebbbcafa396897c706356493d3023160a000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbdc6d1dfd7cec6b8aca0958f82786d665c554e443f38342e2a262221201f1d1f202122262a2e34383e454d525b626c717e87929fa5afbac4ced2d4d9e0e7e7dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292f353a41454d535961676d737d848f949fa3abb4bdc6ced7d7cec6bcb4aaa2979083796d60594f443a3024190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f474f575f686d757e8590949fa3abb3bbc3ccd4cec6bfbaada49d938d80746d635a50443a3025190b020000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc4b8ada39b9895959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040607090e13191d262d333f44505b656f7c87939fabb4bfcbd7e3d6cbbfb4aa9b8e817468574d42362a1e12050000000815222f3b4855626e7b8895a1aebbc8d4d0c3b6aa9d9083776a5d5044372a1d1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000814212e3b4754616e7a8794a1adbad0d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcbaaea39886796d6053463a2d3844505b6676838f9ca9b6c2cfcec1b4a89b8e817568564c4135291d110500000000000713202d3946525e687884919eabb8c4d1d1c1b4a79b8e817468564c4135291d11040815222e3b4855616e7b8894a1aebbbdb0a3978a7d7064574a3d3124170a000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0cfd8dbd0c6bcafa59d9083796d665c544b433c332d28231d1a1615141310131415161a1c23282c333b4246515a626c717e8b939ea8b2bdc9d5dee5ebf1e6dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000070c13181e242930353b42464f555d606b6f7a828c9299a3abb4bcc5ced7d8cfc6bcb3a9a0958d80736b60564c4135291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b242d353e454e565d606c717b828c9299a1a9b1b9c2cbd4d0cabfb6aea59d928c7f726c61564c41362a1d140a0000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e1d5c9beb3a995887b6e6255483b2f221508000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918c88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f4953606a75818e99a3aebac7d3e0dcd0c5b8ab9e928578695f53463a2d2114070000000916222f3c4955626f7c8895a2afbbc8d5d0c4b7aa9d9184776a5e5144372b1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222e3b4855616e7b8894a1aebbc7d1c5b8ab9e928578665b5044382b1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a9b3bebfb4aa94887b6e6155483b2e333f4a546673808d99a6b3c0ced1c4b7aa9e918477685d5246392d201509000000000005111e2a36414c566975828f9ca8b5c2cfd0c4b7aa9d918477685d5245392c2013070815212e3b4854616e7b8794a1aebabeb1a4978b7e7164584b3e3125180b000c1926333f4c5966727f8c99a5b2bfccd8e5ded1c5b8ab9e928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a97a1adbec7d2e1d6cabfb4aa9e93897c6f675d544b42393028221c18120e0908070604060708090e12181c202930363f48505a626c75818e96a1acb9c2ccd8e3eff3e6d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191e242931363e434b515960686d757f879299a2aab4bcc5d0dbd8cec5bbb1a79f93887d70685d52463a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333c434c525a61696e7880879297a0a7b1b9c2cbd5d6c8c0b7aea49f93887d70685e52463e2f261b110600000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818e9aa7b4c1cddadfd2c6b9ada19786796d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a5988c7f7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b84919eabb7c4d1deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ada197887b6e6155483b2e2215080000000916232f3c4956626f7c8995a2afbcc8d5d1c4b7aa9e9184776b5e5144382b1e1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000915222f3c4855626f7b8895a2aebbc8d0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9bcb0a396897d7063564a3d302d3d4a5764707d8a97a8b2bdc9d2c5b9aca096877a6d6154473c31261a0e0200000000010d192530404d5a6673808d99a6b3c0ccd2c6b9ac9f93867a6d6054473a2d2114070714212e3a4754616d7a8794a0adbabeb2a5988b7f7265584c3f3225190c000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774808d9aa9b2bed0d9dfd3c6baaea2988e81756b60554b423930271e17110c070000000000000000000000070c10171f252a363f48505a606d7a84919ea6b0bbc7d3dfeaf5e6d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000200000000000000000000000000000001080d13191f262a313940454f565d616d727e879298a2aab4bfcad6dcd7cdc3bbafa49a91847a6d61564c41362a1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212a313a414550575e666d737d8591959fa7b1b9c3ccd6d2c9c0bbafa49a92857a6d615a5041382d22170b00000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d0ddded1c5b8ab9e928578675c5145382c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3c46535f6975828f9ca8b5c2ced9e2d5c9beb3a9978a7e7164574b3e3124180b000000091623303c4956636f7c8996a2afbcc9d5d1c4b7ab9e9184786b5e5145382b1e1205000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d0c3b6aa9d9083776a5d50442d22170b000000000000000000000000000000000000000000000000000000000613202c3945515d677885929eabb8beb2a5988b7f7265584c3f2d2e3b4754616e7a8796a1acb9c5d2c8bdb2a8988b7e7165574e42372b1f14080000000000081824313e4b5764717e8a97a4b1bdcad4c8bbafa49a897d7063564a3d302317090814212e3b4754616e7a8794a1adbabeb2a5988b7f7265584c3f3225190c000a1723303d4a5663707d8996a3b0bcd0dbe6e2d6cabeb3a995887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919daab7c4cfdddfd2c5b8ac9f92867b6e61594f433930271e150c06000000000000000000000000000000050d141a242d363f45525d68707d89949fabb7c3cdd8e4f0e5d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000030607090c0f0c0b09060100000000000000000000000002080d141a1f272f353d444c525b626c707d869298a2aebac0cad4dfd8ccc0b6aca1968d8074685e5246392f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181f282f353e454d545c606b6f7b8390959fa7b1bac4cfd9d8ccc0b6aca1978f81756c6153493f33271b0f03000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdcd0c3b6a99d9083766a554b4034291c1004000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164626262626262626262626262626262626262626262626262626262626262626262626262626262626262626b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765727e8b98a7b1bcc8d4e0dacfc0b3a79a8d8074675a4d4134271a080000000a1623303d495663707c8996a3afbcc9d6d1c5b8ab9e9285786b5f5245382c1f0600000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d0c3b6a99d9083766a5d5043372a1d060000000000000000000000000000000000000000000000000000000004111d2935414c556a7683909da9b6c0b3a79a8d807467544a3f332d3946525e687884919eabb7c4cfcec3b6a99d9083766a5f53473b3025190e05000000000916222f3c4955626f7c8895a2afbbc8d8ccc0b6ac998c7f7366594c4031261a0e0815222e3b4855616e7b8894a1aebbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a9b3becad6e2e6dbcfbcafa396897c706356493d3023160600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded5c9bdb2a8998d8073695e52473d31281e150c0300000000000000000000000000000000000209121b242935414c56606b76828f9ca7b1bcc8d4e3eee5d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000406060b10121316191c191816120d070000000000000000000000000003090d151d2429323a4146515a616b707d86929fa4aeb8c2cfd9ddd2c7beb2a99f92867a6d61554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960696e7a839095a0a8b2bdc7d1dcd2c7beb3a99e938a7d71655b5044372b1f150a000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3e0dacec1b4a79b8e8174685b4e412f23180c00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645755555555555555555555555555555555555555555555555555555555555555555555555555555555555e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b1a26313b4854616e7b8795a0acb8c5d1dedbcfc2b5a89c8f8275695c4f422f24190d0100000a1723303d4a5663707d8996a3b0bcc9d6d2c5b8ab9f9285786c5f52452e23170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000010d19242f424e5b6875818e9ba8b4c1b5a99c8f8276665b5044382b36414c566875818e9ba9b3bec9d1c4b7ab9f95887b6e62564d41362a20170d04000000091623303c4956636f7c8996a2afbcc9ddd2c2b5a89c8f827569574d42362a1e120915222f3c4855626f7b8895a2aebbbdb1a4978a7e7164574b3e3124180b000714212d3a4754606d7a8797a2adbac6d3dfe4d8cbbeb1a5988b7e7265584b3f2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b1bdc8d4ded2c5b9aca196887c6f62574d42352b1f160c030000000000000000000000000000000000000000091219242f3a444f5963707d89959fabb8c7d2dde8e4d7cabdb1a4978a7e7164574b3e3124180b00000000000000000000010407070c101314171c1f202226292525221e1811090100000000000000000000000000030b1218202830353f485059606b717e8a929ca6b0bdc7d1dcd9d0c4baaea2988c8073675d5145392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f575f686d7a839096a1abb5c0cbd7d9d0c5bbafa59d9083786c6053463c31261b0f030000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000004101c2934404b5565727e8b98aab4bfcbd7e3d7cbbfb5ab988b7f7265584c3f3225190700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a484848484848484848484848484848484848484848484848484848484848484848484848484848515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000914212d3a46535e697783909daab7c3d0ddddd0c3b7aa9d9084776a554c4135291d110400000a1724313d4a5764707d8a97a3b0bdcad6d2c5b8ac9f9285796c5f4a3f34281c1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000008192633404c5966737f8c99a6b2bfb8ab9f9285796c605346392d303d4a5764707d8a97a1adb9c7d2c7bcb1a7998d8073685e52463d32291f160d0806080e1724313e4a5764717d8a97a4b0bdcad7d1c5b8ab9e928578695f53463a2d21140916232f3c4956626f7c8995a2afbcbdb0a3968a7d7063574a3d3024170a000613202c3945515d677885929fabb8c5d2dee7dacdc0b4a79a8d817467544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfced9ded1c4b7ab9e9184786a5f54453b3023190d040000000000000000000000000000000000000000000008131e28323d4854606b7783909dabb5c0ccd7e3e3d6c9bcb0a396897d7063564a3d3023170a000000000000000102080d111314181d1f2023282b2d2f323532312e29231b1309000000000000000000000000000001070e161e2429363e474f59616c73808d949fabb5c0cbd7e2d6cabfb4aa9e9285796d6053473a2f24180c0000000000000000000000000000000000000000000001040607080806020000000000000000000000000000000001080f171e262e343d454d565d686e7a849199a3afbbc4ced9d6cdc1b8aca0958a7d7064584e43372b1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2d1dce0d3c7bbaea399897c6f6256493c2f23160900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cddadfd2c5b8ac9f928579675d5145392c20130600000b1724313e4a5764717d8a97a4b0bdcad7d2c6b9ac9f938679665c5044382b1f1206000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdbaada297887b6f6255483c2e2d3a4653606d7985919eacb6c0cccdc2b8ab9f92857b6e61594f443a31281f1914131419202a36424d5766737f8c99a6b2bfccd9d2c6b9ada197887b6e6155483b2e2215071724313d4a5764707d8a97a3b0bdbcafa396897c706356493d3023160a0004111d2935414b556a7784909daab7c3d0dde9dcd0c3b6a99d908376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd7ccc0b5ab9a8d807467584e4333291f10070000000000000000000000000000000000000000000000010c16202c38444f5964717e8a99a4afbbc7d4e0e3d7cbc0b5ab95887b6f6255483c2f221509000000000000060d1213191d202124292c2d2e34383a3c3f423f3e3a342d251b1107000000000000000000000000000000040c1319242c353d47505a606d78828f99a3afbbc6d0dbdbd0c6b9ada2978b7f7265554b4035291d1004000000000000000000000000000000010507070a080d1113141514120f090300000000000000000000000000000000050c141c2328333b444c565e686f7d87929fa8b2bdc9d5dfd4c8bcb1a79d9083776a5f53473a2e2115090000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000020e1a2531404d596673808c99a6b3bfccd9dfd3c6baaea298877a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7d4c7bbafa49986796d6053463a2d201307000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8beb3a9988b7e7265544a3f342c3844505c6673808d9aa4afbbc8d3c6baaea2988e81756b60564c433a312a252120212429323b46525e697683909da9b6c3d0dcd5c9beb3a9978a7e7164574b3e2f23180c1925323f4c5865727f8b98a5b2bebeb3a995887b6f6255483c2f22150900010d18242f424e5b6875818e9ba8b4c1d2dde8dfd2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0ddd4c7bbafa499897c6f6356493c3223170d00000000000000000000000000000000000000000000000000040d1c27333d4754606d7a86939facb9c6d2dfe0d3c7bbafa399877a6d6154473a2e21140700000000010911181e1e24292c2d2f35383a3d3f4446494c4f4c4a463f372d23180d010000000000000000000000000000000208121a232c353e44505c666e7b87929faab4bfcad6e2d6cabeb3a99c908376675d5145392c1f1306000000000000000000020507080a080d1113141618191d202122211f1a150e0600000000000000000000000000000000020a11172129323a444c56606b737f8c96a0acb9c4cfdad9cec3b8aca095887c6f6255483c31261a0e0200000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8998a2aebac6d3e0ddd0c3b6aa9d908377675c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242222222222222222222222222222222222222222222222222222222222222222222b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091825323f4b5865727e8b98a5b1becbd8e2d6cabfb4aa94877a6e6154473b2e21140800000b1825313e4b5864717e8b97a4b1becad7d7ccc0b5a093867a6d6053473a2d201407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c1b4a89b8e8175665c5044382c343f4a54616e7b87939facb9c3d0cabeb3aa9e93897d70685e554c433d36302d2d2d2f353c444e58616e7b87939facb9c6d2dfdacfc0b3a79a8d807467554b4034291c101a2734404d5a6773808d9aa6b3c0b9ada197867a6d6053473a2d2014070000071926323f4c5965727f8c98acb6c0ccd8e4e0d3c7baaea298887c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000b16202c3945525d687783909daab6c3d0dddfd2c5b9ac9f9286796c605346392d2013060000000009131b23292e3035393a3d404547494a505355595c585651493f34291e1206000000000000000000000000000000000008111a2328343f4a545f6974818e98a2aebac7d3e0dbcfc5b9ac9f92867a6d6053473a2d2014070000000000000003090e1214151719191e2021232524292c2d2f2e2b2620180f060000000000000000000000000000000000060f172028323b444f59606d7984919ea8b2bdc9d5dfd4c8bcb1a7998c807366574d42362a1e120500000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a13202c3945525d6874818e9baab4bfcad6e2d6cabeb3aa9a8d807467554b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417151515151515151515151515151515151515151515151515151515151515151e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e7dbd0bbaea194887b6e6155483b2e22150800000b1825323e4b5865717e8b98a4b1becbd7ddd2baada093877a6d6054473a2d211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d0c3b6aa9d9083776a5d5044372a1d06000000000000000000000000000000000000000000000000000000000005111e2a36414c566774818e9aa7b4c1b8ab9e9285796d6053463a2e2e3846535f6976828f9ca7b1bec7d0c5bcafa59e91847a6d675d554e46413c3a393a3b41454e565f6a74818d99a4afbbc7d4e0dcd0c3b6a99d908376675c5145382c1f131d2935414c566875828e9ba8b5c1b8ab9e928578675d5145392c20130600000a1623303d495663707c899aa4afbbc8d4e0e2d6cabfb4aa998c7f7266554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2ddd1c4b7aa9e918477675c5145382c1f1306000000000000000000000000000000000000000000000000000004111d2935414c566773808d9aa6b3c0cdd9ded1c4b8ab9e918578655b5044372b1f120500000006111b252d343a3a4145474a4b515356545c6062656865625b51463a2e221609000000000000000000000000000000000000081117232e38424d57616e7b86929facb8c5d1dce0d3c7baaea399897d7063564a3d30231706000000000000050d141a1e20212325252a2d2e30322f35393a3b3a37312a21180e030000000000000000000000000000000000060d162029323d45515c67717e8a96a1adb9c5d2dfd9cdc3b7aa9d908377695f53463a2d21140700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d0dbdfd3c6baaea298897d7063564a3d2e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0808080808080808080808080808080808080808080808080808080808111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1925323f4c5865727f8b98a5b2becbd8d3c7baada094877a6d6154473a2e211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d1c4b7aa9e9184776b5e51442d22170b0000000000000000000000000000000000000000000000000000000000010d1925303e4b5864717e8b97a7b1bcb9ada197897d7063554b40342a36424d5764717e8a95a0acb6c0cccec1b9aca0969083796d676058524c48474647484c52585f686f7c87929fabb5c0ccd7e3dfd2c5b9ac9f9286796d6053473a2d2014202c3945525d687784919eaab7c3b6aa9d9083776a554b4035291d110400000714212d3a4754606d7a86939facb9c6d2dfe7dbd0c2b6a99c8f8376675d5145392c20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000713202d3a4653606d798698a3aebac7d3dccfc2b6a99c8f837669554b4034281c10040000000000000000000000000000000000000000000000000000010d1924303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c9083766953493f33271b0f030000010d18232d373f464a4c525457555d606366666d6f7275726d62564a3e3125180b0000000000000000000000000000000000000006111c26303c46525e6975818e9babb5c0cbd7e3d7cbbfb4ab998d8073665a4d402d22170b0000000000080f171f252a2d2e30323036393a3d3f414145474847433c332a201509000000000000000000000000000000000000040e17202834404b55606c7884919eabb7c4d0dbded1c5b8aca095887b6e6155483b2e22150800000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000b17222d3744505b65727e8b98a2aebac7d3e2ded2c5b8ab9f9285796d6053463a2d2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1926323f4c5965727f8c98a5b2bfcbd8d4c7baaea194877b6e6154483b2e211508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d1c4b8ab9e9185786b5e4a3f33281c0f0300000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959fabb8beb3a99b8e8174675c5145382c313b4653606d7983909aa4afbbc5cfc8bdb2a8a0959082796f6a615e565554535455565d606a6f7a849199a3aebdc7d2dce2e0d3c7bbaea399897c6f6256493c2f2316212d3a4754606d7a86939facb9c1b5a89b8e8275685b4f422f24180d0100000613202c3945515d677784919eaab7c4d1dce8dfd2c5b9ac9f92867a6d6053473b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070f0706040000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcbd6dbcec1b5a89b8e8275685b4f422e23180c00000000000000000000000000000000000000000000000000000000081623303d495663707c8996a3afbcc9d6dacdc0b4a79a8d8174675a4e412d22170b00000006121e29343f495156565d606366676d707376797c7f827f7265584c3f3225190600000000000000000000000000000000000000000a141e2a36424d5764717e8a99a3afbbc7d3e0dcd1c3b6a99d9083766a544a3f33281c0f0300000008121a212930363a3b3d3f41414647494b4d4c525455534e463c31261a0f01000000000000000000000000000000000000050e18232e3944505b6673808d99a9b3becad6e0d4c8bcb1a7978a7d7164574a3e3124170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000060f1c28333f4a54606c7883909daab4bfcad6e2d6cabfb4aa9b8e8275665c5144382c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000c1926333f4c5966727f8c99a5b2bfccd8d4c7bbaea194887b6e6155483b2e221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c5b8ac9f928579665b5044382b1f120600000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909dabb5c0b8ab9f9285796d6053463d322c3844515c666f7c88939fa9b3bec9cec3bab1a79f9490847c736d6864626060606264686d737c849196a1abb5bfc7cbd1d8e1d7cbbfb5ab988c7f7265594c3f30251a23303d495663707c899aa4afbbc0b5ab998c7f7266594c3f3326190700000004111d2935414c556874818e9babb5c0cbd7e3e0d3c7bbaea3998a7e7164564d41362a1c120700000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b1413100c07010000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dcdacec1b4a79b8e8174685b4e4135281b07000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d8cbbeb2a5988b7f7265584c3f322519060000000916222e3a46515b6265686d7073767a7c7f8285888c8e8174685b4e412d22170b0000000000000000000000000000000000000000020c1a25303b4754606d7a86929facb9c5d2dfded1c5b8ab9e928578665b5044382b1f1206000005101a242c333b4246484a4c4e4c525456585a565d60625f584e43372b1d13070000000000000000000000000000000000000007121d28333f4a54626f7b8897a2adbac6d3dfd9cebfb3a6998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000060f1a232b3844505b66717e8a95a0acbcc6d0dbe0d3c7baaea2988a7e7164544a4034281c10040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb3a994877a6e6154473b2e21140800000d192633404c5966737f8c99a6b2bfccd9d4c8bbaea195887b6e6255483b2f221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815212e3b4854616e7b8794a1aebac7d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c99a4afbbbaada2978a7d7164594f44382c34404a54606b74818e97a1adb9c1cbccc3b9b0a69f969187807a75716f6d6c6d6e71747a7f869196a0a8b2bab9babfc6cfd6dcd1c1b5a89b8e827568574d42362a1e2935414c5666727f8c99acb6c0bbafa399897c706356493d3023160a000000010d19242f3e4a5764717e8a99a3afbbc7d4e0e3d7cbbfb5ab9c8f8275685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202128201f1d18120b0300000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000003101c28343f4a546774818e9aa7b4c1cddad6cabeb3a996897c706356493d3023160a0000000b1824313e4a56626d72777a7d808386898c8f9298988f83766953493f33271b0f0300000000000000000000000000000000000000000914202c3945525d687783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d20130600000c17222c363e454d525456585b565e6163656769686d6e6a5f53473a2f24180d01000000000000000000000000000000000000000b17222d394653606c7985929fabb8c5d2dedbcec2b5a89b8f8275685c4f4235291c0700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000040d18212935414c56606c7883919da7b1bcced8e2dfd2c5b8ac9f92867a6d6054473a2e23180c000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9dfd3c6baada297867a6d6053473a2d20140700000d1a2633404d596673808c99a6b3bfccd9d5c8bbafa295887c6f6255493c2f221609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000d192633404c5966737f81818181818181818181818181817c6e6255483b2f221508000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212e3a4754616d7a8794a0adbacfd4c8bbafa49a877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000020e1a25313b4754616e7b87939facb9beb3a99d9083766b6054483c312e39424f59606d7a85929ea5afb9c3cccbc2b8b0a8a099928d86827d7c7a797a7b7e81858c9298a0a8b2b4aeacaeb4bdc4ccd6d1c4b7ab9e918478695e52463a2d202d3946525e687683909ca9b6c3b9ac9f92867a6d6053473a2d201407000000000814212d3a4754606d7a86929facb9c5d2dfe7dcd1c5b9ac9f92867b6e61544a4034281c1106000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292d2e352d2c29241d150d04000000000000000000000000000713202d3a4653606d798699a3afbbc7d4dbcec1b4a89b8e8175685b4e4235281b0700000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0ddd2c6b9ada197877a6e6154473b2e2114080000000c1925323f4c5865727f83868a8d909299999c9fa29e918477655b5044372b1f1205000000000000000000000000000000000000000004111d2935414c566975828f9ca8b5c2cfdbe0d4c7bbafa499877a6d6154473a2e2114070005111c28333e4850575e6163656769686d70727476787a7c6e62554b4135291d11040000000000000000000000000000000000000006121f2b3744505b6576828f9ca9b5c2cfdcddd1c4b7aa9e9184776b5e51442f24180c00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000030d161f2a333c46525e68717e8b95a0acb9c3cee0e0d4c8bcb1a79a8e8174685d5245392c1c1207000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818d9aa7b4c0cddaded2c5b8ab9f928578675d5145392c20130600010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bcafa295897c6f6256493c2f231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e211408000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714202d3a4753606d7a8693a9b3bec9d5ccc0b6a194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000914202d3a46525e6976838f9ca9b3beb8ab9f95897c6f63584e43372b303d45525d68717e8a939ea7b1bac3cccac2bab2aba39f99928f8a88878687888b8e92989fa2aab2b4aba39fa3abb2bac4cfd2c5b9ada196877b6e6154473b2e212e3a4754616d7a86929facb9c3b7aa9d908377675d5145392c201306000000000713202c3945525d687683909ca9b6c2cdd8e4e0d4c7bbafa3998c7f72665c5144382d22170b0200000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a423a39352f271f160d0400000000000000000000000006131f2c3845515c677986929facb9c5d2dbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ded1c5b8ab9e928578685e5246392d2014070000020e1b2835414e5b6874818e939a999d9fa3aba9acac9f9286796c605346392d2013080000000000000000000000000000000000000000010d19242f414e5b6774818e9aa7b4c1cddae3d7ccc0b5ab95887b6e6255483b2f221508000814212d3945505a61696e70727476787a7c7e808285878478675d5145392c20130600000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddaded2c5b8ab9f9285786c554b4035291d1004000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000040d151f28313c454f59616d7a85929ea7b1bccbd5dfddd1c4b8ab9f95887c6f62564c4135291d0b00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000714202d3a46525e697783909daab7c3d0ddddd0c3b6aa9d9083776a554b4035291d100400010e1a2734414d5a6774808d9aa7b3c0cddad5c9bcafa296897c6f6356493c30231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000613202d394653606c798697a1adb9c6d2d2bbaea195887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000005111e2a36424d5665717e8b97a1adb9bcb1a79b8f82756a5f53473e312935414c56616c75818f95a0a8b2bac3cbccc3bdb5afaba39f9b979599939995979b9fa2aaaeb4baaea3999299a1a8b2bdc9d5c9bdb2a8978a7d7164574a3e2e2a36424d5764717e8a99a3afbbbeb3a99a8d807467554b4035291d11040000000004111d2935414c5666727f8c99a7b1bcc8d4e2e3d7cbc0b5ab9e9184796d60544a3f33281e13080000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474e4745403931281f160e05000000000000000000000004101c2834404b556c7885929fabb8c5d2dccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a2aebac7d3dbcec2b5a89b8f827568564c41362a1e11050000000d1a2733404d5a6673808d99a4aca9acaeb4b5b8aea399887c6f6255493c3025190d000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9e8ddd2bcafa296897c6f6356493c30231609000a1723303c4955616c717b7d7f81838587898b8d8f9196877a6d6054473a2d21140700000000000000000000000000000000000000000b17222d404d596673808c99a6b3bfccd9dfd2c5b9ac9f928679675d5145392c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000060d161f27313a434d57616b75818e97a1adb9c3cedddfd5c9bdb2a89d9083776a6054443a2f24190d00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b14212e3b4854616e7b8795a0acb8c4d1dedbcec1b5a89b8e8275685b4f422f24180d0100010e1b2734414e5a6774818d9aa7b4c0cddad6c9bcafa396897c706356493d3023160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006121e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f02000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505b667885929eabb8c5d1c9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7985929eaab4bfb9ac9f93877c6f625a5043392f303a44505a606d79839096a0a8b1b9c0c9cfc7c0bbb5aeaca8a4aba49fa4aba4a7abaeb3babfb4aa9f92869196a1adb9c5d1cbc0b3a69a8d807367544a40342d3a46535e6975828f9cabb5c0baada297897d7063564a3d2f24180d0100000000010d1924303b4855626e7b88959fabb8c6d0dbe7dcd1c7b9ada1968b7e71665b50443a3024190e040000000000000000000000000000000000000000000000000000000000000000020b1924303a444c52545b53514b433a312820170e0500000000000000000000000c18232e44515e6b7784919eaab7c4d1ddd1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b98aab4bfcad6d6cabeb3a9988c7f7265594c3f3025190d010000000c1925323f4c5865727f8b98a5b6b6b9babfc2bfb4ab998c7f7366564c41362a1d120700000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddae3d6c9bcb0a396897d7063564a3d3023170a000b1724313e4a5764717e87898b8e90929796989a9c9e95887c6f6255493c2e23180c0000000000000000000000000000000000000000061925323f4c5865727f8b98a5b2becbd8e0d4c7bbafa399867a6d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000002090f181f283139434c555f69707d8a939ea9b3becbd5dfd9cec5b9aca0968b7e7165584e4332281e130800000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765717e8b98a7b1bcc8d4e0d8ccc0b6ac998c807366594d4033261a070000010e1b2834414e5b6774818e9aa7b4c1cddad6c9bdb0a3968a7d7063574a3d3024170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000020d19232e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000030f1c28333f4a546a7683909da9b6c3d0cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000000000000000000000009141f2c3945515d6773808c98a2aebabbafa49a8f82766c61554b403529323e45515d676e7b849196a0a7afb9bec5cbcbc6bfbbb9b5b0b5afacafb5b1b4b8babec1baaea3988d8084919eabb7c4c1bfbbb6a99c908376665c51443835404b55616e7b87939facb9c5b8ab9f9285796d6053463a2d2013070000000000000814212e3a47535f6a7683909daab4bfcad6e2e3d5c9bdb2a89d9184786c60564c41352920160c02000000000000000000000000000000000000000000000000000000000000000a141d2935414c565d6168605d554c433a322920170f0600000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcd2c6b9ac9f9386796d6053463a2d201308000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca9b6c3d0dbd3c6baada297887c6f6255493c2f221608000000000a1724303d4a5763707d8a96a9b3bec5c7cbd1c3b6a99d908376685e5246392e23180c01000000000000000000000000000000000000030f1c28333f4a546875828e9ba8b5c1cedbe2d5c9bcafa296897c6f6356493c3023160900091623303c4956636f7c8996989a9c9ea1a9a5a7a9a4978a7e7164544a4034281c1004000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e3d7cbc0b5a194877a6e6154473b2e211408000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000001070c141a222a313a434b555d676e7b85929fa5afbbc5cfdde0d4c8bcb1a79e9184796d6053463c3220160c0100000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3846535e6975828f9ba8b5c2cdd9e0d4c8bbafa49a8a7d7063574a3d3024170a0000020e1b2835414e5b6874818e9ba7b4c1cedad6cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000007121c252e353b3e4042424242424242424242424242423b3a37312a21180e0300000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b17222d424f5b6875828e9ba8b5c1ceccc0b3a6998d8073665a4d402e23180c0000000000000000000000000000000000000000000000000000000000000004101d2935404b55616d7a86929fabb5bfb6ac9f948a7d70675d51453d322935404b555e696e7b8490959da5adb3bbbfc6cacbc7c5c2bdc0bbb9bbc0bec1c5c6bfbbafa59f92867b828e9ba8b5b7b4b5aeaca99f9286796d6053463a3845515d6773808c99a4afbbbeb2a99b8e8174665c5144382c1f120600000000000006121f2b37434e5865717e8b98a2aebac6d3dfe5dacfc4b8aca0968b7e71685d52453d32281e130800000000000000000000000000000000000000000000000000000000000006111b262f3846525d686d756d675d554c443b322921180f070000000000000000010e1b2834414e5b6774818e9aa7b4c1cddad4c7bbafa499897c6f6256493c3025190e020000000000000000000000000000000000000000000000020b14212e3b4854616e7b87939facb9c6d2ded2c5b8ab9f9285796c605346392d201306000000000814212e3b4754616e7b8797a1adb9c6d2d7d2c6b9ac9f93877a6e61554b4034281d120700000000000000000000000000000000000006121f2b3844505b667683909ca9b6c3cfdce3d7cbbfb4ab95887b6f6255483c2f221509000815212e3b4854616e7b8799a3a7a9abadb3b1b3b4a79a8e8174665c5144382c1f1509000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8dcd1baaea194877b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000003070d12181f252a343c434c555d676d79839197a2adb7c1cdd6e1d7cec5b8aca0958a7e71665c5145382c1f13040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ac9f93867a6d6054473a2d2114070000020f1c2835424f5b6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000000a131c232a2f323335353535353535353535353535352f2e2b2620180f060000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000061a2733404d5a6673808d99a6b3c0cccec2b5a89b8f827568544a4034281c1004000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6874808d99a3aebbbeb0a69e9184796d60594f443a2f2f39434d575e696e7a838e939ea1a9aeb5b9bec4c5c9cfd2ccc7c6c7ccc8c7c0bbb5aea59e938b7f727f8c99abacaaa8aba39f9d9a98897c6f6256493c414b55606d7985919eabb5c0b9ada1978a7d7064544a4034281c1004000000000000020f1a26313c4754606d7a85929facb8c1ccd7e3e0d4c8bdb2a89e92857a6d60594f443a302519130900000000000000000000000000000000000000000000000000000000060f17222d38414d57616d7a81796d675e564d443b332a2118100700000000000000000c1926333f4c5966727f8c99a5b2bfced9d7ccc0b5ab998c807366564c41362a1e110500000000000000000000000000000000000000000000000a141d2b37434e5865727f8c9aa4afbbc8d4d7cbc0b5ab9c8f8275665b5044382b1f1206000000000714202d3a46525e697885929eabb8c5d1ded4c8bbafa49a8b7f72675c5145392f24180f0600000000000000000000000000000000000613202d394653606c7985929eabb8c5d1dee0d3c7baaea399877b6e6154483b2e211508000713202d3a4653606d7986929facb6b8b9bebec0b8ab9e9285796d6053463c31261a0e05000000000000000000000000000000000007121e2b37424d576875828e9ba8b5c1cedbe0d4c8bbafa49a877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000105060b0f13181d232930363e464e555d676d79828f95a0a9b3bec9d3dfdbd0c5bcb0a69d9083786c60544b4034281c10040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f49535f6a74818e98a3aebac7d3e0ddd0c3b7aa9d908477685d5245392c2013070000020f1c2935424f5c6875828f9ba8b5c2cedbd7cabeb1a4978b7e7164584b3e3125180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000020b141b22272b2d323232323232323232323232323232302f2c27211911070000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b1825323e4b5865717e8b98a4b1bed1d0c4b7aa9d918477665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b86929fa9b2bdb9aca1968d80736b60564c41382d313b454d575e686e79818a92979fa3abadb3b8b9bdbebfc0c1c0c0bfbdb8b6afaba39f938e8175707c8999a4a09e9b989992908d8a887f7265584b3f45515d67727f8c97a1adbdbfb4aa9e9184796d6053463a2e23180c00000000000000000a15202c3945515d6774818e9ba6b0bbc6d2e2e5d9cec3b9ada1978d80746b60564c413529251b12060000000000000000000000000000000000000000000000000000060f182127333f49535f6974808d82796d685e564d453c332a22191008000000000000000a1724303d4a5763707d8a96a8b2bdc8d4ddd2c3b6aa9d908377685e5246392d20150b0000000000000000000000000000000000000000000006111c262f3847535f6a7783909dacb6c0ccd8d3c7bbafa3998b7e7265544a3f33281c0f030000000005111e2a36424d576975828f9ca8b5c2ced9d8ccc0b6ac9e9184796d60554b40352921180e0600000000000000000000000000000208101c28343f4a54626f7c8997a1adb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d2013070006121f2c3844515c667683909da9b6c3c6cacfc6b9ada2978a7d7063574e42372b20170d04000000000000000000000000000000050e19222e3a47535f697784909daab7c3d0dddfd2c6b9ac9f9386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060000040607070809080d1113171b1f24292f343b424650585f676d79828f949fa8b1bcc5d0dbded6cabeb3aa9f948a7d70665b5042392e23180c000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040707090e13191d262d333d44505b656f7c87939faab4bfcbd7e1d5c9bdb2a8998c807366564c4135291d11040000030f1c2936424f5c6975828f9ca8b5c2cfdbd7cbbeb1a4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000000a141d262d3337393e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b38322b23190f0500000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1623303d495663707c8996abb5c0cbd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6973808d96a1adb9bdb2a89f93877d70685e53493f3327333b454d565e676d747e858d92999ea1a9abadb2b2b3b3b4b4b3b2b2acaca49f99928c81786d6d7a86939696918e8b898683807e7b726d62564a424e58606d7a85929ea9b3bebaaea3988c7f73665c5144382c1c1207000000000000000004111d2935414b55626f7c88939eaab6c1d0d9e3e0d5c9beb3a99f93877d6f685e524640372d2417110a030000000000000000000000000000000000000000000000071018212a333c44505b656e7b879290837a6e695e574e453c342b221911080000000000000714212e3a4754616d7a8796a0acb8c5d1dfd2c6b9ac9f93877a6e6154473e30271c12070000000000000000000000000000000000000000040e17222d38424f59626f7c88959fabbec7d2ddd2c5b9ac9f92867a6d6154473a2d22170b0000000000020e1a25303f4c5865727f8b98a7b1bcc8d4ddd2c7b9ada1968b7f72675d51453e332a20181008020000000000000000000001040c1319262b3844505c6673808d99a9b3bec9d5e2ddd0c4b7aa9d918477665c5044382b1f12060004101c2834404a546774808d9aabb5bfcbd6d6cabeb3a99b8e81756a5f53473d32291f160c0500000000000000000000000000060e17202834404b54626e7b8895a0acb8c5d1deded1c4b8ab9e918578665c5044382b1f1206000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316121212121212070c10121314151618191d2022272b2f353940454d525a616a6e79828f949fa6b0bac3ced7e0d6ccc4baaea2988f82766b61544a3f30271d1207000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111080d111314151a1e24292f383f44505a606c77828f99a4afbcc6d1dcded2c5b9aca096887c6f6255493c2f24190d01000003101c2936434f5c6976828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006111b262f383f44464b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4948443d352b21160b00000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222e3b4855616e7b8899a3afbbc7d3c7bbafa399887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7984919ea6b0bcbbafa49991857a6d655b50443f362d333b444c555d606c717a80868d92979a9ea1a9a5a6a7a7a7a6a5a8a09e9a938f877f786d666777838c8a8784817f7c797674716e69625b51464a545f6a73808c97a1adbbbfb5ab9f92867a6d61544a4034281c0b000000000000000000010d18242f3a47545f6a75828f9ba6b0bdc7d2dde6dacfc5bbafa49991847a6d615c52493f3628231c150c060000000000000000000000000000000000000000030b1218222a333c454f59606c77828f999590837b6e695f574e463d342b23190e0500000000000713202d3946525e687784919daab7c4d0dcd4c8bbafa49a8b7e71645a5042392e23180e05000000000000000000000000000000000000030c162028333f4a54606b76828f9ca7b1bcd0d9d6cbbfb4aa9c8f8275685e5246392d1c11060000000000000915212e3b4854616e7b8795a0acb8c6d0dcd5c9bdb2a89e9184796d605a50453c322a2219140d070501000000000306070d11161e252935414c56606d7884919eaab7c4cfdae6dbcec1b5a89b8e827568544a3f34281c100300000c18232e3e4b5764717e8a99a3aebbc7d3dbcfc5b9ac9f92877b6e62594f443b31281e170e0903000000000000000000040a11172029323a45515c6673808d99a7b1bcc8d4e0dccfc2b5a99c8f827669544a3f34281c1003000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f181c1f202121232424292d2d33373a41454b51575e616c717c848f949fa6b0b8c2ccd5e0d7cec4bab0a69f92857b6e61594f42382d1e150b00000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d191d202122262b30353a424a5059626c73808c949fabb5c0cfd8e2d6cabfb4aa9e9184776a5f53473b2e1e130800000003101d293643505c6976838f9ca9b6c2cfdcd8cbbfb2a5988c7f7265594c3f3226190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000b17222d384149505358585858585858585858585858585856544f473d32271c1004000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000020e1a26313b45515d67717e8a949faab4bfb5aba1978f82776c605b51483e3627323b434b515a61686d737b80858a8e91969698999a9b9a99989696918d87827c726d665c65727f807d7a7775726f6d676764615f57514944505c666f7c86929fa9b3bebbaea3998e8174685e5242392e23180c0000000000000000000007131d2b37434e58626f7c88939eabb5c0ccd7e0e1d7ccc0b5aba1968f82756e635b51483f342e261e17110a030000000000000000000000000000000003090c151d2328343c464e57606b737f8c949f9f9591847b6e6a5f584f463d352b20170d020000000005111d2a36414c566874818e9baab4bfcbd6d8ccc0b6ac9d9083766c61544a40342820170d0400000000000000000000000000000000050c151e28323a44505b66707d89949fabb9c3cde0d3c7baaea3988b7e7164564c41362a1d0a000000000000000714212d3a46535e697784909daab4bfcbd6dacfc4b9ada1978d80736c61574d443c342a251f1813110d080d060c101213181d202830353f45525d68727e8b96a0acb9c5d2e1e1d5c9bdb2a8988b7f7265584c3f2e23170b0000000714212d3a4754606d7a86929facb9c5cfdad3c7bbafa3998f82756b61564c43393029201a140e09070604040607070c10141b2227323a444e58606d7984919eabb7c3ced9e2d6cabeb4aa9a8d8073675a4d402e23170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c23282c2d2d2e2f313035393a3f44464b51555c60696e757e8691969fa6b0b8c2cad4ded9d0c6bcb2a89e948b7e71695e52473e2f261c0c0300000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2f31373a41464c545b606b717e8b929ca6b0bdc7d2e1ded3c6baaea2988c7f7265584e43372b1f0c0100000003101d2a3643505d697683909ca9b6c3cfdcd8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00030f1b27333f49535b606565656565656565656565656565656360594f44382c201307000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006121f2c3844505c667884919eabb7c4d1d1bfb2a5998c7f7266594c3f31261a0f02000000000000000000000000000000000000000000000000000000000000000009141f2935404b55616c76829098a2aebabdb2a99e948d80746d635a50483f332d3139404550565d60696e73797d818487898b8c8d8e8d8d8c8a8784807c756f6a605c54626d7273706d68686562605c555755534d4546505a606d78839099a3aebbbeb3a99f92867b6e61564c4130271c120700000000000000000000010f1b26323c47545f6a75828f99a4afbbc4cfdae6ddd2c7bdb2a89e948d80736d625a51443f383027221b140f0b06000000000000000000000002050a0f151a1e272e343e464e585f69707d87939fa6a7a09691847c6f6a60594f473d32291e140800000000010d1925303e4b5764717e8a98a3aebac7d3ddd2c7b8ab9f958a7e71665c51443c32291f160e060000000000000000000000000001070e161e27303a444e58606c7883909da6b0bbcbd4d7ccc0b5ab9f92867a6d6054473a3025190d0000000000000005121e2a36424d5765727f8c98a3aebac7d1dcd5c9beb2a99f93887d70695f564e463d36302924201e191a1a1b171c1f2024292c323a4146525c606d7a85929ea8b2bdc8d4e1dfd2c5b9ada196887b6f6255483c2f2215060000000713202c3945525d6876828f9ca9b3bec9d5d7cbc0b5ab9e94897d70685e554b423b322a251f1a1514131110121314181c1f262d333b444c565f6a73808c96a1adb9c5d5dfdfd3c6baaea298897d7063564a3d3023170600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c393939393939393939392e34383a3a3b3c3e40414647495053555d60676d727b818a9298a0a8b0b8c2cad4dcddd2c7beb4aaa1968f82756c62574d42352c1d140a0000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42474c52565e666c737d87929fa4aeb8c2d0d9e1d6cabfb4aa9f92867a6d6054473c32261b0f0000000004111d2a3744505d6a7783909daab6c3d0ddd9ccbfb2a6998c7f7366594c403326190d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0005121f2b3744505b656c717171717171717171717171717171706b6054483b2f221609000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000003101c28343f4a546976828f9ca9b5c2d1cec1b4a89b8e817568584e43372b1f12060000000000000000000000000000000000000000000000000000000000000000030d18242f3a43505a626e7c86929fa5afbabbb0a69d928c7f726c625a51443f382f2f353e434c52575e61676d7074787a7d7f80808181807f7d7b77736f6a625f5850515b62656663615e56585653514b4b484642454e58616c737f8c95a0abb4bfb9ada2978d8074695f53443a301e150b0000000000000000000000000a15202b37434e58626f7c87939fa9b2bdc9d5dee3d9d0c4bab0a69c928b7f726c635b504a423b332d261f1c17110f0a0807060406070708090e12151b1f262b303940454f585f6a6e7b859299a4afb1a8a09691857c6f6b60594f443b3025190d01000000000814202d3a4753606d7a86929facb8c4cfdad4c8bcb1a79e9184796d60574e443b31282017110d0703000000000000000000060c121820283039424c565f6a717e8b95a0acb8c2ccddd4c7bbafa4998e8174675d514539281e130800000000000000020e1a25313b4754616d7a86929fabb5c0cbd7dacfc4bbafa49a92857b6e685f584f46413b352f2d2a2527272723282c2d2f35393e444c525b636e74818e97a1adbac3ced9e5ded1c4b7ab9e9184786a5f53473a2e21150800000004111d2935414c5664717e8b97a1adb9c5d0dbd1c7bdb0a69e91847a6e675d544c443d36312b262220201d1c1f202123292c2f383f444d565e686f7c87929fa8b2bdc9d5e7ded2c5b8ab9f9285796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454044464748494b4c4c5254535b6063676d72797f868e939fa2aab2bac2cad4dcddd8ccc0b6aca29891847a6e615a50453b30231a0b020000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686d787f879299a3aeb6bfcad3e2d8cfc6baaea2988d8074685d5245392a20150a0000000004111e2a3744515d6a7784909daab7c3d0ddd9ccbfb3a6998c807366594d4033261a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000613202d394653606c787e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000c17232e404d596673808c99abb5c0cbd1c4b8ab9e9184786a5f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000007131d28313e47535f6a717e8b939ea8b2bcb8aea49f93887e716c635b5049413a3229313a41454d52555d606367686e7072737474747372706e6966625f58534e4449515759595754524c4c494645403e3b3c454d575f6a707e88939fa7b1bdbcb1a79e92857a6d60574d4232291e0c03000000000000000000000000040f1b26323c47535f6a74808d96a1adb9c1ccd6e1e2d6ccc1b8aea49f93887e726d605c544d443f382f2b28221c1b171514131012131415161a1e21272b31373c434b5159616a6f7c859197a1abb5bab2a8a19792857d706b60564c41362a1e1105000000000613202c3945515d6775828f9ba8b2bdc9d5d8cdc2b9aca0968b7f726a5f564c433a3228231c18120f0b0608070707080a0f11171d2329323a424a545e686f7c86929fa7b1bccad4d8cfc6b9ac9f93877b6e62554c4135291d110400000000000000000914202d3946525d6874818e99a3afbbc5d0dbd8ccc0b6aca29790837a6f6a6059524d45403a3936303433342e34383a3c41454750565e616d73808c939da9b3beccd5e0e0d3c7bbb0a6998d807366584e43372b1f1206000000010d19242f3a4753606d7985929eaab3becad6d9cfc1b9aca1969083796d665e564f46423b37312e2d2c29282c2d2e2f34383d414950575e686d7a839199a3afbac4cfdae0d4c8bcb1a79b8e8175665c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256525252525252525252525252524a51535454565759565d6163656c6f747a7f858c92989ea5aeb4bcc3ccd4dcd9d2ccbfbbafa49a92867c6f685e52483f33291f1108000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514c52545558575f61686d737a828c9299a3abb5bfc8d1dcdcd1c6bdb2a89f92867b6e61564c4135291d11040000000004111e2b3744515e6a7784919daab7c4d0ddd9cdc0b3a69a8d8073675a4d4034271a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d78868b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000061723303d4a5663707d8999a3afbbc7d2c5b9ada196887b6e6255483b2e23180c000000000000000000000000000000000000000000000000000000000000000000010c161f2b37424e57626c75818e96a0aab3bcbbafa49a92877e726d605b534c443d352f2f353b42464b515357565e61636566676867666563615e5755534e47433c3f464a4c4d4a4746413f3c3a3834343e464e575f696f7c86929aa4afb9beb3aa9f958b7f72685d52453c3120170c00000000000000000000000000000a15202b37434e58606d7a84919ea6b0bac4cfd8e2ded3cac0bbafa49a93887f746d665f575049413d38332d2b26232120201d1f20212223252a2d32373c42474e555c606b707c859197a1a9b3bdc4bab2a9a19792867d70685e5246392d2014070000000004111d2935404b5564717e8a96a1adb9c5d0dbd4c8bdb2a89f92857c6e685e554c443d342e29241f1b17151413131415161a1c23282f343c444c545c666d7a849198a2aeb9c3cedcd1c6bdb0a69b8f8275695f53433a2f24190d01000000000000000005111d2935414c56626e7b87929faab4bfcad6ddd2c7beb3a9a09590847c706b615e56514b47464142414041423f4446494b51545a61686d757f8c929ca5afbbc5cfdee2d7cec5b7aa9f94887b6e6255483c31261a0f030000000008131f2c3845515c67737f8c98a2aebac3cfd9d5c9bdb2a89f958f82786e686059534d47423d3b3a393534383a3b3d4045474e535b60696e7a839095a0abb5c0ccd6e0d7cec5b8ab9f95897c6f62544b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5c60606162646668686d7073787c80858c91979fa2aaafbabfc5ced5ded7d0c7c0bbada39f93887e706a5f564c41362d21170d00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d565d60626468696e737a7f858f949fa3abb5bdc6d1daddd7cbbfb4aba1968c7f73695e52443a2f24190d010000000005111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d8074675a4d4134271a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d7986939898989898989898989898988e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714202d3a4753606d7a86929facb9c5d2c9bdb2a9988b7f7265544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000040d1a26313c45505a606d79849198a2aab4bdb6aca399928b7f746c655e564f454039312b3036394045474a4c52545658595a5b5a5a595754524d4847433c3732353a3e3f403d3a3936302f2d3039404550585f696e7b849198a2acb6c0baaea2989083786d60564c41332a1f0e050000000000000000000000000000040f1b26323c45515d67717e8a939ea8b2bcc6d1dce7dcd8ccc0b6aca49a938c80786e69605b534f46443f383732302e2d2c292c2d2e2f3031363a3c43474d53585f676d747d859297a1a9b2bbc5ccc4bbb3a9a29892867a6e6154473b2e21140800000000010d18242f3a4653606d7984919eaab3becad6d9cec3baada29791847a6e675e564f443f38352f2b272222212020212223262b2e343940454e565e666d78828f96a0aab4becbd5d7cbbfb4ab9e94897c6f62574d4231281e1308000000000000000000010d1924303a47535f6974818d98a2aebac2ccd6d9d0c5bcb1a7a09691867d746e68605d5554524c4f4d4d4e4f4a505355555d60656c707a818c919ba4aeb7c0cdd6e1dbd0c5bcb0a69c8f8276695f53473a2a20150a000000000004101c2934404b55616d7a85929fa8b2bdc7d1dacec4bab1a79e948f827a6f6b615e57534d4a4847454040444647494b51535860656c727b839095a0a7b1bdc7d1dedbd0c5bcb0a69d9083766a605442392e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c666d6d6e6f717374777a7d8084898d92979ea1a9aeb4bcc1cad0d7ddd5cdc5beb6afa39b918c7f726c61584e443b30241b0f0500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b686d6e7174787b80858c92979fa6afb5bdc6cfd8dfd4cbc3baaea3999184796d60564d4232281e1308000000000005121e2b3845515e6b7884919eabb7c4d1dedacdc0b4a79a8d8174675a4e4134271b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a4a4a4a4a4a4a4a4a4a49b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000613202c3945515d677683909da9b6c3d2cfc2b5a89c8f8275665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000000000000915202a333f45515d676f7c869298a3abb5beb5aba39f918c80776d686059514b433e37322c2f35383a3d4146474a4c4d4d4e4e4d4c4a4846423c3a37312b26292e313233302e2d2a2a30363d434b515a616a6f7b849196a1aab4beb8afa59f92857b6e665c50443a3021180e000000000000000000000000000000000a15202935414c55616c75828f96a1aab4bfcbd7dbe8ddd2c7beb6aca49f928d837b716c65605953504a47433f3d3b3a3935383a3a3b3d3f4246484e54575f616a6f79808a9297a1a9b2bbc4cdd6cdc5baaea2988e8175685e5246392d201407000000000007131f2c3844515c66727f8c98a2aebac3ced9d6cabeb3a9a1969083796d686059504a45403937332d2f2e2d2c2d2f303137383f444b51585f686d78818e949fa8b2bcc5d0d9d0c7baaea3998f82766a6054453c311f160c010000000000000000000008131e2b37424d57616e7a86929fa6b0bac4cdd7d7cec3b9b1a8a1989287817b736d6765615e565b5a5a5a5b545c606265676d72777d858e939ba3adb6bfc9d2dfddd6cabfb4aa9e94897c6f62574d42372b180e030000000000000c18232f3946525e68727f8c96a0abb5c0cbd7d6ccc3b9b0a69e948f847d746e69625f57575553514b4a51535456555c60646a6f787f869195a0a7b1b9c3cfd9dbd6cabfb4aa9e94897d7063584e4330271d12070000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c787878787878787878787878787878787879797a7b7c7e7f8184868a8d91969a9fa2a9adb3babec5ced6dbd9d4cbc3bbb3aca49f918c7f736d635a50463c32291e12090000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea1a9b0bbc0c7cfd8ded6cdc3b9afa59f92877c6f675d51443b3020160c01000000000005121f2c3845525f6b7885929eabb8c5d1dedacec1b4a79b8e8174685b4e4135281b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb1b1b1b1b1b1b1b1a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000004111d2935404b556773808d9aacb6c0ccd2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000000000000000000000000000000000000000000000030e18212935404b555f6a707d869299a4afb5bdb5afa39c928d827a706b605d555047433c38332c2c2d3036393b3d3f40414141403f3d3b3a36302e2b26201b1e2225262624262b30363b41464f555c606c717c859196a1a8b2bcb9b0a69e938a7e71695f544a3f32281e0f0600000000000000000000000000000000040d19242f3a43505a616d7a849198a3aebac0c9d3dce4d9d0c7beb6afa49d9590867e78706b63605b54534e4c4a4847454044464748494c4d5354586062696e757c838d929fa2a9b3bbc4cdd6d0c5bcb2a89f92867b6e61564c41362a1e1105000000000004101c2834404a54606d7a85929fa8b2bdc8d4dbcfc5bbb2a8a0958f827a706b605c54514b46443f3d3c3b3a393a3b3d3e43474a50555c606a6f7a828e939da6b0bac4ced7d2c7beb2a99f92867b6e62584e43332a1f0d040000000000000000000000020e1a26313c46525e68727e8b949fa8b2bbc5ced7d5cbc3bab2aaa299928e86807a75716d6869686766676869666d6f72757a7e838a91979ea5adb5bfc8d1dbded5cbc3baaea2988f82756a6054453c31261a060000000000000007121d2a36414c56606d78849199a3afbbc1cad3d4cbc1b8b0a69f969187817b746e69676461605d55545c60616366676d71777c838b9298a0a8b1b9c3cbd5dbd3c9c1baaea2988f82756b6055463d321e150b000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858586868787898a8c8e90939a9a9ea1a8abadb3b9bec4cad0d7dcd6cec8c0b9b1a9a29a938b7f736d635b51483e342a20170d000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888b8e91969a9fa2aaadb3bbc2cbd1d9ddd5ccc4bbb1a79d938b7e716a60554b4032291f0d0400000000000006121f2c3945525f6c7885929fabb8c5d2dedbcec1b4a89b8e8175685b4e4235281b0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bebebebebebeb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000010d18242f3d4a5764707d8a9aa4afbbc8d3c6baaea298897c6f6356493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606b707e87939fa4abb4bcbbada49d948f857d736d67615a534e48443d39352f2c2a2d2e3032333435343332302e2d2a25211f1b171b1f2022262b2e32373b42464c525960676d747e869197a1a8b2babab1a79f948e81746c61574d42382e20160c00000000000000000000000000000000000008131e28313e46525e686f7c86929fa5afb7c1c9d3dce2d9d0c7c0bbaea79f98928b837d76706c66625f5859565453514b505354555659575e61666a6f747b818790959da4adb3bbc5cdd6d2c7beb4aaa0968c7f73695e53443b3025190d010000000000000c18232e3945515d67727f8c96a0acb8c1cbd5d7cdc4bab1a79f948f847d736d66605d5553504949484746454748494b4e53545c60676d727c848f949da5afb8c2ccd6d8ccc0b6aca1968d8073695f53463d3221180e0000000000000000000000000009151f2a36414c56626d76828f96a1a9b3bcc5ced8d5ccc4bcb3aba39f98928c86827e7a777675747374757677797c7f81858b90959ea1a9afb7bfc7d1daded5ccc3b9b0a69f92867b6e61584e43332a1f150900000000000000010d1925303a44515c666f7c87929fa5afb8c1c9d3d3cac1b8b0a9a199928d86817b7774706e6d676b6b666d6e707376797e838990949fa2aab1bac3cbd5dbd3c9c1b7afa59f92867b6e61594f44342b200c03000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea298929292929292929292929292929292929292929993949597999b9d9fa4acabacb2b8babec5c9cfd6dbd7d0cbc3bdb9afa7a09792887f726d635b51493f362c22180e05000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929995979b9ea1a8acaeb4b9bec5cdd7dcdbd6cbc3bab2a99f958e81746d62584e43392f20170d0000000000000006131f2c3946525f6c7985929facb8c5d2dfdbcec1b5a89b8e8275685b4f4235281c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6cbcbcbcbc1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714212e3a4754616d7a86939facb9c6d2cabfb4aa998c807366574d42362a1c1106000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464f59616c717f8b9399a3aab3bbb6aea69f9791878079716c625f58544f4745413a38342f2d2c29242728272726242121222223232522272b2d2f31373a3c43474d52565e616b6f79808a9298a1a9b2babab2a8a0958f82796d605a50453b30261c0e04000000000000000000000000000000000000010c161f2a36414c56606a717e8b939da5afb7c1cad7dde2d9d2ccc0b9b1aaa29f959089827d78736f6a68656361605d555c606162636668696e72777c81878e939aa0a7aebabec5cdd6d8ccc0b6aca2989184796d60574d4232291e14080000000000000007121c2935414c55606d7984919ea5afb9c3ced7d6ccc3b9b0a69f9691878078726d6762605b53565554535254555657585f62666d71797f8691969fa6afb7c1cad4d6ccc4bbafa49a9184796d60574d42342b210f0600000000000000000000000000030e1925303b44515b616e7b849197a1aab4bcc6cfd6d6cec5bdb5afaaa29f98928f8b8684838280808182828385888b8e92989da0a7adb3bbc1c9d1d9ddd4ccc4bab1a79e938b7f72695e53463d3221180e03000000000000000008131e2834404a54606b727f8c939ea5afb7c1c9d6d3cac2bbb2aba39f99928e8884817d7b7a79787778797a7d7f82858b90959c9fa6aeb4bcc3ccd5dbd6c9c1b7afa59d938b7e71695f53473d3322190f00000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a0a1a2a4a6a7aaacafb6b7b9bdc4c6cacfd5dad6d1cbc6bfbab2aca59d9590857d726d625b514940372e241a100600000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abadb2b8babfc5cacfd7dfd8d0cac1b9b1a8a1979083796d605a50463d31271d0e050000000000000005121f2b3744505b657986929facb9c5d2dfdbcec2b5a89b8f8275685c4f4235291c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d7d7cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000713202d3946525e687784919daab7c4cfd0c3b6a99d908376695e5346382e23170b0000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d47505a626d727f879298a2a9b2bab8b0a9a199938d847e766f6a63605954514b4745403d3a39352f32302f2f2e2e2d2e2e2f2f30322d3337393c3e4347484e53565e61686e747c838d929fa2aab3bbb9b1a8a09690837a6d675c51483e33291e150a0000000000000000000000000000000000000000040d1925303a444e58626d74818e939ea5afb8c1ccd2d9e2ddd8cbc2bcb4aea79f9d948f8a847f7c787472706e6d676c666d6d6e707275787b7f84888e92999fa4acb1b9c0cacfd7d7c8c0bbafa49a92867c6f675c51453b3120170d0200000000000000000d19242f3a45515c66707d8a939da7b1bcc5ced8d5cbc2b8b0a8a199938c847f79736f6c6565636261605d60626364676a6f72797e848c9298a1a8b0b8c1c9d2d6cdc4bab0a69f93887d70675d51453c3122190f00000000000000000000000000000008141e29323f46525e696e7c859298a2aab4bdc4ccd6d7cfc7c0bbb4aeaaa29f9b999391908e8d8d8d8e8f909298989b9fa2aaacb1b9bec4cdd3dbdad5cbc3bab2a8a0958f82776c60574d42342b200f06000000000000000000020c18232e39424f59606c77818f939ea5afb7c1cacfd4cdc4bdb5afaba39f9a96918d8a8886858484858687898c8f92989d9fa7abb0babec5ced5d7cfcac1b7afa59e938e81746c61574d42352c21100700000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababacaeb5aeafb1b2b4b7b9bbc0c4c5c9ced3d6d9d4d0cac7c0bbb4aea8a09e938e837b706c625b514940372e251c11080000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb5b1b4b7b9bdc4c6cad0d6dad8d3cec6bfbaafa7a09691857b6e675c51483f342b1f150b00000000000000000613202d394653606c798699a3afbbc7d3e0dccfc2b5a99c8f8276695c4f4336291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005111d2a36414c566774818d9aa9b3becad2c6b9ac9f93877b6e61544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000040d18222b353e48505a626d727e869297a1a8afbabbb3aba49f96918a827c76706b64605d5553514b49474540403f3d3c3c3b3a3a3b3b3c3c3d3e403f4446484b4e5355585f62696e737a818790959da4aeb4bcbbb0a79f9691847b6e685d554b40362c21170c0300000000000000000000000000000000000000000008131e28323d46505a606d78818e939ea6afbbc0c7d0d7e0ddd4cec5bebab1aba69f9c96918c8884817f7d7b7a797878797a7b7c7f8284878c91959a9fa3abafb6bec3cbd6d9d2ccbfb6aea59f93887e706a5f554b4033291f0e0500000000000000000008131e2834404b54616b74818e95a0aab4bcc6cfd8d4cac2bab2aba49f96918b85807b797572706f6e6d686d6e707174787b7f848b91969fa2aab2bac2cad2d6cdc4bbb2a89f948c80736b60554b40332a1f1007000000000000000000000000000000020d17202a36424d565f6a6f7c869298a3abb2bac1cad0d7d1cbc6bfbab4aeacaba49f9e9c9b9a999a9b9c9d9fa2aaa8abaeb4b8bcc3c9cfd6ddd7cfc9c0b9b1a8a0969083796d655b50453b3122190f000000000000000000000007121c27303d44505b656d78818f939ea5afb9bec5cdd5cfc7c0bbb4aeaca8a09e9a97949892919192989496999c9fa2aaabb1b7bcc2cad0d7d6cdc5beb9afa59e938e81786d605a50453b31231a0f0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbbfbabcbdbfc1c3c6c8ccd2d2d5dad5d2cec8c6bfbab5afaaa39f96918981796e69615951493f372e251c130a000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9bbbfbec1c4c5c9cfd3d6dbd7d4cdc7c1bcb4aea59e9591847b6e695e554b40362d22190d0300000000000000000713202d3a4653606d798693a0b5c0cbd7e3dccfc2b6a99c8f8376695c504336291d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000010d1925303d4a5663707d8997a2adb9c6d2c8bbafa49a8c8073665c5044382b1f1409000000000000000000000000000000000000000000000000000000000000000000000000061019232c363f48515b626c717d8591969ea5aeb4bcb5afa8a19e948f88827d77716d6764605c555653514b4d4b4a4948484747474848494a4b4d4950535558585f62666a6f747b80858e939aa0a7aebabdb5afa69e9590847b6e695e564c43392e241b0f0600000000000000000000000000000000000000000000020c16202b343f44505c666d78818f949da5afb5bdc5ced6dbe0d7d0cac3bcb8b0aaa8a09e9996918e8c898786868585868788898c8f9196999da0a8acafb5bbc0c7d0d5d8d0c7c0bbada49d938c7f736c61584e43392f21170d00000000000000000000010c18232e39424f59606d79839098a2aab4bdc6ced6d4ccc4bdb5afa8a19e97928d8885827f7c7b7a79797a7b7c7e8184888c91969ea1a8aeb4bcc4ccd4d4ccc4bbb2a9a1968f82786d60594f433a2f21180e0000000000000000000000000000000000050e1925303b444e58606a707d869299a1a8afbabfc6ced4d7d0cac6bfbab8b5afacaaa9a8a7a6a7a8a9aaacaeb4b4b8babec5c8ced5dad7d2ccc5beb9afa79f9691847b6e675d53493f33291f10070000000000000000000000000b151e27333f49535c666d78818e939ea5adb3bbc1c9cfd1cbc6bfbab9b2acaaa7a3aaa29f9e9e9fa2aaa3a6a9acaeb4b8bcc3c7cdd6d5d0cac1bbb3ada59e938e81786d665c50483e332a1f11080000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8caccced0d2d4d8d5d2d1cfc9c5c3bdb9b4aeaba39f98928c847d746d675f574f473f372d251c130a01000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1ced1d2d5dad7d4d1cbc7c2bcb7afaaa29f938e837b6e695f574d43392f241b10070000000000000000000714212d3a4754606d7a8793a0adbad1dce8dccfc3b6a99c908376695d5043362a1d10000b1824313e4b5764717e8a97a4b1bdcad7e3dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000813202d3a4653606d7985929eabb8c4cfccc0b6ac9e9184796d6053463b30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000007111a242d363f49515a616b707c848e939fa2aab1b9bbb2ada69f9c948f89837e7a75716d676663605d555a585756555554545455555656585a535b606265686a6f73777c81868d92989fa4acb1b9bab2aba39f948f837a6e695f564d433a30271d1209000000000000000000000000000000000000000000000000050e192228343f4a545c666d78828e939fa4abb4bcc2cad0d7e0dbd6cdc8c2bbb7b2acaaa9a19e9b9896949992929298949596999b9ea1a8aaacb1b9bbc0c7ccd2d9d2ccc3bdb5afa39c928d81776c605a50463c31271d0f05000000000000000000000007121d27303e45515d676e7c869298a3abb4bcc4cdd6d6d0c7c0bbb2aca9a29f9997928f8b89888786868788898a8d9196989ea0a8adb2babfc6ced6d5cbc2bab2a9a19691847a6e665c50473d31281d0f0600000000000000000000000000000000000009141f29323c464e58606b707d8791969ea5aeb4bcc2c8ced4d6d0cac7c5c0bbb9b7b6b5b3b3b4b5b5b6b8babfc1c5c6cad0d4d9d5d1cbc7c0bbb3ada59d9590847b6e695e554b41382d21170d00000000000000000000000000030c17222d38414b545c666d78818e939ea2a9afb9bec5c9cfd1cbc7c4bdb9b7b4b0b4aeacabaaabaeb3afb2b6b8babfc6c8cdd3d4cfc9c5bebab0a9a29e938e81786d665c544a3f362d21180e000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d7dcd5dad5d2d1cfcecfc9c6c5c2bdb9b7b2acaaa29f99928e867f79706b605c554d453e352d241b130a0100000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d6d6d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d3d2d1d1cbc7c5c0bbb9b0aba59e98928b81796e695f574d453b31271d1209000000000000000000000714212e3a4754616d7a8794a0adbac7d3d6d6d0c3b6aa9d9083776a5d5044372a1d11000b1824313e4b5764717e8a97a4b1bdcad6d6d6cdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d6d6cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd6d6d0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006121f2c3844505c6674818e9ba9b3bec9d2c7b9ada1968a7d7063574d42362a1c11060000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f485059606a6f7a818b92989fa7adb3bbb9b0aba69f9c95908b86827d797673706d676867656362626161606161626263656668656c6f7174777c8084888e92999fa2aaafb6beb7afa8a099928c82796d685f574d443b31281e150b0000000000000000000000000000000000000000000000000000071017232e38424a545c666d78818c9399a2aab0babfc6ced3d8ded8d4ccc7c4bdb9b7b2adaba7a5a3aba39f9f9fa2aaa1a3a5a8abadb2b7b8bdc3c7cbd1d8d5d0c7c0bbb2aba49f918c80786c655b50483e342a1f150b000000000000000000000000000b151e2935404b555f6a707d869299a2aab2bbc2cbd0d8d2ccc4bdb9b3adaba9a19e9b989695949992999596979a9ea1a8aaacb2b9bdc4cad0d7cfc9c0b8b0a8a19791847b6e685e544a3f352b1f160c00000000000000000000000000000000000000020d17202a333c464f59616b707d848e939fa2aab1b8bcc3c8ccd2d4d3d2ccc7c6c4c3c1c0c0c0c1c2c3c5c7cad0d2d3d6d6d2cfc9c7c0bbb5afa9a19e938e837b6e695e574d433a2f261b0f05000000000000000000000000000006111b262f39424b545c666d78818a92979ea5adb3b9bdc4c7cdd2cec9c5c4c0bdbfbab8b7b7b8babebcbfc2c5c6cad0d4d2cdc8c4beb9b3ada69e97928a81786d665c544a42382e241b0f06000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8c8cfc9c6c4c3c1bfbeb9b8b5b2adaba8a09e98928d87817b736d676159514b433b332c231b1209010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c9c9c9c9c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bbb9b5afaca69f9c938e867e756d675e574d453c33291f150b00000000000000000000000814212e3b4754616e7a8794a1adbac7c9c9c9c9c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfc9c9c9c9c3b6a99d9083766a5d5043372a1d10000000000000000000000000000003101c28343f4a5463707d8a97a1adb9c7d2c9bdb2a99c8f8275695e5246382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e474f585f686d757e8690959ea1a9aeb5bbb7b0aaa79f9d98928e8a8583807c7a77757372706f6f6e6d6d6e6e6f6f7071737576797b7e8184888c91959b9fa3abaeb3bbb9b0aba59d9691877f786d675e564d453b32291f160c0300000000000000000000000000000000000000000000000000000006111c263038424b545c666d747f8792989fa6aeb4bcc2c7cdd3d8dfd8d3cec9c5c4bdb9b8b4b2b0b5afacababaeb4aeafb2b5b8b9bdc4c5c8ced3d7d4cec9c4beb6afa8a099938b7f746c665b53493f362c22180d0300000000000000000000000000030c18242f39434e57606b707d879298a1a9b0babfc6ced3d7cec9c5bebab8b3adaba8a5a3a2aba39fa3aba3a4a7abacb2b7b8bdc3c9cfd6d2ccc4bdb9afa69f9691857c6e695f564d42382e231a0d040000000000000000000000000000000000000000050e18212b343d474f59616b707a818b92989fa7acb1b9bbc0c7c8ced1d2d4d2d1cfcecdcccdcecfd0d2d3d6d4d2d1cfcac6c5beb9b5afaba49f97928a81796e695e574d453b31281d140a000000000000000000000000000000000a141d273039424a545c666d757e858f939ea1a9adb2b7bbc2c5c9cfd1d1cdd0cac7c5c4c4c5c6cad0cccfd2d2d1cec9c5c3bcb8b2ada9a29f948f857e756d665c544a423830261c120900000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcbbbbbeb9b8b6b4b2b3adaba8a8a19e9a96918c86807b756e69605c554f4540393129211a110900000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7bdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcc0bbb9b7b5b5afacaba39f9c949089817b726d605d554d453c332a21170d0300000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb7aa9d9184776a5e5144372b1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdb3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bdbdbdbdbdbdb6a99d9083766a5d5043372a1d100000000000000000000000000000000c17232e3a4653606d7985919eabb5c0cccfc4b9ac9f92867b6e61544a3f33281d1207000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353d464e565d606c717b838b92979fa3abafb5bab7b1abaaa39f9b98928f8c89868482807e7d7c7b7b7a7a7a7b7b7c7d7e80818385888b8e9196999da0a7acaeb4bab8b2aca69f9c938e847c736d665d554c443b332920170d0400000000000000000000000000000000000000000000000000000000000a141e263039424b545c606d727d8690949fa2aab0b7bbc2c7cdd2d5dad9d5d2cfc9c5c4c1bfbcc0bbb9b8b8babebbbcbfc2c4c5c9cfd1d4d6d3cec8c4bdb9b2aca49f9691877f736d605b544a41382d241a100600000000000000000000000000000007121d27313c454f59616b707e8691969fa6aeb4bcc1c7cdd3d5cfcac6c5beb9b8b5b2afaeb5aeacaeb5afb1b4b7b9bdc4c5c8ced5d2ccc7c0bbb2ada59d9490847c6f6a5f574d443b30261c110800000000000000000000000000000000000000000000060f19222b353e474f5960686d757e8690959da0a7acafb6b8bcc1c4c5c9cecccdcececfcfcececdccd2ccc8c6c4c1beb9b8b3adaba39f99938e857e746d675e574d453b33291f160b0200000000000000000000000000000000020b151e273039424a545c606c717a828a92979ea1a8abb0b8b9bdc2c4c5c9cecccdcececfcfcececdcccec9c5c4c1bdb9b7b1aba9a19e97928b827b716c605c544a423830261e140a0000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafaeaeb2adaba9a7a6a9a19e9b9896918d8884807a746e69615f57514b433d342f271f180f080000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afb5afacaaa8aba39f9c99928f89837d756e69625b514b433b332a21180f050000000000000000000000000815222e3b4855616e7b8894a1aeb0b0b0b0b0b0b0b0aa9e9184776b5e5144382b1e11000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b0b0b0b0b0b0b0b0a99d9083766a5d5043372a1d1000000000000000000000000000000006121f2c3844505c6673808d99a4afbbc7d4c7bbafa3998c7f73665b5044392e23180c01000000000000000000000000000000000000000000000000000000000000000000000000000109121a232b343c444c525a62696e787e858d92999fa3abaeb3b8b8b4aeacaaa29f9c999992918f8d8b8a898888878787888889898b8d8e909297989b9ea0a8aaacb1b9bab9b1aba8a09e94908981796f6a605c544b433a322921170e05000000000000000000000000000000000000000000000000000000000000020c151e273039424b515b636b707b828b92989ea6abb0b7bbc2c6c9cfd2d5dadad5d2d1cecbd1cbc7c5c5c5c6cad0c9ccced1d2d5d6d3d0cac6c3bcb8b2aca8a09a938d847d726d635b504a42382f261b110800000000000000000000000000000000010b151f2a333d474f59616c707c8490949fa3aab0b7bcc2c7cbd1d3d3cfcac6c5c2bebcbbbfbbb9bbbfbcbdc0c4c5c9ced2d3d0cac7c0bbb5afa8a19e938e827a6f6a5f574e453b32291e140a000000000000000000000000000000000000000000000000071019232c353e474f565d606c717b838a90959c9fa4acacb1b4b7b9bdbdbfc0c1c1c2c2c2c1c1c0bec0bbb9b7b5b3adaba9a19e99928e87817a716c605c554d453b332921170d04000000000000000000000000000000000000030c151e273038424a505a61686e757e858c91969c9fa6abadb2b5b7b9bdbdbfc0c1c1c2c2c2c1c1bfbebdb9b7b4b2acaba7a09d97918c857e756e68615a504a423830261e140c020000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a1a9a19e9c9b999797928f8b8884807c77736d68615f57534d4540393129231d150d06000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919ea3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c999992908b86827c76706b615e575145403a312920180f06000000000000000000000000000915222f3c4855626f7c8895a2a3a3a3a3a3a3a3a3a3a39e9185786b5e5245382b1f12000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a3a3a3a3a3a3a3a3a3a39d9083766a5d5043372a1d1000000000000000000000000000000003101c28343f4a54616e7b87939facb9c3cecbc0b5ab9e9184786c60544b4034281d1307000000000000000000000000000000000000000000000000000000000000000000000000000000081119222a323a414550575f666c717a80868e92999fa2aaacb1b7b8b8b4aeaca9aba39f9d9b9a98969595949493949495959698999b9d9fa2a9a7aaacb2b7b8b9b5afaca7a09d96918a837c746d676058504a4239312820170f060000000000000000000000000000000000000000000000000000000000000000030c151e2730394045515961696e777f868f949c9fa6abb0b8b9bec4c5c9ced0d2d3d7dcd8dcd7d4d2d2d2d3d6dbdcd6d3d2d0d0cac6c5bfbab8b1aca8a09e96918880796f6b625b51443f382f261d140a000000000000000000000000000000000000030d18212b353e47505a616a6f7b828c92989ea6abb0b9babfc5c7cbd1d2d2d1cecbc9d1cbc7c5c7cbd1cacdd1d2d2d1cbc7c5bfbab5afaba49f96918a81786d685f584e453c332a20170c020000000000000000000000000000000000000000000000000007111a232c353d444c525a62696e767d838a8f939a9da0a7a8aaacb2b1b2b4b4b5b5b5b5b4b4b3b2b6afacaaa8a9a19e9b97928d87817c746d68615a514b433b332921170f050000000000000000000000000000000000000000030c151e2630383f4450565e616c717a7f848a8f949a9ea1a9a8abacb2b1b2b3b4b5b5b5b5b4b4b3b1b2acaba7a8a19e9b95908a847f7a716c615e5650443f3830261e140c02000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696959594949791908e8c8a8885827f7c78736f6a66615e56534d46423b342f271f18120b0300000000000000000000000000000000000000000000000a1724313d4a5764707e8a969696969696969696969696968a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919696969696969696969696969285786c5f5245392c1f12000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969695959992918f8d8986837f7a756f6b636059524d453f352f281f170e0600000000000000000000000000000916222f3c4955626f7c88959696969696969696969696969285786b5f5245382c1f12000b1824313e4b5764717e8a969696969696969696969696968d8074675a4d4134271a0e000713202d3a4653606d7986939696969696969696969696968e8175685b4e4235281b0f000c1926333f4c5966727f8c9696969696969696969696969083766a5d5043372a1d10000000000000000000000000000000000c17232e3846535f6976828f9ca7b1bcc8d1c7b9aca1968b7e71665c51453a2f24180d0200000000000000000000000000000000000000000000000000000000000000000000000000000007101820282f353f454d545b60686d737b81868d92989da0a7aaacb2b5b8b8b6b5aeacaaa8a6a5a3a2a2a1a0a0a1a1a2a2a3a4a6a8a9abadb3b4b7b9b7b4aeacaba39f9b95908b847e766f6a605d554e443f3830271f160e0600000000000000000000000000000000000000000000000000000000000000000000030c151e272e343f474f575f656c727b82898f949c9fa6abadb3b7b9bdc1c4c5c7cbd1cccdcdcecfcececdcccbd0cbc7c5c3c1bebab8b4aeaca7a09d96918b847d746d676059514840332d261d140b0200000000000000000000000000000000000000060f19232c353e47505860696e787f868f949c9fa6acaeb4b9bbbfc3c5c6cad0cccdcececfcfcececdccd0cbc7c5c3bfbbb9b4aeaba49f99938d847d746d665e564e463c332a21180e0500000000000000000000000000000000000000000000000000000008111a232b323a414550575f616c70787d82878d9095989b9ea0a8a4a5a7a7a8a9a8a8a8a7a6a5aca49f9e9b9997928e8a85807b756e6a605d5650454039302920170f0500000000000000000000000000000000000000000000030c151e262e343e444c525a61686d73797d82888d9196989b9ea1a8a4a5a7a7a8a8a9a8a8a7a6a4a8a19e9b9796918e89837e79736d68625a524d443e342e261e140c0200000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8989888887868583817f7e7b7875726f6c6562605854524c46423b363129231d150d07010000000000000000000000000000000000000000000000000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89898887868482807d7a76726d68636059544f46423b3329241d160d050000000000000000000000000000000916232f3c4956626f7c898a8a8a8a8a8a8a8a8a8a8a8a8a8a86786c5f5245392c1f12000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8074675a4d4134271a0e000713202d3a4653606d78868a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f000c1926333f4c5966727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a83766a5d5043372a1d100000000000000000000000000000000006111c2a36424d5763707d8a95a0acb8c4cec9bdb2a89e9184796d60554b4035291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333c424a50565d60696e757b80858c9195999ea0a8a9abaeb4b4b6b8b7b5b3b1b0afaeaeadadadaeaeafb0b1b3b4b6b8b7b5b3b2acaaaba39f9c99928e89837e79716c626058514b433d342e261e150d05000000000000000000000000000000000000000000000000000000000000000000000000030c151d2328353e454d535b60696e767c82899094999ea1a9abacb2b5b7b9bbbfbfbfc0c1c1c2c2c1c0bfbfbebfbab8b6b4b3adabaaa29f9b95918b847e796f6b605d554f473f3628221c140b0200000000000000000000000000000000000000000007111a232c353e464e575e666c727b828990949b9fa3aaacaeb5b6b8babfbebfc0c1c1c2c2c1c1c0c0bebfbab8b6b5aeacaaa29f99938e87807a706c605c544c443c342a21180f060000000000000000000000000000000000000000000000000000000000081119202830353f454d535a61666c70767b8084888b8e91969697999a9b9b9c9c9b9b9a9998979a93918e8c8985817d79746e69625f58524c443e342e271e170e05000000000000000000000000000000000000000000000000030c151c2328323b414650565e61666d71767c8184888c8f91969697999a9b9b9c9c9b9b9a99989696918e8b8784817c77716d66615e565046413b3228231c140c020000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b7a7a78767473716e69686562605b53544e4746413a36312a261f18120b0300000000000000000000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7b79777573706d6765615e56544f48443d3630292118130c04000000000000000000000000000000000714212d3a4754606d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6255483b2f221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6356493c3023160900000000000000000000000000000000000e1a26313b4653606c7883909da8b2bdc9cec4b9aca1968b7f72675d51453a3025190c0300000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212a2f383f444c52575f62696e737a7f84888c9196999c9fa2aaa8aaabaeb3b1b2b3b3b4b4b5b5b5b4b4b3b3b2b1b5afacaba9a6a8a09e9b99928f8b86817c77716d66615a544e45413a3128231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000030b1218232c333c414950575f616b6f767d83888d91979a9ea1a8a8aaacaeb5b2b3b3b4b5b5b5b4b3b3b2b1b4aeacaaa7a9a29f9b98928e8a847e78726d676059514b433d352d2417110a02000000000000000000000000000000000000000000000008111a232c343c454d545b60696e757c83898e92989c9fa3aba9acaeb4b1b3b4b4b5b5b5b5b4b4b3b1b4aeaca9aba39f9c98928e87817c746d67615a514b423a322a22180f0600000000000000000000000000000000000000000000000000000000000000070e161e2429333c424750545b6064696e73777b7f818487898a8c8d8e8e8f8f8f8e8e8d8b8a898684827f7c7975706d66625f57534e45413a3228231d150c050000000000000000000000000000000000000000000000000000030a1117202930363e444c52545c60646a6f74787b7f828487898a8c8d8e8e8f8f8f8e8e8c8b898784817e7b78746f6b64605c54524c443e3630292017110a02000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d6d6769686664625f57585553504947433c3936302a261f1a140c07010000000000000000000000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000916222f3b4854606b707070707070707070707070707070706b6055483c2f231609000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d66696663605d5554524c48443d38332a251f170f070100000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070706b6155483c2f231609000714202d3a46525e696e7070707070707070707070707070706e6a5f53473a2e2114080005121f2b3744505b656c7070707070707070707070707070706f6a5f53473b2e211508000714212d3a46535f696e70707070707070707070707070706f6b6054483b2f221509000000000000000000000000000000000009141f2b3744505b65717e8a96a0acb9c3cec9bdb2a89e9285796d60564c41362a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f181d262d333a41454d53575e61676d72777b8084888c8f9298989b9d9fa2aaa4a5a6a7a7a8a8a9a8a8a7a7a6a5a4aba39f9e9c999696918e8a86827e7a756f6b64605c545047433d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a212a2f383f444d535960636b70767b80858a8e9196989b9d9fa3aba5a6a7a7a8a9a8a7a7a6a5a4aaa39f9d9a9897928e8a85827d78716d66605c554f454039312b231b1206000000000000000000000000000000000000000000000000000008111a222b333b424a50575f626b6f767c81868b8f92999a9c9fa2aaa4a6a7a7a8a8a8a8a7a7a6a4aaa39f9c9999928f8a86817b756f6a605d5550454039302920181006000000000000000000000000000000000000000000000000000000000000000000040c1319212a31373e424a5053575f6166696e7275777a7c7e7f8181828282828181807f7d7c7a7775726f6c6664605c54534d47433c3530282018120b030000000000000000000000000000000000000000000000000000000000060e171e252a323a41464a5053585f62676a6f7275787a7c7e7f8081828282828181807e7d7b7874716e696863605953514b46413a322a251f170e0600000000000000000000000000000005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636362626161605c555b595755534d4c4946443f3837322d2a251e1a140e0903000000000000000000000000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e110500000000000000000000000000000000000000000000000000000000000713202c38444f59606363636363636363636363636363636360594f44382c2014070005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545a5654514b4746413a38322c27211a140d050000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636361594f44382c2014070005111e2a36424d575e61636363636363636363636363636363625f584e43372b1f120600030f1b27333f49535b60636363636363636363636363636363625f584e43372b1f13060005121e2a36424d575f6163636363636363636363636363636360594f43382c1f13070000000000000000000000000000000000030f1b27333f4953606d7984919ea8b1bdc8cec4b9ada1978c7f73685e52463c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c22282f353c42474d52555d60656a6f73777c7f8285888b8e909298959799999a9a9b9c9c9b9b9a9a999997969992918f8c8a8784817e7a75716e6863605953514b423e373229241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181d262d333b42464f545960636a6e73797d8184888b8e9192999698999a9a9b9c9b9b9a999898979892908e8b8985817d7975706c66605c54514b433d352f271f1910090000000000000000000000000000000000000000000000000000000008101920292f383f444d535960636b6f757a7f82868a8d9092989698999a9b9b9c9c9b9b9a9998969892908d8a86827e7a746e69625f58514c433e342e271e170e06000000000000000000000000000000000000000000000000000000000000000000000002080f181f262b2f383f44464d5355575f616568686d6f717274747576757575747372706f6d67686662605b5453514a47423c373129241e160e070000000000000000000000000000000000000000000000000000000000000000050d141920283035383f44464e5355585f626568686d6f717274747575767575747371706e696864615e5756544f464540393630282019140d0500000000000000000000000000000000010d1925303b444c52545757575757575757575757575757575757575757575757575757575757575757575757565655555453514b4e4c4b4847423f3c3937332d2b27201e19130e090300000000000000000000000000000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e02000000000000000000000000000000000000000000000000000000000004101c27323d474f5456575757575757575757575757575756554f473d33271c100400010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575656555453504a4d4a4745413a3936302c27211c160e09030000000000000000000000000000000000000000010d1924303a444c525457575757575757575757575757575757554f473e33281c100400020e1a25303b454d525457575757575757575757575757575755534e463c31261a0f0200000b17222d384149505357575757575757575757575757575755534e463c32261b0f0300020e1a26313b454d5355575757575757575757575757575756544f473d32271b0f030000000000000000000000000000000000000b17222d3844505c66727e8b95a0acb8c2d0c9beb3a99f92857a6d61584e42392e23180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931373b42464c5154585f62666a6f7376797c7f81838587898a8c8c8d8e8e8f8f8f8e8e8d8d8c8a8987868482807d7a7775716d6765615e56544f46454039302b272018130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141b222731363d43484f54575f62666d7074787b7e828486888a8c8c8d8e8e8f8f8e8d8c8c8b8a888683817f7c7975706d6764605b54504a4540393029241d150d07000000000000000000000000000000000000000000000000000000000000070e171d262d333c42474f54596063686d72767a7d80838588898b8c8d8e8e8f8f8e8e8d8d8b89878683807d7a75716d67625f57534e45413a3128231d150c050000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1d262d33383c4246484d535558565e61636466676868696968686766656462605d55595653504a4644403937312b262019130c040000000000000000000000000000000000000000000000000000000000000000000002080e161e25292e34383c4347484e535559565d616364666768686969686867666563615e575854534d4948443d38342e2a251e160e080200000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a494948484747454041403e3b3a37312f2d2b27221b1b15110d08020000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f1409000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484846443f403d3a39352f2d2a251e1b16100b05000000000000000000000000000000000000000000000008131e28323a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009141f2a333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d342b21160a0000000000000000000000000000000000000006111b28343f4a54606d7884919da6b0bdc7cfc5baaea2988d80746a5f544a4034281f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b131920262b30363a4145474e5355585f6266666d6f727577787a7c7e7f80808181828282818180807f7e7c7b79787673706d686864605d5554524c48433d38342e271e1b160d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a32383d44484e53545c606367696e727577797b7d7f8080818282828180807f7e7d7b797774726f6d6664605d5553504a443f38342e271e18120b030000000000000000000000000000000000000000000000000000000000000000050b141c222831373d44484f54565e6165676d717376797b7d7e808181828282828181807e7c7b797673706d6864605d55534d47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141c22282b31373a3b4246484c4c52545657595a5b5b5c5c5c5b5b5a58575654514c4c4946443f3a38342e2b261f1a150d080200000000000000000000000000000000000000000000000000000000000000000000000000040c13191c23282c31373a3c4347484c4c52545657595a5b5b5c5c5c5b5b59585654524d4b4846423c3b38322c28231d19130c050000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a3a38342f33312f2e2b2622201f1b17110f0a0501000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000050f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e302d2c2924201e19130f0a0400000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e03000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e04000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f0400000000000000000000000000000000000000000c17232e3844505c66707d8a949fabb5c0cccabeb4aa9f92867c6f665c51443d31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a1f252a2f35393c4347484e5355545c606265686a686d6f7172737474757576757574747372716f6e6d66696663615e565754514c4746413b38322c28231d150c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21272c33383c42474a505357575f616568666d6e70727374747576757474737271716e6d66676563605c5453514b46443f38342e28231d150c070100000000000000000000000000000000000000000000000000000000000000000000020a111720262b32383d44484c5254555d606467666d6e70717374747575757574747371706e6d666663605d5653514b47423c373129241e160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f262b2d31363a3b3f414647494b4c4e4e4f4f4f4f4e4e4d4c4a494745413f3c3938332d2c28231c1a150f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f262b2e31373a3c3f414647494b4c4d4e4f4f4f4f4e4e4d4b4a4846423e3b3a36312f2c271f1c18120d080200000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2e2d2c2923262422211e1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000007111921272c2f303030303030303030303030303030302f2c27211a11080000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c28232321201d1813110d080200000000000000000000000000000000000000000000000000000000040e161e24292c2d303030303030303030303030303030302f2c28211a11080000000000050e171f252a2d2e3030303030303030303030303030302f2e2b2620180f060000000000020b141b22272b2d3030303030303030303030303030302f2e2b26201810070000000000060f181f262a2d2e3030303030303030303030303030302f2c272119100700000000000000000000000000000000000000000006111c28343f4a54616c76829099a4afbbc4cfc5baaea3999083786d60584e43392f24180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1e24292c31373a3c4347494a505355585b565e61626466666767686969686867676666646361605c54595754524c4a4745413b3936302c271f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3137383f44464a4d535558545c6061636566676768696868676665656462605c54585653514a4745403938332d28231c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000060b151a21272c32383a4146474c515457545c6062636566676868696968686766656361605c545754524c4745403a37312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e21262a2d2e3036393a3c3e3f4141424342424241403f3d3c3a39352f2f2d2b28221f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151b1f21262b2e2f3035393a3c3e3f4141424243424241403e3d3b3a36302e2d2a25221f1b16100c070000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242323222221201f1c1819181514120e090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242421201e19140d050000000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242323201c160f0800000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242423232221201f1c17171413110d07050100000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242423201c16100800000000000000050d141a1e202124242424242424242424242424242422211f1a150e0600000000000000020a11171b1f2024242424242424242424242424242422211f1b150e0700000000000000060e141a1e2122242424242424242424242424242423221f1b160f0700000000000000000000000000000000000000000000000c17232e38424f59626f7c87939fa8b2bdc9cbbfb4aba0958c80736a60554b40352921180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20262b2e32373b3c3f4446494c4e4c5254565759595a5b5b5c5c5c5b5b5a5a5957565453504a4d4a4746413e3a39352f2d2a251e1b16100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c20262b2e34383a3d4246484b4a5053555759595a5b5b5c5c5b5a595958575553504a4c494644403a38352f2b28221c17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3036393a4145474a4a5053555658595a5b5b5c5c5b5b5a5a58565453504a4a4745413a39352f2b261f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141a1e2122252a2d2e30313334353536363535343332312f2d2c292423201f1c1712100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151b1f212224292d2e30313334353536363535343332302e2d2a2521211e1a15130f0a04000000000000000000000000000000000000000000000000000000000002080d111414171717171717171717171717171717171717171717171717171717171717171717171716161515141413100c070b080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171414110e090200000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171614100b0500000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171615151312100c0607060401000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b0500000000000000000002090e1114141717171717171717171717171717171514120f0a0300000000000000000000060b0f12131717171717171717171717171717171615130f0a0400000000000000000003090e12141517171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000006111c26303e4754606a74808d96a1adb9c1ccc6bdb1a79f92877c6f675d51453d332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11151b1f21262b2e2e34383a3c3f42414647494b4c4d4d4e4e4f4f4f4e4e4d4d4c4b494846443f403d3a3936302d2c2924201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282c2d31373a3b3f3f4446484a4c4d4d4e4f4f4f4e4d4d4c4b4a4846443f3f3c3a38342e2c29241f1c17110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1e252a2d2f35393a3e3f4446484a4b4d4e4e4f4f4f4f4e4e4d4b494846443f3d3a39352f2c29241d1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415191d202123242627282829292928282725242321201d191613120f0b060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515191d2021232426272828292929282826252321201e1a1514120e090703000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0808060200000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a090907030000000000000000000000000000000000000000000000000000000a151e2b37434e58606d7984919ea5afbac4cfc3bbafa3999184796d60594f453c32281e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f12151b1f2123282b2d2f323035393a3c3e3f40414142424342424141403f3e3c3b3a38342e302e2d2a2521201d1914110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e11171c1f20262b2d2e2e34383a3b3d3f4041414243424141403f3e3e3b3a38342e302d2c28231f1d18120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2024292c2d2e34383a3b3d3e404141424242424141403e3d3b3a38342e2d2c2924201d18130e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d1113141618191b1b1c1c1c1c1b1b1a1917161413110d08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608080d1113141618191a1b1c1c1c1c1b1b1a18171514120e09070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1b27323c45515d67707d8a939ea8b2bdc7cbc0b5aba0968d80746b60574d443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1315171c1f20222525292d2e2f313333343435363635353434333331302e2d2b28232421201d191413110d080502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131a1e212223282c2d2e30323334343536353534333232312f2d2b282323201f1c1813100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113191d202123282b2d2f30323334353536363535343332302e2d2b282321201d1913110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f100f0f0f0e0d0c0a0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f0f100f0f0e0d0b0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313131312070604000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000002070b0d0d131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000003070b0d0e13131313131313131313131313131312110f0b07010000000000000000000000000000000000000000000000000000000000000000000000000000000a15202935404b55616b75818e96a0abb5c0cbc7bdb2a89f93887d70695f564c42392e2318120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b1012131619191d2021232426262728282929292828272726242321201f1c17171413110d0806040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e121415171c1f2022242626272828292928272626252422201f1c17161312100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d111314171c1f2022232526272828292928282727252321201f1c171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b2020202020202020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202020202020202020202020201e1413100c0701000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202013100c07000000000000000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201b1a18140f080100000000000000000000000000000001080e1317191a2020202020202020202020202020201e1e1b17120c050000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f3a434f59606d7a849199a3afbbc1ccc3bbafa49a92857b6e685d544b403428241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709080d1113141618191a1a1b1b1c1c1c1b1b1a1a191816151312100b0607070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507060c1012131517191a1a1b1c1c1c1b1a1a191817151312100b0607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b1012131517181a1b1b1c1c1c1c1b1b1a1816151312100b0606040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708090b0c0d0e0e0e0d0d0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202527282d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b201f1d18120b03000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000020b12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d170f06000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313e45515d676f7c87929fa6b0bac3ccc0b6aca19791847a6d665c514540362c241b120a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0e0e0f0f100f0f0e0e0d0c0b09080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0c0d0e0e0f100f0e0e0d0c0b0b080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0d0e0e0f0f0f0f0e0e0d0b0a0807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080e1114141618191a1a1b1b1a1918161414110e080806020000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e111414202020202020202020202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151d252c313435393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393939393939393939393939382d2c29241d150d03000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939392c28231d150c03000000000000000000000000000000000000000000000000000000000a141c242a2f32333939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000a141c242a2f3334393939393939393939393939393939393433302b251d140b010000000000000000000000010b141d242b3033343939393939393939393939393939393837342f2821180f0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c55606a727f8c949ea8b1bbc5c7beb3a9a0969082786d605b51483e362d241b13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191e2021232526272728272726252321201e191514120f0905010000000106090b0c13131313131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d1811090000000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646463f3e3a352d251b1107000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c4646464646464646464646464646464646453a38352f271f150b0100000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464638342e271e150b00000000000000000000000000000000000000000000000000000008121c262e353b3f4046464646464646464646464646464646433e372e251b1005000000000000000000000000000000000000000000000008121c262e363b3f404646464646464646464646464646464641403c362f261d1308000000000000000000000008121d262e363c3f414646464646464646464646464646464543403a332a2110060000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58606c78828f95a0a9b3bdc7c5bbb2a89f948e81746d635a50483f362d2517110a020000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0b0b0c0c0b0a0a0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0a0b0b0c0b0b0a0a09090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0a0b0b0c0b0b0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0b0c0b0a0a0908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171b1f2023252a2d2e30313333343434333332302e2d2a2522211f1a15110d0802060d121518182020202020202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e39393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353535353535353535353535353514745403931271d12070000000b17222c353e44494a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535345403930271d120700000000000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534e4c4841382f251a0f03000000000000000000030e19242e3840474c4d53535353535353535353535353535351504b453c3322180e03000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505b666d7a839197a2abb5c0cbc3bab0a69e938c7f736c615a51483f3727221b140b0200000000000000000000000000000000000000000000000000000000000000000003050609070c10131315161718181818181716161414110e090807050200000000000000000000000000000000000000000000000000000000000000010406070d110707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d1113141616171718191818171616151513120f0b06090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131415171718181918181717151413100d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608060b0f12131416171718181918171615151413100d070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151b1b22272b2d2f3036393b3c3e3f4041414140403f3d3b3936302f2e2b26201e19130e11181d2224252d2d2d2d2d2d2d2d2d2d2d2d22211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b6060606060606060606060606060595751493f35291e120600000000000000000000000000000000000000000000000000000000030f1a26313c464e535560606060606060606060606060606060605e53514b43392f24180c000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f514b43392e23180c0000000000000000000000000000000000000000000000000007131f2a35404a52585a6060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000000000000000007131f2a36404a52585a606060606060606060606060606060605a58534a41362b1f140200000000000000000007131f2b36404a52585a6060606060606060606060606060605e5c564e45342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545d686e7b859299a3afbbbfc8c2b8afa59c918a7e716c625b514940332d261d140a00000000000000000000000000000000000000000000000000000000000104060b0f12131518181c1f20222324242525252524232221201e19181514120e090603000000000000000000000000000000000000000000000000000001070d1113141a1d1413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406080d111314171a191d202122232424252525242423232221201f1c1718161413100c0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e11141417181d1f20222324242525252524232220201d18181514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000010407060b0f12131518171c1f2021232324242525252423222120201d18151312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f161c20262b2d3337393c3f414647494b4c4d4d4e4e4d4c4b494746413f3b3a37312d2a251e1a1b23292e31323939393939393939393939392e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246535353535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b605d554b4035291d1004000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5c554b4034281c10040000000000000000000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301f14090000000000000000000b1723303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b686056463c31261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424c565f69707d87929fa3adb6c0c8c1b7ada49f92877e726d625b52443f382f261b1106000000000000000000000000000000000000000000000000000001080d1113171b1f20222523282c2d2e3031313132323131302f2e2d2a252521211e1a15130f0a040000000000000000000000000000000000000000000000060b13181d2020262a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070d101314191d20212427252a2d2e2f3030313232323131302f2f2e2d2b28222523201f1d1815120f0a070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f13151a1e20212424292c2d2f3031313232323131302f2d2c29242522211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000002080d111314171b1f20222522282b2d2e2f30313132323231302f2e2d2c292422201f1c17110f0a04000000000000000000000000000000000000000000000000000000000000000000000000000002080d161b21282c3237383f4446494c4d52545658595a5a5b5a5a59585654524c4c4847433c3936302b26252d343a3d3f4646464646464646464646463b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d525f606060606060606060606060606060585651483f34291d11050000000000000000000000000000000000000000000000000000000000000000000000000e1b2734404d59656f757979797979797979797979797979726d62574a3e3125180b000000000000000000000000000000000000000000000000000000020b1a232e3a47535f6a6f7979797979797979797979797979797979786d675d5145382c1f1306000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000c1926323f4b58636e73797979797979797979797979797979766c5f5346392d2013000000000000000000000000000000000000000000000d1926333f4b58646e7379797979797979797979797979797979746e64584c3b3025190e0200000000000000000d1926333f4c58646e74797979797979797979797979797979787268584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57606b717e8b919ba4aeb6c0c8bfbbafa39992877f726d635c504941382d22170b000000000000000000000000000000000000000000000000040a0f13191d2022272b2d2f312e34383a3b3c3d3e3e3f3f3e3d3d3c3b3a3630322e2d2a25221f1b15100c0701000000000000000000000000000000000000020a11171d24292c2d33372e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013181d202024292d2e30333036393a3c3d3d3e3e3f3e3e3d3d3c3c3b3938332d31302d2c2924211f1b15130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11161b1f22252a2d2e312f35393a3c3d3d3e3e3f3e3e3e3d3b3a39352f312f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000040c13191d202122272b2d2f312d3338393b3c3d3d3e3e3f3e3d3d3c3b3a39352f2f2d2b28231c1b15100c070000000000000000000000000000000000000000000000000000000000000000000000050c131921272c33383c43474950535659565e616364666667676766666563615e565855534e4746413a373129373f464a4b5353535353535353535353534846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b68758186868686868686868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a141d2c38434e58626f7c878686868686868686868686868686868684796d6053473a2d201407000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a667380868686868686868686868686868686796c605346392d201300000000000000000000000000000000000000000005121e2a36424d5767738086868686868686868686868686868686807467564d42362a1e11050000000000000004111d2935414c5667748086868686868686868686868686868684786a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626c727f8c929ca4aeb6c0cbc0b5aba399938b7f736e605b53493f33271b0f03000000000000000000000000000000000000000000050b10161b1e24292c2d3337393c3e4140454648494a4b4b4b4b4b4a4949474642413e3b3a36312e2b271f1c18120d0801000000000000000000000000000003090c141c23282f35393a40443a3935302820160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d3035393a3d404241464749494a4a4b4c4b4b4a4949484846443f403e3c3a38352f2e2b26221f1b16100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20272b2e30363a3b3e41404547484a4a4b4b4c4b4b4a4a48474540413e3b3a37312d2c28231d1a140f0a04000000000000000000000000000000000000000000000000000001090e161e24292c2d2d3337393b3e413f444647494a4a4b4b4c4b4a4948484745403f3c3a38342e2b271f1c18120b030000000000000000000000000000000000000000000000000000000000000000060e171e252a32383e44484e54535b60626669686e6f717273747474737372706e686965625f5854524c47423c353f4951565860606060606060606060606055534d453b31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976797979797979797979797979797979726d62564a3d3124170b0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9393939393939393939393938c7f7265594c3f3226190c000000000000000000000000000000000000000000000000000006111b262f384854606a75828f9993939393939393939393939393948a7e71675d5145382c1f1306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d9393939393939393939393939386796c605346392d20130000000000000000000000000000000000000000000714202d3a46525e697784909393939393939393939393939393918477695e52463a2d201407000000000000000713202c3945525d687783909393939393939393939393939396887b6f6255483c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47505a626d73808d929da4aeb6bfc7bdb5aba49f918c80746c655b5044372b1f120500000000000000000000000000000000000000040b10171c21272c2f35393a3f4446484b4d4b5153555657575858585857565554524d4d4b4846423c3b37322c29231d19130b06000000000000000000000000060c141a1e262e343a4045474d504746413a32281f150c0200000000000000000000000000000000000000000000000000000000000000000000000000000003090f141a1d23282c2f35393a3e4146474a4d4f4c52545556575758585857575656555453504a4d4b494745403c3a37312f2c271f1c18120d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e252a2d32373b3c4246474a4e4b5153555657575858585857565553514b4d4b4847423d3a38342e2b261f1b150e090300000000000000000000000000000000000000000000000009131b20283035393a3d3f4446484b4e4a505354565657575858585756555453514b4b4846443f3837322c28231d150c070100000000000000000000000000000000000000000000000000000000020a1117202930363d44484f55585f62656c6f7275787a7c7e7f80808181807f7e7c7a7876726e6a66615e56534e454146515b62656c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000000b17222d38414f59626f7c89939e9f9f9f9f9f9f9f9f9f9f9fa4999083766c61554b4035291d1004000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d999f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000000000000000000000000815212e3b4854616e7b8795a09f9f9f9f9f9f9f9f9f9f9f9fa096877b6e6154473b2e211409000000000000000714212d3a4754606d7a86939f9f9f9f9f9f9f9f9f9f9f9fa8988c7f7265554b4035291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f48515b636e74808d929ca4adbbc0c7bdb5afa39b928c80776c605346392d201306000000000000000000000000000000000001080d161b22282d32383a41454749505355585a545c606163646464656564646362615e565a5854534d4947433d38342f29241e17110a020000000000000000030a11171f252a30383f444b5153595d54524c443a31271e140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1f252a2e34383a4045474a4c5254575a5b565e6162636364656565646463626261605b545a585653514b4847433c3b38322c29231d19130b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181f252a3036393d4347494d5254575a555d606263646465656564646362605d555a5855534d4a4645403937312b27201a150b060000000000000000000000000000000000000000000006111b252d323a4145474a49505355585a545b60616263646465656564636261605d55585553504a47433c38342e271e18120b030000000000000000000000000000000000000000000000000000020b141b2227323a41464f545961636a6f73787c7f828587898b8c8d8d8e8d8d8c8b898785827f7b77726d68625f57514c4a56626d7279797979797979797979797976695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8acacacacacacacaca5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000030f1b27333f4953616b7682909ca5afacacacacacacacacb4aa9f93877c6f625a5043392f24180c00000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6acacacacacacacacac9f9386796c605346392d2013000000000000000000000000000000000000000003101c28343f4a5465717e8b98a7b1acacacacacacacacacacb2a8978a7e7164574b3e30251a0e020000000000000a1724303d4a5763707d8a99a4afacacacacacacacacacaca99c8f8276675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232d363f49525c606c77808d929ca4afb5bdb9b1aaa39f948f857b6e6255483b2f22150800000000000000000000000000000000040c131921272c33393d43484c5154535b6062646769666d6e6f70717172727170706f6e69696765615e5756544e47454039352f27221b140b07000000000001070c151c232831363e424a50555d60666a615e564c433930261c11060000000000000000000000000000000000000000000000000000000000000000000000060c141a20262b3036394045464b515357565d616366686a686d6f7070717172717170706f6f6e6c6668666463605d5555534e4948433d38342f29241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000001070d161d242930363b4146474e5456575e61646769676d6f7070717172717171706e6d676a6764625f575653514b46423c37322b261f17110a0200000000000000000000000000000000000000010d18232d373f444c525456535b6062646769666c6e6f70707171727170706f6e6d67686562605c54544e464540393029231d150d06000000000000000000000000000000000000000000000000020b141d262d333d444c525960636b70767c8084898c8f9297969799999a9a9a9999989697928f8b88847f7a756e6a605d554f5865727f8686868686868686868686867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9b2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000000010b151f2b3744505b65707d8a949fabb8b9b9b9b9b9b9b9baaea2988e81746a5f54483e31271d120700000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3b9b9b9b9b9b9b9ac9f9386796c605346392d2013000000000000000000000000000000000000000006121f2b3844505c6675828e9ba8b5b9b9b9b9b9b9b9b9b9b9b4a79a8e817467574d42362a1e1205000000000004111d2935414c566773808d9aabb5c0b9b9b9b9b9b9b9b9b9ac9f92867a6d6053473a2d20140900000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b242d374044505b656c74808c929fa4abb4aea7a098928b827a6e695f53473a2e211408000000000000000000000000000000070d161e242932383e44494f54555d6064656c6f71747678797b7c7d7e7e7e7e7e7d7c7c7a787674716e696662605853514b45413a332d261d181008020000040c13181e262e343b42464f545c60676d73776d685e554b42382e231712090000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373b42464b5153555d606467686d70737577787a7c7c7d7d7e7f7e7e7d7c7c7b7b79777573716f6d6765625f5856544f47454039353027221b140b06000000000000000000000000000000000000000000000000000000000000000000000000040c12181f282f353b42464c525458606267696e717476787a7b7d7d7e7e7f7e7e7d7d7b7a787674716e696763605c54534d47433c373128231c140c0600000000000000000000000000000000000006121e29343f4951565d606366656c6e71747678797a7c7d7d7e7e7f7e7d7c7b7b7a7774726f6d6662605853514b423d342f271f18100600000000000000000000000000000000000000000000020c141d262f383f444f565e616b6f777d83888d9196999c9fa2a9a4a5a6a7a7a7a6a6a5a9a29f9c9896918c86817b736d6760595865727e8b93939393939393939393887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1c6c6c6c6bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000007121d2834404a54606c7883909da6b0bbcac6c6c6c6c9bdb2a89f92857a6e61584e43362c1f150b0100000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0c6c6c6c6c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5c6cec9c5c4c5c9cec4b7aa9e918477695e52463a2d20140700000000000613202c3945525d687783909daab6c3d2cec9c5c4c5c9c7bbaea3998a7d7064574a3d31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b2527333f49535b606e737f8c9399a2aaa49d9590867f756d685f574d42372b1e120600000000000000000000000000000910191f282f353d44485055596063676d7174787b7e8083858688898a8a8b8b8b8b8a8988878583807e7b77736f6a65605c55514c443f382f2a2219130c04070d161d242930383f444d535961666d717980837a6d675d544a3f3428241b1108000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474d52555c6064676d7174777a7d808283858788898a8a8b8b8b8a8a89898887868482807e7c7976726f6a6863605953514b46413a332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000050d161d2429313a41454d52565e61666a6f74787b7e8183858688898a8a8b8b8b8b8a8988868583807e7b7874706d66615f57544e47423c342e261e180f0800000000000000000000000000000000000915222e3a46515b62686d707376797b7e818384868789898a8a8b8b8b8a8988878684817e7c79746f6a64605c544f454039312a221810060000000000000000000000000000000000000000000a141e262f384149505960686d747d838a90949a9ea1a8a8abadb3b1b2b3b3b4b4b3b2b1b3adaba9a8a09e99928e86807a706b635b65727e8b989f9f9f9f9f9f9f9f94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adb9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced2d2cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000c18242f3844515c66717e8a95a0acb8c2cdd2d2d9d0c7b9aca0968c7f72685e52463c32241a0d030000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd2d2d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000091623303c4956636f7c8997a2adbac6ccc4bdb9b7b9bdc4c5b9aca096877b6e6154483b2e21150900000000000714212d3a4754606d7a86929facb9c5ccc4bdb9b7b9bdc4bfb5ab9a8d817467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000091317222d384149505c636d737f879298a19e928d837c726d615e564d453c31261a0e02000000000000000000000000010a121a222b313a41454f545a61646b6f747a7d8185888b8d9091939a9697979798989797969597928f8d8b8783807c77716d67605d555049413c3429251e160e13181f282f353d424a50575e616b70787e858c9083796d665c504440362d231a1007000000000000000000000000000000000000000000000000000000020a11171e262e343b42464e53575e61676d70757a7e8184868a8d8e9092989596969798989897979695959892908f8d8b8986827f7c78746f6b64605c55524c443f382f28231c140c0400000000000000000000000000000000000000000000000000000000000000070f171f282f353e434b51575e61686e73777c8084878a8d90919795969797989898979796959792908d8b8884817d79736e69626058534d443f38302a211a1109000000000000000000000000000000000b1824313e4a56626d727a7d7f8285888b8d90919299959697979898989796959496918e8b8885817c76716d666059514b433c342a22180f050000000000000000000000000000000000000006111c263038424a535b606b707a818990959c9fa6abadb2b5b8babebebfc0c0c1c0c0bfbebebab8b5b2acaba39f99928d857d726d6065727e8b98a5acacacacacaca194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000004101d2935404b55606d7984919ea7b1bccad4deddd2c7bdb0a69e9184796d60564c41342a201208000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfe3dbd5d0cdccc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000005111d2a36414c566673808c99a9b3becac4bab2acaaacb2bac4bdb2a8978b7e7164584b3e31261a0e02000000000a1724303d4a5763707d8a99a3afbbc7c4bab2acaaacb2bac4b7ab9e9184786a5f53473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44525b636d727e869297928a80796f6a625b524c443c332a201509000000000000000000000000010a131c242c343d434c515960636c70777c81868a8e9197979a9c9e9fa4aca3a4a4a5a5a4a3a3a9a29e9c9a9895908c89837e79736d67605b534e463f35302820181d2429313a41454f545c60696e757d838b9197958f81786d605b51483f352c22190f0600000000000000000000000000000000000000000000000000040b141b222730383f444d52585f62696e74797d81868a8d91939a999b9d9fa2aaa3a3a4a4a5a4a4a3a3a2aaa39f9d9b999798928f8c8885817c77716d67615d565049413c342e261e160d0500000000000000000000000000000000000000000000000000000000000710192129313940454f555d60696e747a8084898d9196979a9c9ea1a9a3a3a4a4a5a4a4a4a3a9a19e9d9a9796918d8985807b766f6a625f57504a423c332b231b130a0100000000000000000000000000000c1925323f4c5865727f88898c8f9297979a9c9e9fa3aba3a3a4a4a5a4a3a3a2a8a09d9b9898928e88837e79706b605c554e463c342a21170e040000000000000000000000000000000000081117232e38424a545b656c727d858e939da0a7abb0b7b9bdc2c5c6cacfcccccdcdcbcac9cfcac6c5c2bdb9b4aeaba39f9792877f746c65727e8b98a5b1b9b9b9b9aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000020d17202c3945515d67727e8b96a0acb9c3cddce3d7ccc0b5ab9f948a7d70675c51443b3022190e00000000000a1724313d4a5764707d8a97a3b0bdcad6e3ecececede3dad1cac4c0bfbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000713202d3946525e687683909da9b6c3c9bdb2a8a09ea0a8b2bdc1b4a79b8e817468574d42362a1e120500000004111d2935414b556773808d9aabb5c0c9bdb2a8a09ea0a8b2bdb9aca196887b6e6255483b2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d334049525b626c707c858e857d746d675f585146413a322a21180e0300000000000000000000000009131c252d363e464e555d606b70777d83898e92989b9ea1a9a7a9abacafb6b0b1b1b1b1b1b0afb3adaba9a7a7a09d9995908b85807a716c655f585146413a322a21282f353d434b515960666d727b828a91959ea19e938e80746d635a50473e342b21180e050000000000000000000000000000000000000000000000060d161d262d333d424a50575e616a6e747b80858a8e92989a9d9fa4aca8aaabaeb3afb0b0b1b2b1b1b0afafb4aeacaaa8a6aaa39f9c9897918e89837e79736d68605b534e443f3830281f170f07000000000000000000000000000000000000000000000000000000071119222b333b434b515961676d747b80868c91969a9ea1a8a7a9abadb2b0b0b1b1b2b1b1b0b0b3adaba9a7a8a19e9a97928d87827c756e69605c544d453d352d251c130a00000000000000000000000000000d1a2733404d5a6673808d9a999c9fa2a9a7a9abacafb5b0b0b1b1b2b1b0afaeb2acaaa7aaa29f9b95908a847d746d675f584e463c332920160c02000000000000000000000000000000050e1a2328343f4a545c666c777f8792979ea5acb1b7bbc2c5c9cfd2d2cec8c5c4c1c0bfbdbdbdbfc0c2c5c6c6bfbab5aea9a199938c81776c727e8b98a5b1bec6c6bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000009141f2935414c56606d7985919ea8b2bdcbd5dfded4c7bbafa4998f82766c61554b4032291e100700000000000a1724313d4a5764707d8a97a3b0bdcad6e8f3fdf1e6dbd1c8bfb8b4b2afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6c5b9aca0969196a0acb9c4b7ab9e918478695f53463a2d2114070000000613202c3945515d677683909da9b6c3c5b9aca0969196a0acb9bdb2a8988c7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227374049515a616a6f7b817b706b605c554e463f36302920180f0600000000000000000000000009121b252d373f48505860676d747d838a90959b9fa2aaabadb3b3b6b8b9bbc0bdbdbebebebebdbcbeb9b8b6b3b1acaaa7a09d97928c857e786f6a625b524c443c3328313a40454f555d606b6f787f868f939da0a7ada69d928c7f736c62594f463c332a20170c0200000000000000000000000000000000000000000007101820282f383f444f545c60696e757b81868d92979b9fa2aaaaacafb6b5b6b8babebcbdbdbebebebdbdbcbcbfbab9b7b5b3b4aeaca9a9a19e9b95908b85807a716c655f58504a423a31292119100700000000000000000000000000000000000000000000000000071019232b343d454d555d606b707980868d92989ea0a8abacb2b4b6b8b9bebcbdbdbebebebebdbcbeb9b8b6b3b2acaba9a19e9a938f87817b726d665f574f473f372e251c1309000000000000000000000000010e1b2734414e5a6774818d9aaca9abadb3b4b6b7b9bbc0bcbdbdbebebebdbcbbbdb8b7b4b4aeaba79f9d96918880796f6a5f584e453b32281e13080000000000000000000000000000020c16202c353e44505c666d78818c9299a1a9afb8bcc3c7cdd2d2ccc8c6c3bdb9b7b4b3b2b1b0b1b2b3b5b8babfc5c6bfbbb3aba49f938d8073727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000020e1a25303946525d68727f8c97a1adbac4cedde0d6cabeb3a99f93877c6f625a5043392e20170d0000000000000a1724313d4a5764707d8a97a3b0bdccd6e1ebf5ece0d5cabfb6ada8a6a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000030f1b27333f495364717e8a99a4afbbc7c4b7aa9e9184919eaab7c4b9aca196887b6e6155483b2e2215090000000714212d3a4754606d7a86929facb9c5c4b7aa9e9184919eaab7c2b5a99c8f8276675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117252e373f48505860696e746e686159514b433c342a251e170e0600000000000000000000000006101b242d373f49515a616a6f7a818790959da0a7acaeb4b8b9bec0c3c4c6c8ccd2cacacbcbcacacfcac6c5c2c0bcb8b7b1aca9a19e97918b837c726d615e564d453d343d434b515960676d747d838c92989ea6acb1b9afa59c918b7e716b61584e453b32291e13080000000000000000000000000000000000000000071019222a323a4149505960666d727b81878e92999fa2a9acaeb4b7b9bbc0c1c3c5c6cad0c9cacbcbcbcacac9d1cbc7c5c3c2c0bfbab8b5b2adaba7a09d97928d857e776f6a605c544b433b332b221910070000000000000000000000000000000000000000000000061019222b353d464f575e676d757d848d92999fa3aaacb2b7b9bdc0c3c4c6c9cfcacacbcbcbcacacfcac6c5c3c0bdb9b7b3adaca49f9a938e867f786e69605951493f372e251b12080000000000000000000000020f1c2835424f5b6875828e9ba8b5b8babec0c3c4c5c7cbd1cacacbcbcbcac9cec8c5c4c1bebab8b1aba8a19a938d837c6f6a5f574d443a3024190b020000000000000000000000000008131e28323e47515b606d78818e939fa3abb3bbc1c8cdd3d5d0c7c0bbb9b6b2acaaa8a6a5a4a3a4a5a6a8acaeb4b8babfc5bdb5afa59c928b7f727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000005111e2a36424d57616d7a85929fa9b3beccd5e0d9cec6baada2978d81746a5f53483e30271d0e050000000000000a1724313d4a5764707d8a97a5afbac4cfd9e3eee9dcd0c4b8ada39c999696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000005121f2b3744505b6574818e9babb5c0ccc0b3a69a8d808d9aa6b3c0bdb2a8988b7e7165584b3e31261a0e0200000a1723303d4a5663707d8999a3afbbc7c0b3a69a8d808d9aa6b3c0b9ac9f92867a6d6053473a2d201409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131c252d363e464e575f6167615e564f454039312a2219130d05000000000000000000000000040d18222d363f49515b636c717c848d939a9fa7acb1b8babfc4c6c9cfcfd1cbc7c5c4c3c3c2c1c1c1c2c4c6c8cccec8c5c3bcb8b3ada9a19e9590867f756d685f574e4640444f555d606b7079818890959fa2aab0b8bcc0b7ada39f92877d706a60574d443a3025190d01000000000000000000000000000000000000071019222b343c444c535b606b6f787f868e939a9fa3abadb3b8babfc4c6c8ccd2d0d2d3d3d2d0d0cfcecfcfd0d0d2d3d3d2d0ced0cbc7c5c2beb9b8b1aca9a19e97928b837c736d665d554d453d342b22190f05000000000000000000000000000000000000000000050e18222b343d474f5960696e79818a91969fa3abaeb4b9bdc4c5c9cecfd1d2cfcdcccbcac9cacbccced1d2d1d0cec9c5c4beb9b6afaca49f98928c837b706b625b51493f372d241a0f060000000000000000000003101c2936434f5c6976828f9ca9b5c2c6cacfcfd1d2d3d7dcd4d4d4d5d7d6d6d9d4d1d0d0cac6c2bcb8b2aca49f9591857c6f695e564c4135291d140a000000000000000000000000020c1925303a444f59626d74818e939da5afb5bdc5cdd4d5cec9c2beb6afaca9a8a09e9b9a98979697989a9c9fa2aaacaeb4babfc0bbaea49f92877c7f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000040f19222d3a46525e6973808d97a2adbbc4cfdee1d4c8bdb2a89f92857a6d61584e43362c1e150b00000000000000091623303c4956636f7c89939ea8b2bdc7d1dce8e6dacdc0b4a89c918c8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898986796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000613202d394653606c7885919eabb8c4d2bfb2a5998c7f8c99a5b2bfc1b4a89b8e817568574d42372b1e12060004101d2935404b556673808d99abb5c0cbc0b5ab998c7f8c99a5b2bfbaaea3988a7d7063574a3d31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b242c343d454d53555b54524d443e342f271f18100802000000000000000000000000010c161f2a343e48515b636d727e8691969fa4acb1b8bcc3c6cad0d0cac6c5c2c0bbb9b8b7b6b5b4b4b5b5b7b9bbc0c4c5c8cec8c5beb9b3ada79f99928b827a6e6960584f4a515960676d747d848e939aa0a7aeb4bcc1c8c9bfbbafa39992867c6f695f564c41362a1d11050000000000000000000000000000000000071119222b343c464e565d656c727d838c92989fa4acaeb5babec5c6cad0d2d4d3d2cfd0cac6c5c4c3c2c2c2c2c3c4c5c6cacfcdd0d1d4d3d2cfc9c6c3bcb8b3ada9a19e94908780786d675e574e463d342b21170d0400000000000000000000000000000000000000020b17202a343d464f59606b6f7b838e939ea1a8aeb4babfc6c9ced2d2d1cbc7c5c2c1bfbebdbdbebfc0c1c4c6c9cfd0d3d2cfcac7c0bbb6afaaa39f9590857d726d635b51493f362c21180d0300000000000000000004111d2a3744505d6a7783909daab6c3d0d2d0cecccac9c8c7c7c7c8c8cacdd0d1d4d9dddbd6d3cdc8c4beb6afa7a09791847b6e685d52453d2f261b110600000000000000000000000a141e2a36414c56616b727f8c939da5afbbc0c7cfd6d3ccc4bdb9b0aca49f9c9996918e8d8c8a8a8a8c8d8f92989a9fa2aaaeb4bcc0bbafa3998f827f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000a15202b37424d57616e7b86929fa9b3becdd6e1d9cfc7b8aca0968c7f72685e52463c31241a0c03000000000000000915222f3b4854606b75818e96a1abb5c0cbd7e0e9d9ccbfb2a6998c7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c786c605346392d2013060000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000916222f3c4955626f7c8897a1adb9c6cabfb4aa978a7e8a97a4b1bdc4b8ab9e918478695f53473a2d211408000613202c3945515d677683909da9b6c3c7bbafa3998b7e8b98a4b1bebfb4aa9a8d807467574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222b333b4246484e4746413b3229231d150d06000000000000000000000000000008131e28313c46505a626d727f8a9298a1a8afb6bec3c8cdd3cdc7c6bfbab8b5b5afacabaaa9a8a7a7a8a9aaacafb6b7b8bcc3c7cbc9c4beb9b1aba39f948f847b6f6a6059545c606b7079818991969fa4acb1babfc6ced1cbc5beb5aba29892857b6e685e5246392d20130700000000000000000000000000000000061019232b343d464e585f686d777f8790959fa2aaafb6bbbfc6cad0d3d6d3d0cbc7c5c2bfbfbab8b7b6b5b5b5b6b6b7b8babebec0c3c5c8ced2d3d5d2cdc8c5beb9b3ada69f99928d82796e6960584e463c33291f160c030000000000000000000000000000000000000a141d29323c464e58606b707d8590959ea5adb2babfc6cbd0d5cfc9c6c4bfbab9b6b4b3b1b0b0b1b2b3b5b8b9bec2c3c7ccd3d6d2ccc7c0bbb4aea79f9792877f726d635b51483e332a1f150b01000000000000000005111e2b3844515e6b7784919eaab7c4c7c5c3c2c0bebcbbbbbababbbcbec1c4c5c8ced3d7dcdfd8d4d0c7c0bbb1a9a19691837a6d60594f41382d22170b0000000000000000000006111c26303846525e68707d87939fa5afb7c0cbd1d9d2cac1bab2aca69f9a93908c888481807f7e7d7e7f8082858a8e92989fa3aab0bbc0b5ab9e948f828f9ba8b5c2cec7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000020b1b27323a47535f6974818e98a3aebcc5d0dfdcd1c7bdb0a69e9184796d60564c41342a20110800000000000000000713202c38444f59606d7a849199a3afbbc2ced7e2ded1c4b7ab9e91847a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6c655b5044372b1f12050000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000004111d2935414b5566727f8c99a9b3bec9c6baaea298897c8995a2afbcc5b9ada196887b6e6155483b2e221509000714202d3a4753606d7a86929facb9c5c5b9ac9f92867d8a96a3b0bdc4b7aa9e918477695f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019212931363a3b413b393630292018120b030000000000000000000000000000010d19242f3a434e58626c727f8b919fa3aab2bbc0c7d0d2ccc7c2bbb7b4aeaca9aba39f9e9d9c9b9a9a9b9c9e9fa4acaaacb1b9bbc0c7cfc9c2bdb4aea69e9691857c706b605f666d737d848d929ea1a8afb6bec3cad0cfc7c0bbb3ada8a19e9691847a6d6154473a2e211407000000000000000000000000000000050e18222b353d464f58606a6f7a828c9299a0a7aeb4bbc0c7cbd1d6d6d1cbc7c5bfbab8b6b2b4aeacaaa9a9a8a8a9aaaaabadb3b1b3b7b8bcc2c5c7cbd1d5d4cfc9c5beb9b0aba39f948f837b6f6a60584e453b31281e150b000000000000000000000000000000000006111b262f3a444e58606a707d869197a0a7afb9bdc4cbd1d6cfc9c4beb9b8b4aeaca9a7a6a5a4a3a4a5a6a8abadb3b5b7bbc2c7cbd1d8d2ccc6bfbab1a9a299928b7f726d625a50463c31271d1207000000000000000005121f2b3744505b657885929eabb8c0bbb9b7b5b3b1afafaeadadaeafb1b4b7b8bcc3c7cbd1d9e1e2d9d2ccc3bbb2a8a0958f82756b6053493f33271b0f030000000000000000000b17232e38424f59616d7a859299a4afb7c0c9d7dcd2c9c1b8b0a8a09e949087837f7b77757372717071727375797d81858d92989ea6afb6bdb0a69e938f939eaab6c3cfc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000a141d2b37434e58626e7b87929faab4bfced7e1d7cbc0b5ab9f948a7d70665c51443a3022180e000000000000000000030f1b27323d45515d676f7d87929fa7b1bcc5d0dbdfd2c5b9ada1968e81756c6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b53493f33271b0f030000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000613202c3945515d6776838f9ca9b6c2cfc5b8ac9f92857b8794aab4bfc9bdb2a8988b7e7165584b3e31261a0e020a1723303d4a5663707d8999a3aebbc7c5b8ab9e92857d8996a2afbcc5b9aca096887b6e6255483b2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171f262a2d2e342e2d2a251f170e070100000000000000000000000000000004111d2935414c555f6a717e8b919ba3aeb4bcc4ccd2d0c7c0bbb9b0abaaa29f9c9999929190908f8e8e8e8f91939a999da0a7acafb5bdc1cbcfc6bfbab0a8a09792867d706b696e78808891969da4acb2bbc0c7d0cec9c2bdb5afa9a19e96918b847f786d6053463a2d2013070000000000000000000000000000030c17202a343d474f59606a6f7c848f949fa3abb1babfc5ccd2d7d6d0cac6bfbbb9b4aeaca9a6aaa29f9d9d9c9b9c9c9d9d9fa2a9a4a7aaacb1b5b9bbc0c7c9cfd6d5cfc9c2bdb5afa69e9590857c6f6a60574d433a30271c1207000000000000000000000000000000020b17222d38414c565f6a6f7c869298a1a9b1b9c1c9cfd7d0cac4beb9b3adabaaa39f9c9a999897969798999b9ea1a9a9abb0b9bbbfc6cfd6d8d1cbc2bcb3aba39f918b7f726c61584e43392f24180b02000000000000000613202d394653606c7986929facb6b5afacaaa8a6a4a3a2a1a1a1a1a2a4a7aaacb1b9bbc0c7cfd5dee4ddd8cdc4bab1a79e94897d70655b5044372b1f150a000000000000000003101c28343f4a54616c75818e97a1abb5c0c9d2dbd2c8c0b7afa69e96918a837c76726e6a6867656463646567676d70747a80868f949fa4acb4b8afa59e9b9ea5afbbc6d2c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000006111b262f384754606a75818e99a3afbcc6d0e0ded3c7bbafa3998f82766b61544a4032291e1006000000000000000000000b16212935414c55606b73808c959faab4becad6ded5c9bdb2a89e938b7e71695f54565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565653504941382d22170b000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1c4b7ab9e9184798798a3aebac7c1b4a89b8e817568574e42372b1e1206101d2935404b556673808d99abb5bfcbc4b7aa9e91847c8895acb6c0c9bdb2a8988b7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222821201e19140d0500000000000000000000000000000000040e19222c3945515d676f7c86929fa3adbabfc6ced8cdc4bdb5afaca69f9c98928f8c898685848382818182828486898c91959b9fa3abb0babfc6cecbc1bab2a9a19892867d6f717b838d939aa1a8aeb9bdc4ccd1cbc4bdb9b0aba39f97928b847f79716d665c5144382c1f120600000000000000000000000000000b151e29323c464f59606b6f7c8591969ea6afb5bdc3cad0d8d7d0cac5bebab5aeacaaa39f9c9996989291908f8f8f8f9091929796989a9da0a7a8acafb5b9bec4cad0d7d5cfc7c0bbb0a7a09791867c6f695e564c42392e23180c0300000000000000000000000000000a141d27333f49535e686f7c859298a2aab3bbc3cbd5d4cec5bebab3ada9a19e9a98928f8e8c8b8a8a8b8c8d8e9197989c9fa6acaeb5bdc1cad0d7d7cec5bdb5afa39f93887e716a5f554b4035291d140a000000000000000714212d3a4754606d7a8799a3aca9aba39f9d9b999796959494949595979a9da0a7acafb5bdc3ccd3dce8dfd6ccc3b9b0a69d9083786c6053463c31261b0f030000000000000006121f2b3844505c66707d8a939ea9b3bdc7d2dbd3cac0b6aea59e948f847d766f6a66625f575a5957575759555c6063686d747b828c939aa2aab4b7afaaa8aaafb7c1ccd7c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000b17222d38414f59626f7c88939eabb5c0ced8dfd6cabeb3a99f92877c6e62594f42392e20170c0000000000000000000000040d19242f3a434f59606d78839098a2aebac1ccd6dacfc4baafa59f92867b6e665c504949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494946443f382f261b1106000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d0c3b6aa9d90837986929facb9c5c4b8ab9e9185786a5f53473a2e211406131f2c3945515d677683909ca9b6c3d1c3b6a99d90837b879aa4afbbc8c2b5a99c8f8276675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1414110e080200000000000000000000000000000000000a15202b37434e58606d7a849198a3aeb5bfcbd0d2cac2bbb3aba49f9b94908a85827f7c797877767574747576777a7c8084888e92999ea6aeb4bcc3cbccc4bbb3aaa29892857c7e8590959fa4acb2bac0c9cecfc7c0bbb2aca69f99928d857f79726d66605c544a4034281c10040000000000000000000000000007121d27303b444e58606b707d869297a0a8b0bbc0c7cfd6dbd6cec5bfbab3adaba39f9b98928f8c89878584838282828383848587898b8d9095979b9fa3abadb2babec5ced6d9d1cbc1b9b1a9a19891857b6e685d544a4034281e150a0000000000000000000000000006111c262f3844505b656d7a849197a2aab4bcc4cdd5d8cbc3bcb3ada9a19e97918e8a868281807e7d7d7e7f808285888b8f949b9fa3abafbabec5ced4d7cfc7c0bbafa49a92867c6e675d51453c2f261b11060000000000000815212e3b4854616e7b8794a39f9c999992908f8d8b898888878788898b8e91959b9fa3abb2bac1cad3dde6ded5cbc1b8aba0958a7e7164584e43372b1f120600000000000004101c2834404a54606d7884919da5afbbc5d0d9d6cdc1b8aea49d938e8279706c62605855534e4d4c4b4a4b4c4b5153565e61696e777f889298a2abb5bbb6b5b6bbc1c9d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000030f1b27333f4953606b76828f9ca5afbdc7d1e0d9cec6baada2978d80746a5f53473e30271c0e0500000000000000000000000008131e28313d44505c666e7b86929fa5afbac4d0d9d6ccc1baaea2989083786d60584e433c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3937332d261d140a00000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000006121e2b37424d576774818d9aabb5bfcbcec2b5a89b8f827884919eabb7c4c6b9ada197887b6e6255483b2d22170b14202d3a4753606d7a86929facb9c5cec2b5a89b8f827986939facb9c6c5b8ac9f9286796d6053473a2d2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000030f1b27323a47535f6a74808d96a0aab4bfc7d6d2c8c0b8b0a9a199938f89837d7976736f6d666a696867676869676d6f73777c81878f949fa3aab1b9c1c9cdc5bcb4aaa29792868a92989fa7afb6bec4ccd1cbc3bdb5afa8a19e948f87807a726d67605c54514a42392e23180c00000000000000000000000000050e18232e39434c565f6a707d869298a2a9b2bac1cbd1d9d7d0cac2bcb4aea9a29f99928f8a86837f7d7b797776767575767777787a7c7e8084878b8f92999ea1a9aeb4bcc1cad0d8d7cbc3bbb3aaa19790837a6d665c51443c30261c11060000000000000000000000000b17222d38424e58606c77828f96a1a9b3bcc5ced6d2ccc1b9b1a9a29f97918b85817d7a76747372717071727375787b7e82888e92999ea5aeb4bcc2cbd4d9d1cbc0b6aca2989083796d60584e41382d22170b0000000000000916222f3c4955626f7c889598928f8c89868482807e7c7c7b7a7a7b7c7e8184898e9299a0a8b0b8c1cbd4dfe7ddd4c8bcb1a79e9184776a5f53473a2e21150800000000000006121f2c3844515c66717e8b96a0acb7c1cdd7dacfc4bbafa59d928d81786d67615a544e484742403f3e3d3e3f4045474c52575e656c737d869299a3afbbc0c2c3c6ccd3dcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000010b151f2b3744505b65707d89949fabb7c1cfd9e1d4c8bcb1a79f92857a6d61584e43352c1e150b00000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2ddd6cabeb4aa9f958c7f736a60554b41353030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b27221b140b0200000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000814212e3a47535f697884919eabb7c4d1cdc0b4a79a8d817683909da9b6c3c9beb3a9988b7e726553493f33271b0f1623303d495663707d8999a3aebac7cdc0b4a79a8d817885929eabb8c5c7baaea3988a7d7063574a3d31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa8b2bcc6d0d3c9c0b6aea69f979187827c76706d666663605c545d5c5b5b5b555d6063666a6f747b828b9298a0a7afb7c1c9cec6bcb3a9a29892989fa2aab1bbc0c7d0cfc6bfbbb1aba39f96918a827c736d68605c55514b44403930271c1207000000000000000000000000020d17202834404b555e686f7c869298a2aab3bbc4ccd7dcd6cec6bfbab0aaa29f97928c86827d797673706e6c656a696869696a6a686d6f7174777b7e82868c91979fa2aaafbabfc6ced6d5cdc4bcb3a9a0958f82786d60584e42382e23170c0300000000000000000000030f1c28333f4a54606a727f8c949fa8b2bbc5ced7d0c7c0bbafa79f97928c857e7974706d676766656463646566686a6e72767c81868e939fa2aab1b9c2cbd4dcd2c7beb4aaa0958d80746a5f53493f33271b0f0300000000000a1623303d495663707c898f8a8683807d7a77757371706f6e6e6e6e6f7174777c818791969ea6b0b9c2cdd7e1e4d9cdc3b9aca096887c6f6255483c2f24190d0100000000000713202d3a4653606d7984919ea8b2bdc9d3dfd5c9beb3a99e938d80776d665d555047433c3a3731323130312f34383a41464d535b606b707d87929fa4aebbc5cfd2d7dde5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000007121d28343f4a54606c7883909da6b0bbc9d3e1d8cfc6b8aca0958b7f72685d52463c31231a0c030000000000000000000000000000040d17232e38424d57626c75818e96a1abb5c0ccd7dbd0c5bcb1a79f92877c6f675d51453e332923232323232323232323232323232323232323232323232323232323232323232323232323232323232323201f1b17110a020000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000815222f3b4855626e7b8896a1acb9c5d2ccbfb2a5998c7f75828f9ba8b5c2cfc1b5a89b8e8275655b5044372b1f121c2934404b556673808c99abb4bfcbccbfb2a5998c7f7784909daab7c3cbbfb4aa9a8d807467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000020507080f08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76828f99a3afbac4ced4cac1b7aea49d948f857d756f6a63605c545653514b504f4e4e4f4b515456585f62696e757f8690959ea5afb7c1cacec5bcb3aaa29fa2aaaeb3bcc3ccd2ccc3bdb5aea7a099928d847d766e6a605d56514b454039342e271e150b0000000000000000000000000008131e29323a45515c676e7a849198a2aab3bcc5cdd6dcd4ccc4bcb4aea69e98928c857f7a75706d67666361605b535c5c5c5c5d565e61636567696e71757b80848c92989ea5aeb4bcc4ccd6d6cec4bbb1a79f948d80736a60544a3f34281f1409000000000000000000010c161f2b3844505b666f7c87929fa6b0bac4cdd7d2c7beb6afa59e9590857f79726d6664605d555958575758595a585f62656a6f747b818a92989fa7b1b9c2ccd5d9d0c6bcb1a79f92877c6f655b5044372b1f160b00000000000a1724313d4a5764707d86827e7a7673706d676866646362616161626264676a6f757c848f949ea7b1bbc5cfdbe6dfd5c9bdb2a8998c7f7266554c4135291d11040000000005121e2b37424d5764717e8a96a1acbac3cedbd9cfc7b9ada1978f81756c655c544b433e37322e2b262624242423292c30363b41495059616b727f8b929da9b3bec9d5dfe8e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000c18242f3844505c66717e8a959fabb8c2ccdbdcd1c6bdb0a69d9183786d60564c41342a2011080000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc3ced7d7cec2bbafa3999184796d605a50453b2f261b161616161616161616161616161616161616161616161616161616161616161616161616161616161613120f0b0600000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000004101c2934404b5565727f8b98a8b2bdc9d5ccc0b5ab978a7e74818d9aa7b4c0d1c5b8ab9e9285796c605346392d20131f2c3845515c677683909ca9b6c3d1cabeb3a9978a7d75828e9ba8b5c1d0c4b7aa9e918477695f53463a2d2114070000000000000000000000000000000000000000000000000000000002090e1214151c1514120f0a030000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c88949fabb5c0ccd5cdc2b8afa59d928d827a706b62605853514a494645404342414142414547494e53575e616d727c838e939ea5afb8c2cbcec5bcb4aeacaeb4babec5ced0c7c0bbb1aba39f9590878079706c625f58524c454039342e28231c150c03000000000000000000000000030d1925303a44505a606d79839096a1aab4bcc5ced7dcd4cac2bab2aaa29f948f867f7a736d6864605c5556545350494f4f4f50504c52545658565e6164696e73797f868e939fa2aab2bac4cdd6d6cdc3b9b0a69f92877c6f665c50443b31261a0e02000000000000000008131e2935414c56606c78839099a3afb8c2ccd6d8ccc0b6aca49f938e837b726d67605c5453514b4d4b4a4a4b4c4d4e5355585f62696e757e8690959fa7b1bac3cdd6d7cec3bbafa3999083786c6053463d32271b1002000000000814212e3b4754616e7a7a75716d676663605d555a5856555554545556585860626a6f79828f959fa9b3becad6e0e5d9cec2b6a99c8f8376675d5145392c201306000000000714212d3a46535f6976828f9ca8b2bdccd5dcd1c7bdafa59e91857a6d615b534a4239312b27211e1a19181718181c1f252a2f383f444f59626d74818d97a1adb9c3ced9e5e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000004101d2935404b55606d7884919da7b1bccad4ded7cbbfb5ab9e94897d70665c50443a3022180e0000000000000000000000000000000000000a151e29333e45525d68707d87939fa7b1bcc6d0dbd7cbc0b5aba0968e81746c61574d41382d22170d090909090909090909090909090909090909090909090909090909090909090909090909090909060503000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2ced4c7bbafa499897c727f8c98abb5c0cbc6b9ada197887b6f6255483c2d2217202d3a4753606d7986929facb9c5d2c6baada297887b737f8c99abb5bfcbc5b8aca096887b6e6155483b2f23180c000000000000000000000000000000000000000000000000000000050d141a1e20212822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba6b0bdc7d1cfc5bbb0a69e938d80776d686059544e4644403c3a38342e3534342f35393a3c43474d535b626a6f79818e939ea6b0b9c2cdcec6bfbab8babfc6cad0cdc4beb6afa79f99928c837c736d67615a534e45413a342f28231d18120b03000000000000000000000000010b151f2a36414c56616c74818e959fa8b2bcc5ced7ddd4cac2b8b0a8a198928b827b736d68615e5653514b4a4846443f4342424344414647494b4d5254575e61666d727a818a9298a1a8b2bbc4ced7d5cbc2bbafa3999083786d60574d42362a1e120500000000000000010d19242f3945525d68717e8b959fabb5c0cad3d5ccc3bbafa49a938c81796e69605d55514a474540403f3e3d3e3f404347484e53575e616c717b8390959fa8b2bbc4cfdad7cbc0b5ab9f948a7d7164594f44382c1e1308000000000714202d3946525e686e6d6764605d555653514b4d4b494948474748494b4e545860676d79839097a2adb9c4cfdae6dfd2c5b9ac9f92867a6d6054473a2d211407000000000815222e3b4855616e7b87939facb9c4cedfd7cbc0b5ab9d928a7d70685e5249413830271f1b15120e090b0a070c1013191d262d333e47515b606d7a85929ea8b1bdc8d4e1e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000020d17202c3845515d67717e8b96a0acb9c3cddcddd3c7bbaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfcad6dcd1c7bdb2a89d938a7e71695e53493f33271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000714202d3a4753606d7986929facb8c5d2d2c6b9ac9f93867a707d8999a3afbbc7c9beb3a9988b7f7265544a3f33281c23303d495663707c8998a3aebac7d2c5b8ab9f928579707d8999a3aebbc7c8bdb2a8988b7f7265554b4034291c100400000000000000000000000000000000000000000000000000060f171f252a2d2e352f2e2b2620180f0700000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c2cfd5c9beb3a99f948e81776c655e564f47433d38342e2d2c282329282824292c2d32373b424651585f676d78818f949fa7b1bcc7d3d0cac6c5c6cad0d6cac2bbb3aca49f9590877f786f6a605c555047433c352f29231d18120c07000000000000000000000000000007121d27313946525e68717e8a939ea7b1bac4ced7ded4cbc2b8b0a69f9691867e766e69605d56524c4745403d3b3937332d3536363036393a3c3e4246474d52545c60686e747e869196a1a9b2bcc5d0d9d7cbc0b5aba0958c7f72695f53463a2d2114070000000000000004111d2935414c56606d7a85929ea7b1bdc7d1d7cec3b9b0a69f93887f756d675e56514b44403a39352f323130313231373a3c43474d525a61696e79839096a0a9b3bec9d5dcd1c7bdb0a69d9083776b6054483a3025190d0100000005111e2a36414c565e61605d5553514b4a474540403e3d3c3b3b3b3b3c3e43474e555d676d7a85929ea9b2bdc9d5e1e0d3c7bbafa3998a7d7063574a3d3024170a00000005121e2a36424d576673808c9aa4afbbc8d4e0d4c7bbafa3998e81746b61564c41382f261e150d0a0602000000000004080b141b2227353f45525d68727f8b95a0acb8c5d1dee1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000008141e2935414c56606d7984919ea8b2bdcbd4dfd5c9beb3a99f92867b6e62594f42382e20160c0000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac1ccd6d9cfc4baafa59f92857b6e655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000a1723303d4a5663707d8998a2aebac7d3d0c3b6aa9d9083776d7a86929facb9c5cfc2b5a89b8f8275665b5044382b1f2834404b5566737f8c99aab4bfcbcec2b5a89b8f82756d7a86929facb9c5cec2b5a89c8f8275675c5145382c1f13060000000000000000000000000000000000000000000000020a1117212930363a3b423b3a37312a2219110900000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b99a3afbbc7d4d2c6b9ada1978f82786d655b534c443d38322c2823201f1c181c1b1b181d2021262b31363f464e555c666d78828f959fabb7c4d1dbd6d3d2d3d6d3cac1b8b0a9a19a938d837c736d666058514b433e373129241e18120c07000000000000000000000000000000000c18232f3943505a616d7a85929ea5afb9c2ccd6e0d5ccc2b9b0a69f9490847c716c615e57524c46413a38342f2e2d2b2722292929252a2d2e3030363a3b42464a51565e616c717c849196a1aab3bec7d2dcd1c7bdb1a79f92867b6e6155483b2e221508000000000000000613202c3945525d6873808d97a1adb9c3cfd9d0c5bcb1a79e938c80736d605d554d454039342e2c29242524242526262b2e31373b424650575f676d7a849197a1adb9c1cfd8d9cfc2b8ab9f95897c7063564c4135291d1105000000010d1925303b444c525454514b4745403d3a39352f31302f2e2e2e2f2f32373c434b555e68727f8c96a1adb9c5d2dfe3d7cbc0b5ab988b7e7165584b3e3225180b0000000714202d3a46525e697784909dacb6c0ccd8dfd2c5b9ac9f92877b6e61594f443a30261d150c0300000000000000000000020a1117232935414c56606d7884919daab7c3ced9e4d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000020e1925303945525d68727f8c96a1adbac3cedddcd2c6b9ada1978d8073695f53473d30261c0e0400000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbac4d0d9d6ccc0baada2978f82776c60584e43392f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000005121e2a36424d576773808d9aaab4bfcad6cbbfb4aa998d8073677683909da9b6c3d2c5b8ab9e9285796c605346392d202c3845515c6776838f9ca9b6c2d1c9beb3a9988b7f72677683909ca9b6c3d0c5b8ac9f9285796d6053473a2d20140900000000000000000000000000000000000000000000050b141c2228333b4246484f4847433c342b231b1206000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6776838f9cabb5c0cbd4c8bdb2a89e92857a6d665c5349413a322b271f1c181313100c070e070d1113141b1f252a343c434b545c666d7983909da9b6c3d0dce2dfdfdfd7ccc1b8b0a69f97918880786f6a605c544e454039312b262019130c07010000000000000000000000000000000004101c2934404b55616c75818f97a1adb7c1cbd4ded7cec3bab0a69f9490827a6f6a625a534d45413a36302c292321201f1b171c1c1d191d202123252a2d30363940444c525a616a6f7b849198a2acb6c0ccd8d9cfc3baaea2988b7e7165584b3e3225180b00000000000004101c2834404b54606d7a85929fa9b3becbd4d6cabfb4aaa0958f82776c605b514b433b352f2823201d1818171718191a1f21262b30363e454d555e686e7b85919ea6b0bdc6d1dcd4c8bcb1a79c8f8275685e5246392d2013070000000008141e29323b4146474745413a39352f2d2c29242523222221212223272b3139434c56606d7984919eabb8c4d1dee8dcd1bfb2a6998c7f7366594c403326190d0000000815212e3b4854616e7b8795a0acbec7d2ddd4c8bcb1a79b8f8275695e53473e32291e140b0300000000000000000000000000061119242f3a44505c66727f8c99a7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000005111e2a36414c56606d7a85929ea8b2bdccd5e1d4c8bcb1a79e92857a6d60574d42352c1e150a00000000000000000000000000000000000000000000010c16202834404a545f69717e8b939ea8b2bec7d2ddd6cabeb3a99f948c7f726a5f554b40352920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000714202d3a46525e697784919daab7c4d0d3c7baaea398897d706773808d9aabb5c0ccc6b9ada297887c6f6255493c2e232d3a4653606d7986929facb8c5d2c6b9ada197887c6f6673808c99aab4bfcbc6baaea298897d7063564a3d31251a0e020000000000000000000000000000000000000000060e171d262d333d454d52545b55534e463d352d2417110a020000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d1d2c5b9aca0968b7f72685d544b41382f29201b16100c070604000001000104060a0b141d262d334049515a626c717e8a97a4b1bdcad7e4ecebdfd2c6bbb0a69e948f857d736d665f58514a423c342f271f1a150d08010000000000000000000000000000000000010c161f2c3845515c67717e8a939ea9b3bec9d2ddd9d0c5bcb1a89f949082796d685f585046423b352f2a251f1c181513120f0b060f080d11131416191e20252a2e343b4146505860696f7c86929aa4afbbc5cfdad6cabfb4aa988b7e7165584b3e3225180b00000000000006131f2c3845515c66727f8c98a2aebbc5cfddd3c6baaea2989183796d655b504540393129241d1813110d070b0a0b090f12151b1f252a333b434c565f69707d89939eabb5bfcbd7d8cdc3b9ac9f92867a6d6154473a2f24180d01000000020d1720293036393b3a39352f2c292420201d1818161615141415161b1f28313a45515c6774818d9aa7b4c0d0dbe6dacdc0b3a79a8d8074675a4d4134271a0e0000000b1825323e4b5865717e8b98a7b1bcd0d9ded1c5b8aca095897c7063574d42352c20170c0200000000000000000000000000000008131e28343f4a54616e7b8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000040e18222d3946525e6873808d97a2adbac4cfded8cfc6b8aca0958b7e72685d52453c31231a0c030000000000000000000000000000000000000000000000040d18232e39424d57626c75818f96a1acb6c0ccd8dbcfc5bbb0a69f92867c6f675d51453e32291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1d2c5b9ac9f9286796d63707d8a99a4afbbc7cabeb3a9988c7f7265544a3f3428303c4956636f7c8998a3aebac7d1c5b8ab9e9285796c63707c8998a3aebac7cabfb4aa9a8d807367574d42362a1e1205000000000000000000000000000000000000020a111720292f383f444f575e6168625f584f473f3627221b140b0200000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afbbc7d3cabfb4aa9e9184796d60564c42392f261d170e0a0400000000000000000000030c151d262f383f44525b626c717e87929facb9c5d2dfecede9dccfc3b6aa9e938f827a706b605c544e4440393029231d150d09030000000000000000000000000000000000000008131e2935414b55606d7984919ea5afbbc5cfdbddd2c7beb4aaa0959082796d675e564e463e363129241e1913100c070605030000030001050707090e11141a1c232830363e464e575f6a707d88939fa9b3bec9d5dbd0beb1a4988b7e7165584b3e3225180b0000000000000713202d3a4653606d7984919eaab4becdd7d5c9beb3a99f92867b6e675d53493f352f271f18120c070401000000000002060a0f141a2129313a444d57606b75828f99a3aebbc7d2ddd3c7bbafa3998b7e7165554b4035291d110400000000050e171e252a2d2e2d2c2924201d181413110d070a09080808080a0d161f2934404b5564707d8a97a9b3becad6e2dbcec1b4a89b8e8175685b4e4235281b0f000004111d2935414c566875828e9ba8b5c1cedbddd0c3b7aa9d9083776b6054453b31231a0e0500000000000000000000000000000000010b17232e3847535f697783909daab7c3d0ddd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000a15202a36424d57616e7a86929fa9b3beccd6dcd1c6bdafa59d9083786d60564c41332a2011080000000000000000000000000000000000000000000000000007121c27303c45505a616d7a84919aa4afbbc3ced8d7cdc2baaea3999183796d60594f443a3025190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000003101c28343f4a5465717e8b98a7b1bcc8d4cfc2b6a99c8f827667606d7a86939facb9c6cfc2b5a89c8f8275665c5044382b34404b5466737f8c99aab4bfcbcec1b5a89b8e827565606d7986929facb8c5d0c4b7aa9d918477695e53463a2d2114070000000000000000000000000000000000040b141b2227323a424a505960696e756e6a6059504840332d261d140b03000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5c0cbd3c7baaea2988a7e71665c51443a30271d140b050000000000000000000000030c151e272f384149505b636d727f879299a3aebbc7d3e0dfe0e3dbcec2b5a89b8f82786d686059514a423c342e271e18120b030000000000000000000000000000000000000000010d19242f3945515d67727f8c96a1adb7c1cdd7e1d8ccc0b6aca2989183796d675d554c443c342a251f19130d080400000000000000000000000000000205090e12181e252a343c454e58606b74818e97a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000000000005111e2a36414c5664717e8b96a1adbcc5d0dfd2c6b9ada1978c7f73695f554b41382d241d150d0701000000000000000000000002090f181f29323b454f59626e7b86929fabb5c0ccd7d7cbc0b5ab9c8f8276675d5145392c2013060000000000050d14191e202121201d1813110d070604010000000000000000040d18232f3a4753606d7a8697a2adbac6d3dfdccfc2b6a99c8f8376695c504336291d1000000613202c3945525d687784919eaab7c4d1ddd6cabfb4aa988b7f7265594f4433291f110800000000000000000000000000000000000006111c2b37424d576773808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000030f1b26323a46535f6974818d98a2aebbc5cfdfd7cbbfb4ab9e93897d70665c50443a2f21180e0000000000000000000000000000000000000000000000000000000b151e2a333f46525d68707d88939fa7b1bcc6d0dbd7cbbfb4aba0958d80746b61564c41362a21180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000006121f2c3844505c6675828e9ba8b5c1ced6cabeb3a9998c7f72665d687783909daab6c3d2c5b8ab9f9285796d6053463a2d3845515c6676828f9ca9b6c2d0c9beb3a9988b7e72655c6776838f9ca9b6c2d0c5b8aca095877b6e6154483b2e23180c00000000000000000000000000000000040e161d262d333d444c545b606b707b827c706b625a52443f382f261d150c030000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1d2c5b8ac9f9286796d60544a4032281e150b020000000000000000000000030c151e273039424a535b606d737f8b9399a3abb5bfcbd7d4d2d4d7ddd1c5b8ab9e9285796d60564f4440393028231c150c070100000000000000000000000000000000000000000004111d2935414c56606d7a85929ea8b2bdc9d3dfdcd4c8bbafa49a92867c6e675d554b433a322a221a140d08010000000000000000000000000000000000000000070c1419222b333c464f59606d7a85929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b00000000000714202d3946525e6876828f9ca9b2bdced7d5c9bdb2a89e9285796d60574d433a2f261b120b03000000000000000000000000000000060d172029333d47535f6974808d99a4afbbc7d4dcd1c5b9ac9f92867a6d6053473a2d20140700000000000002080d1114141413110d070401000000000000000000000000000713202c3945515d677885929fabb8c5d2deddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a4754606d7a86939facb9c6d2dfd3c6baaea298887c6f6255493d3222170d00000000000000000000000000000000000000000e1a26313f4c5965727f8c98a5b2bfcbd8d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000006131f2b37434e58616e7b86929faab4bfcdd7ddd3c7baaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d95a0aab4bfcad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000713202d3a4653606d7985929fabb8c5d2d3c6baada297897c6f62566774808d9aacb6c0ccc6baada297887c6f6255493c2e3a4653606d7985929facb8c5d2c6b9ada197887b6e625566737f8c99aab4bfcac8bdb1a8988b7e7265544b4034281c10040000000000000000000000000000020c1620282f383f444f565e666c737d858e857d716c635c504941382f261e150b020000000000000000000000000000000000000000000000000003101c28343f4a546a7683909da9b6c3d0cfc2b5a89c8f8275675d5142392e20160c030000000000000000000000030c151e273039424a545b656c73808c919fa4abb5bdc6d1ccc7c6c7ccd2d2c6b9ada1978b7e71655b5044372e271e18120b0300000000000000000000000000000000000000000000000613202c3945525d68737f8c97a1adbac4cfdbded5c9beb3a99f93887e706a5f554c433a31282018100903000000000000000000000000000000000000000000000002081019212a343d45525d68727f8c98a5b2bfcbd7cbbeb1a4988b7e7165584b3e3225180b00000000000814212e3b4754616e7a86929facb9c4cfdfd2c5b9aca0968b7f72675d51453c31281d140a010000000000000000000000000000000000050e17212b37424d57616e7a87939facb9c6d2dfd3c7bbafa399897c706356493d30231607000000000000000001050708070604010000000000000000000000000000000004111d2935404b556a7784919daab7c4d0ddddd0c3b6aa9d9083776a5d5044372a1d1100000a1623303d495663707c899aa4afbbc8d4dfd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000091724313e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000020b1a232e3b47535f6a75818e99a3aebcc6d0dfd5c9beb3a99f92867b6e61594f42382e20160c0000000000000000000000000000000000000000000000000000000000060f1924303a444f59606d79839098a2aebac1cdd6d8cfc3b9aea49e91857a6d615b51453c30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000091623303c4956636f7c8997a2adbac6d3d2c5b8ab9f9285796d605764707d8a9aa4afbbc8cabeb3a9988c7f7265544a3f343c4956636f7c8998a2aebac6d1c4b8ab9e9185786a5f56636f7c8998a2aebac6cec2b5a89b8f8275665c5145382c1f1306000000000000000000000000000008131e28323a4149505960686d788087929792877e736e605b534a423830261d140a0000000000000000000000000000000000000000000000000006121f2c3844505c667885929eabb8c5d1cbbeb1a4988b7e7165554b4030271c0e040000000000000000000000030c151e273039424b545c666c77808c929ba3afb5bdc6cfc7c0bbb9bbc0c7d0c9beb3a99d9184786c6053463d32271b0c07000000000000000000000000000000000000000000000000000714212d3a4754606d7a85929fa9b3beccd6e0d8cdc6b9ada1978e81746c61574e433a31281f160e06000000000000000000000000000000000000000000000000000000070f18222935414c5664717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000005111e2a36424d5665727f8b99a3afbbc7d4d7cbc0b5ab9e9184796d60554b40332a1f160b0200000000000000000000000000000000000000060f1a26313c46525e687683909da9b6c3ced9d7cbc0b5ab998c7f7366594c402f24180c0000000000000000000000000000000000000000000000000000000000000000010d18242f43505d697683909ca9b6c3cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1925323f4c5865727f8b98acb6c0ccd8dccfc2b6a99c8f8376665c5044382c1f12060000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000a141d2c38444f59626f7c87939fabb5bfced8dbd2c6b9ada1978d8073695f53473d30261c0d0400000000000000000000000000000000000000000000000000000000000008131e28323d45515c666e7c86929fa6b0bbc4d0d9d5cbc0b9ada1978f82756d62574e42392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000005111d2a36414c566673808c99a9b3becad6cec2b5a89b8f8275665c54616d7a86939facb9c6d0c2b5a89c8f8275665c5044383f4a5466727f8c99aab4bfcacec1b4a89b8e8175685753606d7985929facb8c5d2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000010d1924303a444c535b606b6f7a828c9399a199928b80746c655b544a42382f261c11060000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2cabfb4aa95887b6e6255483b2f22150b0000000000000000000000030c151e273039424b545c666d78818d929ca4adbbc0c7ccc3bdb5afacafb5bdc7d0c5b8aca0968a7d7063584e43372b1c110600000000000000000000000000000000000000000000000007131f2c38434e5865727f8b98a2aebbc5cfdedfd3c7bbb0a69e91857a6d605a50453c31281f160d05000000000000000000000000000000000000000000000000000000000006101924303e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000714202d3a46525e697683909cabb5c0cbd7d3c7bbafa3998b7e72665c51433a2f21180d0400000000000000000000000000000000000000000009151f2a36414c5666727f8c99a8b2bdc9d5dcd1c2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010d1a2734404d5a6773808d9aa6b3c0d2ddd9ccbfb3a6998c807366544a3f34281c100300000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000006111c262f384854606b75828f9aa4afbdc6d1e0d4c8bcb1a79e91857a6d60574d42352b1e140a00000000000000000000000000000000000000000000000000000000000000020c16202834404b545f6a727e8b939ea9b2bec7d2ddd5c9beb3a99e948b7e726a5f544b40342820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000713202d3946525e687783909daab6c3d0d5c9bdb2a8988b7e726554525d687784909daab7c3d0c5b8ab9f9285796d6053463a44505c6676828f9ca9b5c2d0c9bdb2a8988b7e716558515c6676828f9ca9b5c2d0c6baaea298897d706356493d31251a0e0200000000000000000000000004111d2935414c565d656c727d848f949fa4aba39f928c80776c665c544a42382d2217130a00000000000000000000000000000000000000000000000714212d3a4754606d7a8793a9b3bec9d3c7baaea298877a6d6054473a2d21140700000000000000000000030c151e273039424a545c666d78818e939da4adb6bfcccbc3bab2aba49fa4abb5bdc7c8bdb2a89c9083766a605447382e23170b0000000000000000000000000000000000000000000000000915222e3b4854606a7783909daab4becdd7e1ddd0c4b7ab9f948a7e71685d52483e332a1f160d0400000000000000000000000000000000000000000000000000000000000000081825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000814212e3b4754616e7b87939facb9c6d1dcd2c5b9ac9f92867a6d61544a4031281d0f0600000000000000000000000000000000000000000000030d1925303c4855626f7b8896a0acb9c5d2ded1c4b8ab9e918578675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100020f1c2835424f5b6875828e9ba8b5c1cedbd6c9bdb0a3968a7d7063574a3d2e23170c0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0808080808080808080b17222d3842505a63707d89949eacb6c0cfd8d8cec6b8aca0958b7e71675d51453b3123190c020000000000000000000000000000000000000000000000000000000000000000040e18232e39424e57626d75828f97a1acb6c0ccd8dacfc4bbb0a69f92867c6e665c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000714212e3a4754616d7a87939facb9c6d2d2c5b9ada196887b6e62554c566774818d9aa7b4c0cec6baaea298897c6f6256493c4653606d7985929facb8c5d2c5b9ada196887b6e61554a5466727f8c99aab3becacabfb4aa9a8d807367574d42362a1e12050000000000000000000000000713202c3945525d686d777f8791969fa6afb5aea49c928d81786d665c544a3f3328251b1208000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbacfd2c5b8ac9f928579675d5145392c201306000000000000000000030c151e273039424a545c666d78818e939da5aeb6bfc8cbc2b9b1a8a0999399a4abb5c0ccc3b7ab9f94897c6f62544a3f34281c10030000000000000000000000000000000000000000000004111d2935404b55626f7c8995a0acbcc5d0dfdfd3c7bbb0a69c8f82766c61564c41362c21180d0400000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000b1824313e4b5764717e8a9aa4afbbc8d4d7cbbfb5ab9c8f8276685e5242392e1f160c0000000000000000000000000000000000000000000000000815212e3a47535f6a7784919eaab7c4d1ddd2c6b9ada197867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101d2a3643505d697683909ca9b6c3cfdcd5c8bbaea295887b6f6255483c2f2215060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f32261915151515151515151515151c28333f4a54616c7683909da6b0bec7d2dcd0c6bcafa59d9083786c60554c41332a1f11070000000000000000000000000000000000000000000000000000000000000000000007121d27303c45515b616d7a85919aa4afbbc3ced8d6cdc1baaea2989083796d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000030f1b27333f495364717e8a9aa4afbbc8d4d1c4b7ab9e918478695f534a5764717d8a97a8b1bdc8cabeb4aa998c7f7266544a404956626f7c8998a2aebac6d1c4b7ab9e918478695f534956626f7c8998a2aebac6d0c3b7aa9d908477695e53463a2d2114070000000000000000000000000714212d3a4754606d7a828c9299a1a9b0bbbfbbaea49d938e81786d665b504440372d241a10060000000000000000000000000000000000000000000815212e3b4854616e7b8794abb4bfcbd1c4b7aa9e9184776b554c4135291d11040000000000000000030c151e273039424a545c666d78818f939ea5afb7c0c8cac2b9b1a7a09691869399a4afbbc7c7bbb0a69a8e8174665c5044382b1f1206000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcced7e2ddd0c4b7ab9f94897d70635a50443a2f231a0f060000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000005111e2a36424d576774818e9aacb6c0ccd8d3c7bbaea3998b7e7165564c4130271c0d0400000000000000000000000000000000000000000000000006121f2b37434e586874818e9ba7b4c1cedad5c9beb3a995887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121e2b3845515e6b7884919eabb7c4d1ded7cbbfb4ab94877b6e6154483b2e2115080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226212121212121212121212121212b3844505b66707d8a959fabb8c1d0d9d6cbbfb4aa9e93897d6f665b50433a2f21180e0000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d88939fa7b1bcc6d0dcd6cabfb4aaa0958d80736b60564c41352921170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000005121f2b3744505b6574818e9bacb6c0ccd8cec1b4a79b8e817468574d4754616d7a8795a0acb8c5d0c2b5a99c8f8276665c51444a5466727f8c99aab4bfcacec1b4a79b8e817468574d4653606d7985929fabb8c5d2c5b8aca095877b6e6154483b2e23180c0000000000000000000000000814212e3b4754616e7a8390949ea6afb7c0cbbfb6aea59d938e81786c605c52493f362c22180e0500000000000000000000000000000000000000000714212d3a4754606d7a8799a3aebac7d0c4b7aa9d9184776a544a3f33281c0f0300000000000000020b151e273039424a545c666d78818f939ea6afb7c0c9c9c1b8b0a79f9590847c87939facb9c4cdc2b8ab9e9285796d6053463a2d20130a000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb8c3cedfe1d4c8bdb2a89c8f82766b6054483e32281e1108000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000714202d3a46525e697784919eaab7c4d2ddd2c5b9ac9f92867a6d6054473a3021150b00000000000000000000000000000000000000000000000000030f1a26313f4c5966727f8c99a5b2bfccd8dacfbdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3945525f6c7885929fabb8c5d2ded3c7baaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f322518090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f322e2e2e2e2e2e2e2e2e2e2e2e2e2e34404b55606c7883919da7b1bccad3ddd3c7baaea3988e81756b60544a3f31281e0f06000000000000000000000000000000000000000000000000000000000000000000000000030c18212a36414c56606b73808d95a0aab4bfcbd6dbd0c6bcb1a79f93877d70685d52453e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000613202d394653606c7885929eabb8c5d2d4c8bcb1a7978a7e7164574b46525e687784919daab7c4d0c5b8ac9f9285796d605346505c6675828f9ca8b5c2d0c9bdb2a8978b7e7164584b44505c6675828f9ca8b5c2cfc8bcb1a7988b7e7165544a4034281c100400000000000000000000000714202d3946525e686e7a828f949ea5aeb6c0c8c0b7afa59e938d80746e635b51483e342a20170c03000000000000000000000000000000000000000613202c3945525d687986929facb9c5d1c5b8ab9e928578665b5044382b1f1206000000000000000a141d263039424a545c666d78818f939ea6b0b8c1c9c9c0b7afa69f9590837a75828f9ca8b2bdc9c6b9ada197897c706356493d32261b0f030000000000000000000000000000000000000000030f1b27333f495364707d8a98a2aebac7d3e0ded1c5b8aca096897d7063594f44362c20160c00000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000814212e3b4754616e7b8796a0acb9c5d2dccfc2b5a99c8f8276685d5245392c20130300000000000000000000000000000000000000000000000000000a1724313e4a5764717d8a97a4b0bdcad7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121f2b3744505b657985929facb8c5d2dfd2c5b9ac9f928679675d5145392c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f30251a0e0300000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b45515c67717e8b95a0acb9c2cddcd5c9bdb2a99f92867b6e61594f42382d1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d79839098a3aebac1cdd6d8cec3bbafa49991847a6d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000916222f3c4955626f7c8897a1adb9c6d2d1c5b8aca095877a6e615447414c566774818d9aa7b4c0cec6baaea298897c6f63564953606d7985929fabb8c5d2c5b9aca096877b6e6154483f4a5465727f8c98a9b3becacec2b5a89b8f8275665c5144382c1f1206000000000000000000000005111e2a36414c565e686d79828e939da4aeb6c0c9c0b7afa59d928d80736d625a50463c32291e150b0000000000000000000000000000000000000004111d2935414c566b7885919eabb8c4d1c6b9ac9f9386796c605346392d20130700000000000006111c262f38424a545c666d78818f939ea5afb8c1cac8c0b7afa59e948f827a6e707d8a96a0acb9c6c9beb3a99a8d807467584e43372b1f1306000000000000000000000000000000000000000005121f2b3744505b6574818e9aaab4bfcad6e2d7cbc0b5ab9d9184776b6054473d32241a0d0400000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000b1824313e4b5764717e8a97a8b2bdc8d4d9ccc0b3a6998d807366564c4135291d11040000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b554b4035291d10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265574d42362a1f140900000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c48484848484848484848484848484848484b55606d7984919ea7b1bccbd4dbd2c5b9ada1968c8073695e53473d2f261c0d0400000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515c676f7c86929fa6b0bbc5cfdad7ccc0b5aba1968e81756c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000004111d2935414c5566727f8c99a9b3bec9d5d0c3b7aa9d908477685e52463e4b5764717e8a97a8b2bdc9cabfb4aa998c7f7366554b56626f7c8998a2aebac6d1c4b7aa9e918477695e53463c4955626f7c8897a2adbac6d2c5b8ab9f9285796d6053463a2d2013090000000000000000000000020e1925303b444c565d676d78818d929da4aeb7c1c9c1b7aea49c928c7f726c61584e443a30271c1207000000000000000000000000000000000000010d19242f44515d6a7783909daab7c3d0c7bbafa499887b6e6155483b2e23180c00000000000a1317222d38424a545c666d78818f939ea5afb8c1cac8c0b6aea59d938f82796d686c7884919eabb4bfcbc4b7ab9e9184786a5f53473b2e21150600000000000000000000000000000000000000000613202d394653606c7885919eabb8c4d0dbe0d4c7bbafa3998c7f7266594f44352b2112080000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000010d1a2734404d5a6773808d9aa6b3c0ced9d7cbbfb4ab978a7e7164574b3e3024190d0100000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714202d3a4753606d7a869aa4afbbc8d4ddd0c4b7aa9d9184776a5e51442f24180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d8996a3b0bcc9d6e3dacdc0b3a79a8d8074695e52463b31261a0e03000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726559545454545454545454545454545454545454545d67727f8b96a1acb9c3ceddd4c8bcb1a79e9184796d60574d42352b1d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404b555f6a727f8b949ea9b3bec9d5ddd2c7bdb2a89e938b7e71695f544a3f34281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000613202c3945515d677683909ca9b6c3cfd7cbc0b5ab9a8d807467564d413b4754616e7b8796a0acb9c5d0c2b6a99c8f8376675c515465727f8c98aab4becacdc1b4a79a8e817467574d42394653606c7985929fabb8c5d2c6baaea298897c706356493d30251a0e02000000000000000000000008141e29323b434c555d666d77808d929da5afb8c2c9c0b6aea49f93887e706a5f564c42392e23180e05000000000000000000000000000000000000081b2835414e5b6874818e9ba7b4c1cfccc0b5ab978b7e7164554b4034281c100400000009121c2528333f4a545c666d78818f939ea5afb8c1cac8bfb6aea49d938e81786d675d66727f8c99a3aebac7c5b9aca196887c6f6255493c2e23170c00000000000000000000000000000000000000000916232f3c4956626f7c8997a1adb9c6d2e2dfd2c5b9ac9f92867b6e6154473d3321190f000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000004111d2935404b556975828f9ca8b5c2cfdbd3c7baaea399887b6f6255483c2f2215080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714212d3a4754606d7a8793a0b5c0cbd7ddd0c3b7aa9d9084776a5d51442e23180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000060f1b27333f4953616c7683909da9b6c3d0dce9dfd2c5b8ac9f92867b6e61574d42362a201509000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f72656161616161616161616161616161616161616161616d7a85929ea8b2bdcbd5d8cec6b8ab9f958b7e71675d51453b3123190b020000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f97a1adb9c0cbd5d9d0c4baafa59f92867b6e665c50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000714212d3a4754606d7a86929facb9c5d2d3c7bbafa3998a7d7063574a3d3a46525e697784919eaab7c4d1c5b8ac9f9286796d60535b6675828f9ca8b5c2d0c8bdb1a8978a7e7164574b3e3844505b6675828f9ba8b5c2cfcabeb4aa998d807366574d42362a1e11050000000000000000000000020d172029313a434b545c656c74808d939ea6b0b9c3c8bfbbafa49a92867c6f685e544a40342820170d0200000000000000000000000000000000000b1825313e4b5864717e8b97a8b2bdc9d2c1b4a79b8e8174675c5145382c1f150b010008121b242e373f44505b666d78818f939ea5afb7c1cac8bfb6aea49c928d81786d665d55616d7a86929facb9c5c9bdb2a8998c807366544a3f34281c1003000000000000000000000000000000000000030f1b27333f49536673808c99a9b3bec9d5e1dccfc2b5a99c8f8276685e5246392d201407000000000000000000000000000000000000000505050505050505050505050505050505050b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000613202c3945515d677884919eabb7c4d1ded2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000713202d3a4653606d798699a3afbbc7d3ded1c4b7ab9e9184786b554b4034281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000c171f2b3744505b65707d8a959fabb8c4d1ddeae0d3c7baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e73808c97a1adbac4cedbd0c6bcafa59d9083786c60554b4033291f140d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a85929ea4aeb9c3cfd8d6ccc1baaea2989083786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000a1724313d4a5764707d8a99a3afbbc7d3d2c5b9ac9f92867a6d6054473a36424d576774818e9aa7b4c1cec7baaea398897c706356606c7985929fabb8c5d2c5b8aca095877a6e6154473b333f4a5465727f8b98a9b3bec9d0c3b7aa9d908377695e52463a2d201406000000000000000000000000050e171f283139424a535b606c77818e949fa7b1bbc4ccc0b6aca29891847a6d665c51443d32291e130800000000000000000000000000000000000815222e3b4855616e7b8896a1adb9c5d1c5b8ab9e9285796d6053463e31271d120708111a242d363f49525c606c78818e939ea5afb7c1c9c8bfb6ada49c928d80776d665c54525e6875828f9ba8b5c2cec3b6a99d908376665c5044382c1f120600000000000000000000000000000000000005121f2b3744505b6576828f9ca9b6c2cfdae1d4c8bdb2a8988b7f7265564d41362a1e110500000000000000000000000000000105090b0b111111111111111111111111111111111111111825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000714202d3a4753606d7a86939facb9c6d2ddd0c3b7aa9d908377665c5044382c1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3844505c667986929facb9c5d2dfd2c5b8ac9f928579675c5145382c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bcc8d4e0ece3d6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd9ccc0b3a6998d807b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c86929fa9b3beccd6d6cabfb4aa9e93897c6f655b504339322a261f170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343f46525e68707d8a929da7b1bcc6d1dcd6cabeb4aa9f948c7f736a60554b40352920170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000006121e2b37424e576774818d9aabb5c0cbd7cfc3b6a99c908376675d514539303e4b5864717e8b97a8b2bdc9cbbfb4aa998c80736655626f7c8897a2adbac6d0c4b7aa9d918477685e5246392d3c4855626f7b8897a1adb9c6d1c5b8aca095877b6e6154473b2e23170c00000000000000000000000000050d161f2730384149505b656d79829095a0a9b2bcc5c7beb4aaa1969082786d60594f443a3025190e04000000000000000000000000000000000714212d3a46535f697884919eabb7c2cdc6b9ada1978a7e71645a5043392f241810101a232c363f48515b636e74808d939ea5afb7c1c9c7bfb6ada49c928c80736c655c544b4c5665727f8b98a8b2bdc9c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deded2c5b8aca096887b6e6155483b3025190e0200000000000000000000000000060c111517181e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e25313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000916232f3c4956626f7c899aa4afbbc8d4dbcec2b5a89b8f827568574d42362a1e1205000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101c28343f4a5f6c7885929fabb8c5d2ded3c6baaea29886796d6053463a2d2013070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8a95a0acb9c2cdd8e4f0e7dcd0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc1b4a89c928d8787878787878787878787878787878787878787878787889298a2aebbc5cfded3c6baaea2988e81756a60534f47433d3631292117110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000030c18222a36414c56616b74808d95a0aab4bfcbd7dbd0c5bcb0a69f92877c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000814212e3a47535f6a7884919eabb7c4d1d6cabfb4aa998c807366554b41352e3b4854616e7b8796a1acb9c5d0c3b6a99c908376675d65727f8c98a9b3becaccc0b6ac9a8d817467564d41362d394653606c7985929eabb8c5d1c8bcb1a7988b7e7165544a3f34281c100300000000000000000000000000040d151e262f383f49535c676d7a839197a1aab4bfcac6bcb2a89f948d80736b60564c41362a20160c0200000000000000000000000000000005121e2a36424d576774808d9aa6b0bbc7cabeb3a99d9083766c61554b403529221819222c353e48515b636d73808d929da5afb7c1c9c7bfb5ada39c928c80736e605b534a424855626e7b8896a1adb9c5c7baaea398887b6f6255483c2f2215060000000000000000000000000000000000000815222e3b4855616e7b8897a2adbac6d3dfddd1c4b7aa9e918477695f53463a2d1f1408000000000000000000000000000911171d2124252b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000b1825313e4b5864717e8b97acb6c0ccd8ddd1c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c17232e45525e6b7885919eabb8c4d1ded6cabfb4aa94877a6e6154473b2e2114080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000004101c2834404b55606d7884919ea7b1bccbd4dfe9f5ede2d7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd0c4b9aea49c999494949494949494949494949494949494949494949494959fa2aab4bfcdd7dfd2c5b8ac9f92857b6e67636059544e46423b3328231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d79839098a3aebac2cdd6d7cec2bbafa3999184796d605a50453b2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000815222f3b4855626e7b8896a1acb9c5d2d3c6baaea298897c6f6356493c2f2d3a46535e697884919eabb7c4d1c5b9ac9f9286796d606675828f9ba8b5c2d0c8bbafa49a8a7d7164574a3e302b3744505b6575828e9ba8b5c1cfcec1b5a89b8e8275665c5044382c1f12060000000000000000000000000000030c151d262d38414b555d686e7b859198a2aebac1ccc4bab0a69f93887d70685e52463e32281e1308000000000000000000000000000000020e1a26313b4855626e7b88949fabb7c3cec5b8ab9f958a7e71675d51453e342a21212b343e47505a626d727f8c929ca4aeb7c1c9c7bfb5ada39c918c80736e635c5049413847535f6a7884919eabb8c4cbbfb4aa978b7e7164584b3e2d22170b0000000000000000000000000000000000000b1724313e4a5764717e8a97a9b3becad6e2dacdc0b3a79a8d807467574d42362a1e0d0200000000000000000000000009121b22292e3132383838383838383838383838383838383838383838383e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000c1926333f4c5966727f8c99a5b2bfd2ddded2c5b9aca096877b6e6154483b2f24180d000000000000000000000000000000000000000000000000000004101c2834404b546673808c99a6b3bfccd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000061e2a3744515d6a7784909daab7c3d0dddbd0bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000010c16202c3845515c67717e8b96a0acb9c3cedde6f0f7f3e7dcd1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5cabfb6aea8a6a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2acaeb4bcc5d0dfded1c4b7ab9e91847e7974706b626058534d453e342e261e150c030000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515c676f7c86929fa6b0bbc5cfdad7cbc0b5aba0968e81746c61574d41382d22170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000004101c2934404b5565727f8b98a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d2a36424d576874818e9ba7b4c1cfc7baaea399897d70636c7985929fabb8c5d2c6b9ac9f93867a6d6154473a2e27333f495365727e8b98a9b2bdc9d2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000030b141b262f39434c565e696f7c86929fa5afbac4ccc2bbafa49a91857a6d615a50443a3025190b020000000000000000000000000000000914212e3a47535f6976828f9ca7b1bcc8c8bcb1a79e9184796d605a50463c332a2a333d474f59616c727f8b919ca4aeb6c0c9c7bfb5ada39c918c7f736d635c52443f3837424e576874818e9ba7b4c1cfc0b3a79a8d807467544a3f33281c0f0300000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d0dbe3d6cbbfb4aa978b7e7164584b3e31261a0e02000000000000000000000006111b242d343a3d3e44444444444444444444444444444444444444444444444b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00010e1a2734414d5a6774808d9aa7b3c0cddae1d4c8bdb2a8978b7e7164554b4035291c11060000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9ba8b5c2cedbd8ccc0b6ac978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100030f1c2936424f5c6975828f9ca8b5c2cfdbd6c9bcafa396897c706356493d302316090000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdcbd5dfedebeaecede3d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7dcd1c8bfb9b4b3aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb8babfc5ced7e2ded2c5b9aca196918b85817d766f6a615f5750443f3830271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202934404b555f6a727f8b949fa9b3bec9d5dcd1c7bdb2a89d938a7e71695e53493f33271f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000006131f2c3845515c6776828f9ca9b5c2cedacfc2b5a89c8f8275665c5144382c25313e4b5865717e8b98a8b2bdc9cbbfb4ab998c8073666f7c8897a2adbac6d0c3b7aa9d908377685e5246392d222d3b4855626e7b8896a1adb9c5d2c6baada297897c6f6356493c3025190e02000000000000000000000000000000020a141d27303a444d575f6a717e8b939ea8b2bec7ccc0b6aca1978f82756c61564c4135291d140a00000000000000000000000000000006121e2b37424d5764717e8a95a0acb8c1cec2b9aca1968d80746c61584e453c33323c454f59616b717e87939fa3adb6c0c8c8bfb5ada39b918c7f736d635b524a40332d313e4b5764717e8a97a8b2bdc9c3b6a99c908376665b5044382b1f120600000000000000000000000000000000030f1b27333f49536976828f9ca9b6c2cfdce0d3c7baaea398887b6f6255483c2f2215090000000000000000000000010c17222d363f454a4b5151515151515151515151515151515151515151515151515864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00020f1c2835424f5b6875828e9ba8b5c1cedbe5d9cec1b4a79b8e8174675d5145382e23170c010000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded4c8bbafa49a887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010e1b2734414e5a6774818d9aa7b4c0cddad8cbbfb2a5988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000010d19242f3945515d67727f8b96a1adbac3cedde5e1dedddfe0e3dcd1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e3dad1cac4c1c0babababababababababababababababababababababababbc5c6cad0d7e0e9e1d5c9bdb2a8a19e98928e89827c756e69615a504a423930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232f39434e58606c77828f97a1adb9c0ccd5d9cfc4baafa59e92857b6e655b50443c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000714202d3a4753606d7986929facb8c5d2d5c9beb3a9988c7f7265544a403428222e3b4855616e7b8896a1adb9c5d1c3b6a99c90837667727f8b98a9b3becaccc0b5ab9a8d807467564c41362a212e3a47535f697884919eabb8c4d1cabeb3a9998d807366564c41362a1e110500000000000000000000000000000000020b151e28323b454e58626c75818e96a1acb6c0ccc7beb3a99e948a7e71685e52463d2f261b11060000000000000000000000000000020e1a26313c4653606d7883909da5afbcc6c9bdb2a89d928a7e716a5f574d453d3b444e57606b707d879299a4afb5bfc8c8bfb6ada39b918c7f726d635b5249403727222e3b4754616e7a8796a1adb9c5c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121f2b3744505b657784919eaab7c4d1dddfd2c5b8ac9f9286796d6053463a2d201307000000000000000000000005111d29343f485056585e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e64717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0003101d2a3643505d697683909ca9b6c3cfdce9ded1c5b8ab9e9285796d60544a3f34281e13080000000000000000000000000000000000000000000000050f1b27333f495363707d8998a2aebac6d3dfd2c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1926333f4c5966727f8c99a5b2bfcfdbdbcec2b5a89b8f827568574d42372b1e120500000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000004111d2935414c56606d7985929ea8b2bdccd5e0d9d5d2d1d2d4d7dcd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ece3dcd5d0cdccc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c8d2d3d6dbdddfe0e4dacec4bab2acaaa29f9b948f87817b706c605c544b43392f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929ea4aeb9c3cfd8d5ccc0b9ada2978f82776c60584e43392f23180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000a1723303d4a5663707d8998a2aebac7d3d2c6b9ada197887c6f6255483c2e23212d3a46535f697884919eabb8c4d1c5b9ac9f92867a6d75828f9ba8b5c2cfc7bbafa4998a7d7064574a3d30251e2b37424d576875818e9ba8b4c1ced0c3b6aa9d908377685e5246392d2014060000000000000000000000000000000000030c162029333c46505a616d7a84919aa4afbbc3d0c4bbb0a69e92857a6d61594f41382d22170b01000000000000000000000000000009151f2b3844505c66707d89939eaab4bfcbc4baaea49f92867c6f695f574e46434d565f6a6f7d869299a3abb5c0c7c8bfb6ada49c918c7f726d635b514940372e25202d3946525e687884919eabb7c4c6baaea298887b6e6255483b2f221508000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfdcd0c3b6a99d908376665c5044382c1f120600000000000000000000000915212e3a45505a62656b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0004111e2b3744515e6a7784919daab7c4d0ddeadfd2c6b9ada2978b7f72665c50443a2f24190f06000000000000000000000000000000000000000000030c17202b3744505b6574818d9aaab3becad6ded1c4b7ab9e918478675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000b1724313e4a5764717d8a97a9b3becad6ded1c5b8ab9e928578695f53463a2d21140900000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000030d17212c3945525d68727f8c97a1adbac4cfded5cec9c5c4c5c7cbd1d9d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ede5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9c9cacbcdd0d2d4d8ddd6ccc4bdb9b4aeaca69f9a938e857d736d665c554b42382d22170f06000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d8a929da7b1bdc6d1dcd6cabeb3a99f948c7f726a5f554b40342920170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000005121e2a36424d576774808d9aaab4bfcad6d1c5b8ab9e9285786c605346392d201e2b37424d576875818e9ba8b4c1cfc7bbaea399897c6f7885919eabb8c4d1c6b9ac9f93867a6d6054473a2d211a26313e4b5865717e8b98a8b2bdc9d2c6b9ac9f93877a6e6154473b2e23170b000000000000000000000000000000000000040e17212a343e46525d68707d88939fa7b1bdc7cdc1b9ada1978e81746b6053493f33271d1207000000000000000000000000000003101c28343f4a54606b75828f98a3aebac1cbc0baaea29891857b6e696058504b555e686e7c859298a2abb5bdc7c9c0b6aea49c918c7f726d635b514940372e251c1e2a36414d566976828f9ca9b5c2cabfb4aa968a7d7063574a3d3024170a000000000000000000000000000000000814212e3b4754616e7a8799a3aebac7d3e0dacec1b4a79b8e817468544a3f34281c100300000000000000000000000b1724313d4a56626c717777777777777777777777777777777777777777777777777777777e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3945525f6c7885929fabb8c5d2deebe2d6cabeb3a99e9184796d60564c4135292118100700000000000000000000000000000000000000020b151e2834404a54606c7884919eabb8c4d0dbdbcfc2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adb9c6d2dfd2c6b9ada197887b6e6155483b31251a0e01000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000009141f2a36414c56606d7a85929fa9b3beccd6d5ccc4bdb9b7b9bbc0c7cfd9d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e5dbd3ccc6c2c1bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbdbec1c4c6c8ccd2d4d7cec9c6bfbab8b0aca49f97928880786d675c544a3f332821180e03000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0abb4bfcbd7dbcfc5bbb0a69f92867c6f675c51453e32291e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000714212d3a46535e697784919daab7c4d0dbcec1b4a89b8e8175655b5044372b1f1a26313f4b5865727e8b98a9b3bec9cbbfb5ab988b7e727a8797a1adb9c6d0c3b6aa9d908377685d5245392c2015222e3b4855616e7b8896a1acb9c5d2c8bbafa49a8b7e7164544a3f34281c1003000000000000000000000000000000000000050f18222935414c56606b73808d95a0abb5c0ccc9beb3a99e93897d70655b5044392f23180c0100000000000000000000000000000b17232e38424f59616e7b86929fa5afb9c3cabfb4aaa19791847b6f6a625a545d676e7a849197a2aab4bdc6c9c0b7aea49c928c7f736d635b51493f372e251c13192530414d5a6774808d9aa7b3c0d0beb1a4988b7e7165584b3e3225180b000000000000000000000000000000000916232f3c4956626f7c8995abb4bfcbd7e3d9ccbfb3a6998c807366594d402e23170c0000000000000000000000000b1825323e4b5865717e84848484848484848484848484848484848484848484848484848485929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3844515c667986939facb9c6d2dfece6dbcfc5b9aca1968a7e71685d52453e332a221810070100000000000000000000000000000000030b141d26303844515c66707d8a96a1adb9c5d2e1d5c9beb3a9988b7f7265584c3f2f24180c000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535f697885929eabb8c5d1ded5c9beb3a9978b7e7164574d42362a1d1207000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000020e1a25303946525e6873808d97a2adbbc5cfd9cec4bab2acaaacafb5bdc7d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ddd3c9c1bab6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafb0b1b2b4b7b9bbc0c5c7cbd1d5d0cac6c2beb6afa9a29a938d82796d665b50443f332a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839199a3aebac2cdd7d7cdc2baaea3999183796d60594f443a3025190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000815212e3b4854616e7b8795a0acb8c5d1d5c9bdb2a8988b7e716553493f33271b15222f3b4855626e7b8897a1adb9c6d1c0b4a79a8d81747c8996a9b3bec9cbc0b5ab9a8d807367564c4135291d14212d3a46535f697884919eabb7c4d1ccc0b6ac9b8e8175665c5044382b1f12060000000000000000000000000000000000000007101924303a444f59606d79839099a4afbbc6cfc5bbafa59d9083786c60554b4034291d1207000000000000000000000000000006111c26303d46535e69727e8b939ea7b1bbc5c5bcb3a9a19691857c716c605d666d79839096a1a9b3bcc6cac1b7afa59d928c80736d635b51493f372e251c13081825323f4b5865727e8b98a5b1becfbfb2a6998c7f7366594c403326190d000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdd1dce7d8cbbeb1a5988b7e7265584b3f322518060000000000000000000000000c1926323f4c5965727f8c91919191919191919191919191919191919191919191919191919297a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000713202d3a4653606d79869aa4afbbc8d4e0edece1d5c9bdb2a89e91847a6d605a50463c342a2218130c040000000000000000000000000000060c151d262f38424c56606d7984919da8b2bdc9d5dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576976828f9ca9b5c2cfdadacfc2b5a89b8f8275695e5346392f24180b020000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000005121e2a36424d57616d7a86929fa9b3becdd6d5c9bdb2a8a09e9fa3abb5c0cbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe2d7ccc1b7afaaa8a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a7aaacafb6b9bbc0c7cad0d6d3d0c7c0bbb3aca49f948e81786c605b51453c31261a0d03000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c86929fa6b0bbc5cfdad7cbbfb4aba0958d80746b61564c41362a21180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000003101c28343f4a5465717e8b98a7b1bcc8d4d2c5b9aca096877b6e6154483b2d221714212e3a47535f6a7885929eabb8c5cfc2b5a99c8f82767e8a97a4b1bdcfc7bbafa3998a7d7063574a3d2f2419121e2a36424d576874818e9ba7b4c1ced2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000000000000008131e28323d45515c676f7c87939faab4bfcbcdc1b8aca0958b7e71675c5145392f23180c0000000000000000000000000000000a141e2a36424d57626d75818e95a0a9b3bcc5c4bbb2a9a19791867e746d676d78828f95a0a8b2bbc5cbc2b8afa59d938d80746e635b51493f372d251c130a0a1623303d495663707c8996a9b3becac0b4a79a8d8174675a4e4134271b06000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1a9b3bec9d5d7cbbeb1a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0b6c0ccd8e4f0f1e5dacec4b9aca1968e81756c61584e463c3429241d16100b0603000000000000000003070c11171e272e38414a545e68727f8c96a0acbac4cfdaded1c4b8ab9e9185786a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000020e1a2631404d596673808c99a9b3bec9d5dfd2c6b9ac9f93877b6e61554b4035291d140a0000000000000000000000000000000000060f18222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000040e18222d3a46525e6974808d98a2aebbc5d0dcd2c5b9aca096919299a3afbbc6d1d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c6baafa59e9b9595959595959595959595959595959595959595959595969697989a9d9fa4acacafb5babec5cdd7d9d2ccc5beb6afa69e938d80746d62574d42372b1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b555f6a727f8c949fa9b3becad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000006121f2c3844505c6675828f9ba8b5c2ced9d1c4b7aa9e918477695e53463a2d1b11121e2b37424e576875828e9ba8b5c1cfc4b7aa9d9184777f8c98a5b2bfcbc5b9ac9f92867a6d6054473a2d21140e1a26313e4b5864717e8b97a8b2bdc8d3c6baada297897c6f6256493c3025190d0100000000000000000000000000000000000000020c16202834404b555f6a74818e98a3aebac5cfc8bcb1a79e9184796d60554b4034291c11060000000000000000000000000000020c1a25313b45515b606d79839097a2aab3bcc6c4bbb2a9a198928b81796f74808d949ea7b1bac4ccc2b9b0a69e938e81776c605c524940372e251c130a010714212e3a4754616d7a8797a2adb9c6c2b5a89b8f8275685c4f422d22170b000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c1926323f4c5965727f8c98a5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5cfdad7cbbeb1a4988b7e7165584b3e3225180b000714212e3a4754616d7a8794a0adbad2dde8f4f6ebe0d5c9bdb2a89e938a7e716a5f584e463d352f281f1c17120f0b0608070708060c1012181c222830394049535c666d7a85929fa8b2bdccd6e0d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000916232f3c4956626f7c8997a1adb9c6d2dfd4c7bbafa4998d8073675d51453b2f261b1106000000000000000000000000000000050e18212a36424d57626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000a15202b37424d57616e7b86929faab4bfcdd7d4c8bcb1a79e918487929fabb4bfcbd7cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6aa9e938e8888888888888888888888888888888888888888888888898a8a8b8e91939a9b9fa3abadb3bbc2cbd1d8d8d0c7c0bbafa59d928c7f72695f53473e31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c77828f97a1adb9c0ccd5d8cfc3b9aea49e91857a6d615b51453c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000713202d3a4653606d7985929fabb8c5d2d8ccc0b6ac9a8d817467574d42362a1e0a0e1a26313f4c5865727f8b98a9b3becac5b8ab9f928578808d9aa6b3c0cdc3b6a99d908376675d5145392c20130915212e3b4854616e7b8796a0acb8c5d2cabeb3a9998c807366564c41362a1d11050000000000000000000000000000000000000000040e18232e39434e58616e7b86929fa9b3becacdc3b9ada1968c7f72675c5145382e23170c00000000000000000000000000000009141f29333f45515d676e7b859298a2aab4bcc5c4bbb3aaa39f938e847c7f8b929da6b0b9c3ccc3bab1a79f948e81786d655b504a40372e251c130a01000713202d3946525e687885929eabb8bab8b4a99d9083766a53493f33271b0f030000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d4c7baaea194877b6e6154483b2e2115080000000000000000000000000c1926323f4c5965727f8c98a5b2b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec5cdd6e1d7cbbeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1edfbf1e5dacec4baafa59f92867c6f6a5f584f45403a312b28231f1b17161514141516171c1f24292d333c424b515b656d78828f97a2adbac3cedfddd1c4b8aca095887c6f6255493c31261b0f03000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000613202d394653606c7885919eabb8c4ced9d7ccc0b5ab9f9285796d60564d41382d2217110600000000000000000000000000060e17202a333c46535f6973808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000030f1b26313a46535f6974818e98a3aebcc6d0dcd1c4b8ab9f958a7d818e99a3aebac6d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdbcec1b5a89b8e817b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7e7f8184868a8e92999fa2a9b0babfc6cfd8d9d2ccc1b7aea49f92867b6e625a5043392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7b85929ea5afbac3cfd8d5cbc0b9ada1978f82756d62574d42392e23180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000091623303c4956636f7c8998a2aebac6d3d4c8bbafa49a8a7d7164574a3e31251a0e0915222f3c4855626f7b8897a1adb9c6c6baada297867a818e9ba7b4c1cbbfb4ab998d807366554b4135291d110714202d3a46525e697784919eaab7c4d1cfc3b6aa9d908377685e5246392d20130600000000000000000000000000000000000000000007121d27303c46525e6973808d97a1adb9c4cec9bdb2a89e9185796d60544a3f34281c10030000000000000000000000000000030d17212935404b555f696f7c869298a2aab3bbc3c4bcb4aea59d96918787929fa4aeb8c1cbc4bbb1a89f958f82786d665c53493f382e251c130a01000005111e2a36414c566a7784919daab4aeacaaa29e918478655b5044372b1f12050000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e2114070000000000000000000000000c1926323f4c5965727f8c98a5b2bfc4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c6c9cfd6dfe8d7cbbeb1a4988b7e7165584b3e3225180b000815222e3b4855616e7b8894a1aebbc7d4e1eef0e9e4e0d6ccc1baaea29892857c6f6a6059514b433d38342e2b272223222121222323282c2f35383f444d545c606c77818e949ea9b3beccd5e0d4c8bdb2a89d9083776a5f53473b2a20150a00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000005121f2b3744505b6574818e9aa8b2bdc9d5ddd2c7baada2978b7e72695e53493f33272317110a03000000000000000000030a10182029323c46505a616e7b86929facb9c5d2dfd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000006121f2b37434e58616e7b87929faab4bfced7d3c7bcb0a69d9083767b86929faab4bfcad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f70717274777a7d82878d92979fa6aeb4bdc6d0d9ddd8c9c0baaea3998f82766c61554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e69707e8a939da8b2bdc6d1dcd5c9beb3a99e948b7e72695f544a40342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000005111e2a36414c566673808d99aab3becad6d2c6b9ac9f93877a6d6154473a2e2114090613202d394653606c7985929eabb8c5cabeb3a994887b828f9ca8b5c2c7baaea399897d7063564a3d2f24180d05121e2a36424d576774818e9aa7b4c1ced2c6b9ac9f93877a6d6154473a2d22170b000000000000000000000000000000000000000000000b151e2a36424d57606d7a85929ea8b2bdc9cfc4b9ada1978b7e72665c5044382c1f150a000000000000000000000000000000050f18242f39434d57606a6f7d869298a1a9b1b9c1c6bfbaafa8a099939299a3afb6c0cac5bcb2a9a0959083796d665c544a41382d261c130a01000000010d19253043505d697683909ca9aaa29f9b98928f86786c605346392d2013060000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae0d3c6b9ada093867a6d6053473a2d2014070000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d5dad7d7d7d7cbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1efe6dfd8d4d1d0cabeb3aaa19792857c706b605d554f46443f3937332d302f2d2e2f302e34383a40454a50575f666d73808d939ea6b0bcc5d0ded8cec6b9aca0968b7e7165584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000030f1b27333f495363707d8996a0acb9c6d0dcd6cabeb3a99e92857b6e655b50443d3528231c15100c060604000205060b0f151b222a323b444e58626c75818e98a3aebac7d3e0d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000040f19232e3a47535f6a75818e99a3afbcc6d1dcd0c4b7ab9f94897d7074808d98a2aebac5d0d4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174676262626262626262626262626262626262626262626363646567686d70757b80858f949fa3abb4bdc7d2dddbd7cbbfb4ab9f948a7e71675d5145382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414d56616c74818e96a0abb5bfcbd7dacfc4bbb0a69f92867b6e665c51443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000713202d3946525e687783909daab6c3d0dbd0c3b6aa9d908377685e5246392d20130705121f2b3744505b6575828f9ba8b5c2d0bbafa295887c83909da9b6c3c5b9ac9f9286796d6053473a2d201407020e1a25303e4b5764717e8a97a7b1bcc8d4c8bbafa49a8a7e7164544a3f33281c0f03000000000000000000000000000000000000000000030c1a25303b45525d68727f8b96a0acb9c5cfc9beb3a99e9184796d6053463c31261b0f0100000000000000000000000000000007121d27313c454e58606b707d869297a0a7b0bbc0c7c0bab2aba49f9fa3abb5c0c8cabfb4aaa19791837a6d675d544b42382f261b130a010000000000081c2935424f5c6875828f9b9f9b98928e8a86827e776c605346392d2013060000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39986796c605346392d2013060000000000000000000000000c1926323f4c5965727f8c98a5b2bfcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1e6ddd4cdc8c4c3c4c5bcb3a9a19792857d746d67605953504a46443f3d3c3b3a3a3b3c3e3f44464b51545b60696e79808d929da5afb8c1ced7dcd0c6bcb1a79e9184786d6053463c32261b070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000b17222d394653606c7884919eaab4bfcbd6dbcfc5b9ada2978f82776c60584f473e342e261f1c171312100c0e1214171b1f262b343c444d565f6a717e8b939eaab4bfcbd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000b16212b37434e58626f7c87939fabb5c0cfd8d3c7bbb0a69c9083766b6e7a86929faab4becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a555555555555555555555555555555555555555556575758565d6163696e737b828c9299a3abb5c0ccd7dfdcd1c6bdb0a69e9184796d6053473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d79849199a3aebbc2cdd7d6cdc1baaea2989083786d60594f443a2f24190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000714212e3a4754616d7a87939facb9c6d2d7cbbfb4aa998d807366564c4135291d1105030f1b27333f495365727f8b98a9b3becabcb0a396897d84919eaab7c4c3b6a99c908376675d5145382c1f1306000914212e3b4754616e7a8795a0acb8c5d1ccc0b6ac9b8e8175665b5044382b1f12060000000000000000000000000000000000000000000009141f2935414c56606d7984919ea9b3bec9cfc4b9aca1968a7e7164584e43372b1d1207000000000000000000000000000000010b151f2a333d464f59606b707d8590959ea6afb5bdc3c4bdb5afacacafb5bdc7d1c6baaea29891857b6e685e554b423930261d140a010000000000010e1b2834414e5b6774818e98928e8a85827d7a75716c655b5044372b1f12050000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f12060000000000000000000000000c1926323f4c5965727f8c98a5b2bebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1dfd4cbc2bcb8b6b8bcc2bbb3a9a19792898179706b64605c545350494a4948474748494a4a5053555d60666c727b838d929da4aeb7c1cad3ddd6cbbfb4aa9f958a7e71665c5044382a20150a0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000006121f2b3744505b65727f8c98a3aebac5d0dbd6cabeb3a99f948b7f726a605950443f38302c2823201f1c181a1e2122272b32373e464e565e696e7c86929fa5afbcc6d1dce7d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000020b1b27323b4754606a75828f99a4afbdc7d1dcd0c4b7ab9f94897d70636873808d98a2aebac5cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e48484848484848484848484848484848484848494a4b4c4c5254575e61696e777f879299a4afbbc0cdd6e1d8cfc2b9ada1978a7e7164574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c87929fa6b0bbc5cfdbd6cabfb4aaa0958d80736b60564c41352921170c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000030f1b27333f495364717e8a9aa4afbbc8d4d3c7baaea398897d7063564a3d3025190d01000b17222d3c4955626f7c8897a2adbac6bdb1a4978a7e85929fabb8c5bfb4aa998c807366554b4035291d1004000714202d3946525e687784919daab7c4d2d2c5b8ab9e9285796c605346392d20130800000000000000000000000000000000000000000000030d19242f3a45515c66717e8a97a1adb9c7d2c9bdb2a89c9083766a5f5347392f24180c00000000000000000000000000000000030d18212b343d474f59606b6f7b838f949fa3abb1bbc0c7c0bbb9b9bbc0c7cfd2c5b8ac9f92867c6f695e564c433c332d261d170e080000000000000d1a2733404d5a6673808d8a85817d7975716d6764605b53493f33271b0f030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4b4034281c10040000000000000000000000000c1926323f4c5965727f8c98a5b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a4988b7e7165584b3e3225180b000814212e3b4754616e7a8794a1adbac7d4e4d8cdc2b9b1aba9abb1b9c2bbb3a9a29f928d847d76716d6662605b535756555454555657545c6062676d72787e8690959da4aeb6c0c9d2dcd5cbc3baaea3989083786c60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953616d7a86929faab3becad6dbcfc5bbb0a69f92867c706b615a504a423d38342e2d2c2823262a2d2d33373c434750585f686e7b849198a2aeb7c1cfd8e2e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a141d2c38444f59626f7c89939eabb5c0cfd9d3c7bbb0a69c8f82766b60616d7a85929fa9b3becad6cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f4146474d53575e656c727e87939fa4aebbc4cfdae1d5c9beb2a99c8f8276695f53463a2d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b55606a727f8c949fa9b3becad6dbd0c6bcb1a79f93877d70685d52453e33291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000005121f2b3744505b6575818e9bacb6c0ccd8d2c5b9ac9f9286796d6053473a2d20140800000613202d394653606c7985929fabb8c5beb1a4988b7e86929facb9c5baaea298897c706356493d2f24180c000005111e2a36414c566774818d9aacb6c0ccd2c6b9ada197897c6f6256493c3025190d010000000000000000000000000000000000000000000008131e2834404b54606d7985929eacb6c0cccec4b7ab9f94887c6f62554b4035291d100400000000000000000000000000000000060f19222b343d474f5960696e79828c9299a0a7afb5bdc7c7c6c5c7cbd1d9cbbeb1a5988b7e736d67605b534e443f382f29201a110900000000000b1825323e4b5865717f817d7975706d6764605d5553504941382d22170b000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679675c5145382c1f13060000000000000000000000000c1926323f4c5965727f8c98a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0adbad1dce0d4c8bcb1a79f9d9fa7b1b9c3bbb3ada49d969189837d78726f6c6565646362606162636466666d6f73797e848b9298a0a7aeb6c0c8d2dbd5ccc3b9b0a69f92867c6e655b5042382e23170c000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3846525e6873808d98a2aebac3cfd9d7cdc2baaea39892867d706c605c544f46443f3b3a38342e31363a3b3f44464e535a616a6f7a849196a0aab4bfc9d3e1eae1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2d9d0c7b7aa9e94897c6f63595e6873808c97a2adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e41342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3030313035393b42464d535b606c727f8b929da9b3bec9d5e0dacfc4b9ac9f93877b6e6155483b3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c78828f97a2adbac1ccd5d8cec3bbafa49991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000613202d394653606c7885929eabb8c5d2ddcfc2b6a99c8f8376675d5145382c1f1306000006121f2b3844505b6675828f9ca8b5c2bfb2a5998c7f8c99a3aebbc5b8ac9f9286796d6053463a2d2013070000010d1925303d4a5764707d8a9aa4afbbc8d4cabeb3a9998c7f7366564c4135291d110500000000000000000000000000000000000000000000010c18232e3945515c6673808d9aa4afbbc8d4c7bcb0a69a8d8074675d5145382c1f13070000000000000000000000000000000000071019222b353d474f575e676d787f8790959fa4abb5c0ccd2d2d4d7dcdfd2c5b9ac9f92868079716c655f585049413b322c231b1306000000000b1724313d4a56626d7174706d6764605d5553514b46443f382f261b1106000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c8bbafa49a86796d6053463a2d2013070000000000000000000000000c1926323f4c5965727f8c9797979797979797979797979797979797979797979797979797979797979797979797979797978b7e7165584b3e3225180b000714202d3a4753606d7a8693a0b5bfcbd7ddd1c4b8ab9f9590959fa7b1bcc5bebaaea8a19e95908a847f7c797572706f6e6d6d6e6f717275797c80858b91969fa2aab1b9c0c8d2dad5ccc4bab1a79e948c7f726a5f53493f30261c1106000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000006111b2a36414c56616d7a85929fa7b1bdc7d1dcd6cbbfb4aaa29892867e726d66615953504a484644404344424648495053585f626c717c849196a0a8b2bcc6d0dbe5f3e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb8c1d0d9d2c7beafa59c8f82756b605456606d7a85929ea9b3bec9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134272222222222222222222222222222222223242424292d31363b4149505a626d74808d97a1adb9c3ced9e0d4c8bbafa49a8d807366564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313c44505b666e7b85929fa5afbac4cfd9d7ccc0b5aba1968e81756c61574d42382e23170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000916222f3c4955626f7c8897a1adb9c6d2d6cabeb3a9998c7f7266554b4035291d10040000030f1c28333f4a5465727f8c98aab4bfc1b4a79b8e818e9babb5bfc2b6a99c8f8276675c5145382c1f13060000000814212e3a4754616d7a86939facb9c6d2cfc3b6a99d908376685e5246392d201306000000000000000000000000000000000000000000000007121d2834404b54616e7b87939facb9c4cfcdc2b8ab9f9285796d6053473a2f24180c000000000000000000000000000000000000071019232b343d454d555d666c737c838d9399a4afbbc7d4dfe0e3e0dfd3c7baaea398928d847e786f6a605b534d443e352d2517110a0300000915212e3a45505a62656863605c5553514b4745403937332d261d140a00000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae4d8ccc0b6a093877a6d6054473a2d2114070000000000000000000000000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7e7165584b3e3225180b000613202d394653606c798699a3aebbc7d3dcd0c3b6a99d90839095a0aab4bdc7c0bab2aca79f9d96918c8885827f7d7c7b7a7a7b7c7d7f8285898c92979ea0a8aeb4bcc3cbd2dbd6cbc3bab2a8a0958f82786c60584e41382d1e150a00000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000d1925303a46525e68737f8c95a0abb5c0cbd7dcd0c6bcb3aaa29892877f78706b63605c545453514a50504d5355535b60636a6f767e869196a0a8b2bac3ced8e2edeee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000030f1b27333f4953616b7683909da6b0bbcad3d8ccc0b6ac9e93887c6f62594f515d67727f8c97a1adb9c4cfd5c9beb2a99e92857a6d60564c4135291e1308000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b151515151515151515151515151515161718191d20252a2f383f44515b606d7985919ea8b2bdc8d4e1d8ccc0b6ac9d918477685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69717e8a939da8b2bdc7d1dcd2c7bdb2a89e938a7e71695e544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000010100000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000004111d2935414c5666737f8c99a9b3bec9d5d3c6baada297897c6f6256493c2f24180c000000000b17222d3c4956626f7c8998a2aebac2b6a99d938e939da9bdc6bfb4aa998c7f7266554b4034281c10040000000713202d3946525d687783909daab6c3d1d2c6b9ac9f93867a6d6154473a2d22170b0000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9b2bec9d3c6baada2978a7d7164554b4035291d1004000000000000000000000000000000000000071119222b333b434b545b606a6f798087939facb9c6d2dfdcd7d3d2d3cbbfb4aaa39f97918b837c726c655e564f473f3728231c150c030005111d29343f485056585b5753514b4745403a39352f2b27221b140b0200000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8ddd2baada194877a6e6154473b2e2114080000000000000000000000000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7b6e6155483b2e2215080006121f2b3844505b667986929facb9c5d2d7cabdb0a4978a7e839098a3abb5bdc5c4bdb9b1aba8a09e9997928e8b8a8988878788898a8c8f9298999ea1a9acb2babfc6ced5d8d0cac1b9b1a8a0969083796d665b50463c2f261b0c0300000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000008131e2935414c56606d79839199a3afbbc2ccd5d8cec5bcb3aaa399928c837d75706d666461605c545d5d575f6164656c70757c828b9298a0a8b2bac3ccd2d7dde5ede1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000005121f2b3744505b65707d8a959fabb8c2ccdcd4c8bbafa49a8f82756a6054464c55606d7985919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0808080808080808080808080808090a080d11141a1d262d333f45515d67727f8b96a0acb9c5d2deddd2c6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e96a0abb5c0cbd7d9d0c4baafa59f92857b6e665c50443d31281d1307000000000000000000000000000000000000000000000000000000000003080b0d0e0b070603000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000613202c3945525d687683909ca9b6c3cfdad2c5b8ab9f9285796d6053463a2d201307000000000613202d3a4653606d7985929facb8c5baafa59d9b9da5afbac6baaea298897c6f6256493c2e23180c0000000005111d2935414c566773808d9aabb5c0cbd4c7bbafa4998a7e716453493f33271b0f03000000000000000000000000000000000000000000000007121d2a36424d5764707d8a97a1adb9c6d2cabeb3a99b8e8175675d5145382c1f1306000000000000000000000000000000000000000710192129313a424a50585f676d7983909daab6c3d0d8d1cbc7c5c7cbc6bcb4aea9a19e9590877f776e696159514940342e261e150b02010c18222d363f454a4b4e4a4645403a38352f2c29241f1b17110a020000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000815212e3a47535f6a6f71717171717171717171717171717171717171717171717171717171717171717171717171717171716e695f53473a2d21140800030f1c28333f4a5f6b7885929eabb8c5d1d7cabdb1a4978a7e7c869299a3abb3bbc3c9c2bcb7b2acaaa9a19e9b989796959394959697999c9fa2aaabadb3b9bdc4cad0d8d5cec6bfbaafa7a09691847b6e675d544a3f342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000020d1925303a45515c676f7c87929fa6b0b9c3ccd6d7cec5bcb4aba39f959189827d7975716e6d666a696a6b696e7173787d81878f949fa2aab2bac3c1c3c6ccd3dbe5e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bccad4d7ccc0b5ab9f93877c6f62584e4345515d67727f8b96a1adb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000105090b141b222935404b55606d7984919eaab7c4cfdae0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79849199a3afbbc2ced7d6ccc1baaea2989082786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000001080f14181a1b181312100b0600000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000714212d3a4754606d7a86929facb9c5d2dbcec2b5a89b8f8275665c5044382b1f12060000000006121f2c3844505c6676828f9ca9b5c2c0b7afa9a7a9afb7c0c5b8ac9f9285796d6053463a2d20130700000000010d1924303d4a5763707d8a99a3afbbc7d4ccc0b5ab9b8e8174655b5044372b1f12050000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb8c3ced0c5b8ac9f9285796d6053473a2d2014090000000000000000000000000000000000000000070f171f282f38404a545f6a727f8c95a0abb8c4d1cfc6bfbab9babfc6c6bfbab2ada79f99928c827b706c625b52443f3830261d140a0006111b242d343a3d3e413d3a38342e2c2924201d18120f0b0600000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e3d6c9bcb0a396897d7063564a3d3023170a00000000000000000000000006121f2b37434e585f626464646464646464646464646464646464646464646464646464646464646464646464646464646464615f574d42372b1e120600000b17222d44515d6a7784909daab7c3d0d7cabeb1a4978b7e717d879299a2a9b1bbc0c7c7c4bdb9b7b3adaba8a5a3a2a1a0a0a1a2a4a5a8abaeb4b8b9bec5c9ced6d4cec9c2bcb4aea59e9590847b6e695e554b42382d22180b020000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000008131e2934404b55606a73808d949fa7b1bac4ccd5d7cfc6bdb5afa7a09d948f8985817d7b797877767778797b7e8084898e93999fa6aeb4bcb9b7b5b6bac1c9d3dde1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000010b151f2b3844505c66717e8a95a0acb9c2cddcd4c7bbafa4998e81756a5f53463c404b55606d7984919ea8b2bdc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000020a1118242f3a44515c66737f8c99a9b3bec9d5e2d8ccc0b6ac998c7f7366594c4033261907000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0bcc5d0dbd6cabeb3aa9f948c7f736a60554b40352920170b02000000000000000000000000000000000000000000000000020b131a2024272824201f1c17110c070d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000a1724313d4a5764707d8a99a3afbbc7d3d5c9bdb2a8988b7e7265544a3f34281c10030000000003101c28343f4a5466727f8c99aab4bfcac0bab6b4b6bac0c9c2b5a89c8f8275665c5044382c1f120600000000000814212d3a4754606d7a86929facb9c5d2d2c5b8ab9e9285786c605346392d20130800000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a8b1bdc8d3c6baaea2988a7d7064574a3d30251a0e02000000000000000000000000000000000000000007121d27303944515c666f7c86929fa7b1bcc8ccc3bdb4aeacaeb4babfc6c4beb9b1aba39f948f857d726d635c504a42382f261b11060009121b22292e313235302d2c28231f1d1813100d0703000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdd2dde8d7cbbeb1a4988b7e7165584b3e32251807000000000000000000000000030f1a26313c464e5355585858585858585858585858585858585858585858585858585858585858585858585858585858585855534d453c31261a0e020000061c2936434f5c6976828f9ca9b5c2cfd8cbbeb1a5988b7e72717e879297a0a7afb5bdc2c7c9c5c4beb9b8b5b2b0afaeadadaeafb0b2b5b8babec5c6c9cfd5d3cec8c4bdb9b0aaa29f938e837a6e695f574d433a2f261c0f06000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000020c18232f39434e58606d78828f95a0a8b2bac3cbd6d8cfc7c0bbb1aca69e9c97928e8a8786858483838485888a8d91969b9fa4abb0babab2acaba8aaafb7c1ccd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000007121d2834404b54606d7884919da7b1bccbd4d7cbc0b5ab9f93877b6e62584e43343945515c67717e8b96a0acb9c3ced6cabeb3a99f92867a6d61574d42362a1f140900000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000007131d2834404a54626f7c8997a1adb9c6d2dfddd2c2b5a89b8f8275685c4f422f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b55606a737f8c949fa9b3becad6dbd0c5bcb0a69f92877c6f675d51453e32291d140a0000000000000000000000000000000000000000000000000b141d252b303334312d2b28231c18120d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000006121f2b37434e586774818e9aabb5c0cbcecec5b9ada196887b6e6255483b2e23170b0000000000000c17232e3c4956636f7c8998a2aebac7cbc6c2c1c2c6cbcabeb3a9988c7f7265544a3f34281c100300000000000613202c3945525d687683909da9b6c3d1cec6b9ada197887c6f6255493c3024190d01000000000000000000000000000000000000000000000003101c28343f4a54616e7b8795a0acb8c5d1cabfb4aa9b8e817468574d42362a1e110500000000000000000000000000000000000000000c18232e39434e58606d78839098a3aeb9c3cfc3bab2aba39fa3abaeb4bcc1c9c2bdb5aea69f9792887f736e605c544a41382d22171007000911181d2124252824201f1c1813100c070401000000000000000000000000000000000000000000000000091623303c4956636f7c8996abb5c0ccd7e3d9ccbfb3a6998c807366594d402e23180c000000000000000000000000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4847423c332a1f15090000020f1b2835424e5b6875818e9ba8b4c1ced8ccbfb2a5998c7f726c717d8590959fa3abb0b8bcc2c7cbcac6c5c1bebdbcbbbababbbcbdbfc2c5c6cad0d2d2d0cac6c3bcb8b2aca69f98928b81796e685f574d453b31281d140a00000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d27313d44505c666d7a839196a0a8b1b9c1cad0d8d1cbc3bcb8b0aaa9a29f9b979a9392909090919298979a9ea1a8acafb5bdbcb2a8a19e9b9ea5afbac6d2ded4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000c18242f3845515c66717e8b96a0acb9c3cdddd3c7bbafa3998e81746a5f53463c3134404b55606d7884919ea7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000010c18232e394653606c7985929eabb8c5d1deded1c4b7ab9e9184786b554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a2adbac1ccd6d7cec2bbafa3999184796d605a50443b2f261b110600000000000000000000000000000000000000000000060f1d262f363c40413e3a38342e28231d181a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000814212e3a47535f6a7884919eabb7c1c1c1c1c1b8ab9e9184786a5f53473a2e1c11060000000000000613202d3a4653606d7986929facb8c1c1c1c1c1c1c1c1c1baada297887c6f6255493c2e23170c00000000000004111d2935414c566673808d99abb5bfc1c1c1beb3a9998c7f7366564c4135291d11040000000000000000000000000000000000000000000000000c17232e3846535e697784919daab7c4d1d0c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000004101c2834404b55606a73808c95a0aab4bfcbc6bdb2a8a09992999fa3aaafb9bec4c6bfbbb0a9a19a938c80746d665c53493f332722190d0300060c111517181b171313100c0704000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a4afbbc7d4e0dacec1b4a79b8e817468544a4034281c1004000000000000000000000000030e18222a31373a3c3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a21180e030000010d1a2734404d5a6773808d9aa6b3c0cdd9cdc0b3a69a8d8073676b707b838d92999fa6abb1b9bbc0c5c7cbd1cbcac9c8c6c7c8c9cacccfd2d1cfcfc9c6c4bfbab8b1aca8a09e948f867e756d675e564d453b33291f160b0200000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000010b151f28343f4a545d686e7b849196a0a7afbabfc6ced4d7cec8c1bbb7b3adaba8aca49f9e9d9c9d9e9fa2aaa6abacb2b9bbc0bbb3aaa196918e939eaab6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000004101d2935404b55606d7984919ea8b2bdcbd5d7cbbfb4ab9f92877b6e61584e43342a2e3944505c66717e8a95a0acb8c3cdd6cabfb4aa9f92867b6e61574d42362a201509000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b4c1cedbdfd2c5b9ac9f928679675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b85929fa5afbac4cfd9d7cbc0b5aba0968e81746c61564d41382d22170d030000000000000000000000000000000000000000030d17212f3841484c4e4b46443f38342e29241d2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000815222f3b4855626e7b8896a1adb4b4b4b4b4b4b4a79b8e817468574e42372b1e0a0000000000000006131f2c3845515c6676838f9ca9b4b4b4b4b4b4b4b4b4b4b4ab9f9285796d6053463a2d201306000000000000010d19242f3d4a5663707d8999a3aeb4b4b4b4b4b4a99c908376685d5245392c20130700000000000000000000000000000000000000000000000006111c2a36424d576774808d9aaab4bfcbd2c5b9aca096877b6e6154473b2e211408000000000000000000000000000000000000040f19232c3845515c676f7c87929fa7b1bcc6cbbfb5aba09691868c92989ea5adb2bbc1cac2bbb3aca49f928d81786d655b50443e342b1f150b01000105090b0b0e0a070604000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfddd0c3b6aa9d908377665c5144382c1f12060000000000000000000000000006101820262b2e2f31313131313131313131313131313131313131313131313131313131313131313131313131313131312e2d2b261f180f06000000000c1926333f4c5966727f8c99a5b2bfccd8cec1b4a89b8e81756860696e79808790949d9fa7acafb5b9bbc0c2c4c6c9cfc9cacacac9cfcac6c5c3c0beb9b8b4aeaca7a09d96918a827b716c605d554c443b332920170d040000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000030d17232e38424c565f696e7b8490959ea5aeb4bcc1c8cdd4d4ccc7c5bebab8b4b6afacabaaa9aaabacaeb4b3b7b9bdc4c1bab2a9a1989184818e9ba8b5c1cedbd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000020c16202c3945515d67727f8b96a1acbac3ceddd3c7baaea3998e8174695f53463c312228343f4a54606c7883909da7b1bcc8d4d0c6baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000030f1c28333f4a546673808c99a6b3bfccd9e0d3c7bbaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a939ea8b2bdc7d1dcd1c7bdb2a89d938a7e70695e53493f33271f150b010000000000000000000000000000000000000009141f2933414a53585b5753504a454039352f292433404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130004101d2935404b5565727f8c98a8a8a8a8a8a8a8a8a8a7978a7e7164574b3e31261a0e0000000000000004101c2834404b5466737f8c99aaa8a8a8a8a8a8a8a8a8a8a8a89b8f8275665c5044382b1f1206000000000000000814202d3a4753606d7a86929fa8a8a8a8a8a8a8a89f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000e1a25313d4a5763707d8a98a3aebac7d3c9bdb2a8978a7e7164574b3e3024190d0100000000000000000000000000000000000b16212a36424d57606d79849199a3afb9c3cdc5bbaea39991847a80868f939ea1a9afbabfc6c5beb6afa49c938e81776c605a50473d31271d120700000000000002000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667884919eabb8c4d1dedfd2c5b9ac9f9286796d6053463a2d2013060000000000000000000000000000060e151a1f2122252525252525252525252525252525252525252525252525252525252525252525252525252525252522211e1a150e0600000000000b1825313e4b5864717e8b97a4b1becfdacfc2b6a99c8f837669575f676d737c838a90959c9fa3abacafb5b5b8b9bebcbdbdbebdbdbcbeb9b8b6b4b3adabaaa29f9b95908a847d766e69625a514c433b322921170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000006111c26303a434d575f696e7b838e939fa2aaafb8bcc2c7ccd2d4cfcac6c5c1c0bbb9b8b7b6b6b7b8babfc0c4c5c3bcb8afa8a09792867b808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000008131e2935414c55606d7985919ea8b2bdccd5d6cbbfb4aa9f92867b6e61574d42332a20232e3844505b66707d8a959fabb8c2cdd6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e3d7cbbfb5ab94877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a0abb5c0cbd7d9cfc3baafa59e92857b6e655b50443c31271d1207000000000000000000000000000000000000020e1a26313b45535c646764605c54514b454039352f33404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006131f2c3845515d6776828f9b9b9b9b9b9b9b9b9b9b9b95877b6e6154473b2e21140900000000000000000c18232e3d495663707c89989b9b9b9b9b9b9b9b9b9b9b9b9b988b7f7265544a3f34281c1003000000000000000613202c3945515d677683909b9b9b9b9b9b9b9b9b9b998a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000914202d3a4753606d7a86929facb9c5d2cec0b4a79a8d817467564c4135291d11050000000000000000000000000000000004101b27323a46535f69737f8c95a0abb5c0cbc5bbb0a69f92877c6f737b828a91979ea5aeb4bcc4c7c0bbaea59d938c80736c61594f43392f24180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54697683909ca9b6c3cfdce0d3c7baaea399887c6f6255483c2d22170b000000000000000000000000000000030a0f12151518181818181818181818181818181818181818181818181818181818181818181818181818181818181514120e09030000000000000916232f3c4956626f7c8995a9b3bec9d5d0c4b7aa9d918477665c555d606a6f787d83898f92999c9fa3aba8abadb3afb0b1b1b0b0afb3adaba9a7a9a19e9b98928e89837e78706c625f575045413a312920170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000a141e28313b454d575e696e79818b92989ea5abb1b9bbc0c6c8ccd2d1d2d2ccc8c6c5c3c3c3c4c5c6c9c6c3bcb8b1aca59d9691857c74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000010d1925303945515d67727f8c97a1adbac4ceded3c7baaea3988d8074695e53453b3121181c28333f4a54616c7783909da6b0bcc7d3d0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000061824313e4b5764717e8a97a4b1bdcad7e7dcd1bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a3afbbc2ced7d5ccc0b9ada1978f82776c60584e43392f23180e05000000000000000000000000000000000005121e2a36424d57646f74716d66605c54514b45413a36404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000714202d3a4753606d79858e8e8e8e8e8e8e8e8e8e8e8e8e8377695e52463a2d20140700000000000000000714202d3a4753606d79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e887c6f6255483c2e23170b000000000000000004101d2935404b556673808c8e8e8e8e8e8e8e8e8e8e8e8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000006131f2c3945515d6776828f9ca9b6c2cfd0c3b7aa9d908477685d5246392d201307000000000000000000000000000000000713202c38444f59616e7b86929fa8b1bdc7c9beb3a99f948c7f726a696e757d848e939fa2aab2bac3ccc0b7afa59c928b7e716b60554b4035292015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e414d5a6774808d9aa7b3c0d0dbe3d7cbbfb4ab978b7e716453493f33271b0f0300000000000000000000000000000000030608090b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0808060200000000000000000714212d3a4754606d7a8797a1adb9c6d2d2c5b9ac9f9286796d605351585f656c70767c82868b8f9299999c9ea1a9a2a3a4a4a4a3a3a9a29e9c9a9897918e8a86817d77716d66615a534d453f352f281f170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020c161f29333b454d575e676d757f868f939d9fa7acafb5b9bbc0c2c4c5c7cbd1c9c9d0cac6c5c3c1beb9b8b1aca7a09d938e847c6f74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000005111d2a36414c56606d7a85929ea9b3beccd6d6cabfb4aa9f92867b6e61574d42332a1f0f17222d3842505a63707d89949fabb7c2ccd7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c87929fa7b1bcc5d0dbd6cabeb3a99f948c7f726a5f554b40342920160c02000000000000000000000000000000000714212d3a46535f6974817e78716d66605d55524c4641404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000815222f3b4855626e7b81818181818181818181818181817f7265564d42362a1e1105000000000000000006131f2c3845515c67738081818181818181818181818181818181776c605346392d2013060000000000000000010d18242f3c4955626f7c818181818181818181818181818074675a4d4134271a0e0000000000000000000000000000000000000000000000000004101d2935404b5565727f8c98a9b2bec9d2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000040f19222f3b4854606b75828f98a3aebac3cfc6b9ada1978f82776c605f616b707a818a9298a1a8b1b9c3c9c1b7aea49f92877d6f675d51453c31261a0f040000000000000000000000000000000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97aab4bfcad6e2dcd1c1b4a79b8e8174655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1d3c7baaea398887b6e6155484e535b60646b6f757a7e82868a8c8f91979595969797979696949792908d8b8885817e7a75706b64605c545047423c3329241e160d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000040d182129333b454d555d606d727b828a90959c9fa4abacafb6b5b7b9bbc0bcbcbcbbbfbab8b6b4b3adaba7a09d95918a817a6e6a74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000030d18212d3946525e6873808c97a2adbbc4cfded3c6baaea2988d8073695e52453b3121180e111c262f3e4855616b7683909ca6b0bbc7d3d1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935414c55606b73808c959faab3becad6dacfc5bbb0a69f92867c6f675c51453d32281e1308000000000000000000000000000000000815222e3b4855616e7b888a847e79726d67605d56524c464d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000814212e3a47535f696e7575757575757575757575757575726d6256443b3025190e02000000000000000004101c2934404b55636e73757575757575757575757575757575746c655b5044372b1f12050000000000000000000715222e3b47545f6a6f75757575757575757575757575746e64584c3f33261a0d00000000000000000000000000000000000000000000000000000c18242f3c4855626f7c8897a1adb9c6d2c8bbafa49a8a7d7063574a3d302417070000000000000000000000000000000a16212d39444f5963707d89949eaab4bfccc6bcb0a69e92857a6e655b535961686d757e869196a0a7b1b9c3c9bfbaaea3999184796d60584e43372b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8898a2aebac6d3e0ded1c4b8ab9e9185786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080603000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfd7cbbfb4aa978a7d7064574a41495053596063686d71767a7d8082858788898a8a8b8a8a8988868583817e7b7875716d6763605953504a423e37312a2119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000060f182129333b434b515b62696e757d83898f93999d9fa4aca9aaacafb5afafafafb4aeacaaa8a9a19e9a95918b837d746d676774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000009141f2a36424d57616d7a85929fa9b3becdd6d6cabeb3aa9f92867a6d61564d4233291f0f060a141d2c38444f5963707d89949fabb7c1d0d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19242f3a434f59606d78839098a2aebac1ccd6d7cdc2baaea3989083796d60594f443a3025190f06000000000000000000000000000006131f2b37434e5866737f8c96918b847f79736d68615e56534d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006121e2b37424d575f62686868686868686868686868686865625b514532291f1409000000000000000000000c18232f3943525c636668686868686868686868686868686868605b53493f33271b0f0300000000000000000006131f2b37434e585f626868686868686868686868686867645c52473c3023170b00000000000000000000000000000000000000000000000000000715212e3a47535f6a7885919eabb8c4d1ccc0b6ac9a8d8073675a4d402e23180c0000000000000000000000000000030f1b27323c4955616c7683909da6b0bcc6cbbfb4aa9f948a7e71685e53494f565d616c717c849095a0a7b1bac4cbbfb4aba0968c80736a5f53473c32271b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfdfd2c6b9ada197887c6f6255493c32261b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151615130f0a04000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0d0dbd1bfb2a5998c7f726653493f3f44464f54565e6165686d707375787a7b7c7d7e7e7d7d7c7b7a787674716f6c6564605d55544f46443f38302b261f180f08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000060f1720293139404551575e616b70767d82878c90939a9a9c9e9fa3aba2a3a2a2aaa29f9d9b9897928e89847e78706b605d6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000020e1a26313a46525e6973808d98a2aebbc5cfdfd3c6baaea2988d8073685e52443b3021170d00020b1c27333d4854606b76828f9ca6b0bec7d2d1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5afbac4d0d9d7cbbfb4aaa0958d80746b61564c41362a21180c03000000000000000000000000000815222e3b4754606a7784919d9e96918c857f7a736e68615e575a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300020e1a26313c454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b585651483f3420170d020000000000000000000007121d2731404a52575a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504941382d22170b00000000000000000000030f1b26323c464e54555b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362b1f1307000000000000000000000000000000000000000000000000000006121f2b37434e586875828f9ba8b5c2ced2c3b6a99c90837669554b4034281c10040000000000000000000000000007131f2c38434f5964707d8a959fabb8c1cec7baaea3988f82766c61564d41444c525a616a6f7b839095a0a8b2bdc6c6bdb2a89f92867c6e62584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3cfdae1d5c9beb3a9998c7f7266584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223221f1b160f07000000000000000000000000000000000000081925323f4c5865727f8b98aab4bfcad6cec2b5a89b8f8275655b504437373d44484c5254565e61646669686d6e6f7071717170706e6d6769676562605b5353514b48443d38342e261e1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050e171f282f353f454d535961636b70767b7f83868a8d8f9192999595969695959892908e8c8885817c77716d6661595a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000005121e2a36424d57616e7b86929faab4becdd7d6cabeb3a99f92857a6d61564c4132291f0f0500000b16212c38444f59626f7c89939eacb6c0ccd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000005111d2a36414c566773808d9aa6b3c0cdd9e2d6cabfb4aa95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2dcd1c6bcb1a79f93887d70685e52463f332a1e150b00000000000000000000000003101c28343f4a54626f7c8895a0a8a19e97928c85807a746e69625f6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000915202a333c4247484e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d230e050000000000000000000000010b151f2e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261b110600000000000000000000000a15202a343c4347494e4e4e4e4e4e4e4e4e4e4e4e4e4d4c4740382f24190e030000000000000000000000000000000000000000000000000000030f1b2631404d596673808c99a6b3bfd2d1c4b7ab9e918478675c5145382c1f1306000000000000000000000000000915222f3b4854606b7683909da7b1bccac9bdb2a89f92867b6e625a50443b3a414650585f696e7a839096a0abb4bfcbc4baaea3998f82766a6054473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a9b3becad6e2dacfc3b7aa9d9084776a5f5447392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f2e2b272019100a00000000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3d1c5b8ab9e9285796c605346392d32383a4146474c52545759565e61626263646464636361605d555a58555350494745403a38332b28231c140c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000050d161d2429333b42464f55596063696e72767a7d8082848687888989898888878583817f7c78746f6a64605c544f5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000040e19222d3a46535f6974818d98a3aebcc5d0dfd3c6baada2978c8073685e52443a3020170d00000005101b27323d4754606a75828f9aa4afbbc7d1d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000020c13202d3946525e6876828f9ca9b5c2cfdcdfd3c6baaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a1abb5c0ccd7d8cfc3bbafa49a91857a6d615a50453c30271c1207000000000000000000000006121f2b3844505c6673808d9aa8b1ada9a19e98928d86807b746e696673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000030e18212a31373a3b42424242424242424242424242423f3d3a342d241b1100000000000000000000000000030d1c262e353b3f40424242424242424242424242424242413937332d261d140a000000000000000000000000040e19222a32373b3c42424242424242424242424242413f3c362f261d1208000000000000000000000000000000000000000000000000000000000a1824313e4b5764717e8a97acb6c0ccd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000005111d2a36414c56636f7c89959fabb9c2cdc5b9aca0968c8073695f53483e3230353e464e565e686e7b849199a3aebac3cbbfb4ab9f94887c6f62564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3c4956626f7c8997a1adb9c6d2dfded1c5b8aca095887c6f62554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000071019222b32383b3c3b38322b221c1306000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2d2c6b9ada197887b6e6255483b30272c3036393a4146474a4d4c525455565757585757565553514b4e4b4846443f3a39352f2c271f1c17171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000040c1218212931363e44484f54575e6165686d70737677797b7b7c7c7c7c7b7a797775726f6c6562605853504a4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000a15202b37434e58616e7b86929faab4bfced7d5c9beb3a99f92857a6d60564c4132291e0e05000000000b16212b37434e58626f7c87939fabb5c0cbd7d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000020b141e28323a4754616d7a86929facb9c5d2dfdfd2c5b8ac9f928579695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc2ced7d8ccc0b6aca1978f82756d62574d42392e23180d04000000000000000000000713202d3a4653606d7985919eabb8b9b3adaaa29f98928d86817b756f73808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000060f1820262b2e2f353535353535353535353535353532312e29231b120900000000000000000000000000000a141c242a2f3233353535353535353535353535353535352d2b27221b140b020000000000000000000000000007101920262b2e2f353535353535353535353535353433302b241d140b01000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4c8bbafa49a887b6e6255483b2f2215080000000000000000000000000713202d3946525e6875828e9ba7b1bccbc8bdb2a89e9184796d60574d42362c2429343c444d565e696f7c86929fa7b1bcc8c6bdb0a69a8e8174685d5245392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabb8c5d0dbe0d4c8bcb1a79a8d8074675d5145392f23180c0200000000000000000000000000000000000000000000000000000000000000000000000000020c19232b343d43474947433d342e2517110a02000000000000000000000000000006121f2c3844515c6676838f9ca9b6c2d1d6cabeb3a9988b7e7265564c4135291e252a2d3035393a3d4041464748494a4b4b4a4a4948474540413e3c3937332d2c29241d1c1f22232323201c160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000001070f171f252a33383d44484d5254565d60636769666d6e6f6f706f6f6e6e686a686562605b53544e46443f4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000030f1b27323a47535f6a74818e99a3aebcc6d0ded2c6b9ada1978c7f72685d52443a3020170d0000000000040f1b27323d47535f6a75818e99a3afbbc6d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000001070b141d26303a44505a65727e8b99a3afbbc7d4e0ddd0c3b7aa9d9083776a564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45525d686f7d87939fa7b1bcc5d0dbd2c7beb3a99e938b7e71695f544a4034281f160c01000000000000000004101d2935404b5563707d8997a1adb9c5beb9b4aeaaa39f99928e87827c75808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000060e151a1e212228282828282828282828282828282524221d181109000000000000000000000000000000020a12191f23262728282828282828282828282828282828201f1b17110a02000000000000000000000000000000070e151b1f2222282828282828282828282828282726231f19120b0200000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac96897d7063564a3d3023170a0000000000000000000000000714212e3a4754616d7a86929facb9c2cdc5b9aca0968a7e71675c51453c312419222a323b444d565f6a727f8c95a0acb8c4cfc2b8ac9f92867a6d6054473a2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6675818e9baab4bfcad6e2d9cec3b8ab9e9285796d60554b4034291e1308000000000000000000000000000000000000000000000000000000000000000000000000000a141e2b353d464e5456544e463f3728221c140b030000000000000000000000000004101c2834404a546673808c99abb4bfcbd7cfc2b5a99c8f8276685d5245392c20191e2025292d2e313035393a3b3c3d3e3e3e3d3d3b3a38352f322f2d2b2722201d1821272c2e2f302f2c27211a150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000050d141a21282c33383b4246474c5254575a545c6061626263636262615e565b595553504948433d38414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000006131f2b37434e58626e7c87939fabb5bfced8d5c9beb3a99e9285796d60564c4132281e0e050000000000000a15202b37434e58626e7b87929fabb4bfcbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0202020202020202020202020200000305060a0f12181d262f38414c56616c7683909cabb5c0cbd7e3dbcec1b4a89b8e8175685b4e423025190e0200000000000000000000000000000000000000000000040404040404040404040404040404040404040404040404040404040404040404020c17212935414c56606b73808c959faab4bfcad6d9d0c4bbafa59f92867b6e665c51443d31281e1308000000000000000006131f2c3945515d6774818e9ba9b3bec9cac5bebab4aeaba39f99938e8882828f9ca8b5c2cfdbdfd2c6b9ac9f9386796c605346392d2013000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c06000000000000000000000000000000000000070e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1a1a17130e08010000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1d2beb1a5988b7e7265584b3f3225180c000000000000000000000004111d2935414c5565727e8b99a3afbbc7cbbfb4aa9e9184786d60554b40332a1f12192029323b444e58606d7883909da8b2bdc9c7baaea2988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8a98a2aebac6d3e0dfd2c6b9ada2978c7f72675c51453a3025190d04000000000000000000000000000000000000000000000000000000000000000000000006111c26303d474f5860626058514940332d261d150c03000000000000000000000000000c18232e3d495663707d8999a3aebac7d3d2c5b9ac9f92867a6d6054473c31261a1113191d20212425292d2e2f2f3031313130302e2d2c29242522201f1b171319222b32383b3c3d3c38332b261f19130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000003090e161c21272c30363a3b4145474a4d4a50535455565656555554524c4e4c4846443f38383234414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000020b1a232e3b4754606a75828f99a4afbdc6d1ded2c6b9ada1978c7f72675d51433a2f20160c00000000000000040f1b26313c47535f6974818e99a3aebac6d0d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0f0f0f0f0f0f0f0f0f0f0f0f0f0f060b0f1213151b1d24292f384149525d68717e8a949fabbdc7d1dce1d5c9bdb2a8988b7e7265584b3f322518090000000000000000000000000000000000000004080a0a11111111111111111111111111111111111111111111111111111111111111111111110f19242f3a444f59606d78839098a2aebac1ccd6d6cdc1baaea2989083786d60594f433a2f24190f05000000000000000714202d3a4753606d7985929facb8c4cacfd0cac6bfbab5aeaba49f9b948f8f949eaab7c3d0dcdfd2c6b9ac9f9386796c605346392d201300000000000000020608080f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b090501000000000000000000000000000000000000000002070a0c0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e06050300000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0e0d0b0703000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfcdc0b3a69a8d8073675a4d4034271a0600000000000000000000000613202c3945515d6776828f9cabb5c0cbc7baaea3988b7e72665c5043392f21180e0e172029323c44505c66717e8a96a1acb9c5cabfb4aa9c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb8c3ced9e2d6cabeb3a99e9185796d60564c41352920160b02000000000000000000000000000000000000000000000000000000000000000000030d17232e38424f59606a6f6a635b52443f382f271e150d040000000000000000000000000714202d3a4753606d7a86929facb9c5d1d3c7bbaea3998b7e7164584e43372b1e13080d11131417191d2021222324242524242322201f1d18181513120f0b16212b343d4348494a48443d373129241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b10161c1f252a2d3035393a3d403f444648484949494948474641423f3c3937332d2c2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000a141d2c38444f59626f7c88939eabb5c0cfd8d5c9bdb2a89e9185796d60554b4031281e0e0400000000000000000a15202b37424d57616e7b86929faab4bfcad6cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c171b1f2022272b2f353c424a535b606d7a85919ea6b0bccfd9e3dfd2c5b9ada196887b6e6255483b2f2215080000000000000000000000000000000000050b101416171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1e28323d44505c666e7b86929fa5afbac4d0d9d6cabfb4aa9f958d80736b60564c41352921170b020000000000030f1c28333f4a5464717e8a98a2aeb5b9bec5c8ced0cbc6bfbbb5afaca69e9c9c9ea6b0bbc7d3dfdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f414d5a6774808d9aa7b3c0cdcec1b5a89b8e8275685b4f422e23170b00000000000000000000000714212d3a4754606d7a86929facb9c5d1c5b8ac9f92867a6d60544a3f31271d0f06050e172028343f4a54606d7984919eabb7c4d0c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcc8d4e1dbcfc5b9ada1978b7f72685e52463d32281d140a0000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a54606b6f7c726d635c504a423930271f160d0500000000000000000000000613202c3945515d6775828f9cabb5bfcbd7cbbfb5ab9c8f82766a5f53473a3025190d03050707080d1113141516171818171716151413100c07090605030f1b27323d464e545656554f47423c352f28231c140c090300000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000050b10141a1e2024292c2d302e34383a3b3c3c3d3c3c3b3b393630322f2d2b27221b2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2ded2c5b9ada1968b7f72675d51433a2f1f160c000000000000000000040e1a26313c46535e6974808d98a2aebac5d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134282828282828282828282828282828282822272b2d2f32373940454e545b656c75818e97a1adb8c2cde1eaded1c4b7ab9e9184786a5f53473a2e211408000000000000000000000000000000000810171c2023242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28343f4a545f69717e8b939ea8b2bdc7d2dbd0c6bcb1a79f93877d6f685d52453e33291d140a000000000006121f2b3844505b6675828f9b9fa3abadb3b8bcc3c9cfd1cbc7c0bbb9b0aaa8a8aab0b8c1ccd7e3dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0d0e0e0d0d0c0b0b0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1becbd0c3b6aa9d9083776a544a3f34281c1003000000000000000000000a1623303d495663707c8999a3afbbc7cec1b5a89b8e8275685d5242382e1f150b0000050e17232e3844505c6673808d99abb5c0cbc6baaea298887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55636f7c8995a0acb8c5cfdbe1d5c9beb3a99e92857a6d61594f443a2f261b11060000000000000000000000000000000000000000000000000000000000000007121d27313944505c666f7d867f736e605b544a423931281f170e050000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d1c6b7ab9f94887c6f62564c41362a1f1509000000000105070708090a0b0b0b0a0a08070604000000000007131f2c38434e586062636059534d45413a342e261e1a140d07010000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002090e1114191d20212423282c2d2e2f2f30302f2f2e2d2a252622201f1b171a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000b17222d38414f59636f7c89949faab7c1d0d9d5c9bdb2a89e9184796d60554b4031281d0d040000000000000000000009151f2a36424d57616e7b86929faab4becad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413535353535353535353535353535353535352d3337393b3e43474b51585f666c77808d939ea9b3becad4dee1d3c7bcb0a6998d807366574e42372b1e120600000000000000000000000000000008111a22282d3031373737373737373737373737373737373737373737373737373737373737373737373737373737372e38424d57626c75818e96a1abb5c0ccd7d8cec3bbafa49991847a6d605a50453b2f261c1106000000000613202d394653606c7882898e92999ea1a9acb1b9bec4cbd0d2ccc7c1bbb7b5b5b7bbc1cad3dee9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050708090e121415171819191a1b1b1a19191817171513120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcd2d2c5b8ab9f928578665c5044382b1f1206000000000000000000000c1926333f4c5966727f8c99abb5c0cbcabfb4aa988b7e7165564c4130261c0d0300000006111c28343f4a5463707d8999a3afbbc7cabeb3aa988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4854606b7784909da9b3becad6e1dacfc4b9ada1978e81746b60564c41382d221712060000000000000000000000000000000000000000000000000000000000071318242f39434d57606d7883908c80746c665c544b433a312920170f05000000000000000000010d18242f3a4754606d7a86929facb9c5d0d3c7bbb0a69a8d8174685e52463c31261a0f060000000000000000000000000000000000000000000000040e1a232e3b4854606a6f706b625f57524c443f38302a261f18130c0400000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201e19191513120f0b1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000030f1b27333f4953616b7683909ca6b0bbc9d3ddd2c5b9aca0968b7e72675c5143392f1f160c0000000000000000000000030e1a25313b46525e6873808d98a2aebac5cfd4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e42424242424242424242424242424242424242433f4446484b4e54555d606a6f78818d929da5afbbc4cfdce3d9cfc7b7ab9f94887b6e6255483c31261a0e02000000000000000000000000000005101a232c33393c3d4444444444444444444444444444444444444444444444444444444444444444444444444444444444444445505a606d7a849199a4afbbc3ced8d7ccc0b5aba1968e81756c61574d42382d22170b0200000006121f2b3844505b666c767c81868d92979da0a7adb2babfc6ced7d4ccc7c3c2c2c3c7ccd3dce5efdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d111414181a1e21212425262627282727262525242322201f1c17171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895acb6c0ccd3c6baada29786796d6053463a2d201307000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c6baaea298887b6e6255483b2f22140a00000000000c17232e3a4754606d7a86929facb9c5d0c0b3a79a8d8074675a4d4134271a0e010000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b97a2adb9c5cfdae1d6cabeb3a99f93887c6f685d53493f33272417110a0200000000000000000000000000000000000000000000000000030b1218252935404b555f69727f8b95928d80786d665d554c433a322921170f050000000000000000000713202c3945525d6876828f9ca9b3becad6ccc2b8ac9f92867a6d61574d42372b21180d04000000000000000000000000000000000000000000020c16202c38434e58626f7c7d756e69605d56504a423d363129241d160d04000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000001040707060c101213151516161616151414110d08090605030e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000005121f2b3744505b65707d89949fabb8c2ccdbd4c8bdb2a89e9184796d60554b4031271d0d0400000000000000000000000009141f2a36414d56616d7a85929fa9b3becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4f504950535557586062676d737c828e939da4aeb7c1cdd6e1dcd1c7bdb0a69c9083766a5f53473a2a2015090000000000000000000000000000000b17222c353e44494a505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050525d68707d87939fa7b1bcc6d0dbd2c7bdb2a89e938a7e71695e544a3f33281d140a000000030f1c28333f4a545b606a6f757b80858b91959ea1a9aeb4bcc2cbd1d8d3d0cfcfd0d3d7dee5eeecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1315191e202125252a2d2e303232333434343333323131302f2d2b28222321201d1913100d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a879aa4afbbc8d4cabeb3a993867a6d6053473a2d20140700000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579695f53473a2e21140200000000000613202c3945515d677884919eabb7c4cec1b4a89b8e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b27323d4754606d7a85929ea9b3bec9d5e0dacfc5bbafa49a91847a6d655b50443f3627221b140b050000000000000000000000000000000000000000000000050c151c2328373f45515d676e7b86929f9c928d81786d675d554c443b332921170d03000000000000000004111d2935414c5665717e8b97a2adbac7d2d3c6baaea2988d8074695f53473f33291f160c03000000000000000000000000000000000000000008131e28323a4854606a768289827b736d68605c544f46423b352f281f160c010000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a0909080807050100000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000030f1c28333f4a54606c7883909da6b0bbcad3ddd1c5b8aca0968b7e71665c5143392e1f150b00000000000000000000000000030e1925303b46525e6873808c97a2adb9c4cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c535b606264676a6f7479808790949da5aeb7c0c9d3dfddd7cbc0b5ab9f94897d7063584e43372b180e03000000000000000000000000000004101c28333e475055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606b73808d959faab4bfcad6d9d0c4baafa59f92857b6e665b50443d2f261c11060000000b17222d38424a50586062696e73797e838b91979fa3aab1bbbfc6cfd6dcdbdbdcdfe3e9eff7ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151b1f22252a2d2e3131363a3b3d3e3f4040414140403f3e3e3d3b3938332d302d2c2924201d1812100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2d0baada094877a6d6154473a2e21140700000000000000000004111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b574d42372b1e1206000000000004111d2935414b556a7784909daab7c3cfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d67727f8c97a1adb9c4cedae1d8ccc0b6aca0968f82776c605a50483e332d261d160e090300000000000000000000000000000000000000040a0f171e272e343f49515b606d79839098a2a49d938e82796d675e564d453b33291f14090000000000000000010d1924303a4753606d7a85929fabb5c0ccd6cabfb4aa9f92867b6e615a50453b31281e150c0400000000000000000000000000000000000108131924303a444f59626f7c89948f86807a726d666059534d45413a31281d13070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000010b151f2b3844505b66717d8a959fabb8c2cddcd4c8bcb1a79d9184786d60544a4030271d0d03000000000000000000000000000008141f2935414c56606d7a85929ea9b3bec9d5cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817468686868686868686868686868686868686868686868696a656c6e7174777c81858d92999fa6afb7c0c9d2dbded5cbc3bbafa3998f82766b6054463c31261a060000000000000000000000000000000814202d3944505a61646a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d78839098a2aebac6d3e0d6ccc1baada2979082786c60584e42382d22170b00000006111c262f383f444e54575e61676d71787e848c92989fa7aeb5bdc4ccd4dde5e9ebeff4faf9ecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d20272b2e3036393b3e414246484a4b4c4c4d4e4e4d4c4c4b4a4a4846443f3f3d3a39352f2c29241d1c160f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667885929eabb8c5d1c7bbaea194887b6e6155483b2e22150800000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d504431261a0e020000000000010d18242f43505c6976838f9ca9b6c2cfc3b6a99d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55606d7985929ea8b2bdc9d5dfddd2c7beb2a89e938c7f726c625a50443f382f28201a150e0904000000000000000000000000000001050a0f151b212930394044515b636d75818e95a0aaaea59e948f82796d685e574d453b30251a0e0200000000000000000813202c3945515d6773808d99a4afbbc7d4d0c6bbaea3998f82756c62574d433a30271e160d07000000000000000000000000000000040c1319252935414c56616b75828f9c99928d857e78706b615f57514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000007121d2834404a54606c7883919da7b1bccad4ddd1c5b8aca0958a7e71665c5042392e1e150b000000000000000000000000000000020d1925303a45525d68727f8c97a1adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817575757575757575757575757575757575757575757575767777797b7e8083888d92979fa3abb0b8c0c9d2dbded5ccc3b9b1a79f92877c6f62594f44332a2015090000000000000000000000000000000a1623303c4955616c707777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777b85929facb8c5d2dfded6cabeb3a99f948c7f726a60544a3f33281c0f030000000a141d262d333d43474d52555d60656c7179808690959fa3abb2bac2cbd3dbe5edf6fffff9ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a1d24292c32373b3c4146474b4e4d5354575859595a5b5a5a59585857565553504a4c4a4745413a39352f2c27211a150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1c8bbaea295887b6f6255483c2f22150900000000000000000004111e2b3744515e6a7784919daab7c4d0c4b7aa9e9184776b564c41362a1e1105000000000000071d293643505c6976838f9ca9b6c2cfc4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a45515d67727f8c96a1acb9c1cdd6e1d9d0c4bab0a69f93887e716c615a5049413a322b26201a15100c070604010001000100020507080d11151a20272b333b424a515b636d727f8c939ea7b1b7afa69e9490837a6e695e574d42362a1e1205000000000000000004111d2935404b55616e7b87939facb9c1cfd7cbbfb5ab9e948b7e71695f564c423930281f18120b060000000000000000000003060b0d161e2429373f45525d68707d8a949ea39f97928b837d756e69605d554b4135291d110400000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000c18232f3844515c66717e8b95a0acb9c3cddcd4c8bcb1a79d9083786c60544a3f30271c0c030000000000000000000000000000000008131e2935414c56606d7985919ea8b2bdc9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd1c4b7aa9e9184818181818181818181818181818181818181818181818283838485888a8d90959a9fa2a9aeb5bdc2cad2dbded6ccc3bab1a79f958c80736a5f53473d3321180e030000000000000000000000000000000a1724313d4a5764707e8383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838385929fabb8c5d2dee6dbd0c5bcb0a69f92877c6f665b5044382b1f1206000000020b141c222832373b42464b51535b60676d737b838c9299a1a8b1b9c1c9d3dbe5edf7fff9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13191f252a2f35393d4347494c5254585b575e616365656667676766666564646362605b54595654514c4745403938332b262019130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e44515d6a7784909daab7c3d0c8bcafa295897c6f6256493c2f23160900000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579685e5246392d20150a000000000006121e2b37424e576a7784909daab7c3cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea5afbbc4cfdae2d6ccc1bbafa49a92877e716c605b534c443e37312b261f1d181413100d070d0d0e080e111414191d20262b32373e454d545c606d727f8c919ca5afb9c1b8b0a69f9590837b6e695e52463a2d2014070000000000000000010d18242f3a46535f6975828f9ba5afbdc6d1d1c6bdb0a69f92867b6e685d544b433a3128231c17110d08070706060708090a0f12161c1f282f353f49515b606d7a84919ea6aea9a19e959089827b736d675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000004101c2934404b55606d7984919ea7b1bccbd4dcd1c4b8aca0958a7d71665b5042382e1e150b0000000000000000000000000000000000020d19242f3a45515d67727f8b96a1adb9c4ced5c9beb2a99e92857a6d60564c4135291e1308000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c5b9aca096918e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f90919298979a9da0a7abadb3bbbfc6cfd4dcdad5ccc4bab2a8a0959083786d60584e43352b210f06000000000000000000000000000000000b1825323e4b5865717e8b9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909297a2adbac6d3dfece1d7cec2bbafa3999184786c605346392d20130600000000020a111720272b30363940454950555d60696e787f8791969fa7afb7c1c9d3dbe5eef7ffecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931363a4045474e5456565e6164676a696e707172737374747373727171706e6c66686563605d5553514b48443d373129241e160e07000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3743505d6a7683909da9b6c3d0c9bcafa396897c706356493d3023160a000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6baaea298877a6e6154473c31261b1108020000020a14212e3a47535f6a7885929eabb8c5cec1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3945515c67707d89939da9b3bec9d5dcded8ccc0b6aca39992877e736c655e565047433c37312c292420201d181b1a1a1b1b191e2021252a2d31373d434750575e666d737f8c919ca3adb7c1cac1b8b0a7a09591847b6e6154483b2e21150800000000000000000007131d2a36424d57636f7c89939eabb5bfcbd7cfc1baaea29891837a6d665c554b433c342e27221b191514131213141415171a1f21272c313a4145515b636d75818e97a1adbbb3ada7a09d938f8680796d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000020c16202c3845515c67727e8b96a0acb9c3ceddd4c8bcb1a79d9083786c60544a3f30261c0c0300000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5c9bdb2a8a09e9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c9d9e9fa2aaa7aaacb1b8babec5cbd1d8dfd6cfc9c0bab2a8a09690837a6d665c51463c3223190f00000000000000000000000000000000000b1825323e4b5865717e8b989d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa2a9b3becad6e2eee9e0d7cbc0b5aba09686796d6053463a2d201307000000000000060b161b1f252a2f35383f444b51575f666d737c8490959ea5afb7c1c9d3dce5f0f9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c23282f353b42464b515358606266686e717476787b7d7e7f7f808181807f7f7e7d7d7b79777472706d6764605d55554f47433c353028201910070000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc9bdb0a3968a7d7063574a3d3024170a000000000000000000010e1a2734414d5a6774808d9aa7b3c0cfcabfb4aa988b7e7165584e43372b2319130e09090b141d27303b4855626e7b8897a2adb9c6cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2934404b55606b74818e97a1adb9c0cad3deddd2c7beb5aba399928b80776d68615a534e47423c38352f2d2c29242727272728252a2d2e3036393c43474e545a61696e78808c919ca3adb5bfc9d3cac2b9b0a69e91847a6d6053473a2d201407000000000000000000010e1a26313b4854606b75828f99a3aebbc5cfd6cabfb4aaa0958f82786d675d554e444039332d2a252221201f2021212224262b2e33383d434c515b626d727f8c939ea9b2bebeb9b1aca59e98928a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000008131e2935414b55606d7984919ea8b2bdcbd5dcd1c4b8ab9f958a7d70655b5042382d1e140a00000000000000000000000000000000000000010c18242f3945515c67717e8b96a0acb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000f1b2835424e5b6875818e9ba8b4c1cedbe5d9cec4bab2acaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9aaaaacaeb4b3b7b8bcc3c6cad0d7dbd6d3cdc4bdb9afa8a19691847a6e685d544b40342a20110700000000000000000000000000000000000b1825323e4b5865717e8b98a4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5d0dbe6f2f2e8dcd1c7bdb2a89386796d6053463a2d20130700000000000000040a0f141a1d24292d333a40454d545c606a6f7a838e939ea5afb7c1cad3dee8f2ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e262e343a41454d53555d60656a6f73777a7e818385878a8b8c8c8d8e8d8d8c8b8b8a89888583817f7d7a75716d67636059534e46413a322b2219110800000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926323f4c5965727f8c98a8b2bdc9d0c2b5a89c8f82756a5f53473f352a251e1a1818191d262e39434f5965727f8b98a9b3becaccc0b6ac998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232f39434f59616d7a85919ea4aeb8c1ccd5dfd9d0c7bdb5aba39f928c817a706c625f58534d4745403c3a39352f34343334353036393b3d4146474e535860626c707b838d929ca3adb5bfc7d1d7cbbfb4ab9f948a7e71675d5145392c2013060000000000000000000009141f2c38434f59626e7b86929fa9b3becad6d0c5bcb1a79f948f81796d675f58514a443f3836302f2d2d2c2d2d2e2f3131373a3d44484f555d606d727f8b919ca5afbbc4c9c3bcb8afa79d9083786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000010d1924303945515d67727f8c96a1adbac4ceddd3c7bbb0a69d9083766b6153493f2f261c0c02000000000000000000000000000000000000000007121d2834404b55606d7884919ea7b1bcc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e0d5ccc4bdb9b7b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b5b6b6b7b8babfc0c3c5c8ced3d6d9d4d0cac6c1bbb2ada59d9691847b6e685e564c42392e22180e0000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b8babec5cdd7e1ecf7f9eee3d9cfb9aca09386796d6053463a2d20130700000000000000000002090e12181b22272f353c424a505860686e79818e939ea5afb8c1ccd6e0eaf4dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117212930383f444c52575e61676d72777c8083878b8e909298969898999a9a9a9999989797969892908e8c8986827e7a75706b625f58524c443c342b231a1108000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000915222f3c4855626f7c8896a1adb9c5d2c5b9ac9f92877c6f625a50473e36302b262525252a2f38404b55606b7683909da9b6c3cfc8bbafa49a8a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d46525d68707e8a929ca6b0bac3cdd6dfd9cfc6bdb5aea49c938f857d756e6a625f5753514b49474540424140404142434146474a4c5254585f626a6f767e8590959da4adb5bfc7d1d4cbc2baaea3998f82766c61554b4035291d110400000000000000000000030f1b27323d47535f6974808d97a2adb9c0ccd5cec3b9b0a69e938f82796f6a605c54504946413e3c3a3a38393a3b3c3d404347484f545960676d757f88939fa3adb7c1cdd5ccc3b8ab9f958a7d70655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000005111d2935414c56606d7a85929ea9b2bdccd6dcd0c4b7ab9f94897d7063594f41382d1d140a000000000000000000000000000000000000000000010c18232e3944505c66717e8a95a0acb8c3cdd6cabeb3a99f92867a6d61574d42362a1f140900000000000f1b2835424e5b6875818e9ba8b4c1cedbe3e7ded5cec9c5c4c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c2c3c4c5c6cad0d0d1d4d6d3d2cec8c6bfbab8afa9a19e938e847b6e695e564c443a30271d10060000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c6cad0d7dfe9e3e3e3e3ead3c6b9aca09386796d6053463a2d201307000000000000000000000001070c11171d242930383f444e565e676d78818e939ea6b0bac4ced8e2e3dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227333b424a50565d60696e747a7e83898c90939a9a9d9fa2aaa4a5a6a6a7a7a6a6a5a4a4aaa29f9d9b9898928f8a86817d766e6a615d564e463d352c231a110700000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000815212e3b47535f6a7884919eabb8c4cfc7bbafa3998f82756c62595046413a3731323130363a4149515c67707d89959fabb8c4d2c6b9ac9f93877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2935414c56616c73808d949ea8b2bbc4cdd6dfd8cfc6bfbbaea59e97928a827b746e6964605d555653514b4e4e4d4d4e4e4f4d525457565e61656a6f757c828a92979fa7aeb6bfc7d1d6ccc2b9afa59f92867b6e625a50433a2f24180d0100000000000000000000000a16212b37424d57616d7a85929ea5afbac3ced5cbc2b8afa59e948f847c726d66605b53524c4b48474644464747484a4c4e53555960636b707a818b939aa4afb5bfc9d3cfc3baafa59d9083766b6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000030d17212d3946525d68737f8c97a1adbbc4cfded3c7bbb0a69c9083766b6054473e2f261b0b020000000000000000000000000000000000000000000007121d28343f4a54606c7883919da7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000f1b2835424e5b6875818e9ba8b4c1ced6d6d6d6d6d9d5d2d1cecececececececececececececececececececececececfd0d1d2d3d3d2d1d0d0cbc7c5c3bdb8b4aeaca59e96918a817a6e695f574d443b32281e150b000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d6dbd6d6d6d6d6d6d6d6d3c6b9aca09386796d6053463a2d2013070000000000000000000000000000060b13181e262e343d444d555c666d78818e949ea8b2bcc6d0dcd6d6d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141d262d333e454d545c60686d737b80858b9095999d9fa4aca9abaeb4b1b2b2b3b4b4b3b2b2b1b0b4aeacaaa7aaa39f9b98928e89827c746d6860584f473e352c23190c0300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfcabdb0a3978a7d7064574a3d3124170a0000000000000000000006121f2b37434e586774818e9aa8b2bdc9cbc0b5ab9e948b7e716b615a524c4742403f3e3f42464c535b606d7983909da7b1bcc8d0c3b6aa9d908377685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1924303a44505a606c78828f96a0a9b2bbc4cdd6ded8d1cbbfb7afa9a19e938f87817b76716d676662605d555b5a5a5a5a5b5c565e616466686d72777c81878f949ea2a9b1b9c0c8d1d5ccc4bab1a79d938b7f72695f53483e31281d1307000000000000000000000000040e1a26313c46525e68717e8a939da8b2bcc6cfd4cac1b8afa69f9691867f79706c65615e565755545350535454555759585f62666b70767d848e939fa4acb6c0c7d1d1c6bcb2a89d93897d7063594f41382d22170b0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000009141f2a36414c56616d7a85929fa9b3becdd6dbd0c3b7ab9f94897d7063594f44352c1d140a0000000000000000000000000000000000000000000000000c17232e3844505b66717d8a95a0abb8c2cdd6cabfb4aa9f92867b6e61574d42362a201509000000000f1b2835424e5b6875818e9ba8b4c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c3c1bfbab8b6b2acaaa29f9a938e847d746d675f574d453b322920160c03000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d20130700000000000000000000000000000001070c141c2328323b434b545c666d78828f96a0aab4bfcbc9c9c9c9c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f4450575e666d727a80868d92989da0a7aaacafb6b6b8babebebfbfc0c1c0c0bfbebebdbfbab8b6b4b4aeacaaa29f9b948f87807a6f6a60594f473e352b1e150b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023170a00000000000000000000030f1b26323d4a5764707d8a96a1adb9c3cec7bdb0a69f92877d716c615e56534d4c4b4b4c4d52565e656c74808d95a0abb9c2cdc7bcb1a7998c807366564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e44505b666d7a849197a1a9b2bbc4ccd4dcdcd7c9c1bbb3ada59e99928e88837e7976726f6d6769686767666768696a686e7073767a7f83888e939a9fa6adb3bbc2cbd2d4cbc3bab2a89f958e81746d62574d42362c1f160c010000000000000000000000000009151f2935414c56616c74818e96a0aab4bdc7d1d3cac1b8b0a8a098928c847d78726e6866646260605c606061626466686a6f73777d838991969ea5afb6bec7d2d7cbbfb4aaa0968e81746b6054473e2f261b11060000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000020e1a25313946525e6873808d98a2aebbc5cfd6d3c7bbb0a69c8f82766b6054473d33231a0b0200000000000000000000000000000000000000000000000006111c28333f4a54606c7883909da6b0bcc7d3d0c6baaea3988d8174695f53463c31261a0e040000000f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbfbab9b8b7b5b4aeaca9a8a09e98928e88817a706b605d554d453c332920170e0400000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9aca09386796d6053463a2d2013070000000000000000000000000000000000020a111720293139424a545c666d7a849198a3aebabdbdbdbdbdbdb9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2730384149505a61696e787f858d92989fa2aaacb1b6b9bbc0c3c5c6cad0cbcccdcdcdcccccbcad0cac7c5c3c1bfbab9b4aeaca69f99928d857c706b61594f473d30271d1207000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa296897c6f6356493c3023160900000000000000000000000a13202d3a4653606d7984919ea8b2bdc8cfc1bbaea39992867e746d68615f5759585859565e61686d77808c929da7b1bccbd0c7b7ab9f95897c6f6356493c3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028333f4a545d686e7b859197a1a9b2bac2cad5dadbd3cdc5beb9afaba39f9b948f8a86827f7c7a78767574737374757676787a7d8082868b90959b9fa4acb0b9bec5cdd4d6cbc2b9b1a8a1969083786d605b51453c31241a0d040000000000000000000000000000030d1925303a44505a606d79849198a2abb5c0cbd1d3cac2bab2aaa39f96918a847f7a7773716f6d6d666c6d6e6f707375777b7f838990949ea0a8afbbc0c7d0d8c8c0baaea3989184796d60594f44352c1d140a000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000005121e2a36424d57616e7a86929faab3becdc9c9d0c7b7aa9e94897c6f62594f44352b21110800000000000000000000000000000000000000000000000000000b17222d3844505b65707d8a949fabb7c2ccc9cbbfb4aa9f92867b6e61574e42372b20150a0000000f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb4aeacabaaa8aaa39f9c9996918b86817c756d686159514c433c332a21170e050000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0aca09386796d6053463a2d20130700000000000000000000000000000000000000060e171f272f38424a545d686f7c86929fa7b1b0b0b0b0b0b0b0ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039424a535b606c707b828b92979fa3aaaeb4b8bcc3c6c8ccd2d0cfcac6c5c4c3c2c2c2c3c4c5c6cad0d0d0d1cbc7c5bfbab8b0aba39f9792867d706c61594f43392e23180c040000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f221609000000000000000000000006131f2c3845515c67717e8b96a0acb9c1cccbbfb5aba298928a807a736e69676665646667696e727a818c929ca4aeb9c3cdc7bdb0a69d9083766b6054483b2f1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17222d38424c565f696e7b859196a1a8b0b8c0c9cfd6dfd6cfc9c1bdb5afaca69f9c98928f8c89868482818180808181828384878a8c8f92999d9fa7acafb6bec2cacfd7d0cac1b9b1a7a09691847a6e665c51493f332a2012080000000000000000000000000000000008131e28323e45515d676f7c869299a3afbbc0c7cfd4ccc3bcb4aea8a09e96918c8783807e7b7a7979797a7a7b7d7f8284888c90959c9fa6acb2bac1ccd2d2ccc0b6aea49f92867c6f675d51473d33231a0b02000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdd6d4c7bbaea194887b6e6155483b2e2215080000000714212d3a46535e6974808d98a2aebcbdbdbdbdbdbeafa59c8f82756a6054473d32231a0f00000000000000000000000000000000000000000000000000000006111c27333f4953616b7683909ca6b0bbbdbdbdbdbbaea3998e81746a5f53473c32261b0f0000000f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aaa39f9e9d9b989892908d89847f7a746f6a605d564f45413a312a21180f05000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a09386796d6053463a2d2013070000000000000000000000000000000000000000050d151d263038424c565f6a727f8b95a0a3a3a3a3a3a3a3a3a39f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424a545c656c747e8590949ea1a9aeb4babec5c8ced2cdc8c4c3c0bebab8b7b6b5b5b6b6b7b8babfbfc3c6c8ccd2d0cac6c2bdb5afa9a19892867e706b60554b40342820150a0000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667985929facb8c5d2c8bbaea195887b6e6255483b2f221508000000000000000000000004101c2834404b55606d7884919ea6b0b9c3cdc6bdb4aaa29f928d85807b77747372717274777b7f858e939ca4aeb6c0cbccc0b5ab9f94897d7063594f43382c1f0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444d575f696e7b8491969fa6aeb9bec5cdd4d9dad5cfc7c0bbb9b0abaaa39f9c999a93918f8e8d8d8d8d8e8f90919697999c9fa3ababb1b9bbc0c7d0d6d5cdc5bebaafa79f9591847b6e685e544b40372d21180e0000000000000000000000000000000000020c16202935404b55606a707d87929fa3afb5bdc5ced8cfc6bfbab2aca8a09e9a93908d8a88878685868787888a8c8e9196999da0a7abb0b9bdc4ccd8d0c7c0bbaea49d928b7f726a5f554b40352b21110800000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0c9c9c9c7bbaea194887b6e6155483b2e221508000006121e2b37424d57616e7b86929faab4b0b0b0b0b0b0b6ac9e93887c6f62584e43352b211108000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb0b0b0b0b0b0b5ab9f92877b6e62584e43372b1c110600000f1b2835424e5b6875818e969696969696969696969696969696969696969696969696969696969696969696969696969696969594989291908e8b898683807d78726d68625f58524c443e352f281f180f0600000000000000000000000000000000000000000000000b1825323e4b5865717e8b96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d201307000000000000000000000000000000000000000000030b141e26303a444e58606d78839096969696969696969696969386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232834404a545c666d77808a92979fa6adb3babfc6cad0cdc8c4c2bcb8b6b3b3adabaaa9a8a8a9a9aaacaeb4b3b6b9bbc0c7cbd1d3cfc7c0bbb3aaa29892877d6f675c51453c31261b0f000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a2aebac6d3c7baaea194877b6e6154483b2e2115080000000000000000000000000c18232e3944505c66717e8a949ea7b1bbc5cec6bcb4aea49d98928c8884817f7e7e7f8083878c92989ea5aeb6bfc8cac2bbafa4998f82766b6054463d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323c454d575f696e7b848f949ca4adb3bbc1c8ced5d9d9d1cbc7c2bbb7b4aeaca9aca49f9e9c9b9a9a999a9b9c9d9ea1a8a6a9acaeb5b8bcc3c8ccd2d5cfc9c2bbb3ada59e9590837b6e695f564c42392e251b0f06000000000000000000000000000000000000040e18242f3a434e58616b717e8b919fa3abb4bcc3ccd2d1cbc3bdb9b2acaca49f9d999795939892939a949597999b9ea0a8aaacb1b7bcc2c9ced5cdc4beb6afa49d928d80746d62584e43392f23190f0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbbaea194887b6e6155483b2e22150800000814212e3a47535f6974818e99a3a3a3a3a3a3a3a3a3a3a49a8f82756a6054463d3223190f000000000000000000000000000000000000000000000000000000000006111b262f3e4854606b76828f9ca6a3a3a3a3a3a3a3a3a3998e81756a5f5347382e23170b00000f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786868584827f7c797673706c65605d56534e45413a3229241e160d060000000000000000000000000000000000000000000000000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a86796d6053463a2d20130700000000000000000000000000000000000000000000020c151e28323c44505c66707d898a8a8a8a8a8a8a8a8a8a8a8a86796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44515c666d78818d929fa2a9b0b9bec5cbd0ccc7c3bcb8b6b1aba9a6a9a29f9d9d9c9b9c9d9d9fa2aaa6aaacafb6babfc6cfd5d1cbc5bcb4aaa3999184796d60584e43372b1d12070000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcad6c7baada094877a6d6154473a2e21140700000000000000000000000007121d28343f4a54606c77828f95a0a9b3bcc4ccc6bfbaaeaaa29f9996918e8c8b8b8c8d90939a9fa2aaafb7bfc8ccc2b8afa59f93877c6f62594f44342b21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202a333c454d575f696e7a828d929ea1a9afb8bdc3c9ced4d9d7d4cdc7c6bfbab8b6b6afacaba9a8a7a6a6a7a8a9a9abadb2b3b6b9bbbfc6c8cdd4d5cfc9c5beb9b0a9a29f938e827a6e695f574d443b30271d1309000000000000000000000000000000000000000007131d28313c464f59626c727f8b9299a2aab1bbc0c7d0d5cec8c4bdb9b6afacaaa6a4a2aaa39f9fa4a1a2a3a6a8aaacb2b7b8bcc3c7cdd5cfc9c1bbb2aca49f928d80746e645b51463c31281d11070000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0aea194887b6e6155483b2e22150800030f1b27333f4953626e7b879296969696969696969696969693877c6f62584e43342b2011070000000000000000000000000000000000000000000000000000000000000a141d2c38444f59626f7c8994969696969696969696969693877c6f62544a3f34281c1003000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7a79787775726f6d666663605b53524c47433c3530282019130c04000000000000000000000000000000000000000000000000000815212e3b4854616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d2013060000000000000000000000000000000000000000000000030c162028343f4a54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d47515b606d78818e939da4adb3bbc2cacfccc7c2bbb7b1acaaa79f9d9997979291908f8f8f9091929896999d9fa4acaeb4bdc3cbd4d7cec5bcb4aba0968c80736a5f5347392e23180c0000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0d5c9beb3a993867a6d6053473a2d201407000000000000000000000000000c17232e3844505b656d79839197a2aab2bac2cbcac0bcb4aeaba8a09e9a999897999a9d9fa4acaeb3bcc1c9c7c0bbb0a69d938c7f726a6054473d3222190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a333c454d575f686d78808a92979da5acb2b9bdc4c8ced3d6d8d3d0cbc7c5c2c0bbb9b7b5b4b4b3b3b4b4b5b6b8b9bdbfc2c5c7cbd1d4d3cec9c4beb9b3ada69f97928b81796d685e574d453c32291e150b010000000000000000000000000000000000000000010c161f2b343e47505a636d727e879298a0a7afb6bec3c9ced4cec9c7c0bbb9b6b3b1aeb4aeacacafb6aeb0b2b5b7b9bdc3c5c8ced3cec9c4bdb9afa9a19a938c80746e645c52493f342a1f160c000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd6d6d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a194887b6e6155483b2e2215080005121f2b3744505b6575828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a81756a5f53463c3222190f00000000000000000000000000000000000000000000000000000000000000020b1b27323d4754606a75828a8a8a8a8a8a8a8a8a8a8a8a8a8a8275665c5044382b1f1206000815212e3b47535f6a6f70707070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d676b6a686562605c545653504945413a373129241e160e080100000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706c665b5044382b1f1206000000000000000000000000000000000000000000000000040e17232e38424f59606b70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59626d75818e939da5aebabec5cdcfc9c2bbb7b0aaa7a09d9995908d8a8785848382828383848587898c90939a9fa3abb1b9c2cad4d7cec6bdb2a89f92867c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c6b9ada19786796c605346392d2013060000000000000000000000000006111c27333f49535d676e7b859298a1a8b0babfc6cbc5bebab8b2acaaa7a6a5a4a5a7aaacafb6babec5c9c5bdb5afa69e948e81746d62584e43352b21100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c454d565d666d737e858e939ea0a8acb2b8bdc3c6cad0d2d5d6d3d2d2ccc8c6c4c2c1c0c0c0c0c1c2c3c4c5c9cfcfd2d3d2d0cac6c4bdb9b2ada9a19e948f857e756d675d564d453c332a20170c0300000000000000000000000000000000000000000000040d19222c353f48515b636c717d8691959fa4acb2b9bdc4c8ced3d2ccc8c6c3c0bdbbbfbab8b9bbc0bbbdbfc1c4c5c9ced1d2cec8c4bdb9b2ada59e96918880736e645c524a41372d22180d04000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c9c9c9c9c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d969696969696969696969694887b6e6155483b2e221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e61584e43342b20100700000000000000000000000000000000000000000000000000000000000000000b16212b37434e58616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363636363636363636261605d555d5b585653514a4a46443f38352f2b262019130c040000000000000000000000000000000000000000000000000000000005121e2a36424d575e616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b544a3f33281c0f030000000000000000000000000000000000000000000000000006111c26303d474f5960636363636363636363636363636361594f44382c2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b727f8c939ea5afb7c0cacfcdc4beb9b0aaa69f9c95908c8783807d7b7877767575767677797b7c8083878e9299a0a7b0b8c2cdd6d8cfc3bbaea3998e8174665c5145382c1f13060000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d1c5b8ab9e928578655b5044372b1f120500000000000000000000000000000b17222d38414c555f69707d8691969fa6aeb4babfc6cac6c4bdb9b7b4b2b1b1b2b3b6b9bbc0c7c9c5beb9b3aba49f948f82786d605b51463d3223190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c444c545c606c717a818991969ea0a8acb2b8babec5c6c9cfd1d2d3d7d4d2d1cfcecdcdcccdcecfd0d1d2d2d1cfcfcac6c5bebab8b2aca9a19e97928b827b716c605d554c443b332a21180e0500000000000000000000000000000000000000000000000007101a232d363f49515a626b707c838d939aa0a8acb2b8bcc3c6cacfd2d2d0cccad0cbc7c5c6c8ccd2caccced1d2d2ccc8c6c3bcb8b2aca8a19e938e847d736e645c524a41382f251b100600000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5bdbdbdbdbdbdb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a887b6e6155483b2e2215080005121f2b3744505b656c707070707070707070707070707070706e685e52463c3122190e000000000000000000000000000000000000000000000000000000000000000000040f1b27323d46525e696e7070707070707070707070707070706d665c5044382b1f120600030f1b26323c464e53555757575757575757575757575757575757575757575757575757575757575757575757575757575756555453514b514f4c494644403d3937332d29241e1b150d08020000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382d22170b0000000000000000000000000000000000000000000000000000000a141e2b353d474f545657575757575757575757575757554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d87929fa5afb7c1c9d1cbc0bbb2ada69e9c948f89837f7b7673706e696a6a6968696a656c6e7073777b818690959fa6b0bbc4cfdad7cbbfb5ab9f9285796d6053463a2d20130600000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a53493f33271b0f03000000000000000000000000000006111b262f3a434d57606b707c848f949fa3abaeb4babfc3c4c8c5c4c1bfbebebfc0c3c6c7c5c2bdb9b3ada9a199938c827a6d665c51493f342b20110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a323a424a505a61686d747d848b91969da0a8abaeb3b8b9bec1c4c5c7cbd1cccdcdcecfcfcecdcccccbcfcac6c5c2c0beb9b8b3aeaba8a19e97918c857e766e69615a514b433a322920180f06000000000000000000000000000000000000000000000000000008111b242d373f485059606a6f79808891969ea1a8acb1b8babec2c5c6cad0cccdcececfcececdccccd0cac6c5c3c0bbb9b6b1aca8a09e96918b817a706b635c524a40382f261d13090000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b0b0b0b0b0b0b0b0aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d20140700030f1b27333f49535b6063636363636363636363636363636363615e564c41342a201007000000000000000000000000000000000000000000000000000000000000000000000a16202a36424d575e61636363636363636363636363636363605c544a3f34281c100300000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484747454044423f3c3a38342e2d2b27221b19130f0a04000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c1106000000000000000000000000000000000000000000000000000000020c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77849099a3afb7c1c9cfc6bfbaafa9a19e948f88827c77726e696664615e575d5c5c5c535b60616366696e747b838f949fa9b2bdc9d5dcd1c6baada2978a7d7063574a3d2e23170b00000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcec1b4a89b8e8175685b4e422d22170b000000000000000000000000000000000a141d28313c454f59606a6f7a828d92999fa3abaeb4b7b8bcbebfc0c1c2c1c0bfbebfbab8b5b2ada9a19e9792877f786d685d544b40372d22190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18202830383f4450565e616b70797e848b91969a9fa2aaabadb3b5b7b9bbc0bebfc0c1c1c2c2c1c0c0bfbebdbeb9b8b6b3b3adabaaa29f9b96918b847f79726d615e5750454039312820170e060000000000000000000000000000000000000000000000000000000009121c252d363f474f585f676d737d848b91969da0a7abadb3b5b8babfbec0c0c1c2c2c2c1c0c0bfbebebab8b6b6afaca9a7a09d96918b847e756d686059524a40382f261d140b010000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f70707070707070707070707070706d675d5145392c1f130600000b17222d38414950535757575757575757575757575757575754524c443b3022180e0000000000000000000000000000000000000000000000000000000000000000000000040e1a25303b454d525457575757575757575757575757575753504a42382e23170b000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a38352f35322f2d2c2823201f1b17110d080100000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a0000000000000000000000000000000000000000000000000000000000071119232b33383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b95a0acb8c1ccc4bcb4aea59d97918a827c766f6b66615e575754524d504f4f504950535456575f61696e79828f96a1adb9c6d0dbd6cabeb3a99b8e817468544a3f34281c100300000000000000000000000000000000000000000000000000000004101c2834404b546975828f9ca8b5c2cfccbfb3a6998c807366594d4033261a0600000000000000000000000000000000020b161f2a333d474f585f686d7880868d92999fa2aaaaacb1b1b2b3b4b5b5b4b3b2b4aeaca9a8a19e97928c857d736c665d564c42392e251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e262e343e444c525960666d71787e84898e92989b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b4b3b2b1b1b3adaba9a7a9a29e9b98928e8a847f79726d67625b524d453e352f271f160e050000000000000000000000000000000000000000000000000000000000000a131c242d353d464e555c606b70787e848b90959a9fa2a9a9acaeb4b1b3b4b4b5b5b5b4b3b3b2b1b3adaba9aca49f9d9995908b847e79716c615e564f4740372e261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9696969696969696969696969083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636363636363636363605d554b4035291d1004000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e100600000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c11060000000007101820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2d2c2924282523201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28221c140b0200000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030302f2c28211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7883909da5afbcc4bab2aaa39f938e847e766f6a63605954534d4a484642434242433f444647494d53575f676d7a84919eaab4bfcad6dbd0c4b8ab9e918578665c5044382b1f120600000000000000000000000000000000000000000000000000000006131f2c3845515c667784919eaab7c4d1cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000000000000040d18212b353d464e565e666d737b81868e9298999da0a7a4a5a6a7a8a8a7a6a5aaa29f9c9996918b857f7a706b605b544c443a30271d130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323a41464f545c60666d71787c81858a8e9297989b9e9fa3aba5a6a7a7a8a8a8a8a7a6a5a5a4a9a19e9c9a9797928e8a85817d79726d67605d555146423b3329241d150d0400000000000000000000000000000000000000000000000000000000000000010a121b232b343c434b515960666d71797e83888d9297999c9fa2aaa4a6a7a7a8a9a8a7a7a6a5a5a9a29f9c9a9a93908c88847e78716d66615a524c443d352e251c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c464e5355575757575757575757575757575753514b43392f24180c000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d00000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a000000000000070e151b1f212224242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1d181c19161312100c0705030000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242423201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666f7c89939eaab4bab2a8a198928b817a716c626058544f4846423d3b3a363036352d3337393b3d42464d555e68727e8b98a2aebac6d3dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab96897c706356493d3023160a000000000000000000000000000000000000060f19232b343c444c545c60696e747b8186898d9095969798999b9c9b9a99989798928f8c89847f79726d676059504a423a32281e150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202830353d424a51545c60656c7074797d8285888b8e9192999698999a9a9b9c9c9b9a999998979697928f8d8b8885817d7975706d66605c55514b433f3630292118120b030000000000000000000000000000000000000000000000000000000000000000000009111a222a313940454f545c60666d72777c8185898c8f92989698999a9b9b9c9b9b9a999998969792908d8b87837f7b77716d66605c545046413a322b231c130a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000020b141b22272b2d303030303030303030303030303030302e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e3030303030303030303030303030302d2b28231c140c0200000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171615141413100c070c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000050b10131616171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606b75818e98a2aeb2a8a19691867e746d68615a544e48443d3a36312e2d2a25292922272b2d2e31363c434c56606d7a85929facb8c5d2dfd4c7bbafa499877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a3afbbc7d3c7bbafa399877b6e6154483b2e21150800000000000000000000000000000000000000071119222a323a424a50575e61696e74797d808387898b8c8d8e8f8e8d8c8b8a8986827f7c79726d67605d554f443f382f2820160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e2529303940444a50535b6063676d7175797b7e828486888a8b8c8d8e8e8f8f8e8d8d8c8b8a89878583807e7c7974706d6664605c54514b454039312a251f170f07010000000000000000000000000000000000000000000000000000000000000000000000000810181f272f343d424a50545c60656a6f74797c7f828587898b8d8d8e8f8f8f8e8d8d8c8b89878583817e7b76726e6964605c54514b423e353028201a110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f70707070707070707070707070706f6b6054483b2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b010000000000020a11171b1f202424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424201f1c17110a0200000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59616e7b86929fa8a8a19691847c716c605d565047433c38322d2a2521201e1a1c1c171b1f2021262a313a45515d677783909daab6c3d0ddd7ccc0b5ab95887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0cbd2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000071019202830383f444d52575e61676d7073777a7d7e7f8081828281807f7e7c7976726f6d66605d55514c433d332d261d160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383f44495053555c6064656c6e727577797b7d7f8080818282828181807f7e7e7d7b787674716f6d6663605c5453514a454039352f271f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d232930383f444b5153586062666d6f7276797b7c7e8081818282828180807f7e7d7a787674716e6866625f5753504a4540393029251e160e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58606263636363636363636363636363636360594f43382c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c29241d150d030000000000000000060b0f1213171717171717171717171717171717171414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141717171717171717171717171717171312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3d46525e68727f8c96a0a19691847b6f6a625a524c433e37322c27211e1a1514120e09060b0f1213141a1f2935414c556875828f9ba8b5c2cedbddd2bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfd1d1c4b7aa9e918477665c5044382b1f1206000000000000000000000000000000000000000000070e161e262e343b42464d53555c606366686e70717273747575747372716f6d676662605c54514b45413a3128221c140b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151c23282e34383f44464b5153535b60626568666d6e7072737474757575757473727271706e6969676462605c5453514b46444039342e29241d150d09020000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e262e34394045464e54545c606266656c6e70717374747576757474737272706e69696765615e5655534d46443f38342e271e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e5456575757575757575757575757575756544f473d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222424242424242424242424242424201f1d18120b0300000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f10131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000002050708121313131313131313131313131313131006060300000000000000000000000000000000000000000000010406070b0b0a0a090908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56606d7884919d9791847b6e6960585045413a312b27201b16120e0907050200000003050609101c28343f4a546875828f9ba8b5c2cedbd6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000006121f2b37434e586875818e9ba8b4c1cecfc2b5a99c8f827669544a3f34281c100300000000000000000000000000000000000000000000050c151c232830363b42464b515356565e61636465666869686766656463605c555653504a454039352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c23282d3337394045474950535558545c6061636566676768696968676666656463615e575a585553504a4645403a38342e28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141c23282e34383c43474a505356535b60616365666768686968686766666563615e565a5854524d4847423c38342e28231d150c080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d352b21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151517171717171717171717171717171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000030a10161a1c1d20202020202020202020202020181715110c06000000000000000000000000000000000000000000000002090e1114141f2020202020202020202020202020201c13120f0b0600000000000000000000000000000000000001070d111314181817171615151413110d080b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44515c66707d899391857b6e695f574e463f352f281f1b150f0a05020000000000000000060b1218222b3844505c667783909daab6c3d0ddd5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000815212e3a47535f6a7885919eabb8c4d1cbbfb5ab998c7f7366594c402e23170b000000000000000000000000000000000000000000000000030a11171f252a313639404546494c52545658595a5b5c5b5a5958575653514b4946443f38352f29241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c11171b22272b2f34383a3f4446484b4a5153555758595a5b5b5c5c5b5a5a5958575654524d4d4b4946443f3a38342e2c28231c18120c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c3237383f4446494950535456585a5a5b5c5c5c5b5a5a59585654524d4e4b4746413b3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e101113131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000003080c0e0e1313131313131313131313131313131313100605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d181109000000000000000000000000000000000000000000050d14191e20212b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000040c13181d20202524242323222221201d1919171514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2834404a54606b75828f877d70695f574d453d3429241e160d0a04000000000000000104080d11171d2329343c4653606d7985929fabb8c5d2ded6cabfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000915222f3c4855626f7b8897a1adb9c6d2c7bbaea399897c706356493d302316060000000000000000000000000000000000000000000000000000060c141a1f252a2e34383a3d4146474a4b4c4d4e4f4f4e4d4c4b494645403c3a38342e29241d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b11171b1f23292c2d3337393b3f404446484a4c4d4d4e4f4f4f4e4e4d4c4b4b4a474642413e3c3a38342e2c28231f1c18120c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f272b2e34383a3c3f444647494b4d4e4e4f4f4f4e4d4d4c4b4a474642413e3b3936302e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3030303030303030303030303030302f2c2721191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e2020202020202020202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b20202020202020202020202020202020201c13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e313239393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000030d161f262d3235363939393939393939393939393932312e29231b120900000000000000000000000000000000000000050e171f252a2d2e38393939393939393939393939393939362d2b28221c140b0200000000000000000000000000040d161d24292c2d32313130302f2e2d2c2924262422211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424f59616e7b8680736b60574d453b332b2219130c040000000000000305070d1113191b22272f343d46505a63707d8a97a2adbac6d3dfd3c6baaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000004101c2834404b5465727f8c98a9b2bec9d2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000003090e141a1d23282c2d3036393b3d3e3f4041424241403f3e3c3a38342e2d2b28231c18120d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f22272b2d2f2e34383a3b3d3f4041414242424241403f3f3e3d3b3a3630312f2d2c28231f1c1812100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10151b1c23282b2d2d3337393b3d3e4041414243424141403f3f3d3b3a3630322e2d2a25211e1a15100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242423221f1b160f070000000000000000000000000000000000000000000000000000000000000306080913131313131313131313130b0b09050100000000000000000000000206080813131313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1b17110a0200000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000030c17202930363a3b45464646464646464646464646464646433938332d261d140a000000000000000000000000010c161f282f35393a3e3e3d3d3c3c3b3a39352f33312e2d2a26201f1c18120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d46535f69707d786c60594f453c332921191008010000000306060b0f1213181d2024292d333940454f58616c75828f9ca9b3becad6dfd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000000000000000000000006131f2c3845515c6676828f9ca9b5c2cfd0c3b6a99d908376675d5145392c1f1306000000000000000000000000000000000000000000000000000000000003090e12181c1f20252a2d2e3031323335363534333231302d2c2823201f1c17110c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c1013171b1f202223282c2d2e3032333434353636353433333231302e2d2a252522201f1c1713100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2022272b2d2e30323334353536353534333332302e2d2a252521201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171615130f0a040000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020181715110c06000000000000000003090e1214152020202020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000b151d252b3034353939393939393939393939393939393939362d2b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000010c17222d363f454a4b5353535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000000000000000000000000000000000005101c26313a434a4e50535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000b151e29323b424647525353535353535353535353535353534f46443f382f261c1106000000000000000000000007131d28313a4045474b4b4a4a49484847454141403e3b3a36312d2c28231d1a150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36424d57616c706c665b50473d332a21170f07000305060b101213171b1f2024292c3035383f444b5159606a717e8a949eaabbc5cfdbdccfc2b5a99c8f827669554b4035291d1104000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ccc0b6ac9a8d807367554b4035291d10040000000000000000000000000000000000000000000000000000000000000000070c101313191e2021232526272829282726252423201f1c181312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181c1f202224252627282829292827272625242321201e1a18161312100c0604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213171b1f2021232527272829292928272726252321201e19181414110e0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a09090703000000000000000000000000000000000000000000000000000000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2524211d181109000000000000060e151a1e21222d2d2d2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f434446464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000008121d272f373c40414646464646464646464646464646464646433937332d261d140a0000000000000000000000000000000000000000000000000000000000000000000005111d29343f48505658606060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60606060606060606060606060585651483f34291d110500000000000000000000000000000007121c27303b444d52545e6060606060606060606060606060605c53504a42382d22170b00000000000000000000010d18242f3a434b51535857575656555554514c4e4c4a4846423d3a38342e2b26201b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1a26313b45505a6164605b544a3f352b21180f06060b0f1213171c1f2022272b2d2f35393a41454950555c606b707c86929fa6b0bbcdd7e1d4c8bcb1a7988b7f7265584c3f2f24180d01000000000000000000000000000000000000000000000000000a1623303d495663707c8998a2aebac6d3c8bbafa49a8a7d7063574a3d2f24180c00000000000000000000000000000000000000000000000000000000000000000000000406080e1114141718191a1b1c1c1b1a1918161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1012131517191a1a1b1c1c1c1b1b1a191818171414110e090907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131416181a1b1b1c1c1c1b1a1a1918171414110e0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f393939393939393939393932312e29221b120900000000060f1820262b2e2f393939393939393939393932312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f5153535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000060f1a242f3941484d4e53535353535353535353535353535353534f46443f382f261b11060000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e22150900000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000060f18232e39424d565e616b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b544a3f33281c0f0300000000000000000004111d2935404b555d6065646463636261605d555b595755534d4a4645403937312b262019130d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333e4850555753504a42382d23190f0c1012171b1f2023282b2d2d3337393b4045474c52535b60676d737d859298a2aeb8c1ccdfdbd1c4b8aca095877b6e6154483b2e2115070000000000000000000000000000000000000000000000000005121e2a36424d576673808d99aab4bfcad2c6b9ac9f93867a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0e0f0f0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0e0e0f0f0f0f0e0d0c0c0b0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0e0e0d0c0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646463e3d3a342d241b11060000030e18212a31373a3b46464646464646464646463f3e3a352d251b11070000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e6060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000030c17212c36414b53595b60606060606060606060606060606060605c53504941382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c71797979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797979797979797979797979726d62564a3d3124170b00000000000000000000000000040d18222834404a545e696e78797979797979797979797979797979766c665b5044382b1f12060000000000000000000613202c3945515d676d717170706f6f6e6d6769686664615f575653514b47433c37312a251e170e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c363e44494a46443f382f261c1112181c1f22272b2d2e34383a3c3f4446484b5153565d60656c71797f879297a2aab4bfcad3ddd4c8bcb1a79d908377695e53463a2d211407000000000000000000000000000000000000000000000000000714212d3a46535f697783909daab6c3d0d0c3b7aa9d908477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343c43474953535353535353535353534b4a453f362d22180c01000915202a333c42474853535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e221509000000000000000000000000000000000000000000000000000000000a151e29333e48535d64686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697682868686868686868686868686867e7265584b3f3225180c000000000000000000000000010c161f2a343c44515c666e7b8586868686868686868686868686868682786c605346392d2013060000000000000000000714202d3a4753606d797e7e7d7d7c7b7b7a78767473716e696763605c54534e47433c363029201910090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242c33393c3d3938332d261d141b1c23282c2d3337393c3f44464949505355555d6064686d72787e848c9299a2a9b3bcc5d0dcd4cbc3b8aca0958b7e7265574d42362a1e120500000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9c6d2cabeb3a99a8d807467564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000010507070f0a0a080400000000000000000000000000000000000000000306131313131313131313131313131313131311110e0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709090a0b0b0c0b0b0a09090706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0b0b0c0b0b0a090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a0b0c0c0b0b0a090806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c464e54556060606060606060606060585650483f34291d1105020e1a26313c454e53556060606060606060606060595751493f35291e12060000000000000000000000000000000000000000000000000000000000000000000000101d2a36434f5b6771777979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000006111c26303b45505a646f747979797979797979797979797979797979766c655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839093939393939393939393938b7e7265584b3f3225180c00000000000000000000000007131d28313c46505a606d7882909793939393939393939393939991847a6d665b5044382b1f1206000000000000000003101c28343f4a5464717e8a8a8a89898888878583817f7d7b7773706d66625f58534e46413a322b221b130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d30312d2b28221c1c1f272b2e34383a3f4446484a505355535b606265676d71757a7f848a91969fa3abb3bcc5ced7d5cbc3b9afa59d9083786c6053463b31251a0e0200000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbbc8d2c6b9ada197897d7063564a3d3024190d01000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b171614100b0500000000000000000000000000000000060b101220202020202020202020202020202020201e1d1b17120b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080d11131415161717181918171716151413110d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608060b0f1213151617171819181717161513120f0b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131414151617181818181717161413120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c65625a50453a2e21150906121e2b37424e575f6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a778386868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000040e17232e38424d57616c7481868686868686868686868686868686868682786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000071118242f3a434e58616c74808d949fa99f9f9f9f9f9f9f9fa69f92877d6f685e544a3f33281c0f03000000000000000006121f2c3844505c6675818e9797969695949792908e8c8a8884807d79756e6a625f58524c443d342d251d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324201f1c1c22282b32373940444649505355545c606265656c6e72757a7d81868c91969ea1a8afb5bdc5ced7d7ccc3b9b1a79e93897c6f665b504438291f1409000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0ccd1c5b8ab9e9285796d6053463a2d2013080000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021282423201c17100800000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e06000000000000000000000000000000000000000000000000000000000000000000000000000000000104060a0f12151518191d2021222323242525252423232220201d18181514120e090604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515171c1f202223232425252524232322201f1c171515120f0a05030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e12141517181c1f20212223242425252524242321201f1b17171413110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a767979797979797979797979716c62564a3d312417070814212e3a47535f6a767979797979797979797979726d62574a3e312518080000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919393939393939393939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000020c162028343f4a545f69717e8a93939393939393939393939393939392857a6e655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9acacacacacacaca5988b7e7265584b3f3225180c00000000000000000000050e19232935414b555f6a717e8a929da6b0acacacacacacb2a89e948c7f726b60564c42382d22170b0000000000000000000713202d3a4653606d7985929fa3a3a2a2a9a19e9c9b999796918d8985817c756f6a615e564e463f372f261d130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617131b1d262d33383c43474a5153535b606265666d6f7275797b7e82868a8e92989da0a8acb2bbc0c7cfd7d1cbc2bab1a79f958e81756b60544a3f3328170d0300000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adbec7d2c9bdb2a99a8e8174665c5044382c1f120600000000000000000000000000000000000000000000000000000000000000000003090e161e25292d2e3531302d28221a12080000000000000000000000020c141c23282b39393939393939393939393939393939393836332e2820180e040000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141a1f21222524292c2d2f3030313232323130302f2d2c29242522211e1a1413110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1f212222282b2d2e2f303131323231302f2e2d2b282222211f1b13120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e21212423292c2d2e2f2f303132323131302f2e2d2b27222321201d1914120f090401000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c86868686868686868686867e7165584b3e2f24180c0815222f3b4855626e7b86868686868686868686867f7265594c3f3024190d0100000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000008131e28323a44505c666e7b85929fa59f9f9f9f9f9f9f9f9f9fa79d928a7d70685e53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6b9b9b9b9b9b1a5988b7e7265584b3f3225180c000000000000000000030c17202b353d45515d676e7c86929fa4aeb9b9b9b9b9bfb5aba1968f82776c60594f443a2f261c11060000000000000000000a1623303d495663707c8997a2adb0afaeb3adaba9a7a6a8a09d9a98928e87817c756d686058514941382f251c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108101920272b2f383f44464e54545c6064656c6f7275797c7f8285888b8f92989b9fa2aaacb2b9bdc4cbd1d5cfc6bfbbb0a8a0959083796d60594f42382d221705000000000000000000000000000000000000000000000000000b14202d3a46525e6975828f9ca9b2bed0d2c5b9ada196897d7063544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000060b141a20283035393a423d3c39332c241a0e04000000000000000000000a141e262e3438464646464646464646464646464646464644433f39322a20160b0000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2021262b2e2f322f35393a3c3c3d3e3e3f3e3e3d3c3c3a39352f322f2e2b2621201d18130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f20262b2e2f2d3338393b3c3d3e3e3f3e3e3d3c3b3938332d2f2e2b26201f1b17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312f34383a3b3b3c3d3e3f3f3e3e3d3c3b3937332d302d2c2924211f1a15110d070100000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869293939393939393938e817467554b4035291d100613202d394653606c79859293939393939393938e817568564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daaacacacacacacacaca5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000006101925303a444f59606d78839098a2aeacacacacacacacacb4aaa0958d80746b61564c41382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000a151e29323d47515b606d79849198a2aeb6c0cbc6ccc4bbaea39991847a6d655b50473d32281d140a00000000000000000006121f2b37434e586774808d9aa9b3bebcbbbeb9b8b6b4b2b2acaaaaa29f9a938e87817a6f6a625b534a41372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222b32373e424a5053586062666d7075787c7f8285888c8f9297989c9fa3aaacaeb4b8bdc3c9ced5cfc9c3bdb5aea69f9690837a6d675d51473d2f261c110600000000000000000000000000000000000000000000000007121d28333f4a54616e7b87939facb9c4cfccc0b5ab9e9184796d6053463a2e23170c00000000000000000000000000000000000000000000000000000000000000020a11171f252a323a4146474e4a49443e362c20160c02000000000000000006111c2630383f445353535353535353535353535353535353514f4b443c32281d12060000000000000000000000000000000000000000000000000000000000000001070c10161b1e24292c2d31373a3c3f4141454748494a4a4b4c4b4a4a4948474540413e3b3a37312d2c29241d1b16100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c12181c22282b2d31373a3c3f3f444648494a4a4b4c4b4a4a494846443f3f3c3a37312d2b27221b18120c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d31363a3b3d404045474748494a4b4b4b4b4a4a494746443f3f3d3a39352f2e2b26201d18130d080200000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667683909c9f9f9f9f9f9f9d908377675d5145382c1f1306121f2b3744505b6576828f9c9f9f9f9f9f9f9e918477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000030d18222935414c56606b73808d959faab3beb9b9b9b9b9b9baaea2989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd2cbbeb1a5988b7e7265584b3f3225180c000000000000000006111c26303b444f59626d75818e96a0aab4bfc8d2cfc4baafa59f92877c6f685d53493f342b20160b020000000000000000000815212e3a47535f6a7784919eaab7c4d0cfc9c6c5c3c1bfbdb8b7b4aeaca49f9a938e847c726d645d534940362c22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e2429343d434750545b60646a6f74797d8285888b8f9297989b9ea1a9a8acaeb4b8babfc6c8ced4cfc9c4beb9b2aba39f9490847a6e685e554c41352b1d140a000000000000000000000000000000000000000000000000000c18232e3844505b66737f8c99a4afbbc7d4c7bbafa4998c8073665c5044382c1c1106000000000000000000000000000000000000000000000000000000000000070b141b222730363e444c52545b575550483e32281e130800000000000000000b17232e38424a505f606060606060606060606060606060605e5c564e44392e23170b000000000000000000000000000000000000000000000000000000000000060b12181d1f272c2f35393a3e4347484b4d4c5254555656575858585756565553514b4d4b4847423d3a39352f2b271f1c18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292d3338393d4347484c4a5053555656575858585756565553504a4c4847433c3937332d28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d23282c2f35393a3e4246484a4d4b51535455565757585858575756545350494c4a4745413b3a37312c29241d19140d08020000000000000000000000000000000000000000000000000000000000000004101c2834404a546773808d9aa6acacacacac9f92867a6d6053473a2d2014070f1b27333f49536673808d99a6acacacacaca096877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4c6c6c6c6beb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000010b151f2a343c46525e68707d87939fa7b1bcc5d0c6c6d0c4bbafa59f92867c6f675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f17232e38424d56606b727f8c939ea8b2bcc6d0d1c6bcb2a89e938b7f726a60564c41382d22190e05000000000000000000000915222f3c4855626f7b8896a0acb9c5ced0d2d2d1cfcecec8c5c4bfbab6afaca49f9691877f746f645b52483e342b1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720282f353f464e545a61666c71777c80858a8e9297989b9fa2a9a8abadb3b5b9babfc5c7cad0d2cec8c4bdb9b3ada8a099928c827b6e685e564c433a2f23190b0200000000000000000000000000000000000000000000000004101c2834404b54606c7884919eabb5c0ccd2c6b9ac9f93877b6e61544a3f34281c0a0000000000000000000000000000000000000000000000000000000000030b12181d262d333b424650565e616864615a50443a3024190d0400000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6760564b3f33271b0e00000000000000000000000000000000000000000000000000000000020a11171d24292c32383a4145474a4e5355585a565d606263636465656564636362605d555a5855534e4a4745413a37322c29231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151d24292f35383f44464a4e535559545b606162636464656564636261605b545855534e4946443f38342e28231c150c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191f252a2e34383a4145474b4d5354575a555c60616262636465656464636261605b53595654524c4847433c39352f2a251e19130c04000000000000000000000000000000000000000000000000000000000000000c18232e3e4a5764717e8a97a9b3beb9bbafa399897c6f6256493c2f2316080b17222d3d4a5764707d8a97a8b2bdb9bdb2a896897d7063564a3d3023170900000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afb9c2ced7ddd2c7bdb2a99e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000000040d182128343f4a545e686f7d87929fa5afbac3ced7cbbfb4aaa0968f81756d62584e443a2f261b10070000000000000000000005111e2a36414d5666727f8c99a8b2bdc0c2c3c5c6cad0d1d2d4d1d0cac7c0bbb6afa8a199928b81746d635a50473d31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a4145515860626c70787e83888d92979b9ea1a9a8abadb3b5b8b9bec2c5c7cbd1d2cec9c5c3bcb8b2ada9a19e9691877f786e695e564d443a31281e1007000000000000000000000000000000000000000000000000020c17202c3845515c66717e8b96a1acbdc7d2c8bcb1a79c8f8275695e5342382e23170c00000000000000000000000000000000000000000000000000000001070c151c23282f383f444d525a61686d75706c61564c4135291f160c01000000000006121f2b3844505c6676797979797979797979797979797979797772675c4f43362a1d11000000000000000000000000000000000000000000000000000001080b141c22282f35393d43484c525457585f62656769686d6f6f707171727171706f6f6d67696765625f575754514b47433d38342f27221b140b07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191f272f353940454a505356585f626568666c6e6f707171727171706f6e6c666865625f5856535049444039342e271e18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e25293136394045464c525458575e61646669676d6e6e6f707172727171706f6e6c65686663605d5655534e4745413a363029241e160e080200000000000000000000000000000000000000000000000000000000000715212e3b4854616e7b8797a1adb9c6c0b5ab988b7f7265584c3f2f24190d0614212e3b4754616e7a8796a1adb9c5bfb2a6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0cbd4e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000000000010c161f2a333c44505c666e7a859199a3afb7c1ccd5ccc3baaea39891847a6d605b51463d32281d140a00000000000000000000000714202d3946525e687683909da9b2b3b4b5b7b8babec0c4c5c9ced3d6d2ccc7c0bbb2aba39f938c7f736c61594f433a2f24180d03000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c525b626a6f767d838a90959a9ea1a9abadb3b5b8babec2c5c6cacfd2d1cec9c5c4bdb9b7b1aca9a19e97918c847c726c665e574d443b32281f160c0000000000000000000000000000000000000000000000000008131e2935414b55606d7984919ea8b2bdd0d1c5b8aca0958a7d7063574d4230261c11060000000000000000000000000000000000000000000000000000030b12181e272e343c414950575e616c717a817e70685d52453e31281d130700000000000713202d3a4653606d788686868686868686868686868686868684776b5e5144382b1e1100000000000000000000000000000000000000000000000000040c13191d262d33394045474f54565d6064676a6f727476787a7b7c7d7d7e7f7e7d7d7c7b7a787674716e6a6764605d55544e47454039332d261d18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a313940454b51545b6063676a6f727477797b7c7d7d7e7f7e7d7d7c7b797774726f6a6763605b53514a4440393029241d160d0500000000000000000000000000000000000000000000000000000000000000000000000000060d151d242930353b42464b5153565d606569696e707376787a7a7b7c7d7e7e7e7e7d7d7c7a79777572706d6865625f5854514b46413b3530282019140d05000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919eabb8c4c1b4a89b8e817568554c4135291d110714202d3a46525e697884919eabb8c4c2b5a89b8f827568564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000020b17212935404b555f6a727f8b939ea9b2bdc7d2ddd7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000007131d28313c46505a606d78829097a1abb5c0c9d3cec3baafa59f92867c6f685d52493f342b20160b0200000000000000000000000814212e3b4754616e7b87939fa5a5a6a7a8aaabadb3b3b7b9bdc4c7cdd5d8d2ccc4bdb5aea59c928a7e716b60554b4135291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28313b444c565d606d727c838a90959da0a7abadb3b8b9bec2c5c6cad0d1d1cfcac6c5c2bdb9b7b2acaba7a09d96918b857f796f6a605b544d453b322920160d04000000000000000000000000000000000000000000000000030c1925303945515d67727f8b96a1acbac4cec9bdb2a89d9083786c6053463b3120150a0000000000000000000000000000000000000000000000000002080d151d2429303940444e535b60696e757e858e857a6d60594f433a2f24180d03000000000713202d3a4653606d798693939393939393939393939393939184776b5e5144382b1e11000000000000000000000000000000000000000000000000060d161e24292f383f444b5153596063686d7174787b7e808285878889898a8b8b8b8a898988868482807e7b7874706d6762605853514b443f382f29241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930363e434b51555d60666c7074787c7f8183858889898a8b8b8b8a8989888583817f7b77736f6c65605c54514a423d352f281f170f0700000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353a41464d53555c6064686d7175787b7d808285868788898a8a8b8b8b8a8a89878684827f7d7a76726e6a65605d55524c46413a322a251e170e0700000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2c4b7aa9d918477675d5145392c201306111e2a36424d566875828f9ba8b5c2c4b8ab9e918578695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000a141d29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000071118242f3a434e58616c74808d949fa9b3bdc7d1d0c6bcb2a89e938b7f726a5f564c41372d22190e040000000000000000000000000b1825323e4b5865717e8b9a989899999a9b9d9fa2a9a7aaacb2b7bbc2c9cfd6d8cfc6bfbbada49f92867d6f675d51453c31261a0e050000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a434c565e686d757f8790959da0a7acb1b8b9bec5c6c9cfd2d2cfc9c5c4c1beb9b8b5b2acaba8a19e9995908b847f79726d676058504a423b332920170e04000000000000000000000000000000000000000000000000000b151e2a36414c56606d7a85929ea8b2bdccd2c5b9aca0968a7e71655b5044372b1f1203000000000000000000000000000000000000000000000000040c13191f272f353d424a51575f656c727b828a92978e81746b61554b4135291f150b010000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9f9f9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000020a11171f282f353d424a50555d60656b6f757a7d8184888b8d8f9196959696979898989796969596918f8d8b8884817d7a746f6a65605c555049413d352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222a323b41464f555d60676d72787d8084888c8e9092989596979798989796959892908e8b8884807c78716d66605c544e45403a3129211910080000000000000000000000000000000000000000000000000000000000000000050b141c2228313940454c52575e61676d70757a7e8285878a8d8f929794959596979898979796959992918e8c8986837f7b77716d67615e56524c443e363029201910090000000000000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99abb5c0c6b9ac9f93867a6d6054473a2d2114070e1925303f4c5966727f8c99abb5c0c5b9ada196877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000006111c262f3b45505a606d79839098a3aeb8c1cdd6ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000050e19232935404b555f6a717e8a929da6b0bbc4cfd6cabfb4aaa0968e81756d62584e433a2f251b1007000000000000000000000000030f1c2936424f5c6975828b8b8b8c8c8d8d8f909297969a9ea0a8abb0b9bec4cdd6d8d1cbbfbaaea3989185796d60574d42372b21160b000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b555e686e7a828c92999fa7acb1b8bcc3c6c9cfd2d0cac6c5c1bdb9b7b4b3adaba8a8a19e9a96918d88837e79726d67605d554e443f382f2921170e050000000000000000000000000000000000000000000000000007121d27303946525e6873808c97a1adbac4cec8bcb1a79e9184786d6053493f33271b0f030000000000000000000000000000000000000000000002090e161e2429313940454e545c606a6e777f868f949e9d938a7d70675d51453d31271d12070000000713202d3a4653606d798693a0acacacacacacacacacacaa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000030b141c2228313a41454f545b60676d72777c81868a8e9196989a9c9ea1a9a2a3a4a4a5a4a4a3a2a8a19e9c9a9896918d8a86817c77716d67605b534f45403a3127221b140b03000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c343c444c525961676d73797f84898d9196989b9d9fa2aaa3a4a4a5a4a4a3aaa29f9d9b9896918d89847e79726d666058514b433b332b221a1208000000000000000000000000000000000000000000000000000000000000070e161d262d333e434b51565e61696e74797d82868b8f929797999c9ea1a9a1a2a3a4a5a5a4a4a3aba39f9e9b9999928f8c88837e7a746e68615d565046413b322b221b12090100000000000000000000000000000000000000000000000000091623303d495663707c8999a4afbbc7bbafa49a897c706356493d30231608091623303d495663707c8999a4afbbc7bdb2a9978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000040d17222d38424d57616c74808d95a0aab4bfcad3dfd6ccc4baaea2989083786d60594f443a30241b100600000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000030c17202b353d45515d676e7c86929fa4aeb8c2cdd5cbc3baaea2989184796d605b51463c31281e130900000000000000000000000000000b1825323e4b5865717e7e7f7f7f7f8081828485878a8d91969c9fa6adb3bbc4ccd5dcd7cbbfb4aaa1978d8073695f53463d33271c1003000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545d676e7a848f939fa3abb1b8bcc3c8ced2d0cac6c5bebab8b4b2adaba7a9a19e9b9896918d8984807b77726d67605d55514b433c332d261d170f0500000000000000000000000000000000000000000000000000030d18232e39424e58616d7a86929fa9b3becccfc7b8aca0958b7e71665c5041382d22170b00000000000000000000000000000000000000000000060b141a202830353d434b515860666d737b838b92989ea6a59e9184796d60594f43392f24180c0400000713202d3a4653606d798693a0acb9b9b9b9b9b9b9b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000040c151d262d333d434c525960666c71797e83898e92999a9ea1a8a7a9abadb2afb0b0b1b2b1b0b0afb2adaba9a7a8a19e9a98928e89837e79716c656059514b433d332d261d150c0300000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e464e565e616b707980858b91969a9ea1a8a7aaacaeb4b0b0b1b2b1b0b0b4aeacaaa7a8a09e9a95918b847f786f6a605d554d453d342c241a11080000000000000000000000000000000000000000000000000000000007101920282f383f444f555d60686d737b81858a8f92989c9ea1a9a6a9abadb3aeafb0b1b1b1b1b0b0b4aeacaaa8aba39f9c9895908b86807a736d68615a524c443d342d241b1309010000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6c0b6ac998c7f7266594c3f3025190d0714212d3a4754606d7a86939facb9c6bfb3a6998c807366594d4031261a0e020000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000010c161f28333f4a545e69707d8a929da7b1bcc6d0dcd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000a151e29323d47515b606d79839198a2aeb6c0cad4cec3b9afa59f92867c6f675d51493f342a1f160c0100000000000000000000000000000b1724313d4a56626c71727272727273747577787a7d80848990949ea1a9b2bac4ccd5dcd1c6bcb3a99f92867b6e61594f44382c1f140900000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c666d798390969ea5aeb5bdc2c8ced4cdc8c5bebab8b3adaba8a8a19e9b9897928f8b8884807c78736f6a65605c55514b4540393128221c140b0500000000000000000000000000000000000000000000000000010b151f2834404b545f6a74808d98a2aebbc5cfc7bdb0a69d9183786d60544a3f2f261b11060000000000000000000000000000000000000000020a11171f252a323a41464f555d606a6f787f8690949fa2aab0ada1968d81746b60554b40352920160a00000713202d3a4653606d798693a0acb9c6c6c6c6c6c6c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000050d161e272f383f444f565d606b70787e848b90959b9fa3ababadb2b3b5b8b9bdbcbcbdbebebebdbcbcbdb9b7b5b3b2acabaaa39f9b95908b847e786f6b605d554e443f382f261e150d040000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4850585f686e757d848c92979ea0a8abacb2b4b6b8babfbcbdbebebebdbcbfbab8b6b4b2acaaa7a09d96918c837c746d675e574f473e362c231a11070000000000000000000000000000000000000000000000000000071019222b323a424a505961676d727a80868e92979b9fa3aaabadb3b3b5b8b9bebbbcbdbdbebebebdbdbfbab9b7b5b5afaca9a79f9d98928d86807a716c615e564e463f362d251b13090000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3c1b5a89b8e827568564c41362a1d110613202c3945515d677784919daab7c4c2b5a99c8f827669574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008131e28313a44505b666e7b85929ea4aeb9c3ced8dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0006111c26303b444f59626d75818e95a0aab4bfc8d2d0c6bcb1a79e938b7e716a5f554b41372d22190d040000000000000000000000000000000915212e3a45505a626565656565666667686a686d7074777c838a9197a1a8b2bac4cfd9d8cfc4baaea3998f82756b6054483b31261a0e000000000000000000000000000000000000000000000000000000000000000000000a15202a36424d57606d78828f95a0a8afbbbfc6cfd4cfc9c3bcb8b3adaba9a29f9b9796918e8b8885827f7b78746f6a66625f5853514b454039352f271f17110a02000000000000000000000000000000000000000000000000000007121d27313945515c666f7c86929faab4bfcdcbc0b5ab9f948a7d70665c5042382e1d140a0000000000000000000000000000000000000000060b141b222730363e444c525960676d737c838c92989fa6aeb4bcb2a89f93887d70675d51453d32271b0f03000713202d3a4653606d798693a0acb9c6d2d2d2d2d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000050e171f283039424a505960686d757d838b91969da0a7acaeb4b7b9bdc0c2c4c5c9cfc9cacbcbcbcac9cfc9c5c4c2c0bdb9b7b4aeaca7a09d96918a837d746d6760585049413830271f160e04000000000000000000000000000000000000000000000000000000000000000007111a242d373f49515a616a6f7a828a91969ea2a9acb2b7b9bdc1c3c5c6cad0cacacbcbcad0cac7c5c3c1bdb9b7b1aca8a19e95908780796e69605950483e352c23191006000000000000000000000000000000000000000000000000060f19222b343d444c545b606b70797f858d92989fa2a9acaeb4b8b9bec0c2c5c6c9cfc8c9cacbcbcacad1cbc7c5c4c1c0bbb9b6b1abaaa29f98928d857e756e68605850483f372d251b1209000000000000000000000000000000000000000000000004111d2935414b556774818e9aa7b4c1c4b7ab9e918478685e5246392d201307111d2935414b556874818e9ba7b4c1c5b8ab9e928578695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000060f19242f3a434e58606c78828f97a2adb6c0cbd5dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c060f17232e38424c56606b727f8c939ea8b1bcc5d0d6cabfb4aaa0958e81746c62584e433a2f251b10070000000000000000000000000000000005111d29343f4850565858585859595a5a5c565d6063676a6f767d859196a0a8b2bdc7d1dcd7cbbfb4ab9e94897d7063574d42362a1d12070000000000000000000000000000000000000000000000000000000000000000030f1b26323a46535f6973808d949fa7b1bac1cbd1d4cdc4beb9b1aca9a29f9a97928e8b8884817e7b7975726e696762605855534e46454039352f29241d150d0b050000000000000000000000000000000000000000000000000000060f18242f39434e58606d79839099a3aebcc5d0c7bbafa3998f82766b61544a3f30261c0b02000000000000000000000000000000000000030a11171d262d333b424650565d616b7079808790959fa3aab0babec4bbafa49a9184796d60584e43382b1f1306000713202d3a4653606d798693a0acb9c6d3dfdfddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000040d172029313a424b545b606b6f7a818990959ea1a8acb1b9babfc4c5c9cfcfd1d2d5dad5d5d4d3d4d5d6dad5d2d1cfcec9c5c4bfbab8b1aca8a19e95908981796f6a605b534a4239312820160d04000000000000000000000000000000000000000000000000000000000000050e19232c363f49515b626c717c848f939ea1a8adb3b9bdc4c5c9ced0d2d3d6dbd6d3d2d2d4d7d6d3d2d0cec9c5c3bcb8b2ada7a099938d837b6f6b615a50473e352b22180d0300000000000000000000000000000000000000000000050f18222b343d464e565e666c737d848c92979fa3aaadb3b9babfc5c6c9cfcfd1d2d5d4d2d2d1d0d0d1d2d4d7d3d2d1d1cbc7c5c2bcb8b4aeaaa29f97928a827a6f6a625a51493f372d241b100700000000000000000000000000000000000000000000010d18242f3e4b5865717e8b98aab4bfc5b9aca196877a6d6154473a2e2114070d18242f3f4b5865727e8b98aab4bfc6b9ada297887b6e6155483b2e2215060000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000030c18212935414c56606a737f8c949fa9b3bec8d2ddd7cdc5bbafa39991847a6d605a50453c30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0d182128343f4a545e686f7d87929fa5afbac3ced5cbc3baaea2989183796d605a50463c31281d12090000000000000000000000000000000000010c17222d363f454a4b4b4c4c4c4c4d4e4f4c5254575860626c707b849196a0abb5c0cbd7dcd1c6bdb0a69c8f8276695f5346392e23180c000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58616e7b86929fa6b0b9c3ccd7d4cac2bbb3ada7a09d97928d8985817e7b7874716e6c6565625f5756544e4847433c38342e2924222323201c160f08000000000000000000000000000000000000000000000000040e18212935404b55606a73808d95a0abb4bfcec9bdb2a89f92877c6f62594f42382e1e140a000000000000000000000000000000000001070c151c23282f383f444d525a61686d747d848d9399a0a7aeb4bcc2caccc0b6aca0968d80736a6054473b2e221508000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000030c161f29323a434b545c666c737c848e939da0a7adb2b8bcc3c7cbd1d2d5d6d3d2cfcdcac9c8c7c7c7c8c9cbcdcfd2d3d7d5d2d0cbc7c3bcb8b2aca79f9d938e847c726c655c544b433a32281f160c0300000000000000000000000000000000000000000000000000000000020b17202b353e48515b626d727e8691969ea5acb2b9bec5c9ced2d5d6d3d2cecbd0cac6c5c6c7ccd2ced1d2d5d5d2cec8c4bdb9b1aba49f9590857d716c61594f473d342a1f150b010000000000000000000000000000000000000000040e17212a343d464e5860686d78808891969fa2a9aeb4babec5c7cbd1d2d5d2d1ced2ccc8c6c5c4c3c4c5c6c8ccd2cfd2d3d6d3d2cdc8c6bfbab4aea9a19e948f847c716c625b51493f362d22190e05000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6bdb2a8968a7d7063574a3d302417090716222f3c4955626f7c8898a3aebac7beb3a9978a7e7164574b3e2e23170b0000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000b151e2a333c45525d686f7c87929fa6b0bbc5cfdbdbd0c5bbb0a69f92877c6f685d52483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c161f2a333c44505c666e7a859199a3afb7c1ccd5cec3b9afa59f92867c6e675d51483f342a1f160c0000000000000000000000000000000000000006111b242d343a3d3e3f3f3f3f3f4041424145474a4e545961696e7b849199a3afbbc3ced9d8cfc1b9ac9f93877b6e61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a75828f99a3aeb8c2cbd5d4cac2b8b0a9a19e95908b85817d7975716e69686562605b5355534d4948433d3a37312c28262b2e2f302f2c27211a110800000000000000000000000000000000000000000000030c16202a333c45515d676f7c87929fa7b1bdc6ccc4b9aca1968d80736a5f54473e30261c0c0200000000000000000000000000000000030b12181e262e343c414950575e616c717a818991969fa4abb1babfc6cfd0c7c0bbb2a89f93877c6f6256493c2f231609000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000020b151e28313a444c555d666d787f8791969ea5acb1b9bdc4c8ced3d7d6d3d0cac6c5c2c0bebcbbbabababbbcbec0c3c5c7cbd1d3d6d6d3cdc8c4bdb9b1aba59d9691877f776d665d554c443a31281e150a000000000000000000000000000000000000000000000000000000000a141d29323d47505a626d727f8a9298a1a8afb9bdc4cacfd5d9d4d0cac6c5c1bebbbfbab8b9bbc0bec1c5c6c9cfd4d8d4cfc9c3bdb5afa7a09792877e716b61594f463c31271d120700000000000000000000000000000000000000020c162029333c464e58606a6f7a828c939aa1a9adb3babfc6cad0d3d5d2cfc9c5c4c1bfc0bbb9b8b7b7b7b8b9bbc0bfc2c5c7cbd0d3d8d4d0cac6bfbab3ada69e9691867e726d625b51483f342b20170d020000000000000000000000000000000000000000000613202d394653606c7985929facb8c5bfb2a6998c7f7366594c4030251a0e0713202d3a4653606d7986929facb8c5c0b3a69a8d807367544a3f34281c100300000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000007121d27303c45505a606d7a849199a3afb8c2cdd7ded6cabeb3a99f948c7f736a60564c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322518131d28313c45505a606d78829097a1abb5c0c9d3d0c5bcb1a79d938b7e716a5f554b40362d22180d04000000000000000000000000000000000000000009121b22292e3132323232323333342f35393a3d43474f575f696f7c87929fa7b1bcc8d4e0d4c8bbafa49a8d8073665c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88939eabb4bfcad4d7cec2b8b0a69f97918b837e7974706d6664615f5758555350494847423c3b38322e2b26222a31373a3c3d3c38332c231a0c030000000000000000000000000000000000000000000b151e28323c454f59606d79849199a3afb9c3cfc4baafa59e9184796d60584e43352c1e140a00000000000000000000000000000000070d151d242930383f444d535b60696e757e858e939ea0a8afb5bdc3cbd1ccc4beb6afa8a099928c8275685b4f4235281c0f000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000a141d27303a434c565e676d78818c9299a1a8afb8bcc3c9cfd4d9d5d0cac6c5bfbab8b6b3b1afaeaeadaeaeafb1b4b6b9babfc5c7cbd0d6d9d4cec9c2bcb8afa8a099928c81786d675d564c433930261c1106000000000000000000000000000000000000000000000000000006111b262f3a444f59616c727f8b919fa2aab2bac1c9ced6dbd6cec8c5bebab8b4b2afb4aeacacafb5b1b4b8b9bec5c7cdd5dad5d0c7c0bbb1a9a19992877d706b60584e43392f24180e0500000000000000000000000000000000000008131e28323b454e58606a6f7c848f949fa4acb2babec5cbd1d6d4cfc9c5c4bdb9b7b5b2b6afacababaaaaabacafb6b2b6b8babfc6c7cdd4d7d6d0cac5beb9b0a9a198928b7f726d625a50463d32291e140800000000000000000000000000000000000000000006121f2b3844505b6676838f9ca9b6c2c2b5a89c8f827569574d42362a1e1206121f2c3844515c667683909da9b6c3c3b6a99c908376665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0cad4dfd5ccc3baada2979082786d60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f32251818242f3a434e57616c73808d949fa9b2bdc7d1d6cabeb4aaa0958e81746c61584e43392f241b1006000000000000000000000000000000000000000000000911171d2124252525252626272724292c2d32383e454d57606a73808d95a0acb8c3ced9d8ccc0b6ac9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a5afbdc6d1dbd0c5bcb0a69f9490857e78716d6763605c5455534d4b4846443f3b3a37312e2c27211f202a343c4347484a48443d352c1e150b000000000000000000000000000000000000000007121d27303a444d57606b74808d96a0abb5c0cbc6bdb2a89e93897d70675d51463c32231a0c020000000000000000000000000000000711191f272f353c424a50575f656c727b828a91979da5acb2bbc0c7d0cfc9c0bab2aca49f96918780786d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3dededdd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000006111b262f39424c565e686d79828e939fa3abb2bac1c8cdd5dad6cfc9c5bebab8b4aeaca9a6a4a2a2a1a0a1a2a3a4a7a9acaeb4b8babfc6cad0d7dad5cdc8c1bab2aba39f938e82796d685d554b42382e23171007000000000000000000000000000000000000000000000000000b17222d38414c56606b717e87939fa3aeb4bcc4ccd5dad7cfcac3bcb8b4aeaba8a5a2aaa29f9fa4aba4a7abadb3b8bcc2c9cfd6d9d2ccc3bbb3aba39992867d6f6a5f554b40352920160c0200000000000000000000000000000000040e1924303a444d575f6a6f7d8691969fa6afb6bec4cad0d7d5cec8c4bdb9b8b2adaba8a5aca49f9f9e9d9d9e9fa4aca5a9acaeb4b7bbc2c7ccd2d9d6cfc9c1bbb2aaa39f918b7f726c62584e443b3025190e040000000000000000000000000000000000000000030f1c28333f4a546673808d99a6b3c0c4b8ab9e918578695e52463a2d201407101c2834404a546774808d9aa7b3c0c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000020b17202834404b545f69717e8b939ea8b2bdc7d1dcd8cfc3baafa59f92857b6e665c50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322519222935404b555f6a717e8a929da6b0bbc4cfd5cbc3baaea2989083796d605a50463c31281d1209000000000000000000000000000000000000000000000000060c1115171818191919191a1b191d2021272b333c454e58606d7983919da8b2bdc8d4ddd2c7b9ada1978a7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909daab7c1cfd8d6cabeb4aa9f948f827a716c65605d5553514a4846423e3b3937332d2e2b26221f1b151e28323c464e535556554f473d30271c1207000000000000000000000000000000000000091218232e39424c565f69707d88939fa8b2bdc7cbbfb5aba0968e81746b61554b40342a201108000000000000000000000000000000020b19232b313940454e545c60696e777e858f939ea1a9afb9bdc4ccd2cdc4bdb9afa8a19a938d847c736d665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d1d1d1d1d1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000040e17222d38414b545d686d7a838f949ea5afb5bdc4ccd4d9d7d0cac4bdb9b3adabaaa29f9c9a9796959494949596989a9c9fa3aaacaeb4babec5cbd1d9d8d4ccc3bdb5aea59e948f837a6d675d544a3f342822190d040000000000000000000000000000000000000000000000030f1b27333f49535e68707d879299a4afbabfc6ced6ddd4cdc5bebab1acaaa29f9b9895949892939995989b9ea1a9abb1b9bec4cdd3ddd7cdc5bdb4aba29892857c6f675d51453e32281e1308000000000000000000000000000000020c16202935414c565e696e7c859298a1a8b0bbc0c7d0d6d5cec9c3bcb8b2adaba8a19e9b99969a939291909192939a95999c9fa3aaabb0b9bbc0c7d0d6dad5cdc4bcb4aea39b918b7e716a60564c41362a20160c0200000000000000000000000000000000000000000b17222d3d4a5764707d8a97a8b2bdc6b9ada197877b6e6154483b2e2115060c18232e3e4b5764717e8a97a9b3bec6baaea298887b6f6255483c2f22150700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000a141d29323a45515c666e7b86929fa5afbac4cfd9dcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f342a212b343d45515d676e7c86929fa4aeb8c2cdd6cec3b9aea49f92867b6e675d51483e342a1f160c00000000000000000000000000000000000000000000000000000105090b0b0c0c0c0c0c0d080d1113141b212a333d45515c66717e8a96a0acb8c4cfdad5c9beb3a99c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d3dfd3c6baaea2988f82796d68605b53514b4644403b3a36312f2d2b2722211e1a1513151e26303a444e585f626360594f42392e23180c020000000000000000000000000000000009121b242834404b545e686e7b85929aa4afbac3ccc3bbaea3999184796d60594f43392f22190e000000000000000000000000000000000a141d2b353d434b515860666d727b828b92989ea6adb3bbc1c9cecfc9c1bbb2ada59d96918880796f6a605c544b4034281c1004000713202d3a4653606d798693a0acb9c4c4c4c4c4c4c4b7aa9e9184776b5e5144382b1e11000000000000000000000000020c162027333f49535c666d7a8390959fa6afbbc0c7cfd6dcd7cec6bfbab2ada9a29f9a98928f8d8b898887878788898b8d9092989b9fa3aaadb3bbc0c7cfd4ddd5cfc6bfbbafa69e959083796d665c504440342b1f160c01000000000000000000000000000000000000000000020b19232b3744505b656d7a859199a3abb5c0cad0d8dbd2cbc2bbb3ada7a09d98928e8b888786858687888b8e92979d9fa7adb2bbc2cad2dad6cfc6bdb4aaa2979183796d605a50443a3025190d04000000000000000000000000000008131e28323a46525d686e7b849197a2aab2bac2ccd2d9d6ccc4bdb9b1aca8a19e9a96918e8c89878685848484858687898c8f92989c9fa6acafb5bdc4ccd7dcd6cfc6bfbaada39f92877c6f685e52463e32281e130800000000000000000000000000020608080a0a0a0614212e3b4754616e7a8796a1acb9c5beb3a9978a7d7064574a3d2d22170b0715222e3b4855616e7b8897a2adb9c6bfb4aa978b7e7164584b3e2e23180c0a0a0a0a0a0a0a0a0a0a0a0a08080602000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000006111b262f3a444f59606d79839098a2aeb7c1ccd6dfd7cbbfb4aba0968e81746c61574d42382e22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584e463c3329323d47515b606d79839198a2aeb6c0cad4d0c5bcb1a79d928a7e71695f554b40362d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000104070a0f18212834404b54606c7884919ea9b3bec9d5dacfc5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a7b1bcc8d4ded2c5b8ab9f92857b6e675e56504945403a38342e2d2a2622201f1b1714120e0f171e273038424c565f6a6f706b60544a4034281e13080000000000000000000000000000000a121b242d363e45515c666d7a849197a1acb6c0ccc3b9b0a69f92877c6f675d51473d31281d100700000000000000000000000000000006111b262f3d474f555d606a6f787f8690949fa2aab0b9bec4cdd5cdc5beb9afa9a19e938e847d746d676058514b42392e23180c00000713202d3a4653606d798693a0acb8b8b8b8b8b8b8b8b7aa9e9184776b5e5144382b1e1100000000000000000000000008131e28323a44505b656d78828f95a0a7b0b8c1cbd1d9d9d1cbc1bcb4aea8a19e97928e8a8583807e7c7b7b7a7b7b7c7e8183868a8e92989fa2a9afb5bdc3cbd7dcd8d1cbc1b8b0a79f958f82786d605b51463d31281e13080000000000000000000000000000000000000000000a141d2a36424d57606c77828f97a1abb5bdc7d2dbdbd2c9c0b9b1a9a29f95908b85817f7c7a7979797a7b7e81858a90959ea1a9b0b8c0c8d1dad8cfc6bcb3a9a0958e81746c61564c41362a20150a00000000000000000000000000010d1924303a44505a616d7a839196a1a9b3bcc4ccd8d8d0cac0bab2aca7a09d96918d8984827f7d7a797878777778797a7c7f83868a8f949b9fa4abb2bac1cbd1d9d8d1cbbfbaaea39991847a6e615a50443a3024190d020000000000000000000003090e1214151616161616202d3946525e687884919eabb7c4c0b3a6998d80736653493f33271b161616212d3a46535f697885929eabb8c5c0b4a79a8d817467544b4034281c161616161616161616161616161514120f0a0300000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000040d17222d38414c56606b73808d95a0aab4bfc9d3ded6cdc5baaea3999184796d605a50453b30261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f726a60584e453b333b444f59626d75818e95a0aab4bec8d2d6cabeb3a9a0958d80746c61574d43392f241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232e3944505b66717e8b97a1adb9c6d2dfd3c7bbafa3998b7e7165564c41362a1d1105000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beced9dacdc1b4a79a8e8174695e554c443f38352f2c2823211e1a1513120f0b080d141921293039424a545d686f7c7d70665c51443a3025190d030000000000000000000000000006131c242d363e48525b606d78829096a0a9b3bec7c5bbb1a79e948c7f726a60554b41352c1f160c000000000000000000000000000000000b17222d38414f5960676d737c838c92989fa6aeb3bcc1c9cfd0cac1bbb3ada59e96918a8179706b605d554e45403930271d120700000713202d3a4653606d798693a0ababababababababababaa9e9184776b5e5144382b1e110000000000000000000000040d1925303a444f59606c77818e949fa7b1b9c2cad7dcd7cfc7c0bbb0aaa29f96918c85817d797673716f6f6e6d6e6f707174767a7e82868d92979fa3abb1b9c0cbd1d9dcd7cac1b9b1a79e948e81746d63594f433a2f24190d030000000000000000000000000000000000000006111b262f3846535e69727f8c949fa9b3bdc7d0d9dbd2c9c0b7afa79f97928b837e7a75726f6d6d666c6d6f7174797e838a91979fa6aeb6c0c8d1dbd8cec5bcb1a79d938a7e71685e52463c32261b0f0500000000000000000000000005111d2935414c56616c76828f95a0a8b2bbc5ced6d7cec6bfbaafa8a09e95908a84807c787572706e6c666b6a6a666d6d6f7276797d82898f9399a0a8afbbc0c7cfd9dcd7cbbfb4aba1968f82766c61564c4135291e1308000000000000000000060e151a1e21222323232323232a36414c566875828e9ba8b5c1c2b6a99c8f8276655b5044372b23232323232b37424d576976828f9ca9b5c2c3b6aa9d908377665c5145382c232323232323232323232323232322211f1a150e06000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000010c161f27333f49535e68707d88939fa7b1bcc6d0dbdacfc5bbb0a69f92867c6f675d51483e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f92867c6f6a5f574d453b424c56606b727f8b939ea7b1bcc5d0d4cbc2baada2979083796d605a50453c31271d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7985919eabb8c2cdd8d7cbc0b5ab9c8f8276685e5246392d201408000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d6cabdb0a3978a7d7064574d433a332d29241f1c1814120e0906060a0f13191f252a333b424b545c666d7a8484786d60564c4135292015090000000000000000000000020a1117252d373f48505a636d75818e949fa8b2bbc5c7bdb3a9a0958f82776c60584e433a2f231a0d04000000000000000000000000000000030f1b27333f4953606b7079808790959fa3aab0babec5ced5cec5bebaafa9a19e938e847d746d676059514b433d342e271e150b0000000713202d3a4653606d7986939e9e9e9e9e9e9e9e9e9e9e9e9e9184776b5e5144382b1e1100000000000000000000010c161f2935414c56606b73808c939ea6b0b9c3cbd4dcd7cdc5bdb5afa69e98928c847f7a74706d676764636261616162636567676d71757a80858d92999fa7afbbc0c7cfd9dcd3cbc2b9b0a69d938c7f726b60554c4135291f150b010000000000000000000000000000000000000b17222d38414f59616e7b86929fa6b0bbc4cfd9ded3c9c0b7afa59d9590857f78716d67656261605c60616265676d71767e848f949da4aeb6c0c8d2ddd7cec3b9afa59f92857a6d61584e43372b21160b0000000000000000000000030e18212d3946525d68717e8b949fa7b1bac4cdd7d7cec5bcb4aea59d96918a837d78746f6a68666361605b5e5d545c60616266676d70767c828791969ea5afb5bdc7d1dcdcd1c6bdb2a99f948a7e71685d52453a3025190d0100000000000000060f1820262b2e2f30303030303030303f4c5965727f8c98abb5bfc5b8ab9f9285796c605346393030303030303031404d596673808c99a6b3bfc5b9ac9f9286796d6053463a3030303030303030303030303030302f2e2b2620180f060000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000007121d28313944505b656d7a85919aa4afb9c3ced7ddd5c9beb3a99f948c7f726a5f554b40362c21170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c6baaea29892857c6f695f574d444a545e686f7d87929fa5afb9c3ced7cdc2b9aea49f92857b6e675c51483e332a1f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515c6673808d9aa7b1bcc7d3dcd1c5b9ac9f92867a6d6154473b3025190d010000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbafa295887c6f6255493c3027221b1812100c070c070c1013141a1e242930363d454d545c666d78828f8b7f72685e52463c31261a0c03000000000000000000020b141b2227373f49515a616c73808c939ea6b0bac3c7beb5aba2979183796d655b50463d31281d11080000000000000000000000000000000005121f2b3744505b65707d848d9299a0a7aeb4bcc2cad0d0cac2bcb3ada59e97928a817a706b605d554f4540393128231d150c030000000713202d3a4653606d788691919191919191919191919191919184776b5e5144382b1e110000000000000000000008131e28313a46525e68707d88939fa5afb8c2cbd5ddd7cdc5bbb3aba39f938f867f79726d6763605c55585655545454555658555d6064686e737a808790959da5afb5bdc7cfd9ddd4cbc1b8afa59f92877c6f675d51453e31271d12070000000000000000000000000000000000030f1b27333f4953606b75828f98a3aeb8c2cdd6e0d5ccc1b7afa59d938e837a726d66605d5555545350535455555c60646c717a828d929ca4aeb6c0cbd4dfd5ccc0baada2978d81746a5f53473d33271c1004000000000000000000000915202c38434f59616d7a85929ea6b0b9c3ccd6d8cfc5bcb3aaa29f938e847e78706c6562605859565453504a514a50535456555c60636a6f757c848e939fa3abb5c0cbd7dbd8cfc4bbb0a69e91857a6d60564c41362a1d1307000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d4956636f7c8999a3aebbc6baada297887b6e6155483d3d3d3d3d3d3d3d3d3d4a5763707d8a96a8b2bdc7baaea399897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e0300000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000050f18242f39434e58606c77828f97a1acb6c0cbd5e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd6cabeb4aaa29791857b6e695e564c505c666e7a849199a3aeb7c1cbd5d0c5bbb1a79d928a7e70695f554b40362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54626e7b88959fabb7c4d1ddd4c7bbafa3998b7e7265564c41362a1e11050000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f26201e19191818181819181c1f20262b2f353b41464f575e666d78818e9492857a6d61584e43372b1e150a0000000000000000000a141d262d334049515b626c717e8b929ca5afb8c2ccc0b6aca39992857b6e675d53493f342b1f160c00000000000000000000000000000000000613202d394653606c798390969fa3abb1babfc6ced6cec6bfbab0a9a29f938f857e756d686159514b433d352f271f18120b03000000000713202d3a4653606d788585858585858585858585858585858583766a5d5043372a1d10000000000000000000010d19242f3a43505a616d7a84919aa4afb7c1cad4ddd7cdc5bbb3a9a299928c827b726d66605d5553514b4b494848474848494b4b5154565e61676d737c838e939fa3abb5bdc7cfd9ddd3cac0bbafa39991847a6d605a5043392f24180c020000000000000000000000000000000005121f2b3744505b65707d89939eaab4bfcad4dfd8cec3baafa59d938e81786e68605c54514b494746444647484b51535a61686d78808d929ca4aeb9c2cdd7ded6cabeb3a99f93877c6f62594f44382c20150a000000000000000000020e1a26313b4854606b74818e97a1adb8c2ccd5d9d0c6bdb3aaa298928b8179716c66605b53544e4c4a4746443f443f444647494b51535860626a6f7a818b9299a3afbbbfc8d2ded6cdc2b9ada1978d8073685e52463a2f24180d0100000000000915202a333c4247484949494949494949494953606d7986929facb9c5beb3a9978a7e7164574b494949494949494949494954616d7a8796a1acb9c5bfb4ab988b7e7265584b494949494949494949494949494949494847433c342a20150a00000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000030c17212935404b555f6a727f8c949ea9b3bec7d2ddd8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdbd0c5bcb3a9a19791847b6e685e555a606d78828f96a1abb5bfc9d3d2c7beb3a99f958d80746c61574d43392e241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7683909da9b6c3d0dcd7cbc0b5ab9c8f8276685e5246392d2014080000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becfdad6c9bdb0a3968a7d7063554b4038302d2a2526252424252623292c2d31373a41454d525960696e78818e939e978d80746a5f53473d30261c11060000000000000006111b262f383f44525b636d727e87929fa4adb7c1c8c0bbafa49a92877d70695f554c41382d22190d04000000000000000000000000000000000005121f2b3744505b656e7b85929fa5afbac3cbd0d1cbc2bcb4aea69f97928b827a716c605d564f45413a3129241d150d0700000000000006121f2b3844505c666d787878787878787878787878787878787671665b4e4235291c1000000000000000000004111d2935414c55626c75828f96a1acb6c0c9d3dcd8cfc5bbb3a9a19792877f756e69605c54514b4645403e3c3c3b3a3b3c3d3e4145474c52555d606a6f79818b9299a3abb5bdc7d1dcdcd7cbc0b5aba1968e81756c61554b4035291f1409000000000000000000000000000000000613202d394653606c7883909da5afbcc6d0dcdcd0c6bcb1a89e938e81776d665e56504a45403c3a3a38393a3c40454650565d666c73808d929da7b1bbc5cfdbdbcfc5bbafa4998f82766b6054483c31261b0f02000000000000000006121e2b37424e57636f7c87939fa9b3becad4ddd2c7beb4aba29892867e746d67605b54504947433f3d3b3938332e34383a3a3c4045474e545860676d757e87929fa3adb6c0ccd5dfd5c9beb3a99f92867a6d61554b4035291d110400000000020e1a26313c454d535556565656565656565656565c677783909daab6c3c0b3a79a8d80746754565656565656565656565656565e687884919eabb7c4c1b4a79b8e81746855565656565656565656565656565656565655534e463c31261a0f02000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000a151e29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce2d7cec5bbb2a9a09691837a6d675d616c73808d949fa9b2bdc6d1d8ccc0b6aca2979083786d605a50453b30271d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424e5765717e8b98a4b1becbd7dcd1c5b9ac9f92867a6e6154473b3025190e0200000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3bec9d5d9cdc0b3a69a8d8073675d514a423c3936303232313132332f34383a3d43474c52565e616b707b828f939ea59f92877c6e62594f42382e23170c010000000000000b17222d384149505c636d727f889299a3afb6bfc8c0b6aea49f93887e716b60574d433a2f261b1007000000000000000000000000000000000000030f1b27333f49535e69717e8a939ea8b2bdc7cfc6bfbab0aaa29f948f857e756e68615a524c443e352f281f18120b030000000000000003101c28343f4a545c606b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6a665e554a3e32261a0d0000000000000000040e18222c3945515d67717e8b939ea9b2bec7d2dbdcd1c6bcb3a9a19792857d726d615e57514a45413a38342e302f2e2e2e2f302f35393b41464c51585f666d747f879299a3abb5c0cbd7dcdcd1c7bdb2a89e938a7e71675d51453b30251a0e03000000000000000000000000000007131f2c38434f5964707d8a95a0acb7c1ced8e2d6cbbfb4aaa0958e81786c655c544d443f38352f2e2d2c2d2e2e34383e444c545b606e74808d959fa9b3becad6dfd7ccc0b5ab9f94897d7063584e43372b1e130800000000000000000814212e3a47535f6a7683909aa4afbbc5cfdcd8ccc0b6aca39992867c716c605d55504a443f383832302e2d2b2823282b2d2e2f34383d43474e555d606c717e8b919ca4aebac3ced9dacfc4baaea2988c8073675d5145392c2013080000000006121e2b37424d575f626363636363636363636363636774818d9aa7b4c0c3b6a99c908376666363636363636363636363636363636875828e9ba8b5c1c3b7aa9d90847767636363636363636363636363636363636363625f584e43372b1f1206000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000006111c26303b45505a606d79849199a3aeb8c2cdd6dfd6cabfb4aaa0958d80746b61564c41382d22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e0d7cdc4bbb2a8a0959083796d6769717e8a929da6b0bbc4cfd7cdc5bbafa49a92857b6e665c51483e33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5965717e8b98a4b1becbd7e0d4c7bbafa3998b7e7265564c41362a1e110500000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2ded1c5b8ab9e9285796d605c544e474641403f3e3e3e3f3f40404547494e53565d60686e747d8590949ea5afa3998f82756b61544a3f34281e13080000000000030f1b27333f49535b606e737f8b939aa3abb5c0c8c0b6aea49c928c7f726c62594f453b31281d140a00000000000000000000000000000000000000000b17222d38414d57616c75818e96a0abb5c0c3bcb4aea69f98928b827b716c615e565045413a3229241d160d07010000000000000000000b17232e38424a50535e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d5b554c43382d22160a00000000000000000a15202b37424d57606d7a85929ea5afbbc4d0d9ded7cbbfb4aaa19792857c706b625b524d444039352f2c28232322212121222324292c30363a41454e545c606d727e879299a3afbbc0cad4e0d9cfc4baafa59e9184796d60574d42362a1f140900000000000000000000000000000915222f3b4854606b7683909ca7b1bcc9d3e0ddd3c7baaea3989183796d665b534b423b342e292421201f202123282c323a424a505c606d78839097a2adbac2cdd8ddd2c7bdb0a69c8f82766a5f53473a3025190d0100000000000003101c28343f4a54626e7b88949facb6c0cdd7dcd4c8bbafa49a92877d706a625a514b443f38332d2b272321201f1c171c1f202123292c32373d434c515a626c737f8c929da8b2bdc8d4e2d6cabfb4aa9f92857a6d6053473a3025190d010000000814212e3a47535f696e70707070707070707070707070717e8b97a4b1bec5b8ac9f9285787070707070707070707070707070707070727f8c98a5b2bfc6b9ac9f93867a707070707070707070707070707070707070706e6a5f53473a2e211408000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000040e17232e38424d57616c74818e96a0abb4bfcad3dfd6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e9dfd6cdc4bab1a7a0959082796d6e7b86929fa4aeb8c2cdd6d0c5bbb0a69f93887d70695e544a40362c21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7783909daab6c3d0dde3d7cbc0b5ab9c8f8376685e5246392d20140800000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb8c3ced9d2c6b9ada1978e81746d66605854524c4d4c4b4b4b4b4c4d4b515356585f62686d727b818892979fa6afb5ab9e94897d70665c50443a2f24190d010000000005121f2b3744505b656c74808c919fa4acb5bdc7bfb6aea49d928c80736d625a50473d332a1f160b02000000000000000000000000000000000000000006111b262f3b45505a606d79849199a3afbbbbb1aaa39f9490867f776e69615a524c443e3530282018130c04000000000000000000000006111c2630383f444652525252525252525252525252525252504e4a433a31271c110500000000000000030f1b26313a47535f6973808d97a1adb8c1cdd6e2d5ccc3baaea39892857c6f6a60595146423b342e29241f1c1816151514151516181d20252a2f353c424b515b626c717e87929fa4aeb8c2ced8e1d6ccc1b9ada1968c7f73695e52463b31261a0e0200000000000000000000000005111e2a36414c56636f7c89949fabb9c3cedbdfd5c9bdb2a89f92867c6f675d544a41393028231c181413121314181c20282f383f44505c666e7b85929fa7b1bcc8d4ded9d0c2b7aa9e94887c6f62564c4135291d110500000000000006121f2c3844505c6673808d9aa6b0bec5c7cbd1c9beb2a99f93887e716b605850454039332d27221b1b171413120f0b10121314181c1f272b313a4145505a636d74808d96a0acb8c2d0d9dbd0c6baada2978a7e7164564c41362a1d11050000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8b97a4b1bec6baaea2988b7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7f8c98a5b2bfc7bbafa4998b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6e6255483b2f221508000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000020c162028343f4a545e69717e8a939da8b2bdc6d1dcd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f1e8dfd6ccc3b9b1a79f948f827979839098a2aeb6c0cad4d2c7beb3a99f948d80736b61574d42392e241a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d56636f7c8995a0acb8c4d1dee8dcd1c6b9ac9f93877a6e6154473b3025190e020000000000000000000000000000000000000000000000000006121f2b3844505c6673808d9aa7b1bcc8d4d5c9beb3a99d938d80786f6a64615e565a5958575758595a555c6063676a6f747a7f868e939aa1a9b0b9bdb0a69d9183786d60564c4135291d1104000000000613202d394653606c77808c929ca3afb6bec7c0bbada49c928d80746e635b51483e352b21180d04000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0afa7a098928c827b726c655e575046413b3229241e160e0701000000000000000000000000000a141e262e34383a4545454545454545454545454545454543423e3831281f150a000000000000000006121f2b37434e58616e7b86929fa9b3becad3dfd9d0c3baaea49f92867c6f6a5f584f473f363028231c1813100c070908070809070d1114191e242930394045515a616c717e8b929da6b0bcc6d0dbded5c9bdb2a89f92867b6e61574d42362a1e13080000000000000000000000000713202d3946525e6875828f9ba6b0bccbd5dfd9cdc5b9aca0968c7f726a5f554b42382f271e17110d07070606070c10161d262d343f4a545e69717e8b959fabb8c1ccd7e2d3c7bbb0a69b8e8174685e5246392d2014090000000000000713202d3a4653606d7985919eabafb5b9babfc5c6b9ada1978d80736c61594f463f352f28221c17110f0a0806060300030607070c10151b1f282f353f48515b606d7884919da6b0bdc7d2ddd6cabeb3a99c8f8275685e5246392d2013070000000e1b2835414e5b68748189898989898989898989898989898b909ba6b3bfcabfb4aa9a908b8989898989898989898989898989898989898c919ba7b3c0ccc0b5ab9b918b898989898989898989898989898989898989898175685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000008131e28323a44505c666e7b85929fa5afbac3cfd8ddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0e9e4ded5ccc3b9b0a69e948e81818e95a0aab4bec8d2d8ccc0b6aca1979082786d60594f453b30271c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975818e9ba7b1bcc8d4e0ede0d4c7bbafa4998b7e7265564d41362a1e11050000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c1cdd6cfc5bbafa59d928d827c76716d6868666565646465666668676d7073777b81868c92989fa4acb3bbc2c1b8aca0958b7f72685d5245392c201307000000000815222f3b4855626e7b858f949fa3aab1b9bdb5afa49c928d80776c605c52493f362d23190f060000000000000000000000000000000000000000000000020b17212935414b55606a737f8c949fa9a39f9590867f786e69605b534d453e3630292019130c04000000000000000000000000000000020c141c23282b2d383838383838383838383838383838383735322d271f160d0300000000000000000815212e3a47535f6a75828f99a3aebbc5cfdcddd2c7beb2a89d928b7e716a60584e463d352a251f18120d070400000000000000000104080d13191e272e343f48505a626c74808d949faab4bfcad6dfdacfc4baaea2988e8175695f53463a3024190d0000000000000000000000000714212e3a4754616d7a86929facb9c2cddfe0d4c8bcb1a79e9184796d60584e43392f261d150c0600000000000000040b141c232e38424d57606c7883909da6b0bbc7d3ded8ccc2b9ac9f92867a6d6154473b31261a0e0200000000000a1724313d4a5764707d8a979c9fa3abacaeb4b8bab1a79e9184796d605a50473d3429241d17110b06000000000000000000000000040a0d161e2429364044515c66707d8a949fabb5c0ccd7dbd0c5b9ac9f92867a6d6154473a2e2114080000000e1b2835414e5b6874818e96969696969696969696969696979ba2acb7c3d0c6bcaca29a97969696969696969696969696969696969696989ba3adb8c4d2c7bdada39b989696969696969696969696969696969696968e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000060f1924303a444f59606d78839097a2adb7c0ccd5e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e6ded8d3d1d0cbc2b8b0a69e938e8e939ea7b1bcc5d0d6cdc4bbafa49a92857b6e665c50473e33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cdd9e4f0e3d7ccc0b5ab9c8f8376685e5246392d20140900000000000000000000000000000000000000000000000000000b17232e3847545f6a7784919da5afbbc4cfd7cdc1b7aea49d948f88827e7a777573727171717272737577797c8084888d92989fa2aaafb6bec5cdc7bcb1a79e92857a6d6054473a2d211407000000000814212e3a47535f696e7a828b9298a0a7aeb4aba49f918c80746c655b504a40372d241b110700000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a099928c837c726c665f575049413b332a251e170e08020000000000000000000000000000000000020a11171c1f202b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a2926221c150d04000000000000000005121e2a36424d57626f7c88939eabb4bfcdd6e1d8ccc0b6aca0968d80746c62584e463c342b231a140c07000000000000000000000000000001080c151d2328363e48505a606d78829098a2aebac2cdd8e0d6cabfb4aa9f92877b6e61564c4135291c11060000000000000000000005121e2b37424d5765727f8b99a3afbbc7d3e0ded1c4b8aca0958a7d70675c51463c31281d140b03000000000000000000020a111c26303b44505b656f7c89949eaab7c2cdd8e0d3c7bbaea3998b7e7265574d42362a1e120500000000000d1a2733404d5a667380888b8f92999c9fa3abacaeab9f958a7e71675d51483e352b2218120b0600000000000000000000000000000000040c1319242834404a54616c76828f99a4afbbc7d4e0d3c7bbafa3998b7e7164584b3e3025190e0200000e1b2835414e5b6874818e9ba3a3a3a3a3a3a3a3a3a3a3a3a4a6acb4bec9d8cebeb4aca6a4a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a5a7adb5bfc9d9d0beb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000030d18222935414c56606b73808c949fa9b3bec9d2ded7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce6ddd4cdc7c4c3c4c7c1b8afa59e9b9b9ea5afb9c3ced7d0c4bbb0a69f93887d70695e544a3f352c21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3aebbc7d5dfeaf4e8ddd2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000006111c2b37434e5864707d8a939ea9b3bdc6ced2c9c0b6aea69f9c948f8b878482807f7e7e7e7e7f80828486898d91959a9fa2aaaeb4bbc0c7cfc6bdb5afa39992857b6e6154483b2e2115080000000006121e2b37424d575f686d777f8690959da4aaa299938b7f736e605b53493f382e251b120900000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b859295918780786f6a605b544d443f382f292119140d05000000000000000000000000000000000000000000060b1012131f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1d1c1a16110a030000000000000000000714202d3a46525e6974818e9ba5afbdc6d1dfdfd4c8bbafa49a9184796d605a50463d342a22191109030000000000000000000000000000000000030b1218242c363f44515c666e7b86929fa7b1bcc8d4dedbd0c6bbafa3998d8074685d5246382e23170b000000000000000000000714212d3a46535f697683909dabb5c0cbd7e1d5c9bdb2a89d9083776c61554b40342a1f160b020000000000000000000000000a151e27333f4953606a75828f9ca7b1bcc7d3e2d7cbbfb5ab9c908376695f53463a2d21140800000000000c1926323f4b58636e737b7e82868b8f92999b9fa2aa9d9083766c61554b41362c231910070100000000000000000000000000000000000001081218232e39424f59626f7c87939facb9c6d2dfd7cbc0b5ab9b8e817468564d41362a1e110500000e1b2835414e5b6874818e9ba7afafafafafafafafafafafb1b3b7bec6d0e0d0c6beb7b2b1afafafafafafafafafafafafafafafafafafb2b3b8bfc7d1e2d0c7beb8b3b1afafafafafafafafafafafafafafafafa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00010b151f2a343c46525d68707d87939fa6b0bcc5d0dbdbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcded4cbc2bcb7b6b7bcc2c1b7afaaa8a8aaafb7c1cbd5d2c7bdb3a99f948c80736b60574d42382e231a0f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb5bfcbd7e7e9e8e9e0d4c7bbafa4998b7f7265574d42362a1e110500000000000000000000000000000000000000000000000000000f1b26323c4955616c75818e97a1abb4bcc5cdd6c8c0b8b0aba69f9c9a93918f8d8c8b8a8a8b8c8d8f9193999a9da0a8acaeb4babfc5ccccc3bdb4aba49f92877d70695e52463a2d20140700000000020e1a26313c454d565e656c727c838d929ea19892877f736d635c504941382d261c130900000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a8d837c736d665f58504a423b332d261d170f08020000000000000000000000000000000000000000000000000306071212121212121212121212121212121210100d0a050000000000000000000004101c2934404b55616e7b86929facb9c1cfd8e1d6cabeb4aa9f93887d6f675c51483e342b2218100700000000000000000000000000000000000000000007121a242834404a545f69727f8b959fabb8c2ccd8e2d7cbc0b5ab9f92867a6d61544a3f34281c10030000000000000000000815222e3b4855616e7b88959fabbdc7d1dcded2c5b9aca0968a7e7164594f43392e22180d0400000000000000000000000000030c17222d38414e58636f7c89959fabb7c6d0dbdcd1c6b9ac9f93877b6e6155483b2f24190d01000000000a17232f3b47525c63696e72767a7e82868a8f92989b998b7e72655a50433a2f241a11070000000000000000000000000000000000000000000007121c27303e47535f6a76828f9ca9b5c2cdd9dcd1c4b7aa9e918477685e5246392d20140700000e1b2835414e5b6874818e9ba7b4bcbcbcbcbcbcbcbcbcbcbebfc3c9d0d9e2d8d0c8c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbfc0c4c9d1d9e2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0007121d27313c46515b616d7a849199a4afb9c2ced7ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd8cdc2b9b1aba9abb1b9c0c1bab6b5b4b6bac1c9d3d7ccc0b5aba1978f82786d60594f453b30261c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc6d1dcdfdcdbdcdfd7ccc0b5ab9c908376695e52463a2d20140900000000000000000000000000000000000000000000000000000a15202d3944505a616d7a859199a2aab3bbc3cad0cac2bbb7b0aaaca49f9d9b99989897979899999b9e9fa4abaaacb1b8babfc6cad0c7c0bbb1aba399938b7f726b60574d42362a1e120500000000000915202a333c444c535b606a6f79808a929792867e726d635b52443f382f261b130a010000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c748180796f6a605c544e443f382f27221b140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3aebbc7d3e1dacfc6baaea2988d80746b60554b40362d221910060000000000000000000000000000000000000000000000081218232e39424d57606c7883909da6b0bbc7d3dedcd1c7baaea2988c7f73665c5044382b1f1207000000000000000004101d2935404b5566727f8c99a7b1bccfd9e3d8ccc0b6ac9e9184786c6053463e30271d100600000000000000000000000000000006111b262f3d4854606b7683909daab4bfcad6e0d4c8bbafa49a8c7f7266554c4135291d11040000000007131f2a35404a52565e6165686d71757a7e82868a8e92867a6d6054473e31281d12080000000000000000000000000000000000000000000000000b151e2b37434e5865727e8b98a7b1bcc8d4ded2c5b9aca096877a6e6154473b2e21140800000e1b2835414e5b6874818e9ba7b4c1c9c9c9c9c9c9c9c9c9cacccfd4dfe1e6e2dad3cfcbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cbccd0d4dee1e5e2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225170e050e18232f39434e58626d75818f96a1abb5c0cbd4e0d6ccc4baaea2989083786d60594f443a30241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c7bcb1a79f9d9fa7aeb6c0c6c3c1c1c2c6cbd3d6cdc4bbafa49991857a6e665c50473d33291e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7683909da9b3becfd8d7d3d0cfd0d3d7d2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000004101c28333e46525e68707d879298a2a9b1babec5cccdc7c2bbb7b6afacaaa8a6a5a4a4a4a5a5a6a8aaacafb5b7b8bdc3c6caccc8c1bdb5afa7a09992877f726d62594f453b30251a0e020000000000030e18212a323a414950585f676d747d858e857c706c625b514940332d261d140a010000000000000000000000000000000000000000000000000000000000000006111c26303b45505a646f74736d676058504a423c332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5bfcbd7e2d6cabeb3a99f92857a6d61594f43392f241b10070000000000000000000000000000000000000000000000000007121c27303b44505b666f7d89949faab7c2cdd8e3d6cabfb4aa9e9184796d6053463a2f23180c000000000000000006131f2c3945515d6776838f9ca9b6c2cddce0d4c8bbafa49a8c7f73665b5044382c1e150b00000000000000000000000000000000000a141d2c38444f5965717e8b98a2aebac6d3e0d8ccc0b6ac9c908376675d5145392c20130600000000020e19242e3840444d5254565e6165686d7175797d81858175685d5245392c1f160c00000000000000000000000000000000000000000000000000030c1b26323c4854616e7b8795a0acb8c4d1ded4c8bdb2a8978a7d7064574a3d3124170a00000e1b2835414e5b6874818e9ba7b4c1ced0d0d0d0d0d0d0d0d0d0d0d1d2d5dae1e8dfdbd8d9d4d2d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d5dae0e8e0dbd9dad5d2d1d0d0d0d0d0d0d0d0d0d0cec1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322920170e17202934404b555f6a727f8b939ea8b2bdc7d2ddd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9f9590959da4aeb9c3cecececfd2d7dacfc4bbb0a69f93877d70685e544a3f352c20170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88959fabbbc4cfd3ccc7c3c2c3c7ccd4c8bbafa49a8b7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000b17222935414c56616b707d869297a0a7aeb3bbc0c7c8ccc7c7c0bbb9b7b5b3b2b1b1b1b1b2b3b5b7b9bbc0c4c5c8cec8c7c0bbb9b0aba49f9591877e726d625b51473d33291f140900000000000000060f1820292f383f444e555d606b707b817b6f6a615a5149403727221b140b020000000000000000000000000000000000000000000000000000000000000000000a141e29333e48535d646867605c554e443f383028221c140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717d8a98a2aebdc6d1dcdfd2c6b9ada1978c7f73685e52473d31271d12090000000000000000000000000000000000000000000000000000000b151e28333f4a54606b76828f9ca6b0bcc7d3e2dbd0c6b9ada197897d7063554b4034291c1004000000000000000714202d3a4753606d7a86929facb9c5d2dfdfd2c6b9ac9f93877b6e61544a3f33281a0c030000000000000000000000000000000000020b1b27323d4754606d7a86929facb8c5d2ddddd2c5b9ac9f92867a6d6054473a2d211408000000000008121c262e323b4246474c5254565d6064676d7175797a6e61564c4135291a0d0400000000000000000000000000000000000000000000000000000a15202d3a46525e697783909daab6c3d0ddd9cebfb2a5988c7f7265594c3f3226190c00000e1b2835414e5b6874818e9ba7b4c1c4c4c4c4c4c4c4c4c4c4c4c4c4c6c9cfd6dfe7ded5cec8c5c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c9ced6dee8ded6cfc9c5c4c4c4c4c4c4c4c4c4c4c4c4c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265564d443b322920171d29323b45515c676e7c86929fa5afbac4d0d9dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d90838d929da7b1bcc6d0dbdcdee1d5c9bdb2a99f948c7f736b60564c42382e231a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3946525e6874818e9ba7b1bccdd3cac1bbb7b5b7bbc1caccc0b6ac9c908376695e52463a2d2014090000000000000000000000000000000000000000000000000000050d1925303a444f59616b707d8591959fa2aaafb6b9bdc3c5c9ccc8c6c4c2c0bfbebdbdbebfc0c2c4c6c7cccac7c5c2bdb8b6afaca69e99938d837c716c625b51493f352b21170d020000000000000000060e171d262d333c434b515961686e746e69605850483f372e2517110a0200000000000000000000000000000000000000000000000000000000000000000000020c17212c36414b53595b5a53514b433c342e261e17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828f9baab3becfd8e3ded1c5b8ab9e92857a6d60564c41352b1f150b00000000000000000000000000000000000000000000000000000000030c17222d38424f59626f7c88949fabb7c6d0dce2d5c9beb2a99b8e8174675c5145382c1f1306000000000000000a1723303d4a5663707d8999a3aebac7d3e0dccfc2b6a99c8f8376695e5342382d221708000000000000000000000000000000000000000a16202c3945515d6775818e9bacb6c0ccd8e0d3c7bbafa3998a7d7064574a3d2f24190d0100000000000a141c202930363a3b4146474c5254555d6064676d6e685e52443a3024190800000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a6b3bfd1dcdacdc0b4a79a8d8174675a4e4134271b0e01000e1b2835414e5b6874818e9ba7b4b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec4cdd6e0d5ccc3bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b9bdc4ccd6e0d6ccc4bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72685e564c443a322920262f3b444f59606d79839098a2aeb7c1ccd6dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f808d95a0aab4bfcad6dfe8dfd2c5b9ada1968f82786c60594f443b30261c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb9c2cdccc1b8b0aaa8aab0b8c1ccc6b9ac9f93877b6e6154483b30251a0e02000000000000000000000000000000000000000000000000000008131e28323e474f59616b6f7c838c92989fa4acacb2b7b9bdbfc1c4c5c6c7ccd2c9c9c8d1cbc7c5c4c2c0bfbab8b6b2acaca49f9c948f8780796f6a615a51493f372d23190f0500000000000000000000050b141b2227313940454f565e6167615f574e463e362d251c130600000000000000000000000000000000000000000000000000000000000000000000000000050f1a242f3941484c4e4d464540393028231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d0dfe0d4c8bcb1a79a8d8073675d51443a3023190d03000000000000000000000000000000000000000000000000000000000006111c262f3d47545f6a7683909caab4bfcbd6e3dacfc4b8ab9f9285796d6053473a2d20140a00000000000004101c2834404a546773808d9aabb4bfcbd7e2d6cabeb3a9988c7f7265574d422f261c11060000000000000000000000000000000000000004111d2935414b5564717e8a9aa4afbbc8d4e0d7cbc0b5ab9a8d817467564c4135291d11040000000000020a0e171f252a2d3036393a4145474b5153555c60615e564c4132281e1308000000000000000000000000000000000000000000000000000000020e1a25303d4a5663707d8996abb4bfcbd7dccfc2b5a99c8f8276695c4f4336291c1003000e1b2835414e5b6874818e9ba7aaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc4cfd9cec3bab2acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacb2bac4cedacfc4bab2adabaaaaaaaaaaaaaaaaaaaaaaaaaaa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7aa9d91847a6e685e564c443a32282d38424d56616c74808d95a0aab4bfc9d3ded7cdc5bbafa39991847a6d605a50453b30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb2a6998c7f79839098a2aebac1cdd6e2ded1c4b8ab9e91847a6d665b50473d32291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66727f8c98a3aebac7d3c7bbb0a69e9c9ea6b0bbc7c8bbafa49a8b7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000020c16202c353e474f59606a6f787f858e939a9ea0a8aaacb2b2b4b7b8b9bbc0bbbcbcbcbbc0bbb9b7b5b4b4aeaca9a8a09d9a938f89827c736d67605850483f372d251b1107000000000000000000000000020a11171f272f353e444d52545b55534d453d342c241b130a00000000000000000000000000000000000000000000000000000000000000000000000000000008121d262f363c4041403a38342e271e17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0ded1c4b8aca095887c6f62554b4132281e1007000000000000000000000000000000000000000000000000000000000000000a141d2b37434e5865717e8b98a3aebac7d3e0dfd3c6baaea2988a7d7164574a3e31261a0f03000000000006121f2c3844515c667783909daab6c3d1dcdfd3c6baada297887c6f6255493c3122140a0000000000000000000000000000000000000000010d18242f3a4754616d7a87939facb9c6d2dfdcd1c4b7aa9d918477685d5245392c20130600000000000000050d14191e20252a2d2f35393a4045474b515354524c443b3020160c02000000000000000000000000000000000000000000000000000000000915222e3b4855616e7b8899a3aebac7d3ddd0c4b7aa9d9184776a5e5144372b1e0700000e1b2835414e5b6874818e9b9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a9b3bec9d4c8bdb2a8a09e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a8b2bdc9d5c9bdb2a8a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddded1c5b8aca09691837a6e685e564c443a32333f4a545e69707d8a929da7b1bcc6d0dbdbcfc5bbb0a69f92877c6f675d51483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d80737b86929fa5afbbc4d0d9d6c9bcb0a396897d70685e544a41382d22171309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919eaab4bfcbd0c3b7aa9e948f949eaab7c7ccc0b6ac9c908376695e52463a2d201409000000000000000000000000000000000000000000000000000000040e1a232c353d464f585f666d727a81878c91969a9ea0a8a5a8aaabacafb5aeafafafaeb5afacaaa9a7aaa29f9c9996918c87827c756f6a605c554e463e362d251b1309000000000000000000000000000000060d151d2429323b4146474e4846423b332b221a110901000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b303335342d2c28231d150c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9cabb4bfcbd7e3d7cbc0b5ab9d9083776a5f53433a2f20160c0000000000000000000000000000000000000000000000000000000000000000020b1b26323c4754606d7a86929facb8c4cfdae2d6cabeb3aa9b8e817568584e43372b1f120600000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d1dcdfd2c6b9ac9f93867a6d6054473a2d211407000000000000000002090e1114191d2024292c2f35393a4045464746413b32291e0e0400000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2ded1c4b8ab9e9185786b5e52452e23180c00000e1b2835414e5b6874818e919191919191919191919191919191919197a1adb9c7d2c5b9aca096919191919191919191919191919191919191919196a1acb9c4cec5b9ada196919191919191919191919191919191918e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0dde1d4c8bdb2a8a09591837a6d685e564c443a3a44505b666e7b85929ea4aeb9c3ced8ded6cabeb3a99f948c7f736a60554c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b4a79a8d8174717e8b939ea9b3bdc7d2ddcfc2b5a99c8f82796d665c53493f3327251b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864707d8a96a1adbcc6d1cabeb3a99c8f828f9cacb6c0ccc6b9ac9f93877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000008111a232c343d464e545c60686e747b7f84898d919696989b9d9f9fa4a1a2a2a3a2a2aba39f9e9c9a9898928f8c89847f7b756f6a625f58514b433d342c241b13090100000000000000000000000000000000030b121820293036393b413b3a36312921191008000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a2024272827201f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dce0d3c7bbafa3998b7f7265584e4331281d0e050000000000000000000000000000000000000000000000000000000000000000000a15202c3945525d6875818e9ba9b2bec9d5e1dbd0c4b8ab9e9185786a5f53473a2e21150800000000000915222f3c4855626f7c8898a3aebac7d3e0dbcec2b5a89b8f8275665b5044382b1f120600000000000000000000000000000000000000000005111e2a36414c566774808d9aabb5c0cbd7e0d4c8bbafa49a897c706356493d30231606000000000000000000000205080d1113191d2024292c2e34383a3b3936302920170d00000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885919eabb8c4d1ded2c5b8ab9f9285786c544b4034281c1004000d1a2733404d5a667380848484848484848484848484848484848485919eacb6c0ccc4b7aa9e918484848484848484848484848484848484848484919ea8b2bdc9c4b7ab9e9184848484848484848484848484848484848074675a4d4134271a0e010000000000000000111e2b3744515e6a7784919daab7c4d0dde5d9cec3bab1a8a09590837a6d685e564c44434e58606c78828f97a1adb6c0cbd5e0d5ccc3baada2979082786c60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746c75818e97a1abb5c0ccd7d0c3b7ab9f948f81786d655b504440372d241b1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15212e3a47535f6a76828f9ca8b2bdcfd2c6b9ada1978a7d8a9aa4afbbc8c8bbafa49a8c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000008111a222b343c424a50565e61696e73777c818487898c8e91929399949596969595949992918f8d8b8986827f7c77736e69626058534e454039312b221a12090100000000000000000000000000000000000001070e171f252a2d2e342e2d2a261f170f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1a1313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a2aebac6d3e2dfd2c5b9ac9f92867a6d6154473c3121160c0000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a97a1adb9c6d2dfdfd2c6b9ada197887b6f6255483c2f22150900000000000b1825313e4b5864717e8b97aab4bfcbd7e1d5c9beb3a9988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000010d1925303d4a5764707d8a99a3afbbc7d4e0d8ccc0b6ac988c7f7265594c3f2e23170b000000000000000000000000000105080d1113181d1f23282c2d2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7784919eaab7c4d1ddd2c5b9ac9f928679665c5145382c1f1306000c1926323f4b57636e7377777777777777777777777777777777777d899aa4afbbc8bcafa295897c7777777777777777777777777777777777777a8796a1acb9c5beb1a4988b7e77777777777777777777777777777777746e64584c3f33261a0d000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae0d5ccc3bab1a7a09590837a6d685d564c4c55606a727f8c949fa9b3bec8d2ddd8cfc3baafa59f92857b6e665b50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b5a89b8e8275686d7a859199a4afbbbfc8d3c7bbb0a69e938e81776c605b52493f362d241a1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2935414c56626f7c88949fabbac4cfd1c5b8ab9e92857a86939facb9c6ccc0b6ac9d908376695e53463a2d2114090000000000000000000000000000000000000000000000000000000000081019222a30383f444c52575e61666a6f74777a7c7f81848586878788898989888787868482817f7c7976736f6a66615e57544e47433c342f271f19100800000000000000000000000000000000000000000000050d14191e20212822211e1a140d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0e0e0d070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99aab4bfcad6e2d7cbbfb5ab9b8f8275685e5246392d20130400000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606d7984919eabb8c4d1dce1d5c9beb3a9988b7f7265584c3f30251a0e02000000010e1b2734414e5a6774818d9aa7b4c0d1dcdfd2c6b9ada197887b6f6255483c2d22170b00000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d2dfddd2c1b4a89b8e817568544a3f34281c10030000000000000000000000000000000104070c1013181c1f2021201e19140d0500000000000000000000000000000000000000000000000000000000000000000b17222d44515d6a7784909daab7c3d0ddd3c7bbafa39986796d6053463a2d201307000a17232f3b47525c63666a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d7a86939facb9c6beb1a5988b7e726a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a687884919eabb7c4c0b4a79a8d81746a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67645c52473c3024170b000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae7ded5ccc3b9b1a7a09590837a6d685d56515d676f7c87929fa6b0bbc5cfdadcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcfc2b5a89c8f82756968707d87939fa3adb6bfc8ccc2b8afa59d938d80746d635b51483e362c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3945525d6874818d9aa6b0bbccd6cfc2b6a99c8f837784919eaab7c4d2c7b8ab9f95877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000000000710181e262e343b41464d535458606267686d7072757778797a7b7b7c7c7c7b7b7a79777674726f6d666662605854534d47433d373229231d150d0700000000000000000000000000000000000000000000000002080e1114141b1514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3d0dbe0d3c7bbaea3998a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505c6673808d9aaab4bfcbd7e3dacfc2b5a89c8f827569574d42362a1e120500000004101c2934404b55697683909ca9b6c3cfdcded1c5b8ab9e9285786a5f53473a2e1c110600000000000000000000000000000000000000000000000613202c3945525d687683909da9b6c3d0dcddd0c4b7aa9d918477665c5044382b1f12060000000000000000000000000000000000000004070c1013131414110d0802000000000000000000000000000000000000000000000000000000000000000000061e2a3744515d6a7784909daab7c3d0ddd3c7baaea39986796d6053463a2d2013070007131f2a35404a52575a5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d687784919daab7c4c1b4a79b8e817468555e5e5e5e5e5e5e5e5e5e5e5e5e566875828e9ba8b5c1c3b6aa9d908377665c5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362b1f1307000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf0e7ded5cbc3b9b1a7a09590837a6d685d5a606d7a849199a3afb8c2cdd7dfd7cbbfb4aba0968e81746c61574d42382d22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b6a99c8f837669616b717e8b919ba4adb6c0c9cac1b7afa59d928c7f736d625a50483e352b221910060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a86929facb8c2cdd8ccc0b6ac9a8d8075828f9ba8b5c2d2c7bcb1a7988c7f7265574d42362a1e1205000000000000000000000000000000000000000000000000000000000000060c151c232830363b4246484e5456565d606365686a656c6d6e6f6f706f6f6e6d6d6669676563605c5456544e4846423b37322b262018120b03000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdfd2c5b9ac9f92867a6d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54636f7c8998a3aebac7d3e0ded2c5b8ab9f928578695e52463a2d20140700000006131f2c3845515c677885919eabb8c4d1dedccfc2b5a99c8f827669584e43372b1f0a00000000000000000000000000000000000000000000000004111d2935414c566774818e9aa7b4c1cddadfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000020507080b0e100a0a08040000000000000000000000000000000000000000000000000000000000000004101c2834404b556b7884919eabb7c4d1ded2c5b9ac9f928679665c5144382c1f120600020e19242e3840474b4d51515151515151515151515151514c566874818e9ba7b4c1c4b7aa9d918477675d515151515151515151515151515966727f8c99acb6c0c5b9ac9f9286796d60535151515151515151515151514d4c4740382f24190e03000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e7ddd5cbc3b9b1a7a09590837a6d68616c75818e96a0abb5c0cad4dfd6cdc5baaea3999184796d605a50453b2f261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a59626c727f8c929ca4aeb7c0c9c9c1b7aea49c928b7f726c625a50473d342b22180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d4d4c8bbafa49a8b7e73808c99abb5c0cccdc2b6a99d908376695e53463a2d21140900000000000000000000000000000000000000000000000000000000000000030a11171e252a31363a3d4348494c525456595b535b60606162636362626161605c545a585653514b4947433d3a36312b27201b150c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a3afbbc7d3e0dcd0c3b6a99d908376675d514539291e1308000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7986929facb9c5d2dfdfd3c6baada297877b6e6154483b2e2115080000000714202d3a4753606d7a86939facb9c6d2dfdacdc0b4a79a8d8174675a4e4131261a0f010000000000000000000000000000000000000000000000010d19242f3f4c5966727f8c99a5b2bfccd8e0d3c7bbaea399877b6e6154483b2e2115080000000000000000000000000000000001040707090e121415181a1d171614100b05000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1ded1c5b8ab9e9285786b544a4034281c1004000007121c262e353b3f4044444444444444444444444444444b5865727e8b98aab4bfc6b9ac9f93867a6d60544744444444444444444444495663707c899aa4afbbc7baaea399887c6f6255494444444444444444444444413f3c362f261d130800000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f9f0e7ddd5cbc3b9b1a79f9590837a6d69717e8b939ea8b2bdc7d1dcdacfc5bbb0a69f92867c6f675d51483e33291d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d5a626d73808c929da5afb7c1cac9c0b6ada49f93887e716c61594f463d342a21180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d2c6b9ac9f93877a707d8a99a4afbbc7d1c4b8ab9f95877b6e6154483b31261a0e020000000000000000000000000000000000000000000000000000000000000000060c14191f252a2d32383b3c414547494c4e49505354545556565655545453514a4e4c494645403c3b37322d2a251f1b150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0b0b0b0b0b0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090c0f0f12121212121212120c0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7e3d9ccc0b3a6998d807366554b403529170c020000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3cfdce2d6cabeb3a9968a7d7063574a3d3024170a0000000815222f3b4855626e7b889aa4afbbc8d4e0d8cbbfb2a5988c7f7265594c3f3226190a00000000000000000000000000000000000000000000000000081724313e4a5764717d8a97a4b0bdcfdae3d7cbbfb5ab96897c706356493d3023160a000000000000000000000000040607080d111314171a1e212224272a2423201c171008000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2ded1c4b7ab9e9184786b5e51452e23180c000000000a141c242a2f3233373737373737373737373737373c4955626f7c8898a3aebac7bbafa499897c706356493d37373737373737373a4754606d7a86939facb9c6bfb4ab988b7e7265584b3f2f3737373737373737373433302b241d140b0100000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fff9efe7ddd5cbc3b9b1a79f959083796e7b86929fa5afbac4cfd9ddd5c9beb3a99f948c7f726a5f554b40362c21170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e515b636d73808d939da5afb8c1cac8bfbbafa49a92877e706b60584e463c332a20170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5763707d8a96a0acbcc6d0dbd0c3b6aa9d9083776d7a86939facb9c6d2c8bcb1a7988c7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000002080e141a1e21272c2e3035393a3d3f423f4446474848494949484847464440413f3c3a38342e2e2b27211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080d1113141516161717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c1f1f1f1f1f1f1f1f181815110c0600000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d1dce2d6cabeb3a9968a7d7063574a3d2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99a6b3bfd1dce6dbcfbfb2a5998c7f7266594c3f332619070000000a1724303d4a5763707d8a96acb6c0ccd8e4d6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000915222f3c4855626f7c8895a9b3bec9d5e1dcd1beb1a4988b7e7165584b3e3225180b00000000000000000000070c10121316191d202123262a2d2e31343731302d28221a12080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a4afbbc7d4ddd0c3b7aa9d9084776a5d5144372a1e0700000000020a12191f2326272b2b2b2b2b2b2b2b2b2b2b2b2d3a4653606d7986929facb8c5c0b5ab988c7f7265594c3f30252b2b2b2b2b2c3945515d677784919daab7c4c1b4a79a8e817467554b4034292b2b2b2b2b2b2b2b2726241f19130b020000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fffff9efe7ddd5cbc3b9b1a79f9590827a839098a2aeb7c1ccd6e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51525b646e74818e939ea6b0b8c2cbccc0b6aca39992867d706a60584e453b322920160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7d5c9bdb2a8998d8073687783909daab6c3d1cdc2b6a99d908376695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000003090e12161b1f2224292c2d30322d3337393a3b3c3c3d3c3c3b3a3a38342e32302d2c2823221f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d202122222324242424242422211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556976838f9ca9b6c2cfdcdfd2c6b9ada297877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a97aab4bfcbd7e3dbcec1b5a89b8e8275685b4f422f24180d0100000c1825323f4b5865727e8b98a5b1bed2dde1d5c9beb3a995887c6f6255483c2f221509000000000000000000000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000030b12181c1f202224292c2d3031363a3b3e41433d3c39332c241a0c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0ccd7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000070e1317191a1e1e1e1e1e1e1e1e1e1e1e1f2c3844515c667683909da9b6c3c1b5a89b8e827568564c41362a1d1e1e1e1d2935414c556874818e9ba7b4c1c3b6aa9d908377675c5145382c1f1e1e1e1e1e1e1e1a1a17130e0801000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7faf4efece9e6ddd4cbc2b9b1a79f94908590959faab4bfc9d3ded8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5249525c606c78818e949ea6b0b9c2cbc7beb5aba39892867c6f6a5f574d443b32281f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd2c5b9ada196897c6f6673808d99aab4bfcbd1c4b8ab9f95887b6e6155483b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000002050a0f1315191d2021232622272b2d2d2e2f30302f2f2e2e2d2c28232523201f1c1815130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f202324292c2d2e2f303131313131312f2e2b262018100600000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c313436393939393939393932312e29231b1209000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1deded1c5b8ab9e928578685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3b4855626e7b8898a3aebac7d3e0ddd0c3b7aa9d9084776a554b4035291d110400000d1a2633404d596673808c99a6b3bfccd9dfd2c6b9ada197867a6d6053473a2d201407000000000000000000000000000000000000000000000000000613202c3945515d677885919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000000070c151c23282c2d2f3035393a3d404246484b4d504a49443e362c1e150b0000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aa7b3c0d2dddacdc0b3a79a8d8074675a4d4134271a0e0100000000000002070a0c0d11111111111111111111101c2834404a546774808d9aa7b3c0c4b7ab9e918478685e5246392d2013110d19242f3f4c5865727f8b98abb5bfc5b9ac9f9286796d6053473a2d20141111111111110e0d0b07030000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e9e3dfdddcdfddd4cbc2b9b0a69f9792979fa7b1bcc5d0dbdbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524544505b666d78828f949fa7b1b9c3ccc7bdb4aaa29892857c6f695f564d443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774808d9aa4afbbc8d4ded1c4b7ab9e9184786c63707d8998a3aebac7d3c8bcb1a7998c7f7266574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000307080d1113141619171b1f20212122232323222121201f1c1819161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f151b1c22282b2d302f35393a3b3c3d3d3e3e3e3e3e3c3a37312a22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545453f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2dfdccfc3b6a99c90837669564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f928578675d5145392c20130600010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578675d5145392c2013060000000000000000000000000000000000000000000000000004111d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c070000000000000711191e272e34383a3c3f4145474a4c4d5355575a5d575550483e30271c12070000000000000000000000000000000000000000000000000a15212e3a47535f6a7884919eabb7c4d1ded8ccc0b6ac988b7e7265584b3f3225180c000000000000000000000000040404040404040404000c18232e3e4b5764717e8a97a9b3bec5b9aca196877a6d6154473a2e2114070816232f3c4956626f7c8999a3aebbc7bbafa399897c6f6256493c2f231607000404040401000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaeee6ded8d3d0cfd2d4d8d4cbc2b9b0a9a19ea1a9b1b9c3ced7dfd6cabfb4aaa0958d80746b61564c41382d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463f4a545c666d79828f959fa7b1bac3ccc6bcb4aaa29791857b6e695e564c433a31271e150b0200000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb6c0ccd8d4c8bcb1a79a8d807365606d7986929facb9c5d2cdc2b6aa9d908377695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a060b0f12131415151616161515141312100c0709070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a20272b2d3338393d404145474849494a4a4a4a4a4a4847433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f52525252525252524b4a453f372d23180c010000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b3bec9d5e1dacdc0b4a79a8d8174675a4e413025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667784909daab7c3d0dddfd3c6baaea298867a6d6053473a2d20140700020f1c2835424f5b6875828e9ba8b5c1cedbdcd0c3b6a99d9083766a554b4035291d110400000000000000000000000000000000000000000000000000010d18242f414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c0000000000040f19232b3039404446494b4c52545659575f6164676a64615a5042392e23180d040000000000000000000000000000000000000000000006111c26303c4855626f7b8896a1acb9c5d2ded4c8bbafa49a897d7063564a3d3023170a000000000000000000000000000000000000000000000715222e3b4855616e7b8897a1adb9c6bdb2a8968a7d7063574a3d302417090713202d3a4653606d7986929facb9c5c0b5ab988b7e7265584b3f2f24180c000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae6dcd4cdc7c4c2c6c8ccd2d4cbc2bbb3adabadb3bbc3cbd4e0d6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f524638424a545c676d79839095a0a8b2bac4cdc5bcb3a9a19791847b6e685e554b433930261d140a000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5965727e8b97a2adbec7d2ddd1c5b8aca095887c6f625c6776838f9ca9b6c2ced1c4b8ab9f95887b6e6155483c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070809090a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920262b3237383f4446494c4c515455555657575757575755534e463c31261b0f03000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b545a5c5f5f5f5f5f5f5f5f585651493f34291d1105000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdae6d8ccbfb2a5998c7f7266594c3f332619080000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbe2d6cabeb3aa95887b6e6255483b2f2215080003101d293643505c6976838f9ca9b6c2cfdcdbcec2b5a89b8f8275685c4f422f24180d010000000000000000000000000000000000000000000000000000071a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544a4034281c1004000000000b16212b353d424a51535558565d60636669696e717476706c61544a4034281f160c040000000000000000000000000000000000000000030d17232e38424f5966737f8c99a8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000000000000000000714212d3a46535f697885929eabb8c5bfb2a6998c7f7366594c4030251a0e06131f2c3845515c677783909daab6c3c1b4a79a8e817467554b4035291d10040000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaded4cac2bbb7b6b9bbc0c7d0d4cdc5beb9b8b9bec5cdd4ddd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52462f39424b555d676d7a839096a0a8b2bbc4cdc5bbb2a9a09690837a6d675d554b42382f261b11060000000000000000000000000000000000000000000000000000000000000000000000010b16222f3b4854606b7783909da9b3bed0d9d6cabfb4aa9d9184776a5f5566727f8c99a8b2bdc8d4c8bcb1a7998c7f7266574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e242931373c43474a50535659555d60616263646464646464625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49545d65696c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e4d7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e414e5a6774818d9aa7b4c0cddae6dbd0bcafa396897c706356493d3023160a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9ded2c5b8ab9f928578665c5144382c1f120600000004101b27323d474f545c60626568686d707375787b7e80837e70665c51443c31281e160d05000000000000000000000000000000000000030c151f28343f4a54616b7783909daab6c3cedaddd0c3b7aa9d908377685e5246392d2013070000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b5c2c2b5a89c8f827569574d42362a1e1205101c2834404b556774818d9aa7b4c0c3b7aa9d908477675d5145382c1f13060000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dde3d8cdc2b8b0aba9acafb6bec7d0d7cfcac6c5c6cacfd7dfddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246393039434b555d686d7a849196a1a9b3bbc5cdc4bbb2a8a0959083796d675c544a41382d221713090000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d5763707d8995a0acbcc5d0dfd3c6baaea2988b7f72655855626f7b8896a0acb9c5d2cdc3b6aa9d908377695f53463a2d2115090000000000000000000000000000000000000000000000000000000000000000000000000000000001040607080705020000000000000000000000000000000105070709090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f282f353c43474e54545b60636668676d6e6f707071717171716f6a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000020f1b2834414d5a6570757878787878787878726d62564a3d3124180b0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000006192633404c5966737f8c99a6b2bfccd9e4d7cabeb1a4978b7e7164584b3e3125180b0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8dfd3c6baaea29886796d6053463a2d2013070000000713202c38444f5960666d6f7274777a7d7f8285888a8d9084796d60584e433a30281f170e0701000000000000000000000000000000050b151e27313944505c66707d8a959fabb8c4d1e0d6cabeb4aa9a8d807467564c4135291d110500000000000000000000000000000000000000000000020e1a2631404c5966737f8c99a6b2bfc4b8ab9e918578695e52463a2d2014070c18232e3e4b5865717e8b98aab4bfc5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dddfd3c7bbb0a69f9c9fa4acb6bec7d2dad6d2d1d2d6dae1e3d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463927313a434c565e686e7b849197a1a9b3bcc5cdc4bab1a79f958f82796d665c53493f3327251b12090000000000000000000000000000000000000000000000000000000000000000000c18232f3a46535e6975828f9ba7b1bcced7dfd2c5b8ac9f92867a6d6054535f6a7784919eaab7c4cfd1c4b8aca095887b6e6155483c31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141514120e0903000000000000000000000002080d1113141615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129313a41454e53586062666c707375787a7b7c7c7d7d7d7d7d7d7c6f6255483c2f24180d010000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c69758285858585858585857f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb2a5988b7f7265584c3f3225190c0005121f2c3845525f6b7885929eabb8c5d1dedacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e2d6cabeb3aa93877a6d6054473a2d2114070000000916222f3b4854606b70797c7e818486898c8f9297979a968b7f726a5f564c423a31292018130c0701000000000000000000000003090e171d273039434c56606d7884919da7b1bcc8d4dfd3c6baaea2988a7d7064574a3d3025190d010000000000000000000000000000000000000000000000091724303d4a5763707d8a96a8b2bdc6b9ada197877b6e6154483b2e2115060715222f3c4855626f7b8898a2aebac6bbafa399897c6f6256493c2f2316070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7ab9f948f939aa4acb6c0ccd8d9dfdedfe2e6ece0d4c7bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c28313a444c565e696e7b859197a2aab4bcc6ccc3b9b1a79f948f81786d655b504440372d241b12080000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b87929facb9c3cedfd3c7bbb0a69a8d8174685d524e586673808d99a9b2bdc9d4c8bcb1a7998c7f7266574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202121211e1a140d05000000000000000000040c13191d202123221f1b160d0802000000000000000000000000000000000000000000000000000000000000000000000000050f18212a333b434c52585f626a6f74787d7f8284878888898a8a8a8a8a8a817568554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9292929292928b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb2a5998c7f7266594c3f3326190c0006121f2c3945525f6c7885929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e6dbd0baada094877a6d6154473a2e2114070000000a1623303d495663707d86888b8e91939a999c9ea1a9a89f92867c6e685d544b433a3229241d18120e090503000000000104060a0f141a20292f39424b555e68727f8b95a0acb9c3cdd8ded2c5b8ab9f9285796d6053473a2d2014080000000000000000000000000000000000000001010303030714212e3a4754616d7a8796a0acb9c5beb3a9978a7d7064574a3d2d22170b0713202d3a4653606d7985929facb8c5c0b5ab988b7f7265584c3f2f24180c0003030303030303030303030000000000000000000000111e2b3744515e6a7784919daab7c4d0dddccfc2b6a99c8f8288939aa4afbbbfc7d1dae3eceeece0d4c8bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f28323a444d575f696f7c859298a2aab4bdc6cbc2b9b0a69e938e81776c605c52493f362d241a110800000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc7d4ddd0c4b7ab9f94887c6f62564c4956626f7c8996a1adb9c5d2cdc3b6aa9d908377695f53473a2e2115090000000000000000000000000000000000000000000000000000000000000000000002080d161e24292c2d2e2d2a251f170f0500000000000000040e161e24292d2e302f2c272119130c0400000000000000000000000000000000000000000000000000000000000000000000020b17212a333c454d565d606a6e767c8084898c8f91969495969797979797918477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9f9f9f9f988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae0d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d0006131f2c3946525f6c7985929facb8c5d2dfd9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e0d4c7baada194877a6e6154473b2e2114080000000916232f3c4956626f7c8998989b9d9fa4aca8abadb3aea29891847a6d665d554c443d352f29241d1a13120f0b060c070d1113141b1f252a323a414a545d676d7a85929fa8b1bdcbd4dfd4c8bdb2a89a8e8174675d5145382c1f13060000000000000000000000000000000003080b0d0e1010101013202d3946525e687784919eaab7c4c0b3a6998d80736653493f33271b0f10121f2b3844505c667683909ca9b6c3c1b4a79b8e817468554b4035291d101010101010101010101010100a09070400000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7f7e88939fa3adb5bfc8d1dae3eceaddd1c4b8ab9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c162029323b454d575f6a6f7c869298a3abb5bdc7cbc2b8b0a69e938d80746e635b51483f362c231a100700000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d5c9bdb2a89c8f82766a5f53434653606c7884919eabb8c4cfd1c4b8aca095887b6e6255483c31261a0e020000000000000000000000000000000000000000000000000000000000000000050d14191f282f35393a3b3a36312921170b020000000000020c1620283035393a3c3b383229241e160e090300000000000000000000000000000000000000000000000000000000000000000a141d29333c464e575e686d747c82888d9197999b9ea1a8a2a3a3a4a4a49f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000001101d293643505c6976838f9ca9ababa5988b7f7265584c3f3225190c0401000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c7bbafa49986796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d9cdc0b3a69a8d8073675a4d4034271a0d0005121f2b3744505b657986929facb9c5d2dfd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e1d4c7bbaea194887b6e6155483b2e2215080000000815212e3b4854616e7b8794aaa7aaacafb6b5b8b9beb4aaa0968f82786d675e564f45403a352f2a25201f1b1719191a181d2020272b30363e444c535c666d79829097a2adbac3cedddcd1c5b8aca096897c7063554b4035291d1004000000000000000000000000000001080f14181a1b1d1d1d1d1d1d2935414c566875818e9ba8b4c1c2b6a99c8f8276655b5044372b1f1d1d1d1c28343f4a546774808d9aa7b3c0c3b7aa9d908477675d5145392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d171614100b050000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e727f8b919ba3adb6bfc8d1dae4e9dcd0c3b6a99d9083796d60594f443a30241b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f172029333c454e58606a707d869299a3abb5bec7cac1b8afa59d928c80736d625a50483e352b2219100600000000000000000000000000000000000000000000000000000006131f2b38434e5864717e8b97a1adbdc7d1dcd2c5b9ada1968a7d7064584e4344505b6574808d9aa9b3becad4c8bcb1a7998c7f7366574e42372b1e120600000000000000000000000000000000000000000000000000000000000003090e171e252a313a4145474846423b33291d140a000000000008131e28323a4146474948443d353028201a150c0700000000000000000000000000000000000000000000000000000000000006111b262f3b454e585f696e7a80878f949a9ea1a9a8abacb2afafb0b0b0afa49a897c6f6256493c2f23160600000000000000000000000000000000000000000000000000000000000000000206080d111d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251913110d080603000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d3e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e1d4c8bbaea195887b6e6255483b2f2215080000000714202d3a4753606d7a8698a2aeb7b9bbc0c2c5c6c5bcb2a89e948f82796d686159514b45403936302d2b272226252624292c2d32383b42464f565e656d78828f949fa9b3beccd5dfd4c8bcb1a79d9184786c605346392f24180c0000000000000000000000000000020b131a202427282a2a2a2a2a2a25303f4c5865727f8b98abb5bfc5b8ab9f9285796c605346392d2a2a2a2a2a232e3e4b5764717e8a97a9b3bec5b9ac9f92867a6d6053473a2d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2423201c16100800000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72727f8c919ca4adb6bfc8d2dae4dacdc0b4a79a8d81746d635b51493f362d241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f0e17212a333c464e58606b707d879299a4acb6c0cccac1b7aea49c928c7f726c625a50473d342b22180f0600000000000000000000000000000000000000000000000000000b15222e3b4754606a7783909da9b3becfd9d7cbbfb4ab9e9184786d6053463c3f495363707d8997a2adb9c6d2cdc3b7aa9d9083776a5f53473a2e21150a0000000000000000000000000000000000000000000000000000000000060b141a202930363e434c515454534d453b2f261c1106000000020c1924303a444c525456544f46413a322b261f18120b03000000000000000000000000000000000000000000000000000000000b17222d38414d575f6a6e7b838d92999fa6abadb2b5b7b9bdbbbcbdbdc0b6ac988b7e7265584b3f2d22170b00000000000000000000000000000000000000000000000000000000000205090e1214191d20293643505c6976838f9ca9b6b2a5988b7f7265584c3f322521201d1913120f0b0603000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1dacdc1b4a79a8e8174675b4e4134281b0e000713202d3a4653606d798693a0b5c0cbd7e3d7cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e1d5c8bbaea295887b6f6255483c2f22150900000006131f2c3945515d677985929facb8c5c8ccd2d1d2cec3bab0a69e948f837a706b605d55514b46423b3937332d3232332f35393a3d43474d525961686d77818e949ea6b0bbc5cfded7cdc5b8aca0958a7e71655b5044372b1d120700000000000000000000000000010b141d252b30333436363636363636363c4956626f7c8999a3aebbc6baada297887b6e6255483b36363636363636363b4855616e7b8897a2adbac6bbafa399897c6f6356493c363636363636363636363636363636302f2c28211a1108000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726d727f8c929ca4aeb6c0c8d2dbdbcec2b5a99d928c7f736d625b51483f362c231a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130f18212a343d464f59616b717e87939aa4afbbbfc8c9c0b6aea49b918b7e716c61594f463d342a21180f0500000000000000000000000000000000000000000000000007121c2a36414c56626f7c89959fabbbc5cfe0d3c7baaea3998c7f72665c5044383a4653606d7985929eabb8c5d0d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000000000000000000000000020a11171f262a323b41464f555d60615e574d42382d22170b0300000a141e2935414c565d61636059524c443e373128231d150c070000000000000000000000000000000000000000000000000000030f1b27333f49535e696e7c8490959fa3abb0b8b9bec2c4c5c9c6c5c3c2c0b4a79a8d817467544a3f33281c0f03000000000000000000000000000000000000000000000000000002090e11151a1e2124292c2d3643505c6976838f9ca9b6b2a5988b7f7265584c3f32302d2c2924201f1c17120f0b0600000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d4e0d7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d4c8bbaea195887b6e6255483b2f22150800000004101d2935404b556b7784919eaab7c4d1d8dddedfd5ccc2b8b0a69f9590857d746d67605d55524d4846443f403f3f40414045474a4e54575e616b707a818e939ea6b0b8c2cdd7dbcfc5bbafa59d9183786c6053493f33271b0b010000000000000000000000000008131d262f363c40414343434343434343434753606d7986929facb9c5beb3a9978a7e7164574b4343434343434343434346535f697885929fabb8c5c0b5ab988b7f7265584c434343434343434343434343434343433d3c38332c231a10050000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72656d737f8c929ca4aeb6c0c9d2dbd1c5b9aea49c918c7f726d625a50483e352c231a110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060f18222b343d474f59616c717e88939fa3adb6c0c9c8bfb6ada39f92877e716b60594f463c332a21170e0500000000000000000000000000000000000000000000000c18232e3946525e6875818e9ba7b1bccdd7dfd2c5b9ac9f92867a6d61544a3f343844505c6674818e9baab4bfcad4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000000020c141c232831363e444c525961676d6e695e544a3f33281f14090006111c26303846525d686d6f6b615d565047423c342e271e1910070000000000000000000000000000000000000000000000000005121f2b3744505b656e7b859196a0a7afb5bdc2c6c9c9c6c5bfbab8b6b5b4b4a99d908376665b5044382b1f1206000000000000000000000000000000000000000000000000030a0f141a1e20262b2e2f35393a3d43505c6976838f9ca9b6b2a5988b7f7265584c403f3d3a39352f2d2b28221f1b17110c060000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39886796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2dacdc0b3a79a8d8074675a4d4134271a0e0006121f2b3844505b667986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e1d4c7bbaea194887b6e6155483b2e221508000000000c18242f43505d6a7683909da9b6c3d0dce8ebe7ded3cac2b8b0a79f9791898179726d67615e57555350494d4c4c4d4e4b515356586062696e747d858f939ea5afb8c1cad4dbd6cabeb3a99e938a7d70665b5041382d22170b00000000000000000000000000030f1a252f3841484c4e50505050505050505050515c677783909daab6c3c0b3a79a8d807467544a50505050505050505050504d576976828f9ca9b5c2c1b4a79b8e817468554b505050505050505050505050505050504a48443e352c21160b0000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265636d73808d929da4aeb7c0c9d2d6cbc0b6ada49b918b7f726c625a50473e352c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1300061019222b353e47505a626c727f8b919ca4aeb7c0c9c8bfbbafa39992877d706b60584e453c332920160d0400000000000000000000000000000000000000000004101c2834404a54616e7a86929facb9c3cddfd4c8bcb1a79b8e8174685e5242382e343f4a5463707d8a98a2aebac6d3cec3b7aa9d9084776a5f53473a2e21150a000000000000000000000000000000000000000000000000000a141e262e343b424650565e616b707a7b6e665b50443b31251a0e040b17232e38424e58616d7a7c746d68615a534d454039302b22190f04000000000000000000000000000000000000000000000005111d2a36414c56606c77828f97a1a8b1bbc0c7cfcdc5beb9b8b4aeaca9a8a8a7a79f9285796c605346392d20130600000000000000000000000000000000000000000000040a0f151a1f252a2d31373a3b4145474a4c505c6976838f9ca9b6b2a5988b7f7265584f4d4c4a4745413c3938332d2b27221b17110c07010000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae3d7cbbfb4a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d9ccc0b3a6998d8073665a4d4033271a0d00030f1c28333f4a5f6c7985929facb8c5d2dfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e1d4c7baaea194877b6e6154483b2e21150800000000071c2935424f5c6875828f9ba8b5c2cedbe8f9f0e5dcd3cac2b9b1a9a19e928d857f79726e696562605b535a5958595a555d6063666a6f757b818a91979ea5afb7c1cad3dcd3c9c1baada2978f82756c61544a3f2f261b1106000000000000000000000000000814202b36414a53595b5d5d5d5d5d5d5d5d5d5d5d556774818d9aa7b4c0c3b6a99d908376665c5d5d5d5d5d5d5d5d5d5d5d5d5d5d6673808d99a6b3c0c4b7aa9d918477675d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d57554f473e33281c100400111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72655b636e73808d929da5afb7c0c9d3d2c8bfb6ada39f93887e716c615a50473d352b221910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600071019232c353e48505a626d737f8c929da4aeb7c1cacbc0b5aba39992867d6f6a5f574d453b32281f160c01000000000000000000000000000000000000000006121f2c3844515c66737f8c99a3aebac7d3ddd1c4b8ab9f95897c6f62564c4130262e3a4753606d7985929facb8c5d1d1c5b8aca095887b6e6255483c31261a0f02000000000000000000000000000000000000000000000006111c2630383f444d535a62686e757d8483786c60574d42362a20160c101c28343f4a54606a748086817a716c625f57514b433d342b21160a00000000000000000000000000000000000000000000000713202d3946525e68727e8b949fa9b2bac3cbd1c9c0bbb3adabaaa29f9d9c9b9a9a9a98887b6e6255483b2f221508000000000000000000000000000000000000000001070d161b20262b30363a3c4247484c525457595b566976838f9ca9b6b2a5988b7f7265555c5a585754524c4946443f3937332d28231c18120b0300000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae7dcd1baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e3d9ccbfb2a6998c7f7366594c403326190d00000b17222d45525f6c7885929fabb8c5d2ded9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e0d3c7baada094877a6d6154473a2e211407000000010e1b2834414e5b6774818e9aa7b4c1cddae7ece4dcd6d1cecbc3bbb2ada49d97928c857f7b76726e6c6567666565666768676d7073777c81868e939ea1a9afb8c1c9d3dbd3cac1b7aea49f92857a6e615a5042382d1d140a00000000000000000000000000000b1824303c48535d646769696969696969696969696969717e8b97a4b1bec5b8ac9f9286796d69696969696969696969696969696969707d8a97acb6c0c6b9ac9f93867a6d6969696969696969696969696969696969696361594f44382c20140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265585c646e74808d929da5afb7c1c9d3d1c8bfbbafa49a93877e716c61594f473d342b2218100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000007111a232c363f48515b636d73808d929da5afb8c1c1c1bdb4aba29892857c6f695f574d443a31281e130800000000000000000000000000000000000000000713202d3a4653606d7984919eabb4bfcbd7d5c9beb3a99d9083776a6054443a301f2c3845515c6775828e9baab4bfcbd4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000b17232e38424a50575f616c717a818a918b7f72695e53463e32281e1319232b3844505c666f7c87938e857e766e69605c554f473d32271b0f03000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa6b0bbc4ccd7c8bfb7afa9a19e999892908f8e8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000040c131820272b31373b4246474d5355565d60636567696876838f9ca9b6b2a5988b7f72676a68676563605d565653504a46443f38342e29241d150d06000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e1d4c7baaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d8cbbfb2a5988c7f7265594c3f3226190c0000121f2c3845525f6b7885929eabb8c5d1ded9cdc0b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb4aa93877a6d6054473a2d211407000000000d1a2633404d596673808c99a6b3bfccd9e6e4dad2cbc5c1c0c5c4beb9aea9a19e97918c87837e7b797674737272737475777a7d8083898e92999da5adb3bbc1cad3dbd6c9c1b8afa59c928a7e71685e52483e2f261c0b0200000000000000000000000000010d1a2733404c59646f7476767676767676767676767676767b8895a1aebbc7baaea398887c7676767676767676767676767676767676767b879aa4afbbc7bbafa499897d76767676767676767676767676767676767676706b6155483c2f23160900111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726558525c606c77808e939da5afb7c1c9d3d8ccc0b6aca49992877e706b60594f463d342a22180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000008111a242d363f49515b646e74808d939ea6b0b4b4b4b4b4b4aaa29791857b6e695e564c433a2f24190d0100000000000000000000000000000000000006131f2b37434e5864717e8a96a1adbdc6d1dcd2c6b9ada1978b7e7164584e4332291e2934404b5564717e8a98a3aebac7d3cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000003101c28343f4a545c60696e767e858e939e92867b6e615a50443a3024191e2a36414d56606d7883909a97928b827b736d6760594f43382c1f130700000000000000000000000000000000000000000005121e2a36424d5765727f8b98a2aeb8c2cdd3c9bfb6ada59d97928d888583828181818181817d7063574a3d3024170a000000000000000000000000000000000001070d161d242932373c43474d5254575f6265686d70727476787a83909da9b6b3a6998d807a7877757372706d686662605b54535049443f38352f271f17110a0300000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dfd3c6baaea29886796d6053463a2d201307000000000c1925323f4c5865727f8b98a5b2becbd8e5dcd2c8c0b9b5b3b9bbc0c0bbb3ada9a19e9a938f8b88858281807f7f8081828386898c90959b9fa3abafb9bec4cdd3d7d0cac0b7afa69e938c80736c61564c41362c1d140a0000000000000000000000000000010e1b2834414e5b677481838383838383838383838383838383909ca9b6c3cbbfb4aa9d91838383838383838383838383838383838383838288939facb9c6c0b5ab9d9184838383838383838383838383838383838383837d7063574a3d3024170a00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b505b656c77818e939ea5afb7c1cad3d2c7beb5aba39992877d706b60584e463c342a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000008121b242d374049525c606c78818e939ea6a8a8a8a8a8a8a8a9a19791847b6e685e554c4135291d11040000000000000000000000000000000000000a15212e3b47535f6a7683909ca9b2bdcfd8d7cbc0b5ab9e9285796d6053463d322018232f3a4754606d7a86929facb9c5d1d1c5b8aca095887b6e6255483c31261b0f0300000000000000000000000000000000000000000006121f2b3844505c666d727b828b92979ea2988f82756c61564c4135291f27303946525e68727f8b95a0a19e948f867f796f6b6054483b2f2215090000000000000000000000000000000000000000000714212d3a46535f697683909daab4bfcad4d0c1b7ada39c938e85807c797675757474747474706b6155483c2f23160900000000000000000000000000000000040c13181f282f353d43474e53575e6166696e72767a7d7f8183858790959fabb8b4a89c928d87858382807f7d7a76736f6c6663605b53504a4540393128231c150c06000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e3d6cabdb0a3978a7d7064574a3d3124170a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9ded2c5b8ab9f928578665c5145382c1f1306000000000b1724313e4a5764717d8a97a4b0bdcad7e1d6cbc0b6aea9a7acafb5bdc5beb9b3adaca49f9c9897928f8e8d8c8b8c8d8e909299999d9fa7acafb5bdc0c9cfd6d5cdc5bebaaea59e948e81776c605a50443b30241a0b02000000000000000000000000000004111d2a3744505d6a7783909090909090909090909090909090949fabb7c4d0c6b8aca0959190909090909090909090909090909090909090939aa4afbbc8c7b8aca096919090909090909090909090909090909090908b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b49535b656c78818e939ea5afb8c1cad4d0c7bdb5aba39992867d706a60584e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000009121b252e374044505b666d78818f949b9b9b9b9b9b9b9b9b9b9b9691837a6d675d5145392c201306000000000000000000000000000000000006111c2935414c56626f7c88949fabbbc4cfe0d4c7bbafa3998d8073675c5145382c1f13202c3945515d6775828f9cabb5c0cbd4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000000000000000000000713202d3a4653606d787f868f949ea2a9aa9e948a7e71685d52453d31272e39424f59616e7b85929fa7ada69f98928c847d6f6356493c302316090000000000000000000000000000000000000000000815222e3b4855616e7b88959fabbcc5d0d2c7bdafa59c918c8179736f6d66696867676767676361594f44382c201407000000000000000000000000000000050d161d2429313a40454e54585f62696e73777b7f83868a8c8e9092979d9fa7b1bcb9aea49c999792908f8d8b8a86837f7c7975706c65605c54514b433d342e261e180f080000000000000000000000000a1724303d4a5763707d8a96a3b0bdd0dbe7d8cbbeb1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedae3d7cbbfb5ab95887c6f6255493c2f2216090003101c2936434f5c6976828f9ca9b5c2cfdcdbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544b4034281c1004000000000a1623303d495663707c8996a3afbcd1dcddd1c5b9aea49d9a9fa3abb5bfc6c4beb9b6afaca9a9a29f9c9a999898999a9b9d9fa3abaaabb1b9bbc0c7cfd5d5cec9c2bbb3ada49d938e82796d655b50483e32291e120800000000000000000000000000000004111d2a3744505d6a7783909c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0bcc7d3c8bdb1a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa4acb6c0ccc8bdb2a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b4149535b666d78818e939ea6b0b8c2cad4d0c7bdb4aba29892867c6f6a5f584e453c332920170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000009131c2528333f4a545c666d79828e8e8e8e8e8e8e8e8e8e8e8e8e8e8e837a6d6054473a2d21140700000000000000000000000000000000000b17222d3946525d6874818e9aa6b0bccdd6dfd2c5b9ac9f92877b6e61554b4034281c111d2935414b5565717e8b99a3afbbc7d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000916232f3c4956626f7c8992989fa6adb3b0a69e91857a6d60594f43392f34404b54606b75818e98a2aeb9b0aaa39f958a7d7164574a3e3124170b0000000000000000000000000000000000000000000c1925323f4c5865727f8b98a7b1bcced7ccc0b5ab9e938c7f746d6762605c545b5b5b5b5b5b57554f473e33281c10040000000000000000000000000000060e171f282f353d434b515860626a6e747b8084888c8f9299989a9c9ea1a9abb1b9c2bfb6aea8a9a29e9d9b9a989992908c8985827d78716d66605d554f443f383029211a110800000000000000000000000915222f3c4855626f7b8895aab4bfcad6e2d9ccc0b3a6998d8073665a4d402f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfdce0d3c7bbaea399877a6e6154473b2e21140800020f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c00000000000815222f3b4855626e7b8895abb5c0cbd7dbcec1b5a99d928d9299a3aeb4bcc3c9c7c0bbb9b6b3adaba9a7a6a5a5a6a7a8aaacafb5b6b8bcc3c7cbd1d4cec9c4bdb9b0a9a29f928d81786d675c53493f362c20170d0000000000000000000000000000000004111d2a3744505d6a7783909da9a9a9a9a9a9a9a9a9a9a9a9a9abb0b9c2cdd8cec3bab1acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9acafb6bec7d2cec3bab2acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f414a545c666d78818f949ea6b0b8c2cad4cfc6bdb4aaa29892857c6f6a5f574d453b322920170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000010a1317222d38424a545c676d79818181818181818181818181818181817e7265584b3f3225180c00000000000000000000000000000000030f1c28333f4a54616d7a86929facb8c2cddfd4c8bdb1a89b8f8275695e5343392e23180d18242f3a4754616d7a86929facb9c5d2d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000000000000000000000815222e3b4754606a75828f99a3afb9beb9ada1978e81746b60554b40343845515c66707d89939eaab3bebcb0a69d9083786c605346392d2013060000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd4c7bbafa4998f81756d605d5553504a4e4e4e4e4e4e4a48443e352c21160b0000000000000000000000000000070f182029313a40454f555d606a6f757b81868d9196989c9fa3aba7a9abadb3b8bcc2cbc8bfb9b4b3adabaaa8a6aba39f9c9997928e8a837e79726d676059504a423b332c231a1007000000000000000000000714212e3a4754616d7a8798a2aebac7d3e0dbcec2b5a89b8f827568554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1dedfd2c5b9ac9f9286796c605346392d20130600010e1a2734414d5a6774808d9aa7b3c0cddaded1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c0700000000000714212e3a4754616d7a8799a3afbbc7d4dacdc0b3a79a8d8087929fa2aab1babec5c9c8c6c2bebab8b5b4b3b2b2b3b4b5b6b9bbc0c3c4c8cdd3d2ccc8c4bdb9b2aca69f97928a80786d665c554b41382d241a0e050000000000000000000000000000000004111d2a3744505d6a7783909daab6b6b6b6b6b6b6b6b6b6b6b6b7bcc2cbd4ded5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7d0d9d5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f38424a545c666d78828f949fa6b0b8c2cbd4cfc6bcb4aaa29792857c6f695f574d443b322920160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000006111c262f38424b555d676d74757575757575757575757575757575726d62564a3d3124180b0000000000000000000000000000000006121f2b3844505b66727f8c98a2aebac7d3ded1c5b8aca095897d7063574d4230271d120713202d3946525e6876838f9ca9b6c2cdd4c8bdb1a8998c807366584e43372b1f1206000000000000000000000000000000000000000006131f2b37434e58626e7b87929faab4bfbeb3a99d93897d70675c51453c424d57606d7984919da5afbcc5b7ab9f948a7d70655b5044372b1f12050000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2c6b9ac9f93877b6e625b514b46443f4241414141413d3c38332c231a100500000000000000000000000000071019212a323b434b515960676d747c82878e92999ea0a8a9acafb5b4b6b8b9bec5c8cdd4d1cac4c5beb9b8b6b5b3b5afaca9a9a29f9b95908b847f79706b605c544d453d352c22190f060000000000000000000713202d3946525d687985929facb8c5d2dfddd0c4b7aa9d918477675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfded1c4b7ab9e918478665b5044382b1f120600000d192633404c5966737f8c99a6b2bfccd9dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000006131f2c3845515d677884919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000613202d394653606c7986929facb9c5d2d6cabdb0a3978a7d7e8a9298a0a7adb3b9bdc4c6c9cac6c5c2c1c0bfbebfc0c1c3c5c7cbd1d1d1cbc7c5c0bbb9b2aca8a19e948f857e736c665c544b43392f261b1208000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c3c3c3c3c3c3c3c3c3c3c4c7cdd4dde6ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c6c8ccd2d9e2ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3beb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f2f38424a545c666d79828f949fa6b0b9c2cbd4cec5bcb3a9a19791857b6e695e564d443a32281f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000a141d263039434b555d606768686868686868686868686868686865625b51453a2e221509000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d6cabeb4aa9d9184776b6054453b311e150b05111d2a36414c5665727f8b98a7b1bcc8d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000030f1b27323d47535f6a74818e98a2aebac4bbafa59e9184796d60584e4246535f69727f8c96a0acb7c1bbb0a69c9083766b6153493f33271b0f03000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcfc2b5a99c8f8276695f5345403a38342e3434343434302f2c28211a110800000000000000000000000000071019222b333c444c555d606b707980878f939a9fa3abacb2b6b9bbc0c1c3c5c6c9cfd4d8dfdcd5d0cfcac6c5c3c2c0c0bbb9b6b3adaba7a09d96918b847d736d665f574f473d342b21180e05000000000000000005111d2935414c566a7784909daab7c3d0dddfd2c6b9ac9f93867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4e0dccfc2b5a99c8f827669544a3f33281c0f0300000b1825313e4b5864717e8b97a4b1bed0dbe0d4c7bbafa499887b6e6255483b2f221508000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d000000000006121f2b3844505b667885919eabb8c4d1d7cbbeb1a4988b7e717e8691959fa2a9acb2b8b9bec1c3c5c7cbd1cacbcbcbcbcac9cfc9c5c4c2c0bbb9b6afaca8a19e96918a827b706c605b544a423931271d140a00000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cfcfcfcfcfcfcfcfcfcfd0d3d8d8dbdfe7dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfd2d4d8dddfe2e6e0d9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f323038424b545c676d79828f949fa7b1b9c3cbd5cec5bbb3a9a19791847b6e695e564c443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000020b151e273039434b51535b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120500000000000000000000000000000006121e2b37424e5764707d8a96a1acbcc6d0dbd3c6baaea2988b7f7265594f4433291f0c03010d1925303b4854616e7b87959fabb8c4d1d1c5b8aca096887c6f6255483c32261b0f0300000000000000000000000000000000000000000a15202b37434e58616e7b86929fa9b3bec0b9aca0968d80736a5f544a505a616e7b86929fa8b2bdc7b7ab9f94897d7063594f41382d22170b00000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ccbfb2a5998c7f7266574d42352f2b282328282828282423201c16100800000000000000000000000000050e19222b343c454d565e676d747d848d939a9fa4acaeb4b9bdc2c5c7cbd1cfd1ced1d2d5dae0dcd5d0cdccc9caccced1cbc7c5c3bebab8b1aca8a19e96918780786e6960594f463d332a20170d0300000000000000010d192430414e5b6874818e9ba7b4c1cedae0d4c7bbafa499887c6f6255493c2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97acb6c0ccd8e4d9cdc0b3a69a8d8073675a4d402d22170b000000091623303c4956636f7c8996aab4bfcad6e2d7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000915222f3c4855626f7b889aa4afbbc8d4e0d7cbbeb1a4988b7e7165584b3e3225180b0000000000030f1c28333f4a546a7784909daab7c3d0d9ccbfb2a6998c7f73717c838b92979ea1a8abadb3b4b7b9babfbdbdbebebfbebdbcbbbdb9b7b5b5afacaca49f9c96918b847d766e69615a504a423930271f150b0200000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacbcccfd4dae2e5e1ded6d1cecdcacacacacacacacacacacacacacacacacacacad2d3d6dbe1e5e1ded5d0cdcccacacacacacacacacacacabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32263039424b555d676d798290959fa7b1b9c3cbd5cdc5bbb3a9a19691847b6e685e564c433a31271e150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000030c151e2831394045474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f372d23180c010000000000000000000000000000000a14212e3a47535f6a76828f9ca8b2bdced8ded2c5b8ab9f92857a6d6054473d3321170d00000814202d3a46525e697683909da9b6c3ced4c8bdb2a8998c807366584e43372b1f12060000000000000000000000000000000000000000040f1a26313c46525e6973808d97a2adb9c4bdb2a89f92877c6f665b5055616c75828f98a2aebac3bdafa59c8f82766b6054473e2f261b110600000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c9bcafa396897c706356493d31241f1c171b1b1b1b1b171614100b0500000000000000000000000000030d17202b343d464e575f686e79818991969fa4acafb6babfc6c8ced2d2d0cac6c5c2c4c5c9ced6d1cac4c1bfbcbec0c2c5c6cad0cfcac6c3bcb8b2aca9a199938d837b706b60584e453c32291f150b0100000000000000081926323f4c5965727f8c98a5b2bfcedae3d7ccc0b5ab988b7f726553493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aa7b4c0d2dde3d7cbbfb4ab978a7e7164574b3e312418060000000814212e3b4754616e7a8798a2aebac7d3e0ddd2beb2a5988b7f7265584c3f32251909000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97acb6c0ccd8e3d7cbbfb4aa96897c706356493d3023160a0000000000000b17222d434f5c6976828f9ca9b5c2cfdacdc0b4a79a8d81746a6f787f858c91969a9ea1a9a7aaacaeb4b0b1b1b2b2b1b0afaeb2adaba8aba39f9c9a938f8a847e79706c615f5750443f382f271e150d030000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbebfc3c9d0d9e2dad2cbc5c2c0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdc5c6cad0d7e0dad1cac4c1c0bdbdbdbdbdbdbdbdbdbdbdbdb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225273039434b555d676d798390959fa7b1b9c3ccd5cdc4bbb2a8a09691837a6d685d554c433930271e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000030c161f282f35393a414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000006111b2935414b55626e7b88949fabbac4cee0d3c7bbb0a69a8d8074675d5145392c201305000005121e2a36424d5766727f8c99a7b1bcc8d4cec3b7aa9e9184776a5f53473b2e21150a0000000000000000000000000000000000000000000915202a36424d57606d7a85929ea8b2bdc3bbafa3999083786c60575d67707d8a949eaab4bfc0b5ab9e93897c6f62594f44352c1d140a0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc8bbaea295887b6f6255483c2f2215100b060e0e0e0e0a0907040000000000000000000000000000010b151f29333d464e5860696e7a838e939ea1a8afb6bbc0c7cbd1d4cec9c5c4bebab8b5b7b9bdc4ccc8bfb9b4b3afb1b3b5b8babfc5c6cacfcec8c4bdb9b2aba49f9590867d706a60574d443b31271d1207000000000000000a1623303d495663707d8996a8b2bdc9d5e1ddd2c2b5a89b8f8275655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d0dde0d3c7baaea399887b6f6255483c2f2215090000000613202d394653606c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4131251a0e020000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfd2dde0d3c7baaea398877b6e6154483b2e211508000000000000061b2835424e5b6875818e9ba8b4c1cedbcec2b5a89b8f827568666d727a7f848a8e9197989b9d9fa3aaa3a4a4a5a5a4a3a2a2a8a19e9c999992908c87827e79726d67615a534d453e332d261d150c03000000000000000000000000000000000000000004111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b3b7bec7d0dfd2c8c0b9b5b4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b8babec5ced7d1c8bfb9b4b3b0b0b0b0b0b0b0b0b0b0b0b0b0a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32251e273039434b555d676d7a839095a0a7b1bac3ccd5cdc4bab2a8a09590837a6d675d554b433930271e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000040d161d24292c2d3435353535353535353535353535353532312e29231b1209000000000000000000000000000000000b17222d3945515d6774808d9aa6b0bbccd6ddd0c3b7ab9f94887b6e62554b4135291d11040000020e1a25303b4855626e7b8895a0acb8c5d1d2c5b8aca096887c6f6255483c32261b0f030000000000000000000000000000000000000000030e1a25303b45525d68727f8c96a1acb9c3c0b5ab9f958b7f72695e606d7984919ea6b0bcc6bbafa4998f82756a6054473d32231a0b0200000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e21140800000101010100000000000000000000000000000000000007121d27313b454e58606a6f7b8490959da5acb2bbc0c7ccd2d1cbc7c4bdb9b7b3adaba8abacb2bac4bfb6aea8a6a2a4a6a8acaeb4b8b9bec5c9cecec9c4bdb5afa79f9892867c6f695f564d43392f23180c040000000000000714212e3a4754616d7a8796a1acb9c5d2deded1c5b8ab9e9285796c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000005121f2b3744505b657784919daab7c4d0dddbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000000000000000000000000000004111d2935414b556774818d9aa7b4c0cddadfd2c5b9ac9f9286796c605346392d2013060000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d0c3b6a99d9083766a5c60686d72787d8185888b8e909298959797989898989796959496918f8c8a86837f7b76716d66605c555046423b3328221c140b0300000000000000000000000000000000000000000004111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a7acb5becdd7cbc0b6aea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4abaeb3bcc5d0cabfb6aea8a6a4a4a4a4a4a4a4a4a4a4a4a4a4a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225151e273139434b555d686d7a839095a0a8b2bac4ccd6ccc4bab1a8a0959083796d675d554b423930261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000040c12181d2020282828282828282828282828282828282524221d18110900000000000000000000000000000000030f1b27333f4953606d7a85929fabb8c2ccded5c9bdb2a89c8f82766a5f53433a2f24180d010000000914212e3a47535f697784919daab7c4ced4c8bdb2a8998d807366584e43372b1f130600000000000000000000000000000000000000000009141f2935414c56606d7984919ea7b1bcc7bdb1a79f92867b6e616a73808d96a1acb8c1c0b5ab9f93877c6f62584e43352b2111080000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000050e18232f39434d57606a6f7c859196a0a7afb9bdc4ccd2d4cfc7c0bbb9b2acaaa9a29f9b9ea1a8b2bdb9aea49c999697999c9fa2aaabadb3b9bdc4cbd1d0c7c0bbb1aaa29892857b6e685e554b40342920150a0000000000000713202d3946525e687884919eabb7c4d2dddfd2c6b9ada197887c6f6255483c31261a0f01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464707d8a9aa4afbbc8d4e0dcd0c3b6a99d908376665c5144382c1f1206000000030f1b27333f49536875828e9ba8b5c1cedbded1c4b7ab9e918478695e53463a2d21140700000000000000000000000000000000000000000000000613202c3945515d677683909da9b6c3d0dcddd0c3b7aa9d908477665b5044382b1f12060000000000000c1926333f4c5966727f8c99a5b2bfccd8d1c4b7ab9e9184786b56565d60666d7074787c7e81848687888a8a8b8b8c8b8a898887868482807d7a76726e6964605c54514b433e3631292117110a020000000000000000000000000000000000000000000004111d2a3744505d6a77839097979797979797979797979797979797989ba3acbbc5cfc5b9aea49d9a979797979797979797979797979797979797979fa2aab3becac4b9aea49c999797979797979797979797979797978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322518151f28313a434c565d686d7a839096a0a8b2bac4ccd5ccc3bab1a79f959082796d675c544a42382f261b110600000000000000000000000000000000000000000000000000000000000000000000000606060606060606060606060606060606060606060b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0606060606060606060606060606060606060606060100000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000001070d1013141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120c06000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d3ded2c5b9aca1968a7d7064574e4231281d13070000000006121e2b37424d576673808c99a8b2bdc9d5cec3b7aa9e9184776a5f53473b2e21150a000000000000000000000000000000000001020203020d19242f3a45515c67717e8b95a0acb8c2c2baaea2988f82756c6e7c87929fa8b2bdc7bbafa3998e81756a5f53463d3223190f000303020100000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000020d17202934404b555e696f7c869297a0a8b1b9c0c9ced8cec8c2bdb5afaca8a09e9997928f9196a1acb9b4a89c928c898b8d8f92989a9ea2a9acb2bbbfc6cfd2ccc2bcb3aaa19791847a6e675c51453c31261b0f04000000000005111d2a36414c566774818e9aacb6c0ccd8e2d6cabeb3a9998c807366584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6674818e9bacb6c0ccd8e2d6cabfb4aa998c807366544a4034281c1004000000000b17222d3f4c5966727f8c99a5b2bfcedaded2c5b9aca196877b6e6154483b2e21150900000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d2dfdacec1b4a79b8e817468544a3f33281c0f030000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679685d5252545c6063656c6f727477797a7c7d7e7e7f7f7e7d7c7b7a79787573706d6766615e5753504a454039312a261f170f0600000000000000000000000000000000000000000000000004111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b919ba9b3becac2b5a99d928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9298a2aebac6c1b4a89c928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180d161f28313a434c565e686e7a849196a0a8b2bac4cdd5ccc3b9b1a79f948f82796d665c544a41382d2217130a010000000000000000000000000000000000000000000000000000000002070a0c0d121212121212121212121212121212121212121212121825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322518121212121212121212121212121212121212121212120d0d0b0703000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000010406070e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0905010000000000000000000000000000000000000613202d394653606c7884919daab4becad6d6cbbfb4aa9e9184786d6053463c3120160c0100000000020e1a26313c4955626f7c8896a1acb9c5d2d2c5b9aca096887c6f6255493c32271b0f030000000000000000000000000407090a0e0f0f101008131e2834404b55606c7883909da6b0bbc7bfb4aa9e948a7e7176828f99a3aebac4bfb4aa9f92877b6e61584e43342b20110610100f0f0e0a090704000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000009141f29333b45515c676e7b859198a1a9b2bac3cbd5d6ccc3bdb8b0aba39f9b96918c89858284919eabb7b3a6998c807c7e808285898d92979ea1a8aeb5bdc3cbd7cec5bcb3a9a1969083796d60584e43372b20150a0000000000010d1925303e4a5764717e8a9aa4afbbc8d4e0dacfc4b7aa9d9184776a5f5347392f23180c00000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d2dde0d3c6baaea298897c706356493d2e23180c0000000000061723303d4a5663707d8996a8b2bdc9d5e1d5c9bdb2a8978b7e7164584b3e31261a0e02000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3afbbc7d3e0d7cbc0b5ab988b7f7265584c3f2d22170b000000000000000a1724303d4a5763707d8a96a3b0bdc9d6d3c7baaea398877a6d6054474a5053535b60626568656c6d6f707171727271706f6f6e6d66696663605d5554534d46443f38342f271f1a140d0600000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e8b97a1adb9c6c0b4a79a8d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e85929fabb8c5c0b3a6998d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0d161f28313a444c565e686e7b849196a1a8b2bbc4cdd5cbc2b9b0a69f948f82786d665c53493f3327261c130a010000000000000000000000000000000000000000000000000000070e1317191a1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f25323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f32251f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e080100000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000010202020202020202020202020202020000000000000000000000000000000000000000000005121e2a36424d5763707d8996a0acbcc5d0dbd3c7baaea3988c7f72665c5044382b1f12040000000000000915212e3b47535f6a7884919eabb7c4cfd5c9bdb2a8998d807366584e43372b1f130600000000000000000000050b101416171b1b1c1c1d1d1e18232e3944505b66707d8a949fabb7c1c5bcb0a69e92857a7e8a949fabb5bfc7baaea3988e8174695f53463c31221c171e1d1d1c1b1b171613100b0500000000000000000000000000000916222f3c4955626f7c8895a9b3bec9cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000030c1a25303b45515b606d79839097a1aab3bbc4ccd5d0cac0bab2aca69f99928f89847f7c7976838f9ca9b6b2a5988b7f72717375797d80858b91969fa3abb1b9c2cbd4cec5bbb2a8a0958d80736a5f53473c32261b0f0100000000000814212e3a4754616d7a87939facb9c6d2dfded1c5b8aca095887b6f62554b4034291b110600000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8997a2adb9c6d2e4dfd2c5b8ac9f9285796d6053463a2d20130700000000000714212e3a4754616d7a8796a1acb9c5d2dedacec1b4a79b8e817468574d42372b1e120500000000000000000000000000000000000000000005111d2935414c566773808d9aabb5c0cbd7e0d4c7bbafa399897c6f6256493c2f231606000000000000000916222f3c4955626f7c8895a2afbbd0dbd7cbbfb4aa95887b6e6255483f44464950535558535b60616264646565656564636261605c54595754514b4846423b38342e29231d150d09030000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717885929eabb8c5c0b3a69a8d8073717171717171717171717171717171717176828f9ca9b6c2bfb2a5998c7f727171717171717171717171717171716e695e53463a2d21140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c040d161f28323a444c565e696e7b849196a1a9b2bbc5cdd4cbc2b8b0a69e948e81786d655b504440382e251c1309000000000000000000000000000000000000000000000000020a12191f2326272c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b02000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7dfd2c5b8ac9f92867a6d61544a3f34281c100300000000000006131f2b37434e586773808d9aa9b3bec9d5cec4b7aa9e9184776a6054473b2e22150a000000000000000000080f161c202223282829292a2a2b2b2328333f4a54616b76828f9ca5afbdc7c1b9ada1978e8185919ea6b0bdc6bfb4aa9f92867b6e61574d42342d2c28232b2a292928282322201c160f08000000000000000000000000000714202d3a4753606d7a8697a1adb9c6ccbfb3a6998c807366594d4033261a080000000000000000000000000000000000000000000a151e2a36424d57626d75818e959fa9b2bcc5cdd6cec6bfbaafa8a09d948f87827d78736f6d76838f9ca9b6b2a5988b7f726566676d7074797f848c9299a0a7b1b9c2cbd4cdc4bab1a79f92877c6f62584e43372b1e130800000000000713202d3946525e687783909daab6c3cdd9e0d4c8bcb1a7998d8073675c5145382d22170b0000000000000000000000000000000000000000000000000000000000000000000b13202c3945525d6874818e9ba9b3becad6e2d7cbc0b5ab9c8f8276675c5145382c1f130600000000000713202d3946525e687884919eabb7c4d1deded1c4b7ab9e918478695f53463a2d2114080000000000000000000000000000000000000000000713202d3946525d687783909daab6c3d1dcdfd2c5b9ac9f92867a6d6053473a2d201407000000000000000815212e3b4854616e7b8794aab3becad6dcd1bcafa396897c706356493d383a3f4446494b49505354555757585859585756555453514b4d4a4745413b3a36312c28231c18120b0300000000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646975828f9ca8b5c2c2b6a99c8f8376656464646464646464646464646464646673808d99a6b3c0c1b5a89b8e8275686464646464646464646464646464615e574d42362a1e120500111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00040d162029323b444d575e696e7b849197a1a9b3bbc5cdd4cac2b8b0a69e938e81776c605c524a40372e251b120900000000000000000000000000000000000000000000000a141c242a2f3233393939393939393939393939393939393939393939393939393e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f393939393939393939393939393939393939393939393939393433302b241c140b010000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd4c7bcb1a79b8e8174685e5242382e23170b00000000000000030f1b26323c4956636f7c8997a1adb9c6d2d2c5b9aca096887c6f6255493c32271b0f030000000000000008111a21272c2f3034353536363737382e34383a424f59626f7c89939eabb5c0c9beb3a99e938e9197a1adb8c2c6baaea2988d8073695e52453b3a3a38342e373736363534302f2c27211911080000000000000000000000000613202c3945515d677885919eabb8c4cec1b4a89b8e8175685b4e423025190e020000000000000000000000000000000000000006111c26303846525e69727f8b939ea7b1bbc4ced6ccc4bcb4aea59d96918a827c75706c65626976838f9ca9b6b2a5988b7f7265555c6063676d72787f8790959fa7b1b9c2cdd6ccc3bbaea3998f82756a5f54473a2f24190d010000000005111d2a36414c566673808d99a7b1bcc8d4e3d9cec3b8ab9e9285796d6053493f33271c12070000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7a86929facb8c5cfdbe0d4c7bbafa3998b7f7265554b4034281c1004000000000005111d2935414c566875818e9ba8b4c1ced9dfd2c5b9ada196887b6e6155483b3024190d0100000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfddd0c3b6aa9d908377675d5145392c1f1306000000000000000714202d3a4753606d7a8698a2aebac6d3d7cabdb1a4978a7e7164574b3e312d3337393c3f3f444647494a4b4b4c4c4b4a494847464540403d3a39352f2d2a251f1c17110c070100000000000000000000000000000000000000000000000000000000000004101c27333d474f5456575757575757575757575757575757596673808c99a6b3bfc5b8ab9f9285796c60575757575757575757575757575764707d8a97a8b2bdc4b7ab9e918478685e5757575757575757575757575754534d453b31251a0e0200111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000040e172029323b454d575f696e7b859197a1a9b3bbc5ced4cac1b8afa59e938e80746e645c524940372d241b120900000000000000000000000000000000000000000007121c262e353b3f4045454545454545454545454545454545454545454545454545454b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b4545454545454545454545454545454545454545454545454545403f3c362e261c12080000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d99a4afbbc7d4ddd1c4b8ab9f95887c6f62564c4130261c110600000000000000000a13202d394653606c7985919eabb8c4d0d5c9bdb2a8998d807366584e43372b1f1306000000000000050f1a232b33383c3d414242434344444445404546474754606a75818e99a3afbbc6c5bbafa59e9b9ea1a9b3becabeb3a99f92867a6d61574d48484746443f454443434242413d3c38332b23190f05000000000000000000000004111d2935404b55697683909ca9b6c3cfc3b6a99d9083766a564c41362a1e1105000000000000000000000000000000000000000c17232e38424f59616e7b86929fa5afb9c3cdd5ccc4bab2aaa29f928e847d766f6a63605b536976838f9ca9b6b2a5988b7f7265585153555d60666d737c8390959fa7b1bbc5cfd7cbbfb5ab9e94887c6f62564c4135291d110400000000010d1925303b4855626e7b8895a0acb8c7d2dddfd2c6b9ada1978b7e71655b5044392e23180c020000000000000000000000000000000000000000000000000000000000000c18232e3844505b66727f8c98a2aebac7d7e1dfd2c5b9ac9f92867a6e6154473b2e23180c000000000000010d1925303e4b5865717e8b98a8b1bdc8d4e1d5c9bdb2a8988b7e7165564c4135291d11050000000000000000000000000000000000000004101d2935404b5564707d8a99a4afbbc7d4e0d6cabfb4aa998d807366554b4035291d10040000000000000006131f2c3845515c677885929fabb8c5d2d8cbbfb2a5988c7f7265594c3f3222272b2d2f2d3337393a3c3d3e3e3f3f3e3d3c3c3b3a38342e302d2c2924211e1a14100c06000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5763707d8a96a8b2bdc6baada297887b6e61554a4a4a4a4a4a4a4a4a4a4a4a54616e7a8796a1adb9c5b9ada196877a6e61544a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000050e172029333b454d575f696e7c859297a1a9b3bcc5ced3cac1b7afa59d928d80746e635b51493f362d241b120800000000000000000000000000000000000000020e19242e3840474b4d5252525252525252525252525252525252525252525252525252525865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265585252525252525252525252525252525252525252525252525252524d4c4740382e24190e0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5c0ccd7d5c9beb3a99d9083766a6054443a301e140a00000000000000000006121f2b3844505b6674818e9aa9b3becad6cec4b7ab9e9184786a6054473b2e22150a0000000000000b16212b353d44484a4e4e4f4f50505151524b515354545558616e7b87929faab4bfcac1b7afaaa8abadb3bbc4c6baada2978c8073685e565555545453504a515150504f4e4e4a48443d352b21160b0000000000000000000000010d18242f414e5b6774818e9aa7b4c1cdc5b8ab9f928578685e5246392d20140700000000000000000000000000000000000003101c28343f4a54606b75818e98a2aeb7c1cbd4ccc4bab2a8a198928a8179706b625f5853505c6976838f9ca9b6b2a5988b7f7265584c464b51545c606a6f7a8390959fa9b3becad6d1c6bdb0a69b8e8175685d5245392c20130600000000000814212e3a47535f6a7783909dabb5c0ccd7e2d6cabeb3a99d9083786c60544a4034281f1409000000000000000000000000000000000000000000000000000000000006101c2834404b54606c7884919eaab4bfcad6e2d6cabfb4aa9c8f8276685e5246392d1d1207000000000000000815212e3b4854616e7b8795a0acb8c5d1dedacfc2b5a89b8f8275685d5246392d20160b0000000000000000000000000000000000000006131f2c3945515d6774818e9babb5c0ccd7e0d3c7baaea298897d706356493d2f24180c000000000000000004101c2934404b556b7784919eaab7c4d1d9cdc0b3a69a8d8073675a4d4034271b1f202222272b2d2e2f31313232323231302f2e2d2c28232421201d1814120e0903000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e4754616d7a8796a0acb9c5beb3a9978a7e7164574b3e3e3e3e3e3e3e3e3e3e46525e697884919eabb8c4bdb2a8978a7d7064574a3e3e3e3e3e3e3e3e3e3e3e3b3a36312921170d030000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000050e172029333b454d575f6a6f7c859297a2aab3bcc5ced3c9c1b7afa59d928c80736d635b51483f362d241a110800000000000000000000000000000000000007131f2a35404a52575a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f65717e8b98a4b1becbd7e4d8cbbeb1a5988b7e72655f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5965717e8b97a2adbdc7d2ddd2c6b9ada1978a7e7164584e4332281e0c02000000000000000000030f1c28333f4a5463707d8997a2adbac6d3d2c5b9aca196887c6f6255493d32271b0f000000000004101c27333d474f54565b5b5c5c5d5d5e5e5e5f5c6060616162626974808d98a2aebac6c9c1bab6b5b8b9bec4cdc5b8ab9f92857a6d64636362626160605c5f5e5e5d5c5c5b5b56544f473d33271c10040000000000000000000000071926333f4c5966727f8c99a5b2bfd2c6baaea298877a6e6154473b2e21140800000000000000000000000000000000000006121f2c3844505c66707d89939eaab4bfc9d3cdc4bab2a8a19691867e746d676159534e46505c6976838f9ca9b6b2a5988b7f7265584c3f40454a50585f686d7a839097a2adb9c2cdd8cfc1b9ac9f92867a6d6054473a2d22170b000000000006121f2b37434e5865727f8c99a4afbbc7d4e0dacfc5b8aca0958a7e71665c51443b3025191007000000000000000000000000000000000000000000000000000000060f1a242c3845515c66717e8b96a0acbcc6d0dbe0d3c6baaea2988a7e7164564c41362a1e0b00000000000000000714202d3a46525e697784919daab7c4cfdadfd2c5b9ac9f92867a6d6154473d32271b0b020000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dddfd2c5b8ac9f9286796d6053463a2d2013070000000000000000000c18232f43505d697683909ca9b6c3cfdbcec1b4a89b8e8175685b4e4235281b121316171b1f20212224242525262524232221201f1c18171413110d07050200000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f30313131313131313131313131313946525e687784919eaab7c4c0b3a69a8d80736753493f333131313131313136424d566875828f9ba8b5c2bfb3a6998c80736653493f333131313131313131312e2d2a251f170f05000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000050e172129333c454e575f6a6f7c859298a2aab4bcc6ced2c9c0b7aea49c928c7f726d625a50483e362c231a110800000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c717e8b98a4b1becbd7e4d8cbbeb1a5988b7e726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b15222f3b4854606b7783909da9b3bed0d9d7cbc0b5ab9e9285796d6053463c3220160c00000000000000000000000b17222d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d807367584e43372b1b1106000000000714202c38444f59606367686869696a6a6b6b6c666d6d6e6e6f6f70707a85929facb8c5d2ccc6c3c1c4c6c9cfccbfb2a5998c7f72717170706f6e6e6d6d666b6b6a6a696968676360594f44382c20130700000000000000000000000a1724313d4a5764707d8a97abb5c0cccabeb3aa96897c706356493d3023160a0000000000000000000000000000000000000713202d3a4653606d7883909da5afbcc6d0cfc5bbb2a8a09691847c716c605c554f474343505c6976838f9ca9b6b2a5988b7f7265584c3f35383f444e565d686d7a85929ea6b0bbc7d3d3c7baaea3988b7e7165544a3f33281c0f0300000000020f1a26313c4754616e7b87939facb9c2cdd8e1d4c8bcb1a79e9184796d60564d42362a22190e0500000000000000000000000000000000000000000000000000040d18212a36414c56606d7984919ea8b2bdced8e2d7ccc0b5ab9f92867a6d6053473b3025190d000000000000000005121e2a36424d576774808d9aa8b2bdc9d5e0d3c7baaea3998b7e7265594f44382c1d140a000000000000000000000000000000000008131f2b37434e5864717e8a98a2aebac6d3e3d7cbbfb5ab9c8f8276675c5145382c1f1306000000000000000000071c2935424f5c6875828f9ba8b5c2cedbcfc2b6a99c8f8376695c50432e23180c06060b0f12131416171818191918171615141313100c070706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242a36414c566875818e9ba8b5c1c2b6a99c8f8376655b5044372b242424242425303f4c5966727f8c99acb6c0c2b5a99c8f8276655b5044372b242424242424242421211e1a140d0500000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000050f17212a333c454e585f6a6f7c869298a2aab4bcc6cfd2c9c0b6aea49c918b7f726d625a50483e352c23191007000000000000000000000000000000000c1926323f4b57636e737878787878787878787878787878787878787878787878787878787878787e8b98a4b1becbd7e4d8cbbeb1a5988b7e787878787878787878787878787878787878787878787878787878787878736e64584c3f3326190d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57636f7c8995a0acbbc5cfe0d3c7bbafa3998c8073665c5145382c1f1305000000000000000000000006121f2c3844515c6675818e9baab4bfcad6cec4b7ab9e9184786a605447382d22170b000000000916222f3c4854606b707475757676777777787879797a7a7b7b7c7c7d7e828f9ca9b6c2cfd7d2cfced1d2d5daccbfb3a6998c807f7e7d7d7c7c7b7b7a79797878777676757574706b6054483c2f22160900000000000000000000000915222f3c4855626f7b8899a4afbbc7d0beb1a5988b7e7265584b3f32251807000000000000000000000000000000000006131f2b37434e5864717e8b95a0acb7c1ced1c7bdb3a9a09691847b6e6a615a514b433e3743505c6976838f9ca9b6b2a5988b7f7265584c3f322e343c434c565e68717e8b949fabb7c5d0d7cbbfb4aa9b8f8275665b5044382b1f120600000000000a15202d3a46525e6975828f9ba7b1bcc7d3dfd9cec3b9aca0968b7f72695e52463f342b20170d040000000000000000000000000000000000000000000000030d16202a333c46525e68727f8b96a1acbac3cee0e0d4c7bbafa4998e8174675d514539291e14080000000000000000020e1a25303d495663707d8996a1adb9c5d2dfd7cbbfb4ab9d9083776b6054483d2f261b1106000000000000000000000000000000050e1a242e3b4754606a7683909caab4bfcad6e0d3c7bbaea3998b7e7265554b4034281c10040000000000000000010e1b2734414e5a6774818d9aa7b4c0cddad0c3b7aa9d9084776a544b4034281c1004000003050607090a0b0b0c0c0b0a0909080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013161617171717171717171717171925303f4c5965727f8c98abb5c0c5b8ab9f9285796c605346392d201717171723303d495663707c899aa4afbbc5b8ab9f9285796c605346392d20171717171717171514120e09030000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f18212a333c464e58606a6f7d869298a2aab4bcc6cfd2c8bfb6ada39b918b7f716c615a50473e352b231910070000000000000000000000000000000d1a2733404d5a66738085858585858585858585858585858585858585858585858585858585858586929facb8c5d2dfebdfd2c5b8ac9f92868585858585858585858585858585858585858585858585858585858585858073675a4d4034271a0d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a46525e6975828e9ba7b1bccdd7dfd2c5b9ac9f92867b6e61544b4034281c1004000000000000000000000004101c2834404a5464707d8a98a2aebac7d3d2c5b9aca196897c6f6253493f33271b0f030000000a1723303d4a5663707d8181828283838484858586868787888889898a8a8f949fabb7c4d0dddedcdbdedfe1dacdc1b4a89c928c8b8b8a8a8988888787868685848483838281817d7063564a3d3023170a00000000000000000000000714202d3a4753606d7a86939facb9c6cdc0b3a79a8d8074675a4d412f24180d01000000000000000000000000000000000815222e3b4754606a7683909da7b1bcc9d7cbc0b5aba19791847b6e695f5850454039313643505c6976838f9ca9b6b2a5988b7f7265584c3f322328313a434c56626c76828f9caab4becad6d1c5b8ab9f9285796c605346392d201306000000000005111e2a36424d56636f7c89959fabb7c3ced9dfd4c8bdb2a89f92857b6e615a50463c32291f160e05000000000000000000000000000000000000000000040d151f28323c46505a616e7a85929fa8b2bdccd5e0d9d0c6b9ac9f93877b6e62554b4035291d11040000000000000000000913202d394653606c7884919eabb8c3ced9dcd1c6b8ab9f95897d7063584e41382d22170b0200000000000000000000000000020b17202b37434e58626f7c89949fabbcc5d0dbdfd2c5b9ac9f92867a6d6154473a2e23180c000000000000000000000d1a2633404d596673808c99a6b3bfccd9d1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b081623303c4956636f7c8999a3afbbc6baaea298887b6e6155483b2e2215060b14212d3a4754606d7a86939facb9c6baada297887b6e6255483b2f2215070b0b0b0b0b0807050200000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000060f18212a343c464e58606a6f7d869298a3aab4bdc6cfd1c8bfb5ada39f93877e716c61594f473d352b2219100600000000000000000000000000000e1a2734414d5a6774808d92929292929292929292929292929292929292929292929292929292929298a2aebac7d3e0ece0d3c7baaea2989292929292929292929292929292929292929292929292929292929292928d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cedfd4c8bcb1a79b8e8275695e5242392e23180c000000000000000000000000000c18232e3a4753606d7986929facb8c5d1d5c9bdb2a89a8d8073655b5044372b1f12060000000d192633404c5966737f8c8e8f8f909091919192929993949495959696979c9fa6b0bbc7d3dfebe8e8ebebe9ddd0c4b9aea49c999898979696959594939992929191908f8f8e8c7f7266594c3f3326190c000000000000000000000006131f2c3845515c677884919eabb7c4cfc2b5a99c8f827669554b4035291d110400000000000000000000000000000004111d2935414c56626f7c88959fabb9c3cecec6bbafa39992857b6e695f574e463e342f273643505c6976838f9ca9b6b2a5988b7f7265584c3f32251f28313a44505a64717e8a98a2aebac6d3d3c6baada297887c6f6255493c2f2216090000000000020e1925303b4854606b7683909da7b1bcc8d4e1d9cec3baada2978f82756c62584e443b312820170e0600000000000000000000000000000000000000060d161f27313a444e58616c75828f97a2adbac4cededdd2c7beb0a69b8f8275695f53433a2f24180d0100000000000000000006121f2b3844505b6673808d9aa7b1bcc8d4e1d4c8bcb1a79c8f82766a6053493f33271d140a000000000000000000000000000a141d29323b47535f6a75828e9ba6b0bbced7e2d6cabeb4aa9c8f8275685e5246392d1d1207000000000000000000000c1825323f4b5865727e8b98a5b1becbd8d2c6b9ada29786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5beb3aa978a7e7164574b3e2d22170b0613202c3945515d677784919daab7c4beb3a9978a7e7164574b3e2e23180c00000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000060f18222a343d464e58606b707d869298a3abb5bdc7cfd1c7bfbbafa49992877e716b61594f473d342b22180f06000000000000000000000000000e1a2734414d5a6774808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa2aab4bfcad6e2efe2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3afbbc7d3ded1c5b8aca095897c7063574d4230271d12070000000000000000000000000007131f2c3945515d6775828f9babb5bfcbd7cec4b7ab9e9184786c605346392d22170b0000000d192633404c5966737f8c999b9c9c9d9d9e9e9f9fa3a0a1a1a2a2a3a3a4a9abb0b8c2cdd8e4eff5f4f7f8ede1d5cabfb6aea8a6a5a4a4a3a3a2a1a1aba39f9e9e9d9d9c9c998c7f7266594c3f3326190c000000000000000000000004101c2934404b556976828f9ca9b5c2cfc4b7ab9e918478675d5145392c2013060000000000000000000000000000000613202c3945525d6874818e9aa7b1bcc4ccc6bcb0a69f92877d70695e574d453c332923293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225161f29323e4753606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e3125180b00000000000009141f2c38434f5964707d8a95a0acb8c1cfd8e0d6cabeb3a99e948b7e716a60564c433a32292017110a02000000000000000000000000000000030910181f283139434c565f6a717e8a939ea9b3beccd6e0d8ccc0b6ac9f94897c6f63574d4231281d130700000000000000000000030f1c28333f4a54626f7c8895a0acb8c4cfdad8cdc3b7aa9f94897c6f655b50443b2f261c1107010000000000000000000007111b262f3b44505a626f7c87939facb9c2cddfdfd3c6baaea2988a7e7164564c41362a1d0b00000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7d6cabeb3a994877b6e6154483b2e211508060606060606060606060606060606060606060606060606060606060606060606060606060606040402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677783909daab7c3c0b3a69a8d80736753493f33271b0f04111d2935414c556874818e9ba7b4c1c0b3a79a8d807467544b4034281c1004000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000061018222b343d464f59606b707d869299a3abb5bdc7d0d7ccc0b5aba39992877d706b60594f463d342a21180f060000000000000000000000000e1a2734414d5a6774808d9aa7abababababababababababababababababababababababababababacaeb4bcc6d0dbe7f3e7dbd0c6bcb4aeacabababababababababababababababababababababababababababa79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb5c0cbd7d6cabeb3a99d9083776b6054453b301e150b000000000000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d2c5b9ada196897c6f6253493f33271b0f0300000d192633404c5966737f8c99a6a9a9aaaaaaababacafb5adaeaeafafb0b0b6b7bbc2cad4dee9f4fffffffdf2e6dcd1c8bfb9b4b3b2b1b0b0afafaeaeb4aeacababaaa9a9a5998c7f7266594c3f3326190c0000000000000000000000000c18232f414e5a6774818d9aa7b4c0cdc5b9ada196867a6d6053473a2d2014070000000000000000000000000000000714212d3a4754606d7a85929fa4adb2bac1bfb4aa9e948c7f726b60574d453b332a2118293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251917202c3945515d6775828f9ba8b5c2cedbd0bfb3a6998c807366594d4033261a0d000000000000020f1b27323d4653606c7884919da6b0bdc6d1dcdbd0c5bbb0a69f92867c6f685e564c443b3228221c140b0a04010000000000000000000004090e151a222a313a434b555d686e7c86929fa5afbbc5d0deddd4c8bbafa49a9083766b6054453c311f160c0100000000000000000000000b17222d3847535f6a7783909da9b3bec9d5dfd3c7bbb0a69d9083786c60564d42382d2218120b0300000000000000030b1218222d38414c56616c76828f99a4afbbc7d4e0d7cbc0b5ab9f9285796d6053473a3025190d00000000000000000000000a1623303d495663707c8996a3afbcd1dcdbcfbcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121211100e0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aa7b4c1c2b6a99c8f8376655b5044372b1f12050d19242f3f4b5865727e8b98aab4bfc3b6a99d908376665c5145382c1f1306000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000071019222b343d474f59606b707d879299a3abb5bdc7d0d2c7bdb5aba39992867d706b60584e463c332a21180f0500000000000000000000000e1a2734414d5a6774808d9aa7b3b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8babfc6ced8e2edf8ede2d8cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc7d1cecec6baada2978b7e7265594f4433291f0c030000000000000000000000000000000c18242f3a4754606d7a86929facb9c5d2cec9bdb2a89a8d8073655b5044372b1f120600000d192633404c5966737f8c99a6b2b6b6b7b7b8b8b9bbc0babbbbbcbcbdbdc2c4c7cdd4dce6f0fbfffffffff8ede3dad1cac4c1bfbebebdbdbcbbbbbabfbab9b8b7b7b6b2a5998c7f7266594c3f3326190c000000000000000000000000071926323f4c5965727f8c98a5b2bfcbc9bdb2a895887c6f6255493c2f2216090000000000000000000000000000000815222e3b4855616e7b848d929ea1a8afb9baaea3988f82756d62594f453b332921181d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519101d2935404b556773808d9aa6b3c0cdd9cec1b4a89b8e8175685b4e4235281b0f000000000000000a161f2b3744505b65707d8a949eabb5bfcbd7e1d7cdc1baaea29891847a6e685d564c443d332d261d1b15110d0707050100010507070c10151a20262b343c434c555d676d7a849198a2aeb7c1cdd7e0d6cabfb4aa9f93877c6f62594f43332a1f0d0400000000000000000000000006111c2b37434e5865717e8b97a1adb9c6d0dbd8ccc2b8ab9f958b7e71695e544a3f3329231d150d0a06040104060a0c151c2328333f49535e68717e8a949fabb5c0ccd7e0d3c7bbafa3998d8073675d514539281e130800000000000000000000000815222f3b4855626e7b8895abb5bfcbd7d6cabdb0a3978a7d7064574a3d31241f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1d1b17110b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3e4b5865717e8b98aab4bfc5b8ab9f9285796c605346392d2013060816222f3c4955626f7c8898a3aebac5b9ac9f9286796d6053463a2d201307000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000071019222b353d474f59616b707e879299a3abb5bec7d2d0c7bdb5aba39892867d6f6a60584e453c332a21170e05000000000000000000000e1a2734414d5a6774808d9aa7b3c0c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cad0d8e0eae3e3e3eae0d8d0cac7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7683909da9b3bec1c1c1c1c0b6ac9f9285796d6053473d3220170d000000000000000000000000000000000713202c3945525d6876828f9cabb5c0c1c1c1c1b7ab9e9184786c605346392d22170b00000d192633404c5966737f8c99a6b2bfc2c2c3c4c4c5c5c7cbd0c7c8c9c9cacfd0d3d8dee6eef8fffffffffffdf3eae1dad3cecbcac8c7d1cbc7c5c5c4c4c3c3c2c2c1bfb2a5998c7f7266594c3f3326190c0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfcfbdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000714212d3a46535f696e79808991969da5adb2a89f92867b6e615b51473d332921170f1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c18242f3f4c5965727f8c98a5b2bfcbd8cfc2b5a99c8f8276695c4f4336291c1000000000000000030f1b27333f4953616b75828f99a3aebbc3cfd8dfd6cabfb4aaa19690837a6d685e564f443f382f2b26201d181413110d080d111314181d1f262b31373e464e565d676d79828f96a0aab4bec9d3dfd7cec5baaea2988e81746a6054463d3221180e00000000000000000000000000000f1b26323c4653606d7985919eaab4bfcad6ded4c7bcb1a79e92857b6e665b50443f342f271f1b1413110d1013131b1e272e343f44505b656e7a85929ea6b0bdc7d2ddd8cec5b9ac9f92867b6e61554b4035291d100400000000000000000000000714212e3a4754616d7a8799a3aebbc7d3d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27221d160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6baaea298887b6e6155483b2e2215060713202d3a4653606d7986929facb9c5baaea398887c6f6255493c2f221608000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000071019232b353d474f59616c717e879299a4acb6c0ccd8cfc6bdb4aaa29892867c6f6a5f574e453b332920170e050000000000000000000e1a2734414d5a6774808d9aa7b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d6dbd6d6d6d6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfd6d2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c89959fabb4b4b4b4b4b4b4afa49a8d8074675d5145392c2013050000000000000000000000000000000004111d2935414c5665727e8b99a4afb4b4b4b4b4b4ada196897c6f6353493f33271b0f03000d192633404c5966737f8c99a6b2b5b5b6b6b7b7b8b8babfbabbbbbcbcbdc2c4c7cdd4dce6f0fbfffffffff6ebe1d8cfc8c2bebdbbbbbabfbab9b8b8b7b7b6b6b5b5b4b2a5998c7f7266594c3f3326190c0000000000000000000000000915222f3c4855626f7b8895a9b3becaccbfb2a6998c7f7366594c403326190700000000000000000000000000000005121e2a36424d575f676d747d848e939ea1a9a1968c7f73695f53493f352b21170f101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519071825313e4b5864717e8b97a4b1becad7cfc3b6a99c908376695d5043362a1d1000000000000000000b17222d38414f59626e7b87929fa8b2bdc6d1dcdbd0c6bcb2a89f9590837a6e686059504a423d37322c292421201e191d191e202124292c31373c424750585f686d79828f949fa8b2bcc5d0dbdbd0c5bcb1a79f92867b6e61584e43342b210f0600000000000000000000000000000a151f2c3845515c67737f8c98a2aebac4cfdad8cdc2b9ada1978f82786c605b51454039312c2720201d181c1f20272b30394044515b606c77828f97a1adb8c2d0d9dcd0c6bcafa59b8e8175695e5343392f24180c0000000000000000000000000613202d394653606c7986929facb9c5d2d9ccbfb2a6998c7f7366594c40393939393939393939393939393939393939393939393939393939393939393939393939393939393939393736332e2720170e040000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5beb3aa978a7e7164574b3e2d22170b06131f2c3845515c667683909da9b6c3bfb4aa988b7e7265584b3f2f24190d010000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000071119232c353e47505a616c717e87939aa4afbbbfc7d1cfc6bcb4aaa29892857c6f6a5f574d453b322920160d0400000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3c9c9c9c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874818e9ba7a8a8a8a8a8a8a8a8a89f93877b6e61554b4035291d100400000000000000000000000000000000010d19242f3b4754616e7a86939fa8a8a8a8a8a8a8a8a89a8d8074655b5044372b1f1205000d192633404c5966737f8c99a6a7a8a8a9a9aaababacaeb4adaeafafb0b0b6b7bbc2cad4dee9f4fffffffbf0e4dacfc6bdb7b2b0aeaeadb4aeacababaaaaa9a9a8a8a7a7a5998c7f7266594c3f3326190c0000000000000000000000000714212d3a4754606d7a8797a2adbac6cec1b4a79b8e8174685b4e412f24180c000000000000000000000000000000020e1a26313b454d555d606b707a818a91979e9e9184796d60574d42372d23190f05101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c1926323f4c5965727f8c98a5b2bfcbd8d0c3b6aa9d9083776a5d5044372a1d11000000000000000006111b262f3e47535f6a73808d96a0abb5bfcbd7ddd8cec4bab1a79f9590837a6f6b605b544e47433c39352f2e2d2a252a252a2d2e2f35383c42474e535a616a6f7a828f949fa6b0bac3ced7ddd6cabfb4aa9f958c7f72685e52463d3222190f00000000000000000000000000000004101c2834404b55616d7a86929fa8b2bdc9d5e0d5c9beb3a99f948d80736d635b514b433d38322d2c2924282c2d32373d424a515b626d73808c949fa9b3becad4e2d6cbbfb4aa9e93887c6f62574d4231271d120700000000000000000000000005121f2b3744505b657885919eabb8c4d1dacdc0b4a79a8d8174675a4e454545454545454545454545454545454545454545454545454545454545454545454545454545454545454544433f39322920160b00000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3c0b3a69a8d80736753493f33271b0f04101c2834404b546774808d9aa7b3c0c1b4a79b8e817468554c4135291d11040000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d6d6cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000007111a232c353e48505a616c717e88939fa3adb5bfc8d1cfc6bcb3aaa29792857c6e695f574d443b322820160d04000000000000000e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6bdbdbdbdbdb8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929b9b9b9b9b9b9b9b9b9b9b9b8f8276695f5343392f24180d0100000000000000000000000000000000000814202d3946525e687683909b9b9b9b9b9b9b9b9b9b9b9184786c605346392d201306000d192633404c5966737f8c999a9a9b9c9c9d9d9e9e9fa3aaa1a1a2a2a3a4a9abb0b8c2cdd8e4eff4f4f8f9eadfd3c8bdb4aca6a4a2a1a1a0a39f9f9e9e9d9d9c9c9b9b9a9a998c7f7266594c3f3326190c0000000000000000000000000613202c3945515d677885929fabb8c5cfc3b6a99c90837669554b4035291d100400000000000000000000000000000009141f2a333b434b515960686d747d858e93988b7f72675c51453b31251b110700101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190f1b27333f49536673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d100000000000000000000a141d2b37424e57606d79849199a3aebbc2cbd5dfd6ccc2b9b1a79f9590847d726c666058534e4745413d3a393630373036393a3d4045474d53575f626c717c848f949fa6b0b8c2ccd5ded4cbc2baaea2989083786d60564d41342b201007000000000000000000000000000000000c18232e3946525e6873808c96a1adb9c2ced7dacfc5bbb0a69c928c7f726d605c554f48433d3a39352f34383a3c43474f545c606d727f8b929ca6b0bbc5cfdcd9d0c7baaea3988e81756a5f53453b311f150b01000000000000000000000000030f1b27333f49536a7783909daab6c3d0dbcec2b5a89b8f8275685c525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252514f4a443b32271d1106000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0c2b6a99c8f8376655b5044372b1f12050c18232e3e4b5764717e8a97a9b3bec4b7aa9d918477675d5145392c2013060000000000000000000000000000111e2b3744515e6a7784919daab7c4c9c9c9c9beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000008111a232c363e48505a626c727f8b919ba3adb6bfc8c9cec5bcb3a9a19791847b6e695e564c443a32281f160c010000000000000e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b0b0b0b0b0b0b0ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c8e8e8e8e8e8e8e8e8e8e8e8e8e8a7d7063574d4231281d120700000000000000000000000000000000000005111e2a36414c5665727f8c8e8e8e8e8e8e8e8e8e8e8e8e897c6f6356493c30231609000d192633404c5966737f8c8d8d8e8e8f8f909191929298939494959696979c9fa6b0bbc7d3dfeae8e7ecece6dacec2b7aca29a9795949493999292919190908f8f8e8e8d8d8c8c7f7266594c3f3326190c00000000000000000000000004111d2935414c556a7783909daab6c3d0c4b8ab9e918578675d5145382c1f1306000000000000000000000000000000030e18212a313940454f565d606c707a818a92857a6d60554b4033291f13090003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519121f2b3744505b6575818e9ba8b4c1cedbcec2b5a89b8f8275685c4f4235291c0f000000000000000000020b1a26313c45515d676f7c87929fa6b0b9c3cdd6ded4cbc2b9b1a7a09691877f786f6a625f5854514b4a4746414443444146474a4b5153575f616a6e767e8691969fa6b0b8c2cad4ded5ccc2b9afa59f92867b6e665c50443b3022190f000000000000000000000000000000000007121d2935414c56606d7984919ea7b1bcc6d0dbd7cdc2b8aea49c918c7f746d676059544e4947454043404546494e545960666d747f88939fa4aeb8c2cdd6ddd2c7beb2a99f92867b6e61584e4333291f0d0300000000000000000000000000000b17222d434f5c6976828f9ca9b5c2cfdcd0c3b6a99d9083766a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5b554d44392e22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3e4a5764717d8a97a9b3bec5b8ab9f9285796c605346392d2013060715222f3b4855626e7b8897a2adbac6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000111e2b3744515e6a7784919daab7bdbdbdbdbdbdb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008111a242c363e48505a626d727f8b919ca3adb6bdbdbdbdbdbbb3a9a19691847b6e685e564c443a31281d13070000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8174675a4e4134271b0e00101d2a3643505d697683909ca3a3a3a3a3a3a3a3a39f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a677380818181818181818181818181818181786c6053463c3120160c01000000000000000000000000000000000000020e1925303b4854616e7b81818181818181818181818181817e7164574a3e3124170b000916232f3c4956626f7c7f8080818282838384848585868787888889898a8f949fabb7c4d0dddedbdadfe0e3d7cbbeb2a69a908a8888878786868585848483838282818180807f7c6f6256493c2f231609000000000000000000000000010d19242f424f5b6875828e9ba8b5c1cec6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000060f181f282f353d434c525a61686d757e858074675d5143392f21170d010003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251919202d394653606c7885929eabb8c5d1dacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000915202935404b555f6a727f8c949fa7b1bbc4ced7ddd4cbc3b9b1a9a199928c837c756f6a64605d555654524c5150514c525456555d6064696e747b828b9298a0a8b0b8c2cad4dcd6cdc3bab1a79e938b7e71695f544a3f32291f10070000000000000000000000000000000000000d1925303a45515d67717e8a959faab4bfcad6ded4cac0b6ada39b918c8179706b6260585653514b504b5153565860626b6f78818b939aa4afb6bfcad4dfd8ccc0b6aca1968c8073695e53463c3221170d000000000000000000000000000000061b2835414e5b6874818e9ba7b4c1cedad1c4b7ab9e9184786c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000615212e3b4854616e7b8797a1adb9c6baaea298887b6e6255483b2f2215060613202d394653606c7985929fabb8c5bbafa49a897c706356493d302316090000000000000000000000000000111e2b3744515e6a7784919daab0b0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00000000000000000000000000000000000008121a242d363f48515b626d727f8c919ca4aeb0b0b0b0b0b0b0b2a9a19691847a6e685e564c433a2f24180d0100000000000e1a2734414d5a6774808d9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968d8174675a4e4134271b0e00101d2a3643505d6976839096969696969696969696969285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737575757575757575757575757575746c665b5044382b1f120400000000000000000000000000000000000000000814212d3a46535e696e7575757575757575757575757575716c6155493c3023170a000815222e3b4754606a6f727374747575767677787879797a7a7b7c7c7d7e828f9ca9b6c2cfd6d2cfcdd2d3d7dccabdb0a4978a7e7b7b7a7a7979787877777676757574747373726f6a6054473b2e22150800000000000000000000000000081a2734404d5a6773808d9aa6b3c0cdc8bbafa49a887b6e6255483b2f2215080000000000000000000000000000000000060d161d2429313a414550565e616c717a7b6e61554c4131271d0f06000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251a232a36424d57626f7c8997a1adb9c6d2d9ccbfb3a6998c807366594d4033261a0d00000000000000000000030d18242f39434e58606c77828f95a0a9b2bcc5ced6ddd4cbc3bbb2aba39f959087817c76716d676563615e565d5d5d565e616365676d70757b81868f949fa2aab2bac2cad4dcd6cdc4bbb2a89f958e81756c62574d42382e20170d0000000000000000000000000000000000000008131e2935404b55606c77839098a2aebac1ccd5dcd1c8bfb5ada39b938e837d756f6a6663605d555d555c6063666a6f757c838e939fa4acb6c0c8d1dcd7cdc5bbafa49a9184796d60574d42342a200f050000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d2c5b9ac9f92867978787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787771675b4f43362a1d100400000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8bdbeb3aa978a7e7164574b3e2d22170b05121f2b3744505b6576828f9ca9b5bdc0b6ac998c7f7266594c3f3025190e0200000000000000000000000000111e2b3744515e6a7784919da3a3a3a3a3a3a3a3a3a3988b7e7265584b3f3225180c0000000000000000000000000000000000000008121b242d363f49515b636d737f8c929ca4a3a3a3a3a3a3a3a3a3a8a09690837a6d685d554b4035291d110400000000000e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675a4e4134271b0e00101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a86796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c6467686868686868686868686868686867605b544a3f33281c0f03000000000000000000000000000000000000000005121e2a36424d575e61686868686868686868686868686864615a5045392d2114080006131f2b37434e586062666667676869696a6a6b6b666d6d6e6e6f6f707a85929facb8c5d2cbc6c2c1c5c7cbd1cdc1b4a79a8e81746e6e6d6d666c6b6b6a6a69696868676766666260584e43372b1f1306000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbccc0b6ac968a7d7063574a3d3024170a000000000000000000000000000000000000040c12181f282f353e444c525a61686e6e695e53433a2f1f150b00000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225232c353d46535f6974818d9aa9b3bec9d5d6cbbfb4aa988b7e7265584b3f3225180c000000000000000000000007121d28313c44505b656d7a839196a1aab3bcc4cdd5ddd5cdc4bdb5aea7a099938e88827e7a7572706d686b6a6a6a6b686d707275797d82878d92999fa6aeb4bcc3ccd4dcd5ccc4bbb3a9a0969083796d605a50453b30261c0e0500000000000000000000000000000000000000020c18242f3944505b656e7b86929fa5afbac3ccd6dad1c7bfb5ada59e959089817c7773706d676a6a6a676d6f72777c818790959da5afb6bec7d2dad7cec5bbb1a79f93887d70675d51453b3122180e000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d3c7baaea3998985858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858583776a5e5144372b1e1104000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b0b0b0b0a69a8d80736753493f33271b0f030f1b27333f49536673808c99a6b0b0b0b0a89b8f827568564d42362a1e110500000000000000000000000000111e2b3744515e6a7784919696969696969696969696968b7e7265584b3f3225180c000000000000000000000000000000000000000009121b242d373f49515b636d73808c92969696969696969696969696969590837a6d675d5145392c20130600000000000815222f3b4855626e7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6f6255483c2f22150900091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2a36404a52585a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504a42382d22170b000000000000000000000000000000000000000000020e1a25313b454d53545b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e33281c110500030f1b27323d464e5456595a5a5b5b5c5c5d5e5e5f5c60606161626974808d98a2aebac6c9c0bab6b4b9babfc6cfc5b9ac9f92877b6e6160605c5f5e5e5d5d5c5c5b5b5a5a595956544e463d32271b0f03000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000001070d161e2429323a414650565e61615e574d4231281e0d0300000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a353e47515b616e7b86929facb9c5cfdad3c7baaea398897d7063564a3d3023170a0000000000000000000000010c161f27333f49535d686e7b849198a2aab3bbc3ccd7dcd6cfc6bfbbb1aba49f9b948f8a86827f7d7a787877767778787a7d7f82858a8f93999fa3abb0babfc5ced5dcd6cbc3bab2a9a19791847a6d675d51483e332a1e150a00000000000000000000000000000000000000000007121d27333f49535f69717e8b939ea8b1bac4cdd7d9d1c7bfb7afa7a09d938e89837f7c7a7877767778797c7f83888e939aa0a7afbbc0c7d0d9d8cfc6bcb3a9a0958d80736b60554b4033291f1006000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d7cbbfb4aba29792929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000020e1a2531404c5966737f8c99a3a3a3a3a3a39c8f8376655b5044372b1f12050b17222d3d4a5764707d8a97a8a3a3a3a3a39e918478695e52463a2d20140700000000000000000000000000111e2b3744515e6a77848a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7265584b3f3225180c00000000000000000000000000000000000000000009121b252d373f49515b636e7380898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a837a6d6053473a2d20140700000000000814212e3a47535f6a6e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473a2e211508000915222f3b4854606b6f70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e19242e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261c11060000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49453e362c22170c0000000a16202b343d4347494c4d4d4e4f4f505051514a5053545458616e7b87929faab4bfcac0b7afa9a7acaeb4bcc6c7bbafa3998e81746a5f53504a52515150504f4f4e4e4d4d4c4947433d342b20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000040c1319202830363e444d525454534d453b311f160c0000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f475059626d75818e99a3aebbc7d6dfd2c5b8ac9f92867a6d6053473a2d201407000000000000000000000000040d17222d38414c565e696f7c869298a1a9b2bac2cbd1d9d8d1cbc3bdb5afaca69f9c98928f8c89878584848384848587898c8f92989b9fa4abaeb4bdc2cad0d7d8d0cbc1b9b1a8a09791857b6e685e554b40362d21180c03000000000000000000000000000000000000000000010b17222d38414d57626c75818e95a0a8b2bbc5cdd6d9d1c9c1b9b1aca59e9b95908c8986858483848586898c90959b9fa4acb1b9c0ccd2d9d7cfc6bdb4aaa1979083796d60594f43392f21170d00000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dcd1c6bdb3a9a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000091724303d4a5763707d8a96969696969696969285796c605346392d2013060614212e3b4754616e7a87969696969696969696877a6e6154473b2e211408000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e2115080000000000000000000000000000000000000000000009131b252d374049525c636e737d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000006121f2b37434e585f626363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f12060007131f2c38434f596063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121c262e363b3f404242424242424242424242424242413938332d261d140a0000000000000000000000000000000000000000000000030d17212931363a3b42424242424242424242424242423e3c39332c241a1005000000040f19222b32373b3c3f4041414242434344453f44464754606a75818e99a3afbcc6c3b9afa59d9a9fa3aab4bfcbc0b5ab9f92877b6e62584e4345444443434242414140403f3c3b37322b22190f0400000000000000000000000000000916222f3c4955626f7c8895a2afbbc8cdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000001080e161e252a323b4146474846423b33291f0d040000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f343b4246515a616b727f8b939eabb5bfcbd7dccfc2b5a99c8f8276675d5145392c1f13060000000000000000000000000006111b262f3a444d575f6a6f7d869197a0a8b0bbc0c7cfd7dcd7d0c7c0bbb9b0abaaa39f9c989698929190909091929896989b9fa2aaacafb5babfc6cfd6dbd6cec6bfbab0a7a09691857c6f695f564c43392f241b0f06000000000000000000000000000000000000000000000006111b262f3c45505a606d7a839196a1a9b3bbc4ccd7ddd2cbc3bcb8afaaa7a09d99999392919091929299999d9fa7acafb6bec3cbd8ddd5cdc5bdb4aba29892857b6e665c51473d31281d0f0500000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd0dbe2d8cfc5bcb3adabababababababababababababababababababababababababababababababababababababababababababababab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a878a8a8a8a8a8a8a8a8a887b6e6255483b2f2215080714202d3946525e6878848a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a000000000000000000000000000916222f3b4854606b7070707070707070707070707070706e695e53463a2d211407000000000000000000000000000000000000000000000009131c252e37404a525c636b7070707070707070707070707070707070706e695f53463a2d2114070000000000020f1a26313c464e5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c31261b0f0300030f1b27323d464f54565757575757575757575757575756554f473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242a2f33343535353535353535353535353535342d2b28221c140b02000000000000000000000000000000000000000000000000050f171f252a2d2e353535353535353535353535353531302d28221a1208000000000007101920272b2e2f3333343435363637372e3438424f59626f7c87939fabb5c0c7beb1a79d938e9298a3aebac4c7bbafa3998e81756a5f53473d32373736363535343433332f2e2b27201910070000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000000000000000000050c131920293036393b3b3a36312921170d000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3f444d525b626c707d87929fa5afbdc6d1dcd4c8bcb1a7988b7f7265554b4035291d100400000000000000000000000000000a141d28323b454e58606b6f7c8591969fa6afb5bdc4cbd1d8d9d2ccc7c2bbb7b4aeaca8a5aaa29f9e9d9d9d9e9fa2aaa5a8acaeb4b9bbc0c7cbd1d8d7d0cac3bcb4aea69e9590847b6f6a5f574d443a31271d1209000000000000000000000000000000000000000000000000000a141d2a333f45525d686e7b849197a2a9b2bac2ccd2d9d5cec8c1bab6b1acaaaba49f9e9d9d9d9e9fa3abaaabb1b9bbc0c7d0d5dad5ccc4bbb3aba39992867c6f695f544b40352c1f160c0000000000000000000000000000000000000815212e3b4854616e7b8794a9b3becad6e2e1d7cec5bebab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68707d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e21140705111e2a36414d56626f7c7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000000000000000000000713202c38444f5960636363636363636363636363636363615e574d42362a1e12050000000000000000000000000000000000000000000000010a131c252e37404a525960636363636363636363636363636363636363615f574d42362a1e12050000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a0000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a12191f232627282828282828282828282828282828201f1c17110a020000000000000000000000000000000000000000000000000000050d141a1e212128282828282828282828282828282423211c17100800000000000000070f161b1f2223262727282829292a2b28333f4a54616b76828f9aa4afbdc7c0b6aca0958e8186929fa8b2bdc9c0b5ab9f93877c6f62584e43372b2a292928282727262623221f1b150f07000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000002080e171f252a2d2e2e2d2a251f170f05000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c444a50575e616d727e869299a3aeb7c1cfd8dbd1c4b8ab9f95887b6e6255483b2f24180c000000000000000000000000000000020b162029333c464f59606a6f7b848f949fa3abb2babfc6ccd2d7d7d4ccc7c6bfbab9b5b2b4aeababaaa9aaababaeb4b2b5b8babfc6c7ccd2d7d7d2ccc5bfbab1aaa39f948f837a6e695f584e453b32281f150b0000000000000000000000000000000000000000000000000000020b18212935414c565e696f7c859297a0a8b1bbc0c7d0d6d9d4ccc6c3bcb8b7b5afacabaaa9aaabacafb5b6b8bcc3c8ccd2d9d7cfc9c1bab2a9a29992877d706a60574d42392e231a0d040000000000000000000000000000000000000713202d3a4653606d798697a2adbac6d3dfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c4b7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56606b70707070707070707070706d685e5246392d201307020e1925303b4854606a6f707070707070707070706e695f53463a2d2114070000000000000000000000000004101b27323d474f5456575757575757575757575757575754534d453b31251a0e02000000000000000000000000000000000000000000000000010a131c252e3840474f5456575757575757575757575757575757575755534d453b31261a0e02000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000000040a0f131516191a1a1b1c1c1d161f2b3844505b66707d89949facb6c0c8bbafa49a918379808c96a0acb9c1c7bbafa49a8f82756a6054473d32271b1c1c1b1b1a1a191615130f0a0400000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000050d14191e202121211e1a140d0500000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584950545c60696e757f879298a2abb5bfc9d3ded3c7bbb0a69d908376695f53473a2e1d120700000000000000000000000000000000040d17212a343d474f585f696e7a828c9299a0a8aeb4bbc0c7cbd1d5d8d3d1cbc7c5c2bfbebab8b7b7b6b7b7b8babebfc2c5c6cad0d4d7d5d1cbc7c0bbb4aea7a098928b82796e685f574e463c332920160d03000000000000000000000000000000000000000000000000000000060f1924303a444d575f6a6f7d8591969fa7afb5bdc3cad0d5d7d2cec8c5c3c0bbb9b8b7b6b7b8b9bbc0c3c4c8cdd4d8d6d1cbc4beb9afa8a09792877e716b60584e453c30271d11080000000000000000000000000000000000000006131f2c3845515c667885929fabb8c5d2d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1c4b7ab9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444f59606363636363636363636363615e564c41362a1d11050008141f2c38434e58606263636363636363636363615f574d42362a1e120500000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000000000000000000000000010a131c262e353d44484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000060f1820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b2620181006000000000007101921272c2f3030303030303030303030303030302f2c27211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070b0d0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e060603000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000000030608090c0d0e0e0f08131e2834404b54606c7883909da6b0bec7beb2a99f93887c6f7984919ea5afbcc5c0b6ac9e93897c6f62594f43382c21160b0e0e0d0d0c09080603000000000000000000000000000001040607090915222f3b4855626e7b8895a1aebbc8d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000000000000000000000000002080e1114141514120e09030000000000000003101d293643505c6976838f9ca9b6b2a5988b7f726558535b60666d727b828b9399a2aab4bdc6d1dbd5ccc3b7ab9f94897d7063574d42372b1e0b010000000000000000000000000000000000050f18222b353d464e575f686d787f8791969fa3aaafb6bbc0c7c9cfd2d5d7d3d2cfd0cac6c5c4c3c3c3c4c5c6cad0ced2d3d6d5d2cec9c6bfbab5afaaa29f9590867f756d675e564d453c342a21170e04000000000000000000000000000000000000000000000000000000000008131e28323b454e58606b6f7c8490959fa4abb2babec5c9cfd3d7d4d1d2ccc7c6c5c4c3c4c5c5c7cbd1d1d4d7d4d0cac6bfbab3ada59e9691857d716c61594f463d332a1e150b000000000000000000000000000000000000000004101c2834404b546a7784919daab7c4c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c4b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f55565757575757575757575754524c443a3025190d0100020f1b27323d464e54565757575757575757575755534d453b31261a0e020000000000000000000000000000040f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d03000000000000000000000000000000000000000000000000000000010a141c232b33383c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921180d03000000000000000000060e151a1f2122242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e0600000000000000070f161b1f2223242424242424242424242424242323201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010d19242f3845515c66717e8a95a0acb8c2c5b9ada1978d80746b707d8a939eaab4bfc7beafa59c8f82766b6054483d32271c1005010100000000000000000000000000000000000001070d111314151516232f3c4956626f7c8995a2afbcc8d0c4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000020507080807050200000000000000000104071d293643505c6976838f9ca9b6b2a5988b7f72655c60656c71787e858f949fa4abb4bcc6cfd8d7cec3baafa59c8f82766b6054453c31261a0e00000000000000000000000000000000000000061019232b343c454d565e666c737c848d92989fa4acafb5b9bec4c5c9cfd1d2d4d7d6d3d2d1d0d0d0d1d2d3d6d7d3d2d0cec9c5c4bdb9b4aeaba49f98928c837c726d605d554c443b332a22180f06000000000000000000000000000000000000000000000000000000000000020c162029333c464f59606a6e7a838d9399a0a8adb3b9bec5c7cbd1d2d4d7d4d2d1d0d0d0d1d2d3d7d5d2d2ccc7c6bfbab4aea9a19e938e847b706b615a50473d342b21180c030000000000000000000000000000000000000000000c18232e43505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202c353d44484a4a4a4a4a4a4a4a4a4a4a4746413a32291e13080000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000007111921272c2f3030303030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000020a111921272c2f3030303030303030303030303030303030302e2d2a261f180f060000000000000000000000030a0f12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171515120f0a04000000000000000000040a0f13151617171717171717171717171717171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090b0c0c0d0d0e0e0e0c0b09060100000000000000000000000000000000000000000000000000000004111d2935414c55606d7984919ea7b1bcc5bcb0a69e91847a6d606b75828f98a2aebac3c1b7aa9e94897c6f63594f44382c21160b00000000000000000000000000000000000000040c13181d202122222223313d4a5764707d8a97a3b0bdcad0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111318293643505c6976838f9ca9b6b2a5988b7f7265676d71787e848b92979ea6afb5bdc6ced8d9d0c5bcb2a89e93897c6f63594f44332a2015090000000000000000000000000000000000000000071119222a333b444c545b606a6f7980868e939a9fa3abadb3b7b9bdc2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c1bdb9b7b2acaba39f99938e867f796f6a625b514c433b322a211810060000000000000000000000000000000000000000000000000000000000000000040e17212a343d464f575f686d79808791969fa2a9adb3b9babfc4c6c7ccd2cdcdcecfcececdcccec9c5c4c0bbb9b4aeaaa39f97918a817a6e69605950483e352c22190f0600000000000000000000000000000000000000000000071c2935424f5c6875828f9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33383c3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c02000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3b3a36312921180d030000000000000000000000000000000000070f161b202223242424242424242424242424242421211e1a140d050000000000000000000000000000000000000000000000000000000000000000080f161c202223242424242424242424242424242424242422211e1a140d060000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707070c10131415161718191a1a1b1b1b191815120d0600000000000000000000000000000000000000000000000000030e18212c3945515d67727f8b96a1acb9c3beb4aa9e938a7e71685d616e7b86929fa7b1bec7bbb0a69c8f82766b6054483e33281c0b020000000000000000000000000000000000040d161d24292c2d2f2f2f2f36424d576673808c99a6b3bfcccfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d2024293643505c6976838f9ca9b6b2a5988b7f726e73797e838a91969fa2a9b0bbc0c7d0d8d8d0c7bdb3a9a0968e81756b6054473d3321180e030000000000000000000000000000000000000000000710182129323a424a505860676d737b81878f92999ea1a9abadb2b5b7b9bbc0bfbfc0c1c2c2c1c1c0bfbfc0bbb9b7b5b2acaaa8a19e99928e87817a736d675f585145413a312920180f0600000000000000000000000000000000000000000000000000000000000000000000050f18222b343d454e565e676d737c848c92979ea1a9acaeb4b7b9bbc0bfc0c1c1c2c2c1c0bfbebdb9b7b5afacaaa29f98928d857d756d685f574f473e362c231a100700000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30303030303030303030302e2d2a251e170e05000000000007101921272c2e2f303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000040b1013161617171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000050b1013161717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d11131417181c1f20222324252626272727282524221e1811090100000000000000000000000000000000000000000000000915202a36414d56606d7a85929ea8b2bdc7baaea2988f82756c61565e69727f8c95a0acb6c0c2b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000010c161f282f35393a3c3c3c3c4046535f6976838f9ca9b6c2cfcec1b4a89b8e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12181c1f24292c2f353843505c6976838f9ca9b6b2a5988b7f767b80858b90959ea0a8adb3bcc1ccd2d9d6cec6bdb5aba2979184796d60594f43352b210f060000000000000000000000000000000000000000000000060f1720292f383f444e555d60696e757c82878c91979a9ea1a8a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a09e9a96918c86817c746e68605c554e463f352f281f170e06000000000000000000000000000000000000000000000000000000000000000000000000061019222b333c444c555d606b6f7980858c92979c9fa3abaaacafb5b2b3b4b5b5b5b4b3b3b1b2acababa49f9c98928d86817a706c615e564d453d352c241a11080000000000000000000000000000000000000000000000000d1a2633404d596673808c96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232424242424242424242421201d19130c0500000000000000070f161b1f22232424242424242424242422211e1a140d06000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a0602000000000000000000000000000104060707070707070707070707070707070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114191d20212423292c2d2e30313233333434343432312e29231b130900000000000000000000000000000000000000000000020e1a26313946525e6873808c97a1adbac4bdb1a79f92867b6e615a5057606d7883909aa4afbbc5bbb0a69d9083766b6155483e2f261b110600000000000000000000000000000007131d28313a414547484848494b515a616e7b87939facb9c6d2cbbfb4aa998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000060b0f161b1d23292c2f35393a4045474a5c6976838f9ca9b6b5a99c8f8283878c92979da0a7acb2babec5ced7dbd6cdc4bcb4aba49992857b6e675d51463d32231a0f00000000000000000000000000000000000000000000000000060e171d262d333d434b51575e616a6f757b80858a8e9196989b9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918d8a847f7a756f6a615e56514b433c3429241e160d050000000000000000000000000000000000000000000000000000000000000000000000000000071019212a323a434b515960676d737a7f858b8f92999b9d9fa4aba6a6a7a8a9a8a7a7a6a5a8a19e9b9993908b86807b746d68615a524c443c332b231a1208000000000000000000000000000000000000000000000000000c1825323f4b5865727e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a84786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617171717171717171717171413110d0802000000000000000000040a0f131516171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000001080d111314141414141414141414141414141413100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20252a2d2e312f34383a3b3c3e3f3f40404141413f3e3a342d251b110600000000000000000000000000000000000000000006121e2b37424d57616e7b86929fa9b3bec0b5ab9f958b7f72695e5244505c666f7c88939fa9b3bec2b7ab9f958a7d70635a5041382d22170b0000000000000000000000000000010d18242f3a434b515455555556555c606c75818e9aa4afbbc8d3c7baaea398897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000060c11171b1f272c2f34383a4145474b5153545b6976838f9ca9b6b7ab9f948f90939a9ea1a9acb1b9bdc3cad0d7d8d0cac3bbb3aaa29993877d70695f554c41342b2111080000000000000000000000000000000000000000000000000000050b141c2228313a41454d53586062696e73797d8184888c8f9193999799999a9b9b9c9b9b9a9999979992918e8b8884807d78726e68625f58524c454039312a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000070f182029313940454f555c60676d72797e82868a8e91939998999a9a9b9c9b9b9a99989696918f8b86837f7a736e68605d565046413a322a2119110800000000000000000000000000000000000000000000000000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0707050100000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313121211100f0d0b0906060300000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000040c13191d20212121212121212121212121212120201d18120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e252a2d3036393a3d4040454748494a4b4c4d4d4e4e4e4c4a463f372d23180d0100000000000000000000000000000000000000000814212e3a47535f6974818e98a2aebbc5bbafa3999083786c60574d424a54606b74818e97a2adb9c2bcb1a79d9083776c6153493f33271b0f030000000000000000000000000004111d2935414b555d606262626364676d737e8b939eacb6c0cccfc5b8ac9f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000030a11171b22272b3238394045474c5254555d6063666c76838f9ca9b6bbb0a69f9c9d9fa4acadb3b8bcc3c8ced6dad5cec6bfbab1a9a19892877f726b61574d433a2f22190f00000000000000000000000000000000000000000000000000000000020a11171f282f353b42464e54575e61666d7074787b7f828486888a8c8c8d8e8f8f8e8e8d8c8c8a888684827f7b7774706d66615e56534e46413b342f271f18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171f272f353d434b51555d60676d71757a7e818486898b8c8d8e8e8f8f8e8d8c8b898784827e7a76726d68615e56524c443e35302820180f070000000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1f1e1d1b1a181513120f0b0607050200000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a000000000000040d161e24292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a3036393b4146474a4d4b51535556575859595a5a5a5b585651493f34291e12030000000000000000000000000000000000000006131f2b38434e58626e7b87929faab4bfbdb2a89f92877c6f665b50453b424f59616d7a85929ea7b1bdc2b8ab9f958a7d70655b5044372b1f1205000000000000000000000000000613202c3945515d676d6f6f6f6f7174797f88939fa5afbec7d1c6bdb0a69b8e8275675d5145392c2013060000000000000000000000000000000000000000000000000000000000000001070c151c23282d33373d44484b5153565d6064676d7074797c84919eaab7c2b8b0aba9a9acafb6b9bec5c8ced4d9d4cec9c2bcb4aea7a09791867e726d62594f453c31281e1007000000000000000000000000000000000000000000000000000000000000060d161d242931363d43474d52545c6064676a6f7275777a7b7d7f8080818282828180807f7d7b797775726e696763605c54524c47433c363029231d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d2429313940454c51555d6065686d7175777a7c7e7f80818282828180807e7c7a7875726e6865615d56524d45413a3229251e160e060000000000000000000000000000000000000000000000000000000005111e2a36424d575e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c171414110e080400000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c110700000000020c161f282f35393a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39352f281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141c222831363b4146474c5254575a555c606163646566666767676765625b51463a2e1f1409000000000000000000000000000000000000000815222e3b4754606a75828f99a3afbcc1b9aca0968d80736a5f544a3f333d46525e68717e8b959fabb5c0bcb1a79d9083786c605346392d201306000000000000000000000000000714212d3a4754606d797b7b7b7c7d80848c939aa4afb7c1d0c7bfb4ab9f948a7d7063554b4135291d1104000000000000000000000000000000000000000000000000000000000000040c12181e262e34383f44464f54555c6064686d7175797d8185899196a0acb8c5c2bbb7b5b6b9bbc0c7c9cfd4d8d4cec8c4bdb9b0aaa29f9590857c706c625b51473e332a1f160c0000000000000000000000000000000000000000000000000000000000000000040c13181f252a32373b42464a515357585f626568676d6f717273747475767574747372716e6d666865625f575753504a46413b37312a251e18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f272f343a41454b5153565d606468676d6f71737374757675747473726f6d686865615e5654524c46413b3530282019130c040000000000000000000000000000000000000000000000000000000000020e1a25303b454d52545757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e202020202020202020202020201b1a18140f080100000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393939393939393939393939393939393939393939393939393939393939383837363534322f2d2b282221201e1914100c07010000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d020000000a141e28313a414547474747474747474747474747474745403931281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d262d333b42464c5254565e61646669676d6e6f7172727373747474726d62564a3b31261a0e020000000000000000000000000000000000000916232f3c4956626f7c89939fa2aaafb9afa59e9184796d60584e42382d36414c56606c78839099a3afbab2aca69f958a7e7164574a3e3124170b000000000000000000000000000a1724313d4a5764707d888888898a8d91969fa4acb6c0c7c3bdb5aea3999083766b6155433a2f24180d010000000000000000000000000000000000000000000000000000000000070d161d242930383f44495053596063676d71757a7e82858a8e91979ea0a8b2bdc8ccc7c3c2c3c6c8ccd2d5d5d2cdc8c3bcb8b2aca69f98928c837b6f6a615a51493f352c21180d0400000000000000000000000000000000000000000000000000000000000000000001070d141a20272b3036394044464a4e535559555c60626466666768686968686766666462605c545855534d4a46443f3836302b262019140c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d151d23292f35394045474c525457555d6062656667676869686867666563605d565854524c4746413a363029241e160e08020000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464545444342403e3c3938332d2e2d2a251f1d18120f0a0400000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e1206000006111c26303a434c52545454545454545454545454545453514b43392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f444d53565e6165686d707376787a7b7c7d7e7f80808181817f7265574d42362a1e12050000000000000000000000000000000000000915222f3c4855626f7c838b92989ea5ada99e93897d70675d51463c2f26303a44505b656f7c87929fa9aea8a09e948f877f7266594c3f3326190c000000000000000000000000000a1724313d4a5764707d8a959596979a9ea1a8afb6bec0bbb9b2aba49f92867c6f62594f4431281d130700000000000000000000000000000000000000000000000000000000000810191f282f353d424a50535b60646b6f74797d82868b8f92989a9ea1a9acb2bac3ced8d3d0cfd0d2d4d6d3cfc9c6c2bcb8b1aca8a19e948f867f786e69605850473f372d231a0f0600000000000000000000000000000000000000000000000000000000000000000000000003090e161b1f252a2e34383a3d4347484c4b5153555759595a5b5c5c5b5b5a5959575553514a4c4847423d3a38342e2a251e1b150e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e24292f35393a4145474b4b51535658595a5b5b5c5c5b5a59585654524c4b4746413b3935302a251f19130c04000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393433302b251d140b010000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535352525251504e4d4b4846443f3d3b3936302c29241d1b15100b05000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a00000b17232e38424c565d6060606060606060606060606060605d554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e273038424a50575f61686e72767a7d8082848688898a8b8c8c8d8d8d8e8478695f53463a2d2114070000000000000000000000000000000000000815212e3a47535f6a6f787f868f939ea1a1978e81746b60554b40342a1d27333f49535f6a74808d97a1a29f96918a827c726d63574b3e3225180c000000000000000000000000000a1724313d4a5764707d8a97a2a2a4a7abadb2bbc0bdb5afaca8a099938b7e716a6054473e331f160c010000000000000000000000000000000000000000000000000000000009111a222b313940454e545c60656c70767c81858a8f92989b9fa2aaabadb3b8bdc3ccd5e0dfdddbd6d3d0cbc7c5beb9b8b1aba7a09d96918a827b726d665e574e463e352d251b1108000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2d31373a3c3f404547484a4c4d4d4e4f4f4f4e4d4d4c4a484644403f3b3a37312d2b28231c19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191d24292c2f35393a3e404547494b4c4d4e4f4f4f4e4d4d4b494745413f3b3936302d29241e19140d08020000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f43444646464646464646464646464641403c362f261d1308000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5e5c5b5a585553504a4a4746413b38352f2b26201c160d080200000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c0003101c28343f4a545d686d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039424a545b60696e747a7f83878a8d8f91939996979899999a9a9a96887b6e6155483b2e22150900000000000000000000000000000000000006121f2b37434e585f666c727b828a91969e92857a6d61594f43392f2217222d38414e58606d7a84919e98928c847d766f6a635b51463b2f22160a000000000000000000000000000a1724313d4a5764707d8a97a3afb0b3b8b9bdc4c0b5aba49f9b9691877f726c62584e43352c210d040000000000000000000000000000000000000000000000000000000109121b232c343d434b515860666d71787d83898e92989b9fa3aaacaeb4b8b9bec4c8ced5dedad5d2d0cac6c5bfbab8b3adaba79f9d95918b847e766e69605c544d453c342c231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f20262b2e2f2f34383a3c3e3f4041414243424141403f3e3b3a38342e2f2e2b26201f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d12181d1f24292c2d2f35393a3c3e4040414243424141403f3c3a39352f2e2d2a25201d19130e08020000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242322201c160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f51535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a6968676562605b545754524c4745403937312c272119130c0400000000000000000000000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c0006121f2b3844505c66767a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424b545c666c737b81868c90939a999c9e9fa4aba4a5a5a6a6a7a8978b7e7164584b3e30251a0e020000000000000000000000000000000000030f1b26313c464e545b60696e757d848d928b7e71685e52473d31271d111b262f3c45515d67717e8a938e867f79706c625f58514940352a1e1206000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc0c4c5c9c7bbafa499938f8a847d726d625a50463c32231a100000000000000000000000000000000000000000000000000000000009131b242d353e464f555d606a6f787e838a90959b9fa2aaacaeb4b8babfc4c6c9cfd4d9ded6cfc9c5c4bebab8b4aeaca9a19e9a95908a837e78716c615f57504a423b332b221a110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131b1f212223292c2d2f313333343535363535343333312f2d2c282322211e1a1312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d202124292c2d2f3233343435363535343332302d2c292421201e1914110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141417171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e606060606060606060606060605b58534a41362b201408000000000000000000000000000000000000000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979787877767573716f6c666664615e5653514b47433c383329241e160e08020000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000713202d3a4653606d7886878787878787878787878787878275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2834404b545c666d787f868e92989c9fa4aca9abacafb5b0b1b2b3b3b4a79b8e817468574d42362a1e12050000000000000000000000000000000000000a15202a343c424a50575e616c7079808682766c61564c41352b1f150b141d2935414c55616c768286817b726d67615a534e4640372e23180d02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad1d2d2c6b9ac9f9386827e78706b625b51483f342b20110800000000000000000000000000000000000000000000000000000007111b252d363f474f5960676d737c838b90959d9fa7abaeb3b9babfc5c6cad0d2d5dae1e0d6ccc4bdb9b7b3aeabaaa39f9b97928d89837d78716d66615a534d443f383029211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060a0f121515181c1f20222426262728292928282726262422201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111314181d1f202325262728282929282726252321201d191414110e080501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686858585848381807e7b797673706e6864605d55534e48443d3530282019140d0500000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515c666d78818c92989fa3aaacafb6b5b7b9bbc0bdbebfbfc0b7aa9e918477695e52463a2d201407000000000000000000000000000000000000030e18222a2f383f444d525961676d737c7b6e615a50443a3023190d030b19242f3a43505a616e7b7c746e68605c555047433c342e251c120700000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad0d1d4c7bbafa4999184807a726d605c544a3f34281e150b0000000000000000000000000000000000000000000000000000050e19232d373f485059616b6f79808790959da0a7abb1b8babec5c7cbd1d3d4d1d0d1d2d5dacfc4bab2adabaaa29f9b98928e8a85807c76706c65605c545046423b342e261e170f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608070c1013141517191a1a1b1c1c1c1b1a1a1917151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c1013141618191a1b1c1c1c1b1a1a18161413110d0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a36434f5b67717779797979797979797979797979746f64584c4033271a0d010000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939a93929291918f8e8d8b888583807d7a76716d67625f58544f45413a322a251e170e06000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c000713202d3a4653606d798693a0a0a0a0a0a0a0a0a0a09c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424f59606d78818e939fa3aaaeb4b9bbc0c2c4c6c7ccd2cbccccc5b9aca096877b6e6154483b2e211509000000000000000000000000000000000000000610181d262d333b42464f555d606a6f6e695f53483e32281e11080008131e28313e46535f696e6f6a615e56514b433e37312a221c130a0000000000000000000000000000000a1724313d4a5764707d8a97a3b0bcbfc4c5c8ccc0b5aba096918d867f756d665c50443e30271d1207000000000000000000000000000000000000000000000000020c16202b353f49515a626c707d848d9399a0a7acb1b8bcc2c6cad0d3d4d1cdc8c4c3c4c6c9cfc9bdb2a8a19e9a98928e8a86817d79746f6a64605b53504a423e363128231c150c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0d0e0f100f0e0e0d0c0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090d0f0f13131313131313131313131313131313131313070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7783868686868686868686868686868174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9e9d9c9b9a9898928f8d8a87837e79746f6a636059524c443e36302920180f070000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acadadadadadadada89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c75818f939ea5aeb4babfc6c8ccd2d1d2d1d0cdcbc9d2c9bdb2a8978a7e7164574b3e3025190e0200000000000000000000000000000000000000060b141c222830363e434b51585f62615f574d42362d20160c0000010c161f2a36424d575f61626058524d454039302b262018100a010000000000000000000000000000000a1724313d4a5764707d8a97a3aeafb2b7b8bdc3c7bdb2a8a09e98928c81786d605a5043392e23180c00000000000000000000000000000000000000000000000008131e28323d47515b626c717e8691969fa4abb1b8bcc3c7cdd3d6d3cec8c5c3bcb8b7b8b9bec4c5b9ada196918d8985827e7a75706d66626058535049443f38302a261f17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191b1c202020202020202020202020202020202020201413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a77849193939393939393939393938e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb6afacacababaaa9a8a6aaa29f9c999794908b85807c76706b605d565046413b322a2119100700000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9bababababab5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66707d8a939ea5afbabfc6cbd1d4d8d2cdc8c4c3c0bebcbbc0bbb4a79a8e817467564d42362a1e11050000000000000000000000000000000000000000020a11171f252a313a40454e545555534d453b31241b0e05000000040d1a26313b454d535556544e46413b342e271e1b150e0600000000000000000000000000000000000a1724313d4a5764707d8a97a1a1a3a6aaacb2bbbfc4bab2acaaa29f938d80746c61554b4034281c100400000000000000000000000000000000000000000000010d1925303a444f59626d727e879298a1a8afb5bdc3c8ced4d6d0cac7c3bcb8b7b1acaaabadb3bbc4b7ab9e9184807d7975716d6763605c54544e46443f38342e261e1a140c0600000000000000000000000000000000000000000000000205070809090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080806020000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0909070300000000000000000000020507080a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000306060a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b8b7b6b4b3b3aeaba9a6a69f9c97928d88837d746d68615a524c443c332b22190f06000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7883919da5afb7c1cbd0d7dcd3ccc6c3bcb8b6b4b1afaeb6afacaa9e918477695e52463a2d20140700000000000000000000000000000000000000000000060b141a1f282f353c4347494846423b33291f1209000000000009141f2a333b4246484947433d363028231d150c0a030000000000000000000000000000000000000a1724313d4a5764707d8a94949596999da0a8aeb5bdc4bdb9b4aea59d928a7e71675c5145382c1f14090000000000000000000000000000000000000000000005111d2a36414c56606b727f8b9299a2aab2bbc0c7d0d4d7d0cac6bfbab8b1acaaa7a09d9ea1a9b3beb2a5988b7f74706d6664605d5553514a47433d37332d28231c150c09030000000000000000000000000000000000000000000003090e121415151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514120e09030000000000000000000000050b101316161717171717171717171615130f0a0400000000000003090e121415171717171717171717171413100c070100000000000000000000000002080d1113141717171717171717171717171614100b050000000000000000000000000000000000000000060b0f1213171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c161e262c313536393939393939393939393939393939393939392e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daaacacacacacacaca79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d2ccc8c6c5c5c4c4c2c1c0bebab8b6b3b0aba9a29f9a959089817a716c615e564d453d342b21180e050000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d3cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8b95a0acb8c1c9d6dcdad1c9c1bab6b1acaaa7a5a3a1a0a49f9f9f96877b6e6154473b2e211408000000000000000000000000000000000000000000000002090d161d242932373b3c3b3a36312921180d000000000000030e18212a31363a3b3c3b37322a251f18120b0300000000000000000000000000000000000000000a1724313d4a5764707d87878788898c91969fa3abb5bec7c5bfbaaea49e9184796d6053463b3025190e020000000000000000000000000000000000000000040f19222d3946525e686f7d87929fa3abb4bcc4ccd2d9d5cec5bebab4aeaca7a09d9995909197a1adb9b2a5988b7f7265605c5454514c4644403938322b27221b17110a030000000000000000000000000000000000000000000000050d141a1e21212222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222211e1a150e06000000000000000000070f161c20222324242424242424242423221f1b160f0700000000060d141a1e212224242424242424242424201f1d18120b0300000000000000000000050c13191d202124242424242424242424242323201c1610080000000000000000000000000000000000020a11171c1f202423201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1e2830373d4142464646464646464646464646464646464646463a3935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7b9b9b9b9b9b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d2d2d1d1d0cfced0cac6c5c2c0bcb7b3adaba79f9d938e857e756e685f574e463d332a20170b0200000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7784919ea7b1bccad3dbdcd1c8bfb7afaaa7a09d9a989695949a939292928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000040c131820262b2e2f2e2d2a261f180f0600000000000000060f181f262a2d2e2f2e2b272019140c07000000000000000000000000000000000000000000000714202d3a4753606d797b7a7b7b7c7f848b9299a3acb6c0cccac0b9aca1968b7e7265564d42362a1e110500000000000000000000000000000000000000000a15202c38444f59616d7a849199a3afb5bdc6ced7d6cec9c0bcb4aeaaa29f9a95918c888385919eabb8b2a5988b7f726558514a4745413a38342e2b271f1b17110c06000000000000000000000000000000000000000000000000050f171f252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620180f060000000000000007111921272c2f303131313131313131312f2e2c27211910070000060f181f262a2d2e313131313131313131312d2c29241d150d030000000000000000050e171e252a2d2e3131313131313131313131302f2c27211a1108000000000000000000000000000000030b141c22282b2d302f2c282119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620303a42494e4f535353535353535353535353535353535353534746413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4c6c6c6c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8cacdcfd2d3d6d3d2cfcdc7c5bebab8b1aba59d97918a827a6e6960584e453c32291d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8896a0acb9c3cedcded3cabfb6aea59e9b95908d8b8988878686868585858073675a4d4034271a0d000000000000000000000000000000000000000000000000000001070d151b1f222222211e1a140d06000000000000000000060e141a1e212223221f1b150e0802000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e7073787f87929aa4afbbc7d1c9bdb2a89c908376695e52463a2d20140700000000000000000000000000000000000000030f1b27323c4855606b75828f96a1abb5c0c7cfd8d4ccc4bdb9afaaa29f98928e89847f7b77828f9ca9b6b2a5988b7f7265584c403a39352f2c28231c1b160f0b0600000000000000000000000000000000000000000000000000030d17212931363a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000050f19232b33383b3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f04030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3a38352f271f150b01000000000000020c1720293036393a3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000030c151d262d3338393d3c383329241e160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2832424c545a5c6060606060606060606060606060606060605f54524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0d2cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d7cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9babfbbbcbdc0c3c5c6cad0d3d6d8d3d0cac6c2bcb8afa9a19e938f847b6f6a60574e443b2f261c1106000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a8b2bdcbd5dfd7ccc1b8aea49c938e8883817e7c7b7a7a7979797878736e64584c3f3326190d00000000000000000000000000000000000000000000000000000000040a0f1315161514120e0903000000000000000000000003090e1214151615130f0a040000000000000000000000000000000000000000000000000004101c2934404b555c606161616263666d727d88939fabb5c0cbcec4b9ac9f93877b6e6154473b2e2114080000000000000000000000000000000000000006131f2b37434e5863707d89949ea8b2bdc7d1d9d4cbc2bab2aca59d98928d86817c77726e76838f9ca9b6b2a5988b7f7265584c3f2e2c29241f1c18120f0a0300000000000000000000000000000000000000000000000000000009141f29333b424648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847423c332a20150900000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4948433d342b21160a09141f29333b4246484a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000008131e29323a4146474a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b000000000000000000000000040d151e262f383f44464a48443e35302820170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a44545e65696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c615e564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c6bcb4aeacacacacacacacacacacacacacacacacacacacacacacacacacaeb4aeafb1b3b6b8babfc5c6cad0d4d9d6d3cdc7c1bbb3ada69e9691857c6f6a5f564d42382d22170b030000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536875818e9ba8b5c1cedbdfd3c7bbb0a69c928c817c777472706e6d6d676c6c6c6c67645c52473b2f23170b00000000000000000000000000000000000000000000000000000000000003060809080705020000000000000000000000000000000205070809080603000000000000000000000000000000000000000000000000000000000c18232f39434b515354545455545c606b74808d99a3afbbc7d3c8bbafa49a8a7d7064574a3d3124170a000000000000000000000000000000000000000815222e3b4754606a76828f9ca6b0bac4cfd9d4cac2b9b1a8a09e938e85807a746f6a666976838f9ca9b6b2a5988b7f7265584c3f32251d1913100c070000000000000000000000000000000000000000000000000000000000020e1a25313b454d53545555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555534d453c31261a0e0200000004101c27333d474f545657575757575757575756544e463d32271b0f0e1a26313b454d53555757575757575757575753514b43392f24180c0000000000010d1925303a444c5254575757575757575757575756554f473d33271c100000000000000000000000050d161f273038424a505357554f45413a322921170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566570757979797979797979797979797979797979797975685e5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3aaa1a2a4a6a9acaeb4b8babec5c8cdd6dbd8d4cdc4beb9b0a8a19792857c6e685e544a3f33282015090000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c4d0dddcd0c3b7aa9e948c80756f6a6765636261605c5f5f5f5f5a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139404547474748484a5059616e7b86929facb9c5d2ccc0b6ac998c807366594d4033261a0d000000000000000000000000000000000000030f1c28333f4a54626f7c88949fabb8c1ccd6d5ccc2b8b0a79f969189817a736d686260586976838f9ca9b6b2a5988b7f7265584c3f3225190d08040000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e6162626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262625f574d42372b1e12060000000713202c38444f5960636464646464646464646260584e43382c1f13121e2a36424d575f6164646464646464646464605d554b4035291d10040000000005111d2a36414c565e6164646464646464646464646361594f44382c1c1106000000000000000000050e171f283139424a545b60636159524c443b332921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687582868686868686868686868686868686868686877a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea2989292929292929292929292929292929292929292929292929298949595979a9c9fa2aaabadb3b8bcc3cad0d7dfd6cfc9c1bab2a9a19791847a6e665b50443c31261a0e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd6cabeb3a99c8f82756e6260585856555453514b5252524d4c4740382e24190e020000000000000000000000000000000000000000000000000000000000030607090a0b0c0d0e0e0d0d0c0b09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3f46525e6875828f9ca8b5c2cfd2c1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000006121f2b3844505b6675818e9ba6b0bbcad3d9d0c3bab0a69f9590847d746d68615e56545c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000000004080a0b07060400000000000000000000000000000000000000000714212d3a46535e696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2e2114080000000916222f3b4854606b707070707070707070706f6a6054483b2e221514212d3a46535f696e707070707070707070706d675d5145382c1f1306000000000713202d3946525e686d7070707070707070707070706b615548382d22170b0000000000000000050e172029313a434b545c666c706b605d564d453b33291f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a869293939393939393939393939393939393998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858585858585858586868788898a8d9092989a9fa2a9abb1babec5ced3dcdad5ccc4bbb3a9a1968f82786c60574d42372b20160a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3aebbc7d3dfd3c6baada297897d70635b544e4b494847474540464545403f3b362e261c120800000000000000000000000000000000000000000000000000000306060c101213151718191a1b1b1a191918161413110d070705020000000000000000000000060606060606060606060606060000000000000000000000000000030d151d23292c2d2e2e2e2e36414d5666727f8c99a5b2bfcccfc2b6a99c8f8376695c504336291d100300000000000000000000000000000000000613202d394653606c7985929fabb8c2cdddd2c7beb2a89f948f827a706b615e56524c505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000050b101416171413100c070100000000000000000000000000000000000815212e3b4854616e7b7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6255483b2f2215080000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231615222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d796d6053473a2d201407000000000714212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7063544a3f33281c0f03000000000000020d172029323a434c555d666d787d756d685e574d453b31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a797979797979797979797979797979797979797979797979797a7b7c7e808385898d92979da0a7aeb3bcc1cad2dbded6cdc5bbb2a89f948c7f72695f53473d32271b0f02000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895abb5bfcbd7ded2c5b8ab9f9285786b605447433f3d3b3a3a38342f393934332f2b241c140a01000000000000000000000000000000000000000000000000060b0f1213171c1f2022232425262728272626242220201d181514120e0905020000000004080a0a131313131313131313131313130b0a08040000000000000000000000030b12181c1f2021212125303d4a5663707d8996a3b0bcc9d0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000916222f3c4955626f7c8897a2adbac6d4d8ccc0b6aca0968f82796d686059524c4641505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0000000810171c212324201f1d18120b03000000000000000000000000000000000f1c2935424f5c6875828888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888883776a5d5144372a1e11000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8276695c504336291d1926323f4c5965727f8a8a8a8a8a8a8a8a8a887b6e6255483b2f221508000000000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8578665b5044382b1f120600000000000009141f29323b444c555d676d78818a827a6e695e574d43392f24180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5acacacacacacacacacacacacacac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6d6e6f717376797c81858a90959fa2aab0b8c1c9d2dbdfd7cdc4bab0a69f92867b6e62584e43382b1e1408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000040607090b0c0d0e0e0e0d0d0b0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcd1dcdccfc3b6a99c90837669594f443732302f2e2d2c29232c2c2726231f19120a020000000000000000000000000000000000000000000003090e11171c1f2023282c2d2f303132333434343332312f2d2c292422211e1a14120e0903050b1014161720202020202020202020202020171614100b050000000000000000000001070c101314141416222f3c4955626f7c8895a2afbbc8d0c4b7aa9d9184776a5e5144372b1e110400000000000000000000000000000000000c1925323f4c5865727f8b98a9b3becad6d4c8bbafa49a91847a6d675e564f46413a43505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c000008121a22282d30312d2c29241d150d060000000000000000000000000000000f1c2935424f5c6875828f95959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959083776a5d5144372a1e11000005121f2c3845525f6b788592979797979797979084776a5d51442d2217192633404c5966737f8c9797979797979796897c6f6356493c30231609000000000b1724313e4a5764717d8a9797979797979797979386796c605346392d2013060000000000020e1925303b444d565e676d79828e938f847b6e695e554b4035291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9b9b9b9b9b9b9b9b9b9b9b9b9bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000002020505050505050505050505050505050505050505050505050505050505050505050505050505050505111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e050505050505050500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f555c606162626467666c6f74797e838b92989ea6afb7c0c9d2dcdfd6ccc2baaea3998e82756a6054473b3025190e020000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0406070c1013141618191a1b1b1a1a1918161414110e080806030000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dacdc1b4a79a8e8174675b4e413327232221201f1c181f1f1a1917130e0801000000000000000000000000000000000000000000030a0f141a1c22282b2d2e34383a3c3d3e3f40414140403f3e3c3a39352f2e2d2b26201e1a141010171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000000000000040607080815222e3b4855616e7b8894a1aebbc7d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d0dbd2c6b9ac9f93877c6f685d554c443d353043505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00040d1a242c33393c3e3a39352f271f18100801000000000000000000000000000f1c2935424f5c6875828f9ba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9084776a5d5144372a1e11000005121f2b3744505b657985929fa3a3a3a3a39e9184786b544a3f33281c1a2734404d5a6773808d9aa3a3a3a3a3a3968a7d7063574a3d3024170a000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a49a877a6d6054473a2d211407000000000005111e2a36424d565e686d79828f949e9691847b6e675d51453e30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7c6c6c6c6c6c6c6c6c6c6cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000004090c0e0f1212121212121212121212121212121212121212121212121212121212121212121212121212121212121e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1212121212121212120a090704000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154525252525252525252525252525252525252524b515354555657545b6062676d71787f858f949ea5afb7c0cad3e0ded7cbbfb4ab9e93897c6f62564c41362a1e11050000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0c101314181d1f20222426272728272726252321201e191515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccc0b3a6998d8073665a4d4033271a15141413100c07120d0d0b070200000000000000000000000000000000000000000002080d151b1f252a2d3338393c3f4446484a4b4c4d4e4e4d4c4c4b494745403f3b3a37312d2a251f1b1a22282d30313939393939393939393939393931302d28221a12080000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a99b8e81756a60564c433a32293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c010c16202c363e44494a47454039312a2219130c040000000000000000000000000f1c2935424f5c6875828f9ba8aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa9d9084776a5d5144372a1e1100000613202d394653606c7986939facb0b0b0ab9f928578665b5044382b1f1b2734414e5a6774818d9aa7b0b0b0b0a4978a7e7164574b3e3124180b000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b6a194877b6e6154483b2e21150800000000000714202d3a46525e696e7a8390949ea6a0969083796d605a5042392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7d2d2d2d2d2d2d2d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000002090f15191b1c1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281f1f1f1f1f1f1f1f1f1f171614100b0500000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154474646464646464646464646464646464646464045464748494b4a5053555c60666c727b828e939da5afb8c1ced7e1dcd1c6bdafa59b8f8275685e5246392d2014080000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c181d1f2024292c2d2f313333343434333331302e2d2a2522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccbfb2a6998c7f7366594c403326190d0707060400000601000000000000000000000000000000000000000000000000050d131920262b3136383f4446494a505355565758595a5b5a5959575553514b4b4846423c3a36302c27232c33393c3d464646464646464646464646463e3c39332c241a100500000000000000000000000000000815222e3b4855616e7b8894a1aebbc7cfc2b6a99c8f8376695c504336291d10030000000000000000000000000000000004101d2935404b556b7885919eabb8c4d1d2c6b9ada197897c6f62584e443a3129293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c08131e28323e4850555753514b433c3429241e160d0700000000000000000000000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb7aa9d9084776a5d5144372a1e1100000714202d3a4753606d7a869aa4afbbbdb9ac9f9386796c605346392d201b2835414e5b6874818e9ba7b4bdbdb2a5988b7f7265584c3f3225190c000000000c1926333f4c5966727f8c99a5b2bdbdbdbbafa295887c6f6255493c2f22160900000000000814212e3b4754616e7b8490959fa6b0a8a0958e81746c61544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7dfdfdfdfdfdfdfe0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000030c141b202528292c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342c2c2c2c2c2c2c2c2c2c2c2322201c160f08000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a393939393939393939393939393939392e34383a3a3b3c3e3f44464b51545b60686e78818e929da6b0bcc5d0dbe2d8cfc1b9ac9f92867a6e6154473b2f24190d0100000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291f24292c2d2f35393a3c3e3f4041414140403e3c3b3936302f2e2b26211e1a140f0a0400000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000060e171e252a31373b42464a505355545c60626364656667676766656462605d555855534d4846423b38322b353e44494a535353535353535353535353534a49443e362c22170b00000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000006131f2c3845515d677985929facb8c5d2d1c5b8ab9e9285796c6053463c32281f293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0d19242f3a44505a6164605d554e463f352f281f191008020000000000000000000f1c2935424f5c6875828f9ba8b5c2c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c3b7aa9d9084776a5d5144372a1e1100000814212e3b4754616e7a8794a1b6c0c8bbafa49a877a6d6054473a2d211c2835424f5b6875828e9ba8b5c1bfb2a6998c7f7366594c403326190d000000000d1a2633404d596673808c99a6b3bfcac9bcafa396897c706356493d3023160a00000000000713202d3a4653606d7980889197a1a9b1a79d938a7d70665c5144382c1f160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e3edececececececefe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000020c151e252c31343538383838383838383838383838383838383838383838383838383838383838383838383838383838383838383844515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41383838383838383838383838302f2c27211a11080000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c23282c2d2e2f2f2d33383940454a50565e666d78808e949eaab3becad6dfe0d3c7bbafa3998c7f7266564c4135291d110400000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236282b2f35393a3d404547494b4c4d4e4e4d4d4c4b494746413f3c3b37322d2a261f1b150e08020000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000020a1117202930363c43474d53545b606265666d6f707172737474737372716f6d676865615f5754524d48443d373e4750555760606060606060606060606060575550483e33281c1004000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cfc2b5a89c8f8275665b5044382b2016293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c111d2935414c56616c716d675f585045413a312b2219130c0400000000000000000f1c2935424f5c6875828f9ba8b5c2c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c3b7aa9d9084776a5d5144372a1e1100000815222e3b4855616e7b8894a1aebbccc0b6a194887b6e6155483b2e221c2936424f5c6975828f9ca8b5c2c0b3a79a8d8074675a4d4134271a0e010000010d1a2734404d5a6773808d9aa6b3c0cdcabdb0a3978a7d7064574a3d3124170a000000000006131f2c3845515c666d737d859197a1abafa59e9184796d6053463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7e3f4ece8e6e5e6e8ece8dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e454545454545454545454545453d3c38332b231a0f0500000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211f1f1f1f1f1f1f1f1f1f1f1f1f1f181c1f2021222322282b2f34383f444d545c666c75828f98a2aebac3ced9e3d7cbc0b5ab9d908376685d5245392c20130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f422d3338394045474a4b51535557595a5a5b5a5a59585654524c4c4847433c3a36312b262019140b0600000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000030c141c2328323a41464e53575e61666c6f7275797b7d7e7f808181807f7f7e7c7a7875726e6966615e57544f474244505a61646c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d211408000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6cdc1b4a79a8e817467544a3f3328191d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190b17212c3945525d68717d796f6a625a514c433c3429241e160e07000000000000000f1c2935424f5c6875828f9ba8b5bababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab7aa9d9084776a5d5144372a1e1100000915222f3c4855626f7b8895a2aebbd2bbafa295887c6f6255493c2f221d293643505c6976838f9ca9b6c2c1b4a79b8e8174685b4e4135281b0e020000010e1b2734414e5a6774818d9aa7b4c0cdcabeb1a4978b7e7164584b3e3125180b000000000004101c2834404b545c606b707b859199a3afaca0968b7f7265594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7e6e0dcd9d8d9dce0e6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000040f1b25303942494d4f52525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525e6a7784919daab7c4d0dacdc1b4a79a8e8174675b52525252525252525252525252524a48443d352b21160b00000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114131313131313131313131313070c101313141516171c1f23292d333b424a545b616e7b85929fa7b1bcc8d4e0dcd1c5b9ac9f92867a6d6054473a2d21140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42383f44464b515357555d606264666667676766666463615e565955534e4846423b37312a251f17110a020000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000030c151e262e343d444c52585f62696e74797c7f828588898a8b8c8d8e8d8c8c8a888684827e7b77736e69636059534d4955616c7079797979797979797979797979716c6155493c3023160a000000000000000000000000000b1825313e4b5864717e8b97a4b1becacbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000714212e3a4754616d7a8794aab4bfcad6cdc0b3a69a8d8073675a4d402d22171d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519141d2834404b54606d7a86837c716d605d554e463f353028201910070000000000000f1c2935424f5c6875828f9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9084776a5d5144372a1e110000091623303c4956636f7c8996a2afbcc9bcafa396897c706356493d30231d2a3744505d6a7783909daab6c3c2b5a89b8f8275685c4f4235291c0f020000020e1b2835414e5b6874818e9ba7b4c1cecbbfb2a5988c7f7265594c3f3226190c0000000000000c18232e39424b51596069707d87929fa7b1a89d9184776b6054483b2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8b99a3aebbc7d3e3e3dbd5d0cdcccdd0d5dbe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000915202c37424b53595c5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6a7784919daab7c4d0dacdc1b4a79a8e8174675f5f5f5f5f5f5f5f5f5f5f5f5f5f5f56544f473d33271c1004000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060600000406070708060b0f12181c22283038424a525e69727f8b95a0acb8c5d1dee0d4c7bbafa3998a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f40454a5053555d606367676d6f7172737474747373716f6e686865625f5855534d47433c363027221b140b0400000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000020b151e2730383f444f565e616a6f747b8085888c8f9298969798999a9a9a9998979a93918f8b8884807b75706b625f57505764707d868686868686868686868686867e7164574a3e3124170b000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccccc0b6ac968a7d7063574a3d3024170a00000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cec1b4a79b8e817468544a3f33281c1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225191b262f3845515c66727f8c91867e756d6760585146413a322b22190f0400000000000f1c2935424f5c6875828f9ba1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a19d9084776a5d5144372a1e1100000a1723303d4a5663707d8996a3b0bcc9bdb0a3978a7d7064574a3d31241e2b3744515e6a7784919daab7c4c3b6a99c908376695d5043362a1d07000000020f1c2935424f5c6875828f9ba8b5c2ceccbfb3a6998c807366594d4033261a0d00000000000007121d27303940454f56606b727f8c95a0acaca095897c6f6356493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3d9d1cac4c0bfc0c4cad1d9dcd1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000000c1925313d49535d65686b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7784919daab7c4d0dacdc1b4a79a8e81746b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6360594f44382c201407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000003070c11171e262f38424d57606c7884919daab7c3cdd9e3d7cbc0b5ab998c7f7366594c403326190d00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4b51545b6063676d7073777a7c7e7f80818180807f7e7c7a7875726f6a66615f57534e46413b332d261d160d06000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000a141d273039424a505960686d757c81868d9297989c9fa2aaa4a5a6a7a7a6a6a5aca49f9e9b9896918c87827d756e69605c5464707d8a93939393939393939393938a7d7164574a3e3124170b000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc8bbafa49a887b6e6255483b2f221508000000000000000000000000000000000006131f2c3845515d677985929facb8c5d2cfc2b6a99c8f8376665b5044382b1f14293643505c6976838f9ca9b6b2a5988b7f7265584c3f322517222d38414d57606d79849198928b817a6f6a625b524c443d342b21160a00000000000f1c2935424f5c6875828f94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949084776a5d5144372a1e1100000a1724313d4a5764707d8a97a3b0bdcabeb1a4978b7e7164584b3e31251e2b3845515e6b7884919eabb7c4c3b7aa9d9084776a5d51442e23180c00000003101c2936434f5c6976828f9ca9b5c2cfcdc0b3a79a8d8074675a4d4134271a0e010000000000000b151e272e343d444f59606c7883909daab1a89a8e817467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d1c7bfb8b4b2b4b8bfc7d1ded3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000e1b2834414d59656f75787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787884919daab7c4d0dacdc1b4a79a8e817878787878787878787878787878787878706b6054483c2f221609000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000060c141d26303b44505b65737f8c99a7b1bcc8d4e0dcd1c1b4a89b8e8175685b4e4235281b0600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c50555d60666c7075797d808386888a8c8d8d8e8d8d8c8b898785827f7c77736e69625f58524d443f382f281f180f060000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000006111b262f39424b545c606b707a82878e92999ea2a9a8acaeb4b1b2b3b4b4b3b2b2b6afacaba8a8a09e99928f89827b736d665e64707d8a979f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000004101d2935404b556a7783909daab6c3d0d1c4b8ab9e9185796c6053463c30261c293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252427333f49535e69727f8c96a19f938e847c726d615d564f473d32271b0f03000000000f1c2935424f5c6875828787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878784776a5d5144372a1e1100000b1825313e4b5864717e8b97a4b1becabfb2a5988c7f7265594c3f32261f2c3845525f6b7885929eabb8c5c4b8ab9e9185786b544b4034281c1004000003101d2a3643505d697683909ca9b6c3cfcec1b4a79b8e8174685b4e4135281b0e020000000000020a11171d2328323d44505b65727e8b98a2aeaa9e918477695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d9d0bfb5ada7a5a7adb5bfccd6d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000000f1c2935424f5c687581858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858587929facb9c5d2dfd2c5b9ac9f928685858585858585858585858585858585857d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000020b141f27333f4953616e7b8895a0acb8c4d1deddd0c3b6aa9d9083776a5d50442d22170b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569545b60676d72787d81858a8d90939a9799999a9a9a9999979697928f8c88847f7b756f6a615e565049413a312a2118100600000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000060f17222d38414b545c666d737d858f939a9fa3abadb3b5b8babfbdbebfc0c1c0bfbfc0bbb9b7b5b2acaba39f9c938f8780786d6864707d8a97a3acacacacacacaca4978a7d7164574a3e3124170b00000000000000000000000005111d2935414c566a7784909daab7c3d0c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000c18242f424e5b6875818e9ba8b4c1ced2c6b9ada197897d7063584e42382e23293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a363e44505b656e7b86929fa8a59e9691867f756d6860594f43382c1f1307000000000714212e3a4754616d7a7b7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6e6154473b2e21140800000c1825323f4b5865727e8b98a5b1becbbfb3a6998c807366594d4033261f2b3844505b667985929facb8c5c5b8ac9f928579665c5145382c1f1306000004111d2a3744505d6a7783909daab6c3d0cec2b5a89b8f8275685c4f4235291c0f0200000000020c141c23282b3939333f4953606d7a86929facaca096887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7ddd2c7bdada39c999ca3adbac4cedad1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929299a3afbbc7d4e0d3c7baaea39892929292929292929292929292929292928a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000020b17222d3847535f697783909daab6c3d0ddded1c4b8ab9e9185786b5e4a3f33281c0f03000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960666c71797e84898e92989a9d9fa4aca5a6a7a7a7a6a6a4a9a19e9b9895918c87817c756e68605b534c433c332a22181006000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000030e182127333f49535c666d78808791979fa4acafb5b9bec2c5c6cad0cbcccdcdcdccd2ccc8c6c4c2bdb9b5afaca69e99928c827a6e69707d8a97a3b0b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000713202d3946525e687885929fabb8c5cfc3b6a99c90837669554b4034281c1004000000000000000000000000000000000000071925323f4c5865727f8b98a8b2bdc8d4c9beb3a99b8e81756a5f544a3f342e263643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f48505a606c77828f98a2aeafa8a099928b827a6f6b6054483b2f221509000000000713202d3946525e686d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d20140700000c1926323f4c5965727f8c98a5b2bfcbc0b3a79a8d8074675a4d413427202d394653606c798698a2aebac7c6baaea29886796d6053463a2d201307000004111e2b3744515e6a7784919daab7c4d0cfc3b6a99c908376695d5043362a1d0600000000000a141e262e34384646464645515d6774818e9ba7b2a8978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcd7ccc0b5ab9c918c919ca8b2bdc9d5d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9c9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa3abb5c0cbd7e3d7cbbfb4aaa39f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000006111b2b37424d576774818d9aa7b4c0cddadfd2c5b8ac9f928579665b5044382b1f1206000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696a6f787e858b91969b9fa2aaaaacafb6b2b3b4b4b3b3b2b1b3adaba8a8a09d99928e87817b726c655d564e453c342a22180f050000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000915202a333c44505b656d78828c9399a1a9afb6bbc0c7cacfd2d3d6d4d2d0cccac9c8c7c7c8c9cbcec9c7c0bbb9b0aba39f948f847b6e707d8a97a3b0bdc6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000714212e3a4754616d7a8798a2aebac6cec1b4a79b8e8174685b4e412e23180c000000000000000000000000000000000000000815222f3b4855626e7b8896a0acb8c6d1cfc4b9ac9f92877c6f665c50443f38303643505c6976838f9ca9b6b2a5988b7f7265584c3f343a4146515a616c73808c949eaab4bab2aba39f948f847d6f6356493c302316090000000005111d2935414c565e6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161615e564c41362a1e110500000d1a2633404d596673808c99a6b3bfccc1b4a79b8e8174685b4e413528202d3a4753606d7a8693aab4bfcacabfb4aa94877a6e6154473b2e211408000005121e2b3845515e6b7884919eabb7c4d1d0c3b7aa9d9084776a5d51442e23170b0000000006111c2630383f4453535353534c5565717e8b98a4b1a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e0d4c7bbafa4998c7f8c96a1acb9c5d2d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9abababababababababababababababababababababababababababababababababababababababababababababababacafb5bdc7d1dce7dcd1c6bcb4aeacababababababababababababababa3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000e1a2631404c5966737f8c99a6b2bfccd9dfd3c6baaea29886796c605346392d201306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c727c838b92979ea0a8acaeb4b7b9bbc0bfc0c0c1c0c0bfbebeb9b8b5b1acaba39f9a938e857f776d685f574e463c342a21170c0300000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000020b1a26313c46515b606c77818e949fa4abb2bbc0c7cbd1d6dad5d2ccc7c6c3c0bdbcbbbababbbcbec1c3c6c7c7c1bdb5aea69f9691847b707d8a97a3b0bdcad2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000916222f3c4955626f7c8895aab4becaccbfb2a6998c7f7366594c4033261907000000000000000000000000000000000000000814212e3a47535f697784919eabb4bfcbd4c7bbafa3999083786d605b504a423b3543505c6976838f9ca9b6b2a5988b7f7265584c3f3f444c525b626c717e88939fa6b0bcc4bdb4aea69e968e8175685b4e4235281b0f02000000010d1925303a444c52545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454524c443b3025190d0100010d1a2734404d5a6773808d9aa6b3c0cdc2b5a89c8f8275695c4f423629212e3a4754616d7a8794a0adbad0d0bbaea195887b6e6255483b2f221508000005121f2c3845525f6b7885929eabb8c5d1d1c4b7ab9e9184786b544a3f34281c10030000000b17232e38424a505f60606060606063707d8996a3b0a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7dfd2c6b9ac9f93867a84919eabb7c4d1dcd1c5b9ac9f92867a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbc0c7cfd9e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000091825313e4b5864717e8b97a4b1becad7e0d4c7bbafa399867a6d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275777f8790959ea1a9acb2b8babfc3c6c8ccd2cacbcdcdcccccfc9c6c5c2bdb8b5afaca49f97928b827a6e6a5f584e463c33291e150b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000a141d2b37434e58626d73808d939ea6afb5bdc4ccd2d7dcd7cfc9c7c0bbb9b6b3b0afaeadaeaeafb1b4b7b9bbc0c7c6bfbbb0a8a19691847a7d8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000b1724313e4a5764717d8a97a4b0bdd0ccc0b6ac978a7e7164574b3e3124180b0000000000000000000000000000000000000006121e2b37424d5766727f8c99a3aebac4cfcbc0b5ab9f958d80736d605c544d454143505c6976838f9ca9b6b2a5988b7f7265584c454a50565e616d727e87929aa4afb8c1cec6bfb9ac9f93877c6f6255483c2f221509000000000008131e28323a414647474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746413b32291e14080000010e1b2734414e5a6774818d9aa7b4c0cdc3b6a99c908376695d5043362a222e3b4855616e7b8894a1aebbc7c8bcafa295897c6f6256493c2f231609000006121f2b3844505c667986929facb9c5d2d2c5b8ab9f928578665c5044382b1f1206000003101c28343f4a545c6c6c6c6c6c6c6c6c6e7b8895a1aea99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcddd0c3b6aa9d908377818e9ba7b4c1cedad3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1d9e1ebf4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd2c5b9ac9f928679675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8279818c9299a0a7adb3b9bdc3c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d1cec8c7c0bbb6afa9a29f948f847c6f6a5f584e453b30271d1207000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000006111c262f3847535f6a727f8b929da5afbbc0c7d0d8ddd8d1cbc5beb9b5afacaaa6a3a2a1a0a1a2a3a4a7aaacafb5b8bcc3c2bab2a8a0968e817e8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000020e1a26313c4754616e7a86929fa9b2bdc9d1c7bdb1a79d928c7f736d665e57524c47505c6976838f9ca9b6b2a5988b7f7265584b51545c60686d757f889299a3acb6c0cad0c5bbb0a69c8f82756a5f53473a2e2115080000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d020000020e1b2835414e5b6874818e9ba7b4c1cec3b7aa9d9084776a5d51442e23222f3c4855626f7b8895a2aebbc8c9bdb0a3968a7d7063574a3d3024170a00000713202d3a4653606d798698a3aebac7d3d3c6baaea29886796d6053463a2d201307000006121f2b3844505c66767979797979797979798693a0ada99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d7cbc0b5ab9a8d80737e8b97a8b2bdc9d5d7cbc0b5ab9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d4d7dce3ebf3fcf3eae2dcd7d3d2d1d1d1d1d1d1d1d1d1d1d1c9bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ded2c5b8ab9f9285786c554b4034291c1004000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f82828f939fa3abb1b9bec5c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced4d1cbc7c0bbb3ada69e9691857c6f6a5f574d43392e23180d040000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000b17222d38424f59626e7c87929fa4aeb7c1ccd2d9ded6cfc6bfbab3adaba49f9d9997969594949596989a9d9fa4abacb1b8bcc3bab2a89e938d818d9aa7b4c0cdd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000915202d3946525e6873808d96a1adb9c2cdcfc3b9aea49c918c80786e69605d56534e5c6976838f9ca9b6b2a5988b7f726558555c60666d717a818b939aa3abb5bec7d2cabeb3a99e94897c6f62584e43372b1f1206000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000020f1c2935424f5c6875828f9ba8b5c2cec4b7ab9e9184786b544a3f3428232f3c4956626f7c8995a2afbcc8cabdb1a4978a7e7164574b3e3124180b00000714212d3a4754606d7a8793aab4bfcbd7d6cabeb3aa94877a6d6154473a2e21140700000713202d3a4653606d788686868686868686868b95a2b7aa9d9184776a5e5144372b1e11000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e0d3c7bbafa3998a7d707b8796a1acb9c5d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcdededededad5d2d1c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0f7eee5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ded1c4b7ab9e9184786b5e51452f23180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3ddd0c4b7ab9f948f8f949ea5aeb5bdc3bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d2ccc5bebab0a8a09792857c6f695e554b4034281f160c0100000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1c28333f4a54606b75828f99a3afb6c0c9d7ddddd5ccc4bcb4aea9a19e9993908d8a8988878788898b8e9093999da0a7acb1babfbaafa59f9386939facb9c6d2d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b556976838f9ca9b6c2cfc4b7ab9e918478675d5145392c1f1306000000000000000000000000000000000000000005111e2a36414c56606d7984919ea6b0bbc5cecbc0b6ada39c928d837b736d68625f585c6976838f9ca9b6b2a5988b7f72656064676d71787e858f939fa4acb5bdc6d0cbc3baada2978f82756a6054463c31261b0f0300000000000000040c13191d20212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201e19140d050000000003101c2936434f5c6976828f9ca9b5c2cfc5b8ac9f928579665c5044382c23303d495663707c8996a3afbcc9cbbeb2a5988b7f7265584c3f3225190c00000814212e3b4754616e7a8794a1adbad1dcdbd0bbaea194887b6e6155483b2e22150800000713202d3a4653606d79869393939393939393959da7b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcdfd2c5b9ac9f92867a6d7884919eabb7c4d1ded3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e9dfd7cfc9c6c5bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8efe5dbd3ccc6c3c2bbbbbbbbbbbbbbbbbbbbbbbbbbb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7dccfc2b6a99c8f8376695c504336291d0700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd3c7bbb0a69f9c9c9fa6afbbbfbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d8d0cac1bab2a9a19792857b6e675c51453e31281d120700000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b66707d89949eabb5c0c8d2dbdfd5cbc3bab2aaa39f97928c8783807d7c7b7a7b7b7c7e8183868c91959da0a7aeb4bcbbafa49a939aa4afbbc8d4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000613202c3945515d677885919eabb8c4cfc2b5a99c8f827669554b4035291d10040000000000000000000000000000000000000000010d1925303b45515d67717e8a949fa9b3bcc5cfc8bfb5ada49c949085807a736f6a66646976838f9ca9b6b2a5988b7f72676d7074797e848b92979ea5afb6bec6cfccc3b9afa59f92857b6e61584e43342a20150a00000000000000000002080d111314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414110d0802000000000003101d2a3643505d697683909ca9b6c3cfc6baaea29886796d6053463a2d24303d4a5763707d8a96a3b0bdc9ccbfb2a6998c7f7366594c403326190d00000815222e3b4855616e7b8894a1aebbc7d4d5c8bbafa295887c6f6255493c2f22160900000713202d3a4653606d7986939f9f9f9f9f9fa0a2a7afb7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dccfc3b6a99c9083766774818e9ba7b4c1cfdad7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e1d7cdc5beb9b8afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0e8ddd3c9c1bbb6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaea3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000007121e2a36424d576773808d9aa6b3c0cdd9dacdc1b4a79a8e8174675b4e4134281b0e01000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d8ccc2b8b0aba9a9abb0b8bfbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6ccc3bbb3a9a1979083796d60594f43392f24180d02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7883909da6b0bdc7d1dae1d6ccc3b9b1a8a098928c857f7a7773706f6e6d6e6f707174777b7f848a90959fa2aab2bab6aca49fa4acb6c0ccd8d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000714212d3a4754606d7a8797a1adb9c6cdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000008141e2935404b55616c76828f97a1aab4bdc6d0c8bfb6aea69f98928c85807b7773706e76838f9ca9b6b2a5988b7f7477797d81858b91969ea1a9afbbc0c7d0ccc3bab1a79e938a7e71695e52463d3222180e03000000000000000000070e1317191a1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b1a18140f09010000000004111e2a3744515d6a7784909daab7c3d0cabfb4aa94877a6d6154473a2e24313e4a5764717d8a97a4b0bdcacdc0b3a69a8d8073675a4d4034271a0d01000915222f3c4855626f7b8895a2aebbc8d5d6c9bcafa396897c706356493d3023160a00000713202d3a4653606d798693a0acacacacacadaeb2b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e2d6cabfb4aa998c807366717e8b97a8b2bdc9d5dcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce6dacfc5bbb3adaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2abacb2bac4cedae3d7ccc1b7afaaa8a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000040d19222d3a46535f6976838f9ca9b6c2cfdcd4c8bcb1a7988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfded4cac2bbb7b6b5b7bbbcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d5cdc5bbb3a99f958e81746b61554b4035291f1408000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000003101c28343f4a5464707d8a95a0acb8c1cfd9e3d9cfc4bab1a7a09691867f79726d6866646362616162636567696e72777d838b9298a0a8b0b8b6afacafb6bec7d2ddd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000916222f3c4955626f7c8895a9b2bec9cbbeb1a4988b7e7165584b3e3225180700000000000000000000000000000000000000000000020d18242f3a43505a616e7b859298a2abb4bdc5cdc8c0b9b0aaa29f97928c8884807d7b78828f9ca9b6b5a89b8f818183868a8e92979ea0a8adb3bbc1ccd2cbc3bab2a8a0958f81756c61574d42342b2110060000000000000000010a12191f23262629292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929282724201a130b0200000005111e2b3844515e6b7784919eaab7c4d1d0bbaea194887b6e6155483b2e25323e4b5865717e8b98a4b1becbcec1b4a79b8e8174685b4e4135281b0e02000916232f3c4956626f7c8995a2afbcc8d5d6cabdb0a3978a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9b9b9b9b9babec4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce0d3c6baaea298897c6f636e7b8896a1adb9c5d2dfd3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2d0d9e3d5c9beb3a9a19e96959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5dfd2c6bbafa59e9b959595959595959595959595959595958a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000060d161f2834404a54616e7b87939facb9c6d2dfd1c4b8aca095877b6e6154473b2e21140800000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe6dcd4ccc7c4c2c2c1b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d7cdc5bbb1a79d938a7d70675d51453b3025190e020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006121f2b3844505c6674818e9ba7b1bccad3e1dcd1c7bdb2a8a09590847c726d67615d565756555454555658575e61666b70787e8691969fa6b0b9bbb9bbc0c7d0d9e4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabeb3a996897c6f6356493c30231609000000000000000000000000000000000000000000000007131d28313e47535f696f7c869299a3abb3bbc2cccbc2bcb3aea9a29f9996918d8a888686929facb8b6aa9e938f8e9092999b9fa2a9acb2b9bec5cdd0cac0b9b1a8a09690837a6d615a50453b3022190f0000000000000000000a131c242a2f3233363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363533302b251d140b01000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f25323f4c5865727f8b98a5b2becbcec2b5a89b8f8275685c4f4235291c0f02000a1623303d495663707c8996a3afbcc9d6d7cbbeb1a4988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6c6c6c6c7d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b8ac9f9285796d60697884919eabb7c4d1ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b2bdc7d2ddd2c6b9ada1979289888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2dccfc3b6aa9e938f88888888888888888888888888888888887d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000003090f181f28313a44515c6673808d9aa4afbbc8d4ddd0c3b7aa9d908377695e52463a2d20140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeee6ded8d3d0c9c1b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d6cdc3b9afa59e9184796d60564d41362a1e13080000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cedee3d7cbc0b5aba19690837a6f6a605d55524c4a4948474848494b4d52545961666d717c848f949fa7b1bac4c8ccd2d9e2ebd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000d192633404c5966737f8c99a6b2bfccc6baada297877a6d6154473a2e2114070000000000000000000000000000000000000000000000010c161f2b37424d57606a707d879299a2a9b1bbc0c7cec5bebab3adaba8a09d999798929298a3aebabbafa59e9b9a9d9fa3ababadb3b9bdc4c9cfcbc5bebaaea7a09691847a6d685d52483e33291f1007000000000000000007121c252e353b3f404343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434341403c362f261d1309000005121f2b3744505b657985929facb8c5d2c9bcb0a396897d7063564a3d3026333f4c5966727f8c99a5b2bfcccfc3b6a99c908376695d5043362a1d0700000a1724303d4a5763707d8a96a3b0bdc9d6d8cbbfb2a5988c7f7265594c3f3226190c00000713202d3a4653606d798693a0acb9c6d2d2d3ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3dbcfc2b5a89c8f8275665c6874818e9ba7b4c1ced9dcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e96a1abb5c0ccd7d1c5b8ab9e92857d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c84919eabb7c4d1dbcec2b5a89b8f817c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000002050a0f151a2129313a434e58606d7985919eacb6c0ccd8d5c9bdb2a8998d807366574d42362a1e110500000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfecf1e7ddd3cac1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd4cbc0b9aca1968d8073685e52463a3025190d0100000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a1623303d495663707c8997a2adb9c6d2dfe0d4c7bbafa39991847b6e685f58514b46413d3c3b3a3b3c3d3e4246474f545c606a6f7a828f95a0a8b2bec7d2dde4ebe3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec5b8ab9f928578685e5246392d201307000000000000000000000000000000000000000000000000040d1a26313c454e58606b717e8792979fa7afb6bec3c8cac5bebab8b2acaaa6aaa29f9fa3aab4bfc1b8afaaa8a7aaacaeb5b8babec5c9ceccc6bfbbb4aea49d9590847b6e685e564c41362c20170d0000000000000000020e19242e3740474b4d505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e4c4841392f251a0f03000613202d394653606c7986939facb9c6d2cabdb0a4978a7d7164574a3e312633404d596673808c99a6b3bfccd0c3b7aa9d9084776a5d51442e23180c00000b1824313e4b5764717e8a97a4b1bdcad7d9ccbfb3a6998c807366594d4033261a0d00000713202d3a4653606d798693a0acb9c6d3dfe0ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a8988b7f72655464717e8b97a8b2bdc8d4e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000714212e3a4754616d7a849199a4afbbc2ced2c6b9ada1978e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7784919daab7c4d0dacdc1b4a79a8e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c201306000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060000040607080809090e12151a20262b333b434c56606a727f8b97a1adbec7d2ddd2c5b9aca096897c6f6356493c30251a0e0200000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dff3e9dfd5cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6ddd5c9bdb2a89f92867b6e61564c41362a1d110500000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010e1a2734414d5a6774808d9aa9b3becad6e2d6cabfb4aa9f92877c6f695e564e4540393530302f2e2e2f3030363a3e424a50585f686d79839096a0acb6c0ccd8e1ebe3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111d2935414c566a7683909da9b6c3d0c3b6a99d9083766a564c41362a1d11050000000000000000000000000000000000000000000000000009151f2a333d464f59616c717e8590959fa4acb1b8bcc3c8cac6c3bdb8b7b3b4aeacacaeb4bcc6cac1bbb6b5b4b6b9bbbfc5c6cacec9c7c0bbb5aeaaa29f928d837b6e695e564c443a30241b0e05000000000000000007131f2a35404a5257595c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b59534b41362b201408000714202d3a4753606d7a869aa4afbbc8d4cbbeb1a4988b7e7165584b3e322734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a4034281c1004000b1825323e4b5865717e8b98a4b1becbd7dacdc0b3a79a8d8074675a4d4134271a0e01000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3ded2c5b9aca196887b6e6255616e7b8796a0acb8c5d2ded7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000713202d3946525e68707d87939fa7b1bcc5d0c9beb3a99d938a7e716962626262626262626262626262626262626262626262626262626262626a7784919daab7c4d0dacdc1b4a79a8e817467626262626262626262626262626262605d554c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21141313131313131313131313130c101314141516171a1e21262b31373d454d555d686f7c87929fa9b3bed0d9d4c8bcb1a79e9184786d6053463a2d2013090000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dacec4baaea3988d8073685e5246392d20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfdbe0d3c7baaea2988e81746a5f574d443c352f2924232221212223252a2d30383f444e565d676e7a84919aa4afbbc4cfdae6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413025190d0100000000000000000000000000000000000000000000000000030e18212b343d47505a616c707b838d939aa0a7acb1b8bcc3c4c8c8c5c4c0bfbab8b8babfc6ced3ccc6c3c2c1c3c5c7cbcec9c5c4bdb9b6afaba39f98928a80796e695e574d443a32281e12090000000000000000000a17232f3b47525c63666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968645d53483c3024180b000714212e3a4754616d7a8794a0b6c0ccd8cbbfb2a5988c7f7265594c3f322734414e5a6774818d9aa7b4c0cdd2c5b8ac9f928579665c5144382c1f1206000c1925323f4c5865727f8b98a5b2becbd8dbcec1b4a89b8e8175685b4e4235281b0f02000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e918478695f535e697784919eaab7c4cedadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000005111d2a36414c56606b73808c959fa9b3becacfc5bbafa59f92857b6e665c55555555555555555555555555555555555555555555555555555e6a7784919daab7c4d0dacdc1b4a79a8e8174675b555555555555555555555555555554514c433a2f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2120202020202020202020202020181c1f2021222324262b2d31373c43474f575f676d7a849199a3aebbc4cfd7cdc5b8aca0958a7e71665c5044382b1f12060000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6154473d32271b0f03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000714202d3a46525e697985929facb8c5d2dfdfd2c5b8ac9f92867b6e61584e453b3229241d191615141515161a1e20262e343c434c555e686f7c88939fa9b3bec9d5e3e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a8797a2adbac6ccbfb3a6998c807366594d4033261a08000000000000000000000000000000000000000000000000000000060f19222b353e48505a61696e78808890959da0a7acb1b6b8bcc2c5c6c9cac7c5c5c7cbd0d8e0d7d2cfced0cac6c5c3c0bdb9b7b2acaca49f99928d867e746d675e574d453b322920160c000000000000000000000c1926323f4b57636e7376767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676746f64594c4033271a0e000815222e3b4855616e7b8894a1aebbd2ddccbfb3a6998c807366594d40332835414e5b6874818e9ba7b4c1ced3c6baaea29886796d6053463a2d201307000c1926333f4c5966727f8c99a5b2bfccd8dbcfc2b5a89c8f8275695c4f4236291c0f03000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d807367574d576773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000010d1925303a444f59606d78839097a2adbac0cccdc0baada2979083786d60594f4848484848484848484848484848484848484848484848515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e484848484848484848484848484745413a31281e130800000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d23292c2d2e2f2f3131373a3c43474e535960696e79828f96a0abb4bfcdd6cfc5bbb1a79d9083786c60544a3f34281c10030000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6dcd0c6baaea2988c7f7266584e43372b1f1306000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6d3dfd7cbbfb4aa9a8e8174695e52463c33292018120d0808070809090e11141c2328313a434c56606b74808d97a1adb9c6d1dce7d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000916232f3c4956626f7c8995a9b3becacabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000007101a232c363e4850575e666d737d838a90959da0a7aaacb1b5b8b9bebdbfc1c5c6cad0d7d3ccc6c3c2bdbebab8b6b4b2acaba8a19e9a938e86807a716c605c554d453b332920170e04000000000000000000000d1a2633404d59667380838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838174685b4e4135281b0e000915222f3c4855626f7b8895a2aebbc8d5cdc0b4a79a8d8174675a4e41342935424f5c6875828f9ba8b5c2ced6cabfb4aa94877a6d6154473a2e211407000d1a2633404d596673808c99a6b3bfccd9dccfc3b6a99c908376695d5043362a1d0600000713202d3a4653606d798693a0acb9c6d3dfe1ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f62564956626f7c8996a1acb9c5d2ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbac3cfcabeb3a99f958c80736b60564c413c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e413c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c0100000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a3939393939393939393939393939392f34383a3b3b3c3e404246484e53585f626b707b838f949fa8b2bdc6d1d1c7bdb3a99f958a7d70665b5042382e23170b000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd6cabfb4aa9d9184776a6054473b2e221509000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000915222f3c4855626f7b8895aab4bfcad6e0d3c7baaea3988a7d7064574d42342a20170d070100000000000002050a11171f28313b444f59606d7a85919eabb5bfcbd7e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4b1bdcfc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000008111a242c363e454d545c606b70787d838a9095999da0a7a9abadb3b1b3b4b8babec5cdcac1bbb6b5b0b4aeabaaa7a8a19e9a96918c87817b746e68615a514b433b332921170e0500000000000000000000000f1c2935424f5c6875818f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f83776a5d5144372a1e11000916232f3c4956626f7c8995a2afbcc8d5cec1b4a89b8e8175685b4e42352936434f5c6976828f9ca9b5c2cfdbd0bbaea195887b6e6255483b2f221508000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a5d51442e23170c00000713202d3a4653606d798693a0acb9c6d3d5d5d5d1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e9184786c60534654606a7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da8b1bcc6d0c5bcb1a79f93877d70685e52463f342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342f2f2f2f2f2f2f2f2f2f2f2d2c29241e160d040000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544746464646464646464646464646464646464045474748494a4d4d5355585f626a6e757d8591959fa6b0bac4cfd2cbc0b5aba1979083766c61544a3f30261c1106000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6dbd0c6b8aca095897c6f6256493c31251a0e020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000091623303c4956636f7c8996a2afbcd0dbdfd2c5b9ac9f92867a6d6053473b3020190e050000000000000000000000060d161f29323d45515d6773808c99a3aebbc7d3e0d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000008121a232c333b424a515961656c70787d83888c9095989c9ea1a9a4a6a8abadb3bbc5c1b8afaaa8a4aaa29f9d9a9796918e8984807b756e69615e5650454039302921170f050000000000000000000000000f1c2935424f5c6875828f9b9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9084776a5d5144372a1e11000a1723303d4a5663707d8996a3b0bcc9d6cfc2b5a89c8f8275695c4f42362a3643505d697683909ca9b6c3cfd5c8bcafa295897c6f6256493c2f231609000e1b2734414e5a6774818d9aa7b4c0cdd5d5d1c4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d798693a0acb9c6c8c8c8c8c8c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d8074655b50444e586773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000050e17232e38424d57616c74818e95a0aab4bfcbcec2bbafa49991847a6d615b51463c312722222222222222222222222222222b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134282222222222222222222221201d19130c04000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61545353535353535353535353535353535353534b5153545556575a575f61666a6f747b82899297a0a7b0b8c2ccd0c7c0bbafa39992857b6e615a5042382d1e140a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd4c8bcb1a79a8d807467574d42362a1e12050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c908376675d5145392c20130700000000000000000000000000040d17202935414c55616e7b86929facb9c5d2dfd7cabdb0a4978a7d7164574a3e3124170b000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000008111a2129303940444f535b60656c70777c7f83878b8f92979597999b9fa2a9b3bebbafa59e9b97959892908d8a8784817d78736e69615f57524c443e342e271e170f05000000000000000000000000000f1c2935424f5c6875828f9ba8a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99d9084776a5d5144372a1e11000a1724313d4a5764707d8a97a3b0bdc9c9c9c3b6a99c908376695d5043362a3744505d6a7783909daab6c3c9c9c9bdb0a3968a7d7063574a3d3024170a000f1b2835424e5b6875818e9ba8b4c1c8c8c8c8c5b8ac9f928579665c5044382c1f1206000713202d3a4653606d798693a0acb9bbbbbbbbbbbbbbb7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f4956626f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f241815151515151515151515151e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1515151515151515151413110d080100000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6160606060606060606060606060606060606060605c60616262646669696e73777b81878f939ea1a9b1b9c2cacfc6beb6afa49f92877d70695e53483e2f261c0c0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8d9cec3b7aa9d918477695e53463a2d2114070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dbcec1b4a89b8e817568554b4035291d10040000000000000000000000000000050e19242f3a46525e6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec7baada194877a6e6154473b2e2114080100020202020000000000000000000000000000000000000000000000000000080f171e272e343d414950535b60646a6f73777b7f828587898a8c8e9297a2adbab6aa9e938f8a89878583817e7b7874706c65615f57534d46413b3228231d150c0500000000000000000000000000000f1c2935424f5c6875828f9ba8b5b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdb7aa9d9184776a5e51442e233744515e6a7784919daab7bdbdbdbdbdb1a4978a7e7164574b3e3124180b000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbaaea29886796d6053463a2d201307000713202d3a4653606d798693a0acaeaeaeaeaeaeaeaeaeaa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346394653606c7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c0909090909090909111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e090909090909090907060401000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6e6e6f717375787b7f84888e92999ea5adb3bbc3cccac3bcb4aca49f928c7f726b60574d42362c1d140a0000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4ded1c5b8aca096877b6e6154483b2e2115070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dacdc0b3a79a8d8074675a4d412f24180d0100000000000000000000000000000008131e2a36414d566673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004101d2a3743505d6a7683909da9b6c3d0c8bbaea295887b6f6255483c2f2214110d070f0f0f0f0b0a08040000000000000000000000000000000000000000000000050c151c23282f383f44495053585f6266696e7276787a7c7e808185929fabb8b5a89b8f817e7c7a787774716e696763605b53534d46423b3630292018120b030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b7aa9d9084776a5d5144372a1e11000c1825323f4b5865727e8b98a5b0b0b0b0b0b0b0ab9e9185786b554b4034283845515e6b7884919eabb0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00101c2936434f5c6976828f9ca9aeaeaeaeaeaeaeaeb4aa94877a6d6154473a2e211407000713202d3a4653606d798693a0a2a2a2a2a2a2a2a2a2a2a29e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a99a8d8074655b50443744505b6574808d9aa9b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4bab0a69f92867c6f675d51453e33291e140a00000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a79797979797979797979797979797979797979797979797a7a7b7c7d808285888c90959a9fa3abafb9bec5cbc5bebab1aaa39a938c80746d63594f453b31241a0b020000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd4c8bdb2a8988b7e7165584b3e2e23180c0000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190700000000000000000000000000000000010e192530404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa396897c706356493d2f26201d181c1c1c1c1c171614100b0500000000000000000000000000000000000000000000030b12181d262d33383f44464e5355575e616569686d6f717376838f9ca9b6b2a5988b7f726f6d686a6764615e575653504947423c36312a251e170e0700000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc3b7aa9d9084776a5d5144372a1e11000c1926323f4c5965727f8c98a3a3a3a3a3a3a3a3a39f928579675c5145382c3945525f6c7885929fa3a3a3a3a3a3a3a3a3998c7f7366594c403326190d00101d2a3643505d697683909ca2a2a2a2a2a2a2a2a2a2a194887b6e6155483b2e221508000713202d3a4653606d788693959595959595959595959595959184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f333f4953636f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989183796d605a50453b30261c1106000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d4c8bbafa2978c878686868686868686868686868686868686868686868686868788898a8d8f9197999da0a7acafb5bdc1c8c6bfbbb4aea8a09892887f746e645b51473d33291f1108000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcd9cec1b4a89b8e817568554b4034281c100400000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000081a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004111e2a3744515d6a7784909daab7c3d0ccbfb2a6998c7f7366584e4238302c292428282828282423211c1710080000000000000000000000000000000000000000000000070b141b22272d33373c4347494d535458565d6062646976838f9ca9b6b2a5988b7f7265615e565a5754524d4946443f3837312a261f19140d050000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b7aa9d9084776a5d5144372a1e11000d192633404c5966737f8c96969696969696969696969886796d6053463a2d3844505c6679869296969696969696969696968d8073675a4d4034271a0d00111d2a3744505d6a77839095959595959595959595959595887c6f6255493c2f221609000713202d3a4653606d788688888888888888888888888888888884776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346392d394653606c7884919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958e81746c61574d42382e23170e040000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbfb3a89e979493939393939393939393939393939393939393939393939394959597999c9ea1a9aaacb1b9bbc0c4c1bcb8b5aeaaa29f9591867e726d645c53493f352b21170d00000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd8cbbeb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd0c3b7aa9d908477675c5145382c1f130600000000000000010507070a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0808080706040100000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfcfc2b6a99c8f83766a5f544a413a39352f353535353531302d28221a12080000000000000000000000000000000000000000000000020a11171b22272b32373b3c4246484c4c5254565c6976838f9ca9b6b2a5988b7f726558524c4e4b4846423d3937332d2b261f1a140d0802000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3aa9d9084776a5d5144372a1e11000d1a2734404d5a6773808a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e00111e2b3744515e6a77848888888888888888888888888888887d7063564a3d3023170a0006121f2b3844505c66767c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb2a99a8d8074655b5044372b3844505b6674808d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e71695e544a3f342820160c0200000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbd0c4bab0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a1a2a4a6a8abadb3b7b8bcc0bbb9b7b4b1acaba39f98928c847c716c635b534a41372d23190f0500000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7cabeb1a4978b7e7164584b3e3125180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c5b9ac9f9286796d6053463a2d201307000000000002080d111314141723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322519141414141413110d08010000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000020e1b2835414e5b6874818e9ba7b4c1d1d0c4b7ab9f94887c6f665b524c4745404242424242423e3c39332c241a1005000000000000000000000000000000000000000000000000060b11171b1f262b2e31363a3b3f414547505c6976838f9ca9b6b2a5988b7f7265584c41413e3b3a36302d2b27221b1a150e09030000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69d9084776a5d5144372a1e11000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222f3b4855626e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070003101c28343f4a545f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2d21140800000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c6f6353493f3328333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9afa59f92857b6e665c50443d32281e130800000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e1d6ccc2bab3afadacacacacacacacacacacacacacacacacacacacacacacacadadaeafb0b3b5b8b9bec3c7beb6afacaaa8a7a09d99928e867f786f6a615a514941382f251c11080000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d8ccc0b6ac978a7d7064574a3d3124170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd3c7bbafa399887c6f6255493c2f22160900000000040c13191d2021212123303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225212121212121201d19130c0400000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000d1a2733404d5a6673808d99abb5c0cbd3c7bbb0a69c8f82786c615e5653514b4f4f4f4f4f4f4a49443e362c22170b0000000000000000000000000000000000000000000000000000060b0f151b1f21252a2d2e2f353943505c6976838f9ca9afafa5988b7f7265584c3f30312e2d2a25201f1b17110e090300000000000000000000000000000000000000000000000f1c2935424f5c6875828f99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999084776a5d5144372a1e11000815212e3a47535f6a6f70707070707070707070707070706d675d5145382c3844505c666d70707070707070707070707070706f6a5f54473b2e221508000814212e3a47535f696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c20130600000b17232e38424e585f62626262626262626262626262626262615f574d42372b1e12060000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9184786c605346392d222d394653606c7985919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0ccccc0baada2979082786d60594f443a3024191006000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e8ded4ccc4bfbbbab9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9babbbcbdc0c2c4c6c9c7bdb5aca49f9d9b9895908b86817b726d66605850483f372f261d130a000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7e0d4c8bbafa49a887b6f6255483c2f221509000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd7cbc0b5ab978b7e7164584b3e3125180b000000040e161e25292d2e2e2e2e303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322e2e2e2e2e2e2d2c29241e160d04000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1825323e4b5865717e8b99a3afbbc7d4cdc2b7aa9f948d80756d6863605d555c5b5b5b5b5b575550483e33281c1004000000000000000000000000000000000000000000000000000000030a0f13151a1e212124293643505c6976838f9ca3a3a3a3988b7f7265584c3f322521201e1a13120f0b0600000000000000000000000000000000000000000000000000000f1c2935424f5c6875818d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d83776a5d5144372a1e110006121f2b37434e585f626363636363636363636363636363605d554b403529343f4a545c606363636363636363636363636363625f584e43372b1f13060006121e2b37424d575f62626262626262626262626262626262605d554b4135291d1104000006111c26303c464e535555555555555555555555555555555555534d453c31261a0e020000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8074665b5044382b1f2b3844505b6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cfcabeb3a99f948c80736b60564c41352922180d030004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e6ded6d0cbc8c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c7c8c8cacccfd1d2cbc0b5aba39a93918e8c88837f7a746e69605c544e463e362e251d140b01000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcdfd2c6b9ac9f9386796d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddadcd1bfb2a5998c7f7266594c3f3326190c0000020c1620283035393a3b3b3b3b3d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3b3b3b3b3b3b3b3a39352f281f160c010000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a86929facb9c5cfd3c7bbb0a69d928d817a74706d676969686868686864615a5044392d21140800000000000000000000000000000000000000000000000000000000000306090e12141519293643505c6976838f9696969696968b7f7265584c3f32251914120e090503000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080807f7265584c3f3225190c00030f1a26313c464e5355575757575757575757575757575753514b43392f242e38424a5053575757575757575757575757575755544e463c32261b0f0300020e1a26313c454d535555555555555555555555555555555554514b433a2f24180d010000000a141e2a343c4347484848484848484848484848484848484847423c332a1f150900000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c28333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6d0c5bbb0a69f93877d70685d52463f342a1f150b0104111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdcac8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9cacbcdcfd2d3d6d4c7bbafa399928884817f7c77726d68615e56514a423d342c241c130b0200000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3ddd0c3b6aa9d908377675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b3a79a8d8074675a4d4134271a0e000008131e28323a41464747474747474a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c47474747474747474745413a31281e13080000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e6876828f9ca9b3bec9d5ccc2b8aea49d938f86817c7a7776757575757575716c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000020507081d293643505c69768289898989898989897f7265584c3f3225190c0502000000000000000000000000000000000000000000000000000000000000000a1724303d4956616c7173737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373726d62564a3e3125180b00000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d2630383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009151f2a333c4247484848484848484848484848484848484745413a31281d130700000000020c18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d2217222d3a4653606d7985929eabb8c5cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa49991847a6d615b51463c31271d120700111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbec0c3c5c6cad0c5b9ac9f92867f7b77736f6a65615e56524d444039302b221a120a010000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff3e9e0d5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1e1d5c9bdb2a8998c7f7366554b4034291c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00010d1925303a444c52545454545454545663707d8996a3b0bcc9d6d8cbbeb2a5988b7f72655854545454545454545454524c433a2f24190d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36414c5664717e8b97a1adb9c1ccd3cac0b6aea59e98928e898684838282828282827e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7d7b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000815212d3945505a61646666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665625b51463a2e2216090000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38352f271f151e262e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000030e18212a31373a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c01000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2b261f180f06000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8174665b5044382b1c121f2b3844505c6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f24180f05111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafb0b1b3b6b8babfc5c7bbafa399928c8783807a746e69605b534c443b332a2019100800000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff2e9e2d9cec4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4deded2c5b9aca196887c6f6255483c2f23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d100005111d2935414c565e616161616161616163707d8996a3b0bcc9d6d8cbbeb2a5988b7f726561616161616161616161605d564c4135291d110400000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000010d1925303a4754606d7a85929ea5afbac3cbd6c8c0b7afaaa29f9a999391908f8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000815222e3b47545f6a6f70707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000005111d28343e485056585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a585651493f34291e120600000006101820262b2e2f30303030303030303030303030302d2c29241d150d141c23282b2d30303030303030303030303030302f2e2b26201910070000000000060f181f262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d2c29241d160d0400000000000000060e151a1f212222222222222222222222222222222222211e1a150e060000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c101c28343f4a5463707d8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb3aaa4a2a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a3a4a7a9acaeb4b8babfb5aba39f9895908c86807b726c655e564d453b332920160c02000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e0d7d0cac6c2b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedce3d7cbbfb4ab9e9184786a5f53473b2e1d120700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e11000713202d3946525e686d6e6e6e6e6e6e6e6e707d8996a3b0bcc9d6d8cbbeb2a5988b7f726e6e6e6e6e6e6e6e6e6e6e6d685d5245392c20130600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000813202c3945515d67717e8a939ea8b1b9c2cad0c9c1bcb4aeacaba49f9d9c9c9b9b9b98887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363615e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4a463f372d23180d0100000000060e151a1f21222424242424242424242424242424201f1d18120b030a11171c1f20242424242424242424242424242422221f1b150e0700000000000000060e151a1e212222222222222222222222222222222221201d18130c04000000000000000000030a0f1215151515151515151515151515151515151514120e090300000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d22170b17232e3a4653606d7985929eabb8c5cfdbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4baafa59f92867c6f675d51453e33291e140a1e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa1999595959595959595959595959595959595959595959595959697989a9c9fa2aaacaeb4bbb5afaca7a09d98928d867f776d685f574d453b32281e1308000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d7cec5bebab8bab8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5dfdcd3c7baaea3998d807467584e43372b1f0b0100000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ddd1c4b7aa9e9184776b5e5144382b1e11000714212e3a4754616d7a7a7a7a7a7a7a7a7a7a7e8a97a4b1bdcad7d9ccbfb2a6998c7f7a7a7a7a7a7a7a7a7a7a7a7a7a6d6054473a2d21140700000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b55616c75818e96a0a7b0babfc6cecec6bfbab8b5afacaaa9a8a8a89f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5455565656565656565654524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000006101b242d34393d3e404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403f3e3a342d251b1107000000000000030a0f12151517171717171717171717171717171413100c07010000060b10121317171717171717171717171717171615130f0a0400000000000000000003090e1214151515151515151515151515151515151413110d07010000000000000000000000000306080909090909090909090909090909090908080602000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665b5044382b1c1106121f2c3844505c6674818e9aa9b3becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989083796d605a50453b30261c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb1a4998e898888888888888888888888888888888888888888888888898a8b8d9092989b9fa3aaafb5bbb9b1acaaa29f99928c827a6e695f574d443a3024190d030000000000000000000000000713202d3a4653606d798693a0acb9c6d3e7dbd0c5bcb4aeabaeb4b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddddd5c9beb3a99f92867b6e6155483c32261b0f0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a77838787878787878787878a909aa6b2bfcbd8dacdc0b4a89c918c8787878787878787878787878175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010d18242f3a43505a616d7a8490959fa6aeb4bcc1c5c8cac6c5c0bbb9b7b6b5b5a99c908376655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494846423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000009121b22282d30313333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332312e29231b1309000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000306070a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000002060808090909090909090909090909090909070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c0a03101c28343f4a5463707d8997a2adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958d80746c61574d42382e23171e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7c7d7e808385898e92989fa3abb1b9bcb8b4aeaba39f948f847b6e695e564c4135291f150b0100000000000000000000000713202d3a4653606d798693a0acb9c6d3e2d6cabeb4aaa29fa2aaafb7b3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbddd4cbc2b9ada1978d8073695f53463a2a20150a0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f1200111d2a3744505d6a7783909494949494949494979aa2acb7c2cedadcd0c4b8ada39c9994949494949494949494948e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000007131d28313e46525e686e7b8390949fa2aaafb7b8bcc1c3c5c7c7c6c4c3c0b4a79a8d81746753493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000040e19222a32373b3c3d3d3d3d3d3d3d3d3b3a36302921170d03000000000000000000000000000000000000000000000000000000000000000000000000000910171d212425272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272525221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2d22170b000c17232e3a4653606d7985929eabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e70695e544a3f342820162b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7070717476797d81868d92999fa7b0b8c2bfbab4aea69e9691847b6e685d52463d31271d120700000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd3c6baaea29892989ea5afbbbab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9ded5cbc2b9b0a69e92857a6d60574d42362a1e12050000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f1300111d2a3744505d6a7783909da1a1a1a1a1a1a1a4a6acb4bec8d3dfe0d5cabfb6ada8a6a1a1a1a1a1a1a1a1a1a19b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000010c161f2a36414c565e696e7a828c92989ea5aaacb1b4b6b9babfbbbcbcc0b5ab988b7e7165584b3e2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000007101920262b2e2f30303030303030302e2d2a251f170f05000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070708090a0b0b0c0c0b0b0a090807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665c5044382b1c11060006121f2c3844505c6674818e9ba9b3becad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49f92857b6e665c50443d32281e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6262626262626262626262626262626262626262626263646567666d70757a808790959fa6b0b8c2c6bfbab0a8a19691837a6d61594f43392f24180c00000000000000000000000713202d3a4653606d798693a0acb9c6d3ded2c5b8ab9f92858f939ea9b3bbbeb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dadbd6ccc3b9b0a69e938b7f72685d52453b31261a0e020000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f1200111d2a3744505d6a7783909daaadadadadadadb1b2b7bec6d0dae5e6dbd1c8bfb8b4b2adadadadadadadadada89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000040d1925303a444d575e686d797f868e93999da0a7a7aaacaeb4afafafafafa499897c6f6256493c2f231606000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f2222232323232323232321201e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c101313141516171718191818171716151413110d070a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a000003101c28343f4a5463707d8a97a2adbac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0baada2979082786d60594f443a30242b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61555555555555555555555555555555555555555555565758545c6063686d737c838f949fa6b0bbc5cbc2bab2a8a0958e81746b60554b4035291d1004000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82828f97a1a9b3bbc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4dcd7d0cac1bab1a79f948f82786d60564c4133291f1409000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a7783909daab6babababababdbfc2c8d0d8e2ecede3dad1cac4c0bfbabababababababab4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000008131e28323b454d565d676d737b81888c9195989a9d9fa3aba2a3a3a3a39f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407090e12141517181c1f202122222324252525252424232220201d1819171514120e0907040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b0000000c17232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60564c4135292b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544848484848484848484848484848484848484849494a4b4a5053565d606a6f79828f949fa9b3becaccc4bab1a79e93897d70675d5145382c1f150a000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859197a2a9b1bbc0c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d6d1cbc5bebaafa8a0959082796d665c50433a2f21180d03000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e1100111d2a3744505d6a7783909daab6c3c7c7c7c7cad1d2d5dae1e8f1f5ece3dbd5d0cdccc7c7c7c7c7c7c7c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000020c162029333b444c555c60696e757b7f84888b8e90929994959696969696918477675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060708090a0b0b0b0c0c0b0b0a09080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e20212423282c2d2e2e2f3031323232313131302e2d2c2924262421211e1a1413110d08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8e8174665c5044382b1c110600000006121f2c3844515c6674818e9baab3becad6e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d52453f342a3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3d3e3f44464c52585f676d79828f97a1adb9c3cdccc3b9afa59e9184796d6053473c32271b0f030000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757c859297a0a7afb5bdc2c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d7d3d0cac7c0bbb3ada59d9691837a6d675d544a3f31281e0f0600000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c3b7aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daab6c1c1c1c1c1c1c5c6c9cfd6dfe8f1e7ddd5cdc8c4c3c1c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000050e172029323a434b51575e61696e73777c7e818386878888898989898989817568554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709060b101213141617171818191818171716151312100c07090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312e34383a3a3b3c3d3e3e3f3f3e3e3d3c3b3a39352f33312e2d2a2521201d1913100c0701000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a0000000004101c2834404a5463707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605b51463c313744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f30312e34383a41454e555d676d7a85929ea7b1bcc8d4ccc1b9aca0968b7e7165584e43372b1f13060000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756f7c8590959fa3abb0b9bbbfc5c7cbcac6c5c4c5c6cad0cdd0d1d2d1d1cbc7c5bfbab5afa9a29f938e847b6e685d554b42382e1f160c0000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000111d2a3744505d6a7783909daab4b4b4b4b4b4b4b8b9bec5cdd6e1eadfd5cbc3bcb8b6b4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000050e172028313940454d52575f61666a6f727477797a7b7c7c7c7c7c7c7d7b6e6155483b2f24180c00000000000000000001050707090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080705020000000000000000000000000000000000000000000000000000000000000000000000000205060c1012131518171c1f2021232424252525252524242321201f1c1818161313100c0706020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181c1f24292c2d30363a3b3d404045464748494a4a4b4c4b4b4a4a494847454042403d3b3a36312d2c29241f1c18120d08020000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b00000000000c18232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968f81756d62584e43392f44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2222222222222222222222222222222222232423282b2f353c434b555e68717e8b95a0acb8c4d1d5c9bdb2a89d9083776a6054473b2e2215080000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756a6f7b838d92999fa6acaeb5b9babfc1c3c5c7cbd1c9c9d0cac7c5c4c2bfbab9b4aeaba39f97928a81796e695e564c433930261c0d040000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b4a89b8e8175685b4e4235281b0f00111d2a3744505d6a7783909da8a8a8a8a8a8a8a8abadb3bbc5cfdae4d9cdc3b9b1acaaa8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000050e161f272f343b42464d5355585f626567666d6d6e6f7070707070706e695f53463a2d1d12070000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000105090e1214171c1f20222523282b2d2e2f303131323232313130302e2d2c28232522201f1c1814120f090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141a1c23282c2f35393a3e4246484a4d4b51535455555657585858585757565553514b4f4c4a4846423e3a3935302c29231d19130d0802000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c1106000000000007131f2c3845515c6775818e9baab4becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e726a5f554b403444515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21151515151515151515151515151515161617171c1f24293139434c56606c7883909daab6c3ced9cec4b8ab9f95887c6f6255493c2f24190d0100000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569696e7980878f949b9fa3abacaeb4b5b7b9babfbbbcbcbbbfbab8b7b6b4aeacaaa29f99928e857e746d675e574d443a31271e140a000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d9cdc0b3a69a8d8073675a4d4034271a0d00111d2a3744505d6a7783909b9b9b9b9b9b9b9b9b9ea1a9b3bec9d5e0d4c8bcb1a7a09d9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000040d151d232930363b4246484e535558545c60616162636363636363615f574d42372b1e0b01000000000000050c13191d202123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201e1a140d050000000000000000000000000000000000000000000000000000000002080d11141a1e2123282c2d2f312e34383a3b3c3d3e3e3e3f3f3e3e3d3c3b3a38342e322f2d2c2823211f1a15110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181f252a2e34383a4145474b4d52545759545c6061616263646565656464646361605d555b595754534d4b4745413a38342f29251e19130b06000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c1003000000000004101c2834404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6f675c51453e44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140808080808080808080808080808090a060b1013191f27313a44505b65727f8c98a7b1bcc8d4d4c8bcb1a79a8d817467554c4135291d110400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695f676d747c82898e92999c9fa3aba8aaacaeb4aeafafafb4aeacaba9aaa39f9c98928d87817b716c605d554d453b32281f150c02000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8cbbfb2a5988c7f7265594c3f3226190c00111d2a3744505d6a77838e8e8e8e8e8e8e8e8e8e9297a1adb9c6d2ded1c4b8aca095908e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000030b12181f252a31363a3c4347484b4a505354555556565656565655534d453c31261a0e000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f0500000000000000000000000000000000000000000000000000040a0f13191d20262a2d2e34383a3c3e413f444647494a4a4b4b4c4b4b4a4a4948464440413e3c3a38342e2e2b26201e1914100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d24293036394044464c525458575e61646669666d6d6e6f70717172727171706f6e6d676a686664615e575754524c47454039353029241e17110a020000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c000000000000000c18232e3a4753606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d605a504544515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003080d151f27333f4953616e7b8895a0acb8c5d1d8cdc3b7aa9d908477675d5145392c20130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569555c606a6f767d82868c8f9299999b9d9fa3aaa2a2a3a2aaa29f9e9c9998928f8c85807b756e69615a514b433b332920160d0300000000000000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd6cabfb4aa978a7d7164574a3e3124170b000d1a2733404d5a6673808181818181818181818185929eabb8c5d1ddd0c3b6aa9d90838181818181818181818181817f7265584c3f3225190c00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000001070c141a1f262a2d32373b3c3f3f44464748494949494949494846423c332a1f14090000000000020c1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36302921170d0300000000000000000000000000000000000000000000040a0f151b1e252a2d31363a3b3f4446484b4d4a50535456575758585858585757565453514a4e4b494645403b3a37312d2a251f1b16100b0500000000000000000000000000000000000000000000000000000000000000000000000000060b141b22272f353b42464a5153565d606569696e70737578797a7b7c7d7d7e7f7e7e7d7d7c7b7a79777573706e696764605d5653514b46413a353027221b140b0500000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c11060000000000000007131f2c3845515c6775818e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80746c61574d42515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000030d17222d3846535f697784909daab7c3d0ddd2c6b9ac9f93867a6d6054473a2d21140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c51585f626b70757a7f83868a8c8e9092989495969695949892918f8c8986837f7a746e69615e575045403a312921170e040000000000000000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c6baaea298887b6e6255483b2f221508000c1926323f4b58636e7375757575757575757576838f9ca9b6c2cfd8cbbeb2a5988b7f757575757575757575757575726d62564a3e3124180b00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000002090e141a1e21262b2e2f2e34383a3a3b3c3d3d3d3d3d3d3b3a37312a21180e03000000000008131e29323a4146474949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f1409000000000000000000000000000000000000000002090e161b20272b3036393b4246484a505355585a545c6061626364646565656464636361605c545a585553514b4847433c3a36302c27211c160e090300000000000000000000000000000000000000000000000000000000000000000000070f181d262d333940454d52545c6064686d7175787b7d80828586878888898a8b8b8b8b8a8a8988868584827f7d7b7774716d6864605c55524c45413a332d261d170e0700000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada297897d7063544a3f34281c0a000000000000000004101c2934404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d70695e544a515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006111b2a36424d576875828f9ba8b5c2cedbd4c7bbafa499897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4e53596063686e72767a7d8082848687888889898887868584827f7c7976726d68615e57534d453e352f281f170f05000000000000000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b8ac9f9285796c605346392d201306000a17232f3b47525c636668686868686868686976838f9ca9b6c2cfd8cbbeb2a5988b7f72686868686868686868686865625b51463a2e22160900000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000003090e12151b1f212223282b2d2e2e2f3030303030302e2d2b261f180f060000000000010d1925303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524d453b30251a0e02000000000000000000000000000000000000060b141921272c32373a4146474d5355545c6062646769666d6e6f7071717172727171706f6e6d6669676562605c5555534e4746423b38322c27211a150c070000000000000000000000000000000000000000000000000000000000000000061119212a2f383f444b51575e61666d70757a7e8285878a8c8f9197949495969798989897979796949892918e8c8a8784817e7a75716d67615e56524c443f382f292019110900000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c0000000000000000000c18232f3a4753606d7985929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b6e665b50515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000e1a2631414e5a6774818d9aa7b4c0cddad7ccc0b5ab998c7f7266594c3f3326190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f43474f54565e6165676d70737577797a7b7b7c7c7c7b7a797876736f6d6765605d56534d46423b3329241d160d0500000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7dcd0c3b6a99d908376665b5044382b1f12060007131f2a36404a52585a5b5b5b5b5b5b5b5c6976838f9ca9b6c2cfd8cbbeb2a5988b7f72655b5b5b5b5b5b5b5b5b5b585651493f34291e120600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000002050a0f121515171c1f2021222223232323232322211e1a140e0600000000000005111d2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e120500000000000000000000000000000000020a11171f252a32383c43474c5254575f6165666d6f71747678797a7c7d7d7e7e7f7e7e7d7d7c7b79787674716f6d6765625f5854524d48443d38332b261f18120b0300000000000000000000000000000000000000000000000000000000030a1117232b333c414950555d60696e74797d82868b8f929797999c9ea1a9a1a2a3a4a4a5a5a4a4a3a2aaa29f9d9b999796918e8a86827d79736d68605d565049413b322b231b1209010000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5144382c1c110600000000000000000007131f2c3845515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0b9ada2979082786c60594f5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000009192633404c5966737f8c99a6b2bfccd9ddd2c0b3a79a8d8074675a4d4134271a0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423d44484c5254555d60636668666d6d6e6f6f706f6e6d676b696663605c5554524c46423b3631292118130c040000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2ddd7ccc0b5ab9a8d817467544a3f33281c0f0300020e19242e3840474b4d4e4e4e4e4e4e505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584e4e4e4e4e4e4e4e4e4c4a463f372d23180d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000030608060b1012131415161616161616161514120e0903000000000000000713202d3946525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e52463a2d201407000000000000000000000000000000050b141b222730363d43484e54565e6165696e7275797c7e8083848687898a8a8b8b8b8b8b8a8a8987868583817e7c7976726e6a66615e56544f48443d373128231d150c050000000000000000000000000000000000000000000000000000030c151c2328353d454d535b60676d737b80858a8e92989c9ea1a9a6a8abadb3aeafb0b0b1b2b1b1b0b0afb4aeacaaa8a6a8a09e9a99928f8a85807a736d68605b534d443d352d241b1309010000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada297897d7063544a4034281c100400000000000000000004101d2935404b5564717d8a98a2aebac6d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60565e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232383b4146474b51535759545c6061616263636261605d555c595653514b4745413a36312a251f170f0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e0d4c7bbafa4998a7d7164574a3e2d22170b00000008121c262e363b3f40424242424243505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c42424242424242423f3e3a342d251b11060000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000306070708090a0a0a0a0a0a080705020000000000000000000714212e3a4754616d7a7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e2115080000000000000000000000000000070e161d262d333b42464f54586062686d72777b7e8285888b8d8f9192999596979798989897979696999391908d8b8886827f7b77726e69636059554f47423c342e271e170f08000000000000000000000000000000000000000000000000000a151e262e343f474f575f656c71797f868d92979b9fa3aaabadb3b3b5b8b9bebbbbbcbdbebebebebdbdbcbfbab8b7b5b2b2acaaaba39f9b97928c86807a716c655e564f473f362d251b1309000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000c18242f3a4753606d7986929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddadbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362c3036393b4045474a4d4a50535455555656555453514b504c494645403a39352f2a251f1a140d050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211406000000000a141c242a2f3233353535353643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3535353535353532312e29231b1309000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d0000000000000000000000000008101920282f383f444d525960636a6f757a7f83888b8f9298979a9c9e9fa3aba3a4a4a4a5a5a4a4a3aba49f9e9c9a9898928f8b88847f7b75706b636159534d4540393029211a1109000000000000000000000000000000000000000000000006111c2630383f44515960696e777e848c92989ea1a9acaeb4b8b9bebfc2c4c6c9cfc8c9cacbcbcbcacacad0cac6c5c4c1bfbdb9b7b4aeaca9a29e98928d857e776e69605950483f372d251b11070000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5144382c1c1207000000000000000000000007131f2c3945515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000004101c2834404a546875828f9ba8b5c2cedbdcd0c3b6a99d9083766a5d5043372a1d1004000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629252a2d2f35393a3d403f44464748484949494847454043403c3a38342e2c29241e1a140e0903000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdad8ccc0b6ac9d908376685d5246392d20130700000000020a12191f232627282828293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f322828282828282524221e18110901000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000030608090b0b0b0b0b0a0a09080706040100000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000008111a222b323a414950565e616b6f767c82868b9095989b9fa2aaa7a9abacafb5b0b0b1b1b2b1b1b0b0b5afacaba9a7aaa29f9c9895918c86827c76706b615f57514b423b332c231b120a010000000000000000000000000000000000000000081217232e38424a505b626b707b838b91969fa2aaadb3b9babfc5c6c9cfcfd1d2d4d2d1d0d0cfcfcfd0d1d2d3d6d3d2d0cecec9c5c4bfbab9b3adaaa29f97928b827b706b625a51493f372d23190f060000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544a4034281c0b00000000000000000000000004101d2935404b5564717e8a98a2aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968e81756c626a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006121f2c3844515c667683909da9b6c3d0dcddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629191e2024292c2d302e34383a3a3b3c3c3d3c3b3a38352f33302d2c2823201d19130e09030000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d4c8bbafa49a8c7f7366564c4135291d1105000000000000080e1317191a1b1b1d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f32251b1b1b1b1b191816120d060000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000040a0f1215151717171717171616151413110d08060603000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c7f7366594c403326190d000000000000000000000008121a232c343d444c535b60696e757c82888e92999d9fa7a8abaeb3b3b6b7b9bbc0bdbdbebebebebebdbdc0bbb9b8b6b4b4aeaca9a8a09d99928f89837d766e69605c544d453e352d241b130a0100000000000000000000000000000000000006101a2428343f4a545c606d727d8590959ea1a8aeb4b9bec5c7cbd1d2d5d2d1d1cbc7c5c4c4c3c2c2c3c4c5c5c7cbd1d0d1d4d9d5d2d1cbc7c5beb9b4aea9a19e948f857d716d625b51493f352b21180d030000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000c18242f3a4753606d7a86929facb8c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e716a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000070f18202d3a4653606d7985929fabb8c5d2dedccfc3b6a99c908376695d5043362a1d1003000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1114181d20202423282b2d2e2e2f30302f2e2d2c29242623201f1c1813110d080100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7dfd2c6b9ac9f93877b6e6154483b3024190d010000000000000002070a0c0d0f101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190f0f0f0f0c0b090601000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000060e151b1f212224242424242423222221201d191613120f0b0600000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4afafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafa6998c7f7366594c403326190d0000000000000000000008111a242c353d464e565e656c727b81898f949b9fa3ababb1b5b8babec0c2c4c5c7cbd1cacacbcbcbcacad2ccc7c6c4c3c0bfbab8b5b1acaba39f9c949089827b736d665e574f473f362d251b13090000000000000000000000000000000000040d18222c363e44505c666d747f8792979fa7adb2babfc6cacfd3d7d3cfc9c6c5c1c0bbb9b8b7b6b5b5b6b7b8b9bbc0c1c4c5c8ced2d6dad7d3cfcac6bfbab3ada69f9792877f726d625b51473d33291f14090000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5145382c1c1207000000000000000000000000000713202c3945515d6775828f9baab4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6e677784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003091019222a36414c5664707d8a97a2adbac6d3dfdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f070d11131417171c1f2021222223232221201f1d1819161313100c070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd5c9bdb2a89c8f8376695e53463a2d1e13080000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0202020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000006101820262b2e2f313131313131302f2e2d2c292423201f1c17110f0a0400000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b4aeaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a5abb3b2a6998c7f7366594c403326190d00000000000000000006101a232c363e474f5860686d777f868e939c9fa6acaeb5b8bcc2c5c6cad0cfd1d2d0cdcbcac9c8c7c8c9cacacccfd1d1cfd0cac7c5c2bdb8b5afaca69f9c948f8680796e69615950483f372d251b1108000000000000000000000000000000010c161f2a343e48515b606d78808b9299a2a9b1b9bdc4cad0d6d7d1cbc7c5beb9b8b5b5afacabaaa9a8a8a9aaabacafb5b4b7b8bdc3c6cacfd4d9dbd6d0cac5beb9b0a9a199938b7f726d62594f453b31261a0d040000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544b4034281c10040000000000000000000000000004101d2935404b5564717e8a98a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000205090e141a232b343c46525e6875828f9ca9b3becad6e2dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0001040607060b101213141515161616151413100c070907060400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e1dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dcd2c5b9ada1968b7e7164574d42362a1e0c020000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000040e18222a31373a3c3e3e3e3e3e3d3d3c3b3a39352f302d2b28221c1b150f0a030000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b4aaa29f9595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959699a1abb2a6998c7f7366594c403326190d0000000000000000040e18222c353e485059606a6f7a828b92989ea5aab0b9bbbfc6c8cdd2d3d2d1cbc7c5c3c0bebdbcbbbbbbbcbdbebfc2c5c6c9cfd2d3d2cec8c7c0bbb9b0aba69f98928c837b706b625a51493f372d231a1006000000000000000000000000000007131d28313c46505a636d75818d929fa3abb3bbc2c9cfd6d8d1cbc6bfbbb9b3adaba8aba39f9e9d9d9c9c9c9d9e9fa3aba7aaacb2b8b9bec5c8ced6dbdbd6cfc9c2bbb3aba49f918b7f726b60574d42362a1f160c010000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c0000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80747784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140a0a0a0a0a0a0a0a0a0a0a0a0a0b090e12141a1f262a353d46505a616e7a86929facb9c5d0dbe3d7cbbfb4aa988b7f7265584c3f3225190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000030607070809090a090807060400000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e9dfd7cfcac6bfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d5c9beb3a99e9184796d6053463b31251a0e000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000a15202a343c4347484a4a4a4a4a4a494948474541403d3938332d2b27201a150d0801000000000000000000000000000000000000000b1824313e4b5764717e8a97a4aea29892888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888898f99a5b2a6998c7f7366594c403326190d00000000000000020c16202a343d47505a616b707c848f949fa2aaafb7bbc2c7cbd1d4d4cfc9c5c4c0bbb9b6b4b2b1b0afaeaeafb0b1b2b5b8b9bec2c5c7cbd1d4d1cbc7c2bcb7b0aaa39f9590857d716c625b51493f352c22180c03000000000000000000000000010d18242f3a434e58616c737f8c939da4afb5bdc5cdd5dad6cfc6bfbab5aeaca9a19e9b9899929191908f8f9091929299989b9da0a8abadb3b8bcc3cad0d8e0dad5cdc5bdb5afa39f92877d70695f53463f31281e13080000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3aa9b8e8174665c5145382c1d12070000000000000000000000000000000713202c3945515d6775828f9babb4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21161616161616161616161616161718191a1e20252a31363e474f58626c75818e99a3afbbc7d7e1e0d3c7baaea398897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d7cdc5beb9b8b9b3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbd8cfc6b9ada1978b7f72665c514538291f1409000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000030f1b26313c464e535557575757575756555554514c4c4946443f3837322b262019130c040000000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f92857c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7d8996a2afa6998c7f7366594c403326190d0000000000000008131e28323c464f59616c717d8691969ea6aeb4bcc1c7ccd3d7d1cbc7c4bdb9b8b5afacaaa7a5a4a3a2a1a2a2a3a4a6a8abadb3b5b9bbc0c7c8ced6d4cdc7c2bcb4aea79f9792877e726d625b51473e342a1e150b00000000000000000000000004111d2935414b555f6a707e88939fa5aebbc0c7cfd7d8d0cac1bdb4aeaba39f9b97928e8c8986858483828283848586888b8e91969a9ea1a9acb1babfc6ced4dcdfd6d0c7c0bbafa39992857b6e615a50433a2f24190d010000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7063544b4034281c0b0000000000000000000000000000000004111d2935414b5564717e8a99a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b84919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2323232323232323232323232323242425252a2d31363b42465059606a717e8b939eabb5c0cbd7e9dfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc5bbb3adabadb3b1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6dcd1c6bcb0a69e9285796d60544b403428170d03000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000006121f2b37434e585f62646464646464636261605d55595653504a47433c373129241e160d0500000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7a8793a0ada6998c7f7366594c403326190d000000000000040d1925303a444e58616b717e879298a1a8b0babfc5ced3d8d5cfc7c0bbb9b2adababa39f9d9a989796959495969797999c9ea1a9a8acafb5b8bdc3cacfd7d3cfc6bfbab1a9a299938b7f726d62594f463c30271d120700000000000000000000040f19222c3945515d676f7c86929aa4afb7c0cbd1d9d6cec6bfbab0aba39f99928f8a85827f7c7a7877767575767778797b7e8184888d92979da0a7aeb4bcc2cad2dbe2d9d2cbc0b5aba2978f82766c62564c4135291d1307000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cbcbc0b9ada1978f8384919eaab7c4d1dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a30303030303030303030303030303030313230363a3b42464d535a616b6f7c86929fa5afbdc7d1dce2d6cabfb4aa9c8f8276675d5145392c1f130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cabeb3a9a29ea2a9b3b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ddd7cbbfb4aa9f948b7e71675d5142392e23180500000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000815212e3a47535f6a6f717171717170706f6e6d67686663605b54544e47433c352f281f170e06000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626d7a8793a0ada6998c7f7366594c403326190d0000000000010c161f2935414c565f6a707d879299a2aab2bac1cad0d7d6cfc9c2bdb5afaca9a19e999992908d8b8a89888888898a8b8c8f9297979b9fa3abacb2b9bec5cdd6d8d1cbc2bbb3aba49f918b7f726b61584e42392e23180c040000000000000000000a16212a36424d57606d79849198a2acb6c0c9d7dcd5ccc4bcb4aea69e99928d86827d7975726f6d676a6a6969696a666c6f7174777b80858a90959fa2aab0b8c1c9d2dae3dcd1c7bdb3a99f948b7e71685d52453a2f24180d010000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000713202c3945525d6875828f9cabb5bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948f9196a0acb8c5d2dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3e3f404246484d53575f616c717d859298a2aeb7c1cfd9e3ded3c6baaea2988b7e7265554b4035291d100400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ada2979297a2a9b3b2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd4cbc2baaea3989082776c60554b4030271d120700000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000915222f3c4855626f7c7d7d7d7d7d7d7c7c7b7a787573706c66626058534e45413a312920180f060000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555606d7a8793a0ada6998c7f7366594c403326190d000000000007131d28313a46525e686f7c869299a3abb4bcc4ccd6dbd3cdc4beb9b0aba39f9c96918d898683817f7e7d7c7b7b7c7d7e7f8285878a8f92999ea0a8adb3bbc1cad0d7d7cdc5bdb5afa39f92877d706a5f544b40342820150a0000000000000000030f1b27323a46535e6973808d96a1aab4bec7d2dbd5cbc3bab2aaa29f948f86807a75706d666563605d555d5c5c5d545b60626568696e73797e838c92989fa6afb7c0c8d2dae3d9cfc5bbb0a69f92857a6d60554b4035291d1104000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c1004000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f9c9ea0a8b2bdc8d4dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615449494949494949494949494949494949494a4b4c4d4d5254575e61696e757e869297a1aab4bfc9d3e1e1d6cabfb4aa9f92857a6d6054473a2f24180c0000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d1c5b8ab9e92859297a2adbab3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad4cbc2b8afa59f92867c6e655b5043392f1e150b0000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd4cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000004111d2935404b556875818a8a8a8a8a8a8988888784827f7d78736f6a625f58524c433b332a21180f0500000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484854606d7a8793a0ada6998c7f7366594c403326190d00000000010d18242f3a43505a616d7a849198a2abb5bdc6ced6dbd3cac1bbb3ada69f99928f8a84807c7a77747271706f6e6f6f70717375787b7e82868c91969ea2a9afbabfc6ced7d7d0c7c0bbafa39992867c6f665c51453c31261b0f040000000000000007131f2c38434e58616e7b86929fa8b2bcc6d0d9d6ccc3b9b1a8a198928a827b736d6863605c545653514b504f4f504a50535558575f62676d71797f868f949ea5aeb6c0c8d2dde1d7cdc2baada2978c7f73675d5145392c20140900000000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000000000000010d19242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2b8b0aba9aaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615656565656565656565656565656565656565757585a575e6165696e737b818a9298a1a9b3bcc6d0dbe2d8cfc6baaea2988d8174675d5145392c1d12070000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cdc0b3a69a8d8085929fa8b2bcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dcd6cbc2b9b0a69d938b7e716a5f53493f31271d0c030000000000000000000000000000000003101d293643505c6976838f9ca9b6c2c7c7c7beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000613202c3945515d67778491979797979796959496918f8c8984807c766e6a605d564d453c332a21170d03000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52453c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4754606d7a8793a0ada6998c7f7366594c403326190d0000000004111d2935414b55616c75818e96a1aab4bdc6cfd8dbd2c9c1b8b0a9a19e948f87827d7973706d67676564636261626364646669696e71757a7f848b92979da5aeb4bcc5ced6d9d2cbc0b5aba2989083796d60584e43372b21160a000000000000000915222e3b4854606a75818e98a3aebac4ced7d7cec4bab1a7a09691867e756e69615e5653504a49474540434242433f4446484b4d53555c60666d727b828e939da4aeb6c0cbd5e1dfd6cabeb3a99e92857a6d6053473b31251a0e02000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d1207000000000000000000000000000000000000000813202c3945525d6875828f9cabb5c0cbd7e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccac2bbb7b6b7b8bdc3ccd5e0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d636363636363636363636363636363636363636364656669696e72767b80868e939fa3aab3bbc5ced7e2d9d0c6bdb2a89f92867b6e61554b4135291d0b010000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c96a0aab4bdbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3d8d0cbc0b9b1a79f948e81746d62584e41382d1f150b000000000000000000000000000000000003101d293643505c6976838f9ca9b6bbbbbbbbbbb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cececbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccececabdb0a4978a7d7164574a3e3124170b0000000714202d3a4753606d7a86939fa4a4a4a3a3a2a8a19e9b9997918d88827c746d685e574e453c33291f1409000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000613202c3945515d67717e8a939ea8b2bcc5cfd8dbd2c8c0b7afa69e97918a827b75706d6663605d5558575655555556575859575e6164686e72787e858e939fa2aab3bcc5cdd6dcd1c7bdb4aaa0958d80736a5f53473d32271b0f03000000000005121e2a36424d57626f7c89939eaab4bfccd6dbd0c6bcb2a8a09590847c716c615f57524c46443f3c3a39352f36362d3338393c3e42474b51545c60696e78818d929da4aeb9c3cfd8e3dbcfc5b9ada1978b7e7265574d42362a1e120500000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c0b000000000000000000000000000000000000000004111d2935414c5665717e8b99a3afbbc7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbac4d0cdc7c4c2c4c5c8ced5dee7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a70707070707070707070707070707070707070707071727376787b7e83878d92999ea5aeb4bcc5cdd7e0d9d0c7beb4aba0968c8073695e52433a2f24180d000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7a849198a2abb4bcbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d4cec6bfbaafa79f959082796d605a50463c2f261b0d03000000000000000000000000000000000003101d293643505c6976838f9ca9aeaeaeaeaeaeaea5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc1c1c1c1beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfc1c1c1c1bdb0a4978a7d7164574a3e3124170b000000091623303c4956636f7c899aa4afb0b0b0afafb2acaba8a9a19e9a948f87807a6e695f574e453b30251a0e050000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111d2a36414c56606d7a85929ea5afbac4ced7ded2c9c0b6aea59e948f857e766e6963605c5453514b4c4b4a494848494a4b4c4d5354565e61656c717a818a9298a2a9b3bbc5cfd9d9cfc6bcb1a79f93877c6f62594f44382c1f140900000000000714212d3a46535e6976828f9ca5afbcc6d0ded6cabfb4aaa19690837a6f6a615a534d46413a38342e2d2c2924292922282b2d2f31373940454a51575f666d77808d929da7b1bdc6d1dce1d6cabeb3a99c908376695e53463a2d2114070000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053473a2e23180c0000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7d2d3d0cfd1d2d4d9e0e7e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb0a3978a7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808285878b90939a9fa3abafbabfc6cfd7dfd9d0c7beb6aca3999184796d60574d4231281d1307000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737c869299a3aab3bbc1c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d4cec8c2bcb4aea59d959083796d675c51483f342a1d140a00000000000000000000000000000000000003101d293643505c6976838f9ca1a1a1a1a1a1a1a1a1988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b4b4b4b4b4b4b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3b4b4b4b4b4b4b0a4978a7d7164574a3e3124170b0000000c1825323f4b5865727e8b98acb6c0bdbdbcbbbdb9b7b5b2adaba69f99928d837b6e6a5f574d42362a20160c0200000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000713202d3946525e6873808c97a1adb7c1ccd6e0d6ccc1b7aea49d938e827a716c625f5753504a4745403f3e3d3c3b3c3c3d3e404246484c52535b60686d747d869297a1a9b3bdc7d1dcd7cec3bbafa4998f82756b6054483b30251a0e02000000000815212e3b4854616e7b87939facb9c1ced8d9cfc7baaea29891847a6e685f585047423c36302c2823201f1d181c1c171c1f2022262b2e343940444d545c656c74808d95a0abb5bfcbd7e2dacfc5b9ac9f93877b6e6154483b2e2115090000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d12070000000000000000000000000000000000000000000813202d3946525d6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccd7dddcdddee1e5eaf1e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb2a59a908a89898989898989898989898989898989898989898a8a8b8d8f9297989c9fa4acaeb4bdc1cbd1d8ddd7d0c7beb6aca49a92877c6f675d51453b301f160c01000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73717e879298a2a9afb9bdc4c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d1cdc8c3bdb8b0aaa39f938e82796d675d554b40362d22180b0200000000000000000000000000000000000003101d293643505c6976838f94949494949494949494948b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3a8a8a8a8a8a8a8a8a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6a8a8a8a8a8a8a8a8a4978a7d7164574a3e3124170b0000030f1c28333f4a546774818e9aa7b4c1c2c3c5c6c9c5c4c2beb9b8b0aba39f9590847c6e695e52463f32281e130800000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090914212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27333f4953616d7a86929fa9b3bec9d3dfdacfc4baafa59d928d81786d68615a534d46443f3a39352f31302f2e2f30313131363a3b41464950565e616b707d859297a1abb5c0cbd7e0d7ccc0b5ab9e94897c6f63574d42362a1e120500000006131f2b37434e5866727f8c9aa4afbbc8d0d3d1c7bdb0a69f92867c6f685e564e463e37312a251f1c171413100c07060b0f1213151a1d23282e343b424a535b606d79839099a3aebbc6d1dce0d4c8bbafa49a8b7f7265584c3f30251a0e020000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c0b0000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdd7e1eaebedf1f6f4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dacec2b6aba29a979696969696969696969696969696969696969696969798999c9ea1a9a9acafb6babfc6cfd7dcd9d2ccc4beb6aca49a93887e716a5f554b4033291f0d0400000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736c717e8692979ea5adb2b8bcc3c6c9c6c5c4c3c4c5c6cacfced2d1cfcec8c5c3bcb8b2aca69f98928b81796d675d554b43392f241b0f060000000000000000000000000000000000000003101d293643505c697682888888888888888888888888887f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d89969b9b9b9b9b9b9b9b9b9b988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c999b9b9b9b9b9b9b9b9b9b978a7d7164574a3e3124170b000006121f2b3844505b667683909da9b4b4b5b6b8babfc5c6cac9c6c2bdb5afa7a09691857b6e615a50443a3025190d01000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000005121f2b3744505b65727f8c98a2aebbc5cfdbe2d5c9bdb2a89e938d80786d665d565047423c38342e2c29242423222222232425252a2d3036383f444c5259616b6f7c859299a3afbbc3ced9ddd2c7bdb0a69c8f8275695e52463a2d2014090000000815212e3b47535f6a7784909dacb6babec5c7cbc0b5ab9e938a7e716a5f564c443c342b261f1913100c06060400000000030606090e12181c232830384149515c666f7c87929faab4bfcbd7e3d8ccc0b6ac9b8e827568574d42362a1e1205000000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c00000000000000000000000000000000000000000000010d1924303a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0dbe6f0f9fdfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c8bdb4aba5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a4a5a6a9abadb3b6b9bbc0c7cbd1d8d8d4d0c7c0bbb2aca49a93887e716c62584e43392f21170d0000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666c717d858f939ea1a8acb1b8b9bec1c4c6c8ccd2c9d2ccc8c6c4c2c0bdb8b7b1aba8a09d948f867f746d675d554c433a31271d12090000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070000000000000000000000000000000000000a1723303d4a5663707d898e8e8e8e8e8e8e8e8e8e8e8e8b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c8e8e8e8e8e8e8e8e8e8e8e8e8a7d7164574a3e3124170b00000613202d394653606c7985929fa7a7a8a8a9acaeb4b8b9bec5cdcfc7c0bbb1a8a1978f82766d62564c41362a1d1105000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000613202d394653606c7884919eaab4bfcdd6e1d9d0c7b9ada1968e81746c665c544c443e37312b2823201d1818171615151617181a1e21252a2d333a41464f59606a6f7c87929fa7b1bcc8d4ded9d0c1b9ac9f93877b6e6154483b30251a0e0200000916222f3c4955626f7c8895a0a7abaeb3b7bbc2bbafa3998f82756c61584e443b322a221a150d080300000000000000000000000000070c12181e262f38404b545f6a73808c98a3aebac7d3e0ddd2c4b8ab9e918578695e52463a2d201407000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000000000000000813202d3946525e6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becad6dde7f2fcfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc6bdb6b2b0afafafafafafafafafafafafafafafafafafafafb0b1b2b3b5b8b9bec3c6c8ccd2d7d6d3cdc8c3bdb5afa8a09a93887e716c625a50463c31271d0f050000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366616b6f7b828a91969da0a7abadb3b5b7b9bbc0bcbcbcc0bbb9b7b6b4b2acaaa79f9d96918a827b726d605c554c433a31281f150b000000000000000000000000000000000000000000000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013060000000000000000000000000000000000000915222f3c4855626f7c81818181818181818181818181817d7063574a3d3024170a00000000000000000000000000000000000b1724313e4a5764717e81818181818181818181818181817c6f6256493c2f23160900000815222f3b4855626e7b88989a9a9a9b9c9d9fa2aaabadb3bbc1c9d1cbc3bab2a99f948b7e71685e5246392d201409000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000a1723303d4a5663707d8996a0acbcc5d0dfddd2c7beafa59e91847a6d605b544a423a322b261f1c1713100d070a090809090a090e1214191b222730363e464f58606a73808d95a0acb8c2cdd8e0d4c7bbafa4998c807366574d42362a1e120500000d1a2734404d5a6773808b90959a9fa2aaabb0b8b5ab9f92877b6e625a50463c322920181009030000000000000000000000000000000000070c141d262e39424e58606d7a86929facb9c5d0dbdfd2c6b9ada197877b6e6154483b2e21150800000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c1004000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a3afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78829097a2adbac0cbd5e0eaf4fef4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e1d8cfc8c2bebdbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbdbec0c2c5c6c9cfd2d4d5d2d0cac7c2bcb8b1aba49f9691887e716c625a50483f342a1f150b000000000000000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665960696e757d848b90959a9ea1a9a8aaacafb6afafafb6afacaba9a7a8a09d9995908a847e766e69625b514b433a31281f160d030000000000000000000000000000000000000000000005111e2a36424d565e6161616161616161616161616161605d564c4135291d11040000000000000000000000000000000000000815212e3b47535f6a6f7575757575757575757575757575706b6155483c2f23160900000000000000000000000000000000000a1723303c4955616c7175757575757575757575757575756f6a6054473b2e22150800000b1724313e4a5764717d8a8e8e8e8e8e8f9092989a9ea1a9afb7bfc8d7ccc4bbb0a69f92867a6d6154473b31251a0e020000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005121e2a36424d576774818d9aa8b2bdced7e2d8ccc0b6ac9d93897d70685d524a42383028201a15100b06040100000000000000000205080e11171e252a343d464e58606d7983919da6b0bcc7d3e3d7ccc0b5ab9d918477695e52463a2d20140700000714212d3a4754606d7a7f83888d92989c9fa6abada3998d8074695f53483e342a20170e070000000000000000000000000000000000000000020b141d27303c45525d6875818e9ba9b3becad6e1d5c9beb2a996897c706356493d3023160a0000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c000000000000000000000000000000000000000000000000010d1925303a4754616d7a86929facb9c5d2dddcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3ced8e2edf8f0e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d3cecbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacbcccfd1d2d2d1cfcec9c5c4bfbab8b1aba8a099938d847d716c625a50483f362d22190d03000000000000000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659565e616c70797e83898e9297999b9e9fa4aca2a3a2aca49f9e9c9a9796918c88837e78716c615f575145403930281f160d040000000000000000000000000000000000000000000000020e1925303b444d52545555555555555555555555555554524c433a2f24190d0100000000000000000000000000000000000006121f2b37434e585f6268686868686868686868686868686361594f44382c20140700000000000000000000000000000000000814212d3945505a616468686868686868686868686868686260584e43372b1f130600000a1724303d4a5763707d818181818181828385888d92979da5adb6bfc9d3cdc2baaea2988b7e7265574d42362a1e12050000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212d3a46535f697784919eaab7c4cedde0d4c8bbafa49a8e81746b60564c41382f261e160d090300000000000000000000000000000000060b1319222b343c45515c676f7c89949fabb7c6d1dcddd2c7b8aca095877b6e6154483b2e21150800000713202c3945525d686d72777c81858b90949a9ea19f92877a6e61574d42362c22180e0500000000000000000000000000000000000000000000020b151e2935414c5663707d8a97a2adbac6d3dfdacfbeb1a4988b7e7165584b3e3225180b0000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675d5145382c1d1207000000000000000000000000000000000000000000000000000813202d3946525e6876838f9cabb5c0ccd7e0d3c7bbaea3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a929da7b1bcc6d0dce7e3e3e3dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8d0cac6c5c4c3c0bdb9b7b4aeaca79f9d9591878079706b625a50483f362d241b100700000000000000000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064574d525a61666d71787d8185898c8e91939a95969695959a93918f8d8a8784807b77716c66615a534d453f342e271e160d040000000000000000000000000000000000000000000000000009141f29323b424647484848484848484848484848484745413a31281e130800000000000000000000000000000000000000030f1b26323c464e53555b5b5b5b5b5b5b5b5b5b5b5b5b5b57554f473e33281c1004000000000000000000000000000000000005111c28333e485055575b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d32271b0f0300000916232f3c4855616b707474747474757576797c80858e939ca4adb7c1d0d6cabfb4aa9c908376695e53463a2d2114070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000815222e3b4855616e7b8896a0acb9c5d2dedfd2c6b9ac9f93877b6e61594f433a2f261d150c040000000000000000000000000000000000000002081019222834404b55606a7683909cabb5bfcbd7e3d4c8bcb1a7988b7e7165584b3e32251808000004111d2935414c565d60656a6f74797e83888d92979c8f8276685e52453c31241a1006000000000000000000000000000000000000000000000000030c19242f3a4653606d7985929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d000000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b010000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a4afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbd6d6d6d6d6d6cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbebab8b7b6b3b2acabaaa29f9a95908b847c746d67605950483f362d241b12090000000000000000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c6155494650545c60656c7074797c7f82848687888989898888868483817e7b77736e6a64605b545046423c3328231d150c040000000000000000000000000000000000000000000000000000020d17202930363a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a39352f281f160c0100000000000000000000000000000000000000000a15202a343c4347484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b000000000000000000000000000000000000000c17222c363e45494a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b20160a0000000714202c38444f59616367676767676869666d6f737a818c929ca5afbdc7d2d0c5b9ac9f93877b6e6154483b2e2115080000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000b1824313e4b5764717e8a97a8b2bdc9d5e1d7cbbfb4aa9c908376695f53473d31281e140b0300000000000000000000000000000000000000000000071018232e39434e5865727e8b99a3aebbc7d3e0d9cec1b4a79b8e8174685b4e413025190d0100010d19242f3a444c5254585f62676d71767b80858a8f8b7e7165564c41332a201208000000000000000000000000000000000000000000000000000008131f2b3844505c667783909daab6c3d0dddacdc0b4a79a8d8174675a4e4134271b0e00000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9286796d6053473a2f24180c0000000000000000000000000000000000000000000000000000010d1925303b4754616e7a86939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccc9c9c9c9c9c9c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb3adabaaa9a6a8a19e9b98928e88837e796f6b605d554f473f362d241b1209000000000000000000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50443e424a51535b6063666c6f7275777a7a7b7c7c7c7b7b79787674716e6966625f5853504a423e37312a2118120b0300000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d04000000000000000000000000000000000000000000040e18222a32373b3c42424242424242424242424242423d3c38332c231a10050000000000000000000000000000000000000005101a242c33393c3e42424242424242424242424242423c3b37322b22190f0400000004101c28333e474f55575b5b5b5b5b5b545c6062676d747f8c939eabb5c0ccd4c8bbafa49a8b7e7265584b3f3225180c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d1a2633404d596673808c99a6b3bfced9e0d3c7baaea3988b7e7165574d42352c1f160c0200000000000000000000000000000000000000000000000007121d27303d4754616d7a86929facb9c5d2dfdcd0c3b6a99d9083766a564c41362a1d1105000008131e28323a4145474e54555d6064696e73797d82867a6d6054473b3021180e00000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbdacec1b4a79b8e8174685b4e4135281b0e00000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000814202d3946525e687683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbabdbdbdbdbdbdbdbdb4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a1a9a29f9e9c9a9796918e8b86817c76716d676059514b433d352d241b120900000000000000000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e30394044495053545b60636668676d6e6f6f706f6f6e6d67696764615e5655534e46443f382f2b261f180f0700000000000000000000000000000000000000000000000000000000000000050d14191e20212222222222222222222222222221201d19130c04000000000000000000000000000000000000000000000006101820262b2e2f3535353535353535353535353535302f2c28211a110800000000000000000000000000000000000000000008121a22282d303135353535353535353535353535352f2e2b272019100700000000000b16212c353e44484a4e4e4e4e4e4e4a5053555d606d75828f99a4afbbc7d4ccc0b6ac998d8073665a4d4033271a0d0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c5b9ac9f92867a6d6054473b31211a0d0400000000000000000000000000000000000000000000000000000b15202d3946525e6875828f9ca8b5c2cfdbded2c5b8ab9f928578685e5246392d2013070000010c1620282f35393c43474b5153575f62666d70757a6d685d5245392c201306000000000000000000000000000000000000000000000000000000000b17232e414d5a6774808d9aa7b3c0cddadbcec1b5a89b8e8275685b4f4235281c0f0000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b0100000000000000000000000000000000000000000000000000000005111e2a36414c5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2b0b0b0b0b0b0b0b0b0a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696959594979291908d8a8784817e7a746f6a64605c554f454039312b231b12090000000000000000000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2e34383f44464a50535659555d6061626363626261605c555a5754524d4847433c38332d261d1a140e0600000000000000000000000000000000000000000000000000000000000000000002090e111414151515151515151515151515151413110d080100000000000000000000000000000000000000000000000000060e151b1f212228282828282828282828282828282423201c16100800000000000000000000000000000000000000000000000810171c212324282828282828282828282828282823221f1b160f0700000000000005101a232c33383c3d4141414141423f44464b515b626e7b87939facb9c6d2d2c1b4a89b8e8175685b4e4235281b0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111d2a3744505d6a7783909daab6c3d0dddccfc2b6a99c8f8376685d5245392c20130800000000000000000000000000000000000000000000000000000005111d2a36414c5665727f8b98a5b2becbd8dfd3c6baada297877a6d6154473a2e211407000000040d161e24292c3237394045474d53545c6064686d685d564c4135291d110400000000000000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2bfcbd8dbcec2b5a89b8f8275685c4f4235291c0f000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180c00000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1aba3a3a3a3a3a3a3a3a3a39a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786858483807d7b7875726d6862605853514b433d352f281f1911090000000000000000000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2423282d3337393f4446494c4b51535455565656555553514b4e4a4746423b3a37312b28221c140b090300000000000000000000000000000000000000000000000000000000000000000000000002050708080808080808080808080808080706040100000000000000000000000000000000000000000000000000000000040a0f1215151b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000000000000000000000000000000000000000000050c111417171b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a04000000000000000008111a21282c2f3034343434342e34383a4147535f6a76828f9ca9b5c2cfcfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d807467564c4135291d1104000000000000000000000000000000000000000000000000000000010d1925303d4a5663707d8996a3b0bcc9d6e2d6cabeb3a994887b6e6155483b2e22150800000000040c13191d20262b2f35393c42474a5153565d605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dbcec1b4a89b8e8175685b4e4235281b0f000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d120700000000000000000000000000000000000000000000000000000000000814202d3a46525e697683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a8491999696969696969696969696968e8174675b4e4134281b0e010000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7978777673716e696865605d56544e464540393029241d160d070000000000000000000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221a181b22272b2d3338393c3f40454747484949494848464540413e3b3a36302e2b261f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0f0a090704000000000000000000000000000000000000000000000000000000000005080a0b0f0f0f0f0f0f0f0f0f0f0f0f0f0f0908060300000000000000000000000810161c202324282828282823282b2f37434e5866727f8c99a5b2bfccd0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3845525f6b7885929eabb8c5d1ded8cbbeb2a5988b7f7265584c3f2f24190d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e6dbd0bbafa295887c6f6255493c2f221609000000000001080d11151b1d24292c3137394044464c5254524c443a32281e130800000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cddadacdc0b4a79a8d8174675a4e4134271b0e00000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c7baaea2988a7d7164554b4035291d1004000000000000000000000000000000000000000000000000000000000005111e2a36424d5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525d68707d878a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e010000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d6d666b696764615e565854524c47433c38342e271e18120c04000000000000000000000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c17100c11171b1f22282b2d302f35383a3b3c3c3d3c3c3b3a38342e312e2d2a25211f1a150f0b0600000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b171c1f26313d495663707c8996a3afbcc9d0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00131f2c3946525f6c7985929facb8c5d2dfd7cabdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0adbac6d3e0d5c9bcafa296897d6f6356493c302316090000000000000001040a0f12181d1f262b2e34383a41454745413a322820160c020000000000000000000000000000000000000000000000000000000005111e2a36414c566975828f9ca8b5c2cfdbd9ccbfb3a6998c807366594d4033261a0d0000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b87939facb9c6d2dfdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b707c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255483c2f2215090000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545d5a5754524d4b4745413a37322c28231d150c0701000000000000000000000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500060b0f12171c1f202324292c2d2e2f30302f2f2e2d2c28232421201e1914120f0903000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070c0e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0c0706040000000000000000000000000000000000000000000000000407090a0e0e0e0e060b1015222f3c4855626f7b8895a2aebbc8cfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3945525f6c7885929fabb8c5d2ded6c9bdb0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000001070c10151a1c23282c3035393a3935302820160e0400000000000000000000000000000000000000000000000000000000000713202d3946525e687783909daab6c3d0ddd7cbbfb4aa978b7e7164584b3e3125180b0000000714212e3a4754616d7a86929facb9c5d1dce3d6cbbfb4aa9b8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000914202d3a46525e697683909da9b6c2cdd8e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101924303a444f59606b6f70707070707070707070707070706f6a5f53473a2e21150800000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575756555453504a504d4a4746423f3a3935302b271f1c18120b0300000000000000000000000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a0804000000000003060b0f121316181d1f2021222323232222201f1c18171414110e090602000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313191b1a18140f080100000000000000000000000000000000000000000000000000000000000000000001080f14181a1b191413100c0701000000000000000000000000000000000000000000000000000101010100000814212e3b4754616e7a8794a1adbac7cec1b5a89b8e8275685b4f4235281c0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121e2b3845515e6b7884919eabb7c4d1ded7cabdb0a4978a7d7164574a3e3124170600000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3e0d4c8bbaea195887c6e6255483b2f2215080000000000000000000000000004090e12181c1f24292c2d2c29241e160e040000000000000000000000000000000000000000000000000000000000030d15212e3a4754616d7a86939facb9c6d2dfd3c7baaea398897c6f6356493c30231609000005111d2935414c5665717e8b99a3afbbc7d3d6d6d3c7baaea3988a7e7164554b4035291d0c010000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1bcc8d4d6d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f5960636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484746443f43403e3b3a36302d2c29241e1b15100c0700000000000000000000000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000000000030606070c101314141516161615151313100c07080705020000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f2025282724201a130b0200000000000000000000000000000000000000000000000000000000000000020b131a2024272826201f1c18120c060000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b3a79a8d8074675a4d4134271a0e0100000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2a3744515d6a7784909daab7c3d0ddd8cbbfb2a5988c7f7265594c3f2d22170b00000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4e3d7cbbfb4ab94877b6e6154473b2e21140800000000000000000000000000000000070c1013191d2021201d19130c040000000000000000000000000000000000000000000000000000000000030d151f2a36424d5765717e8b99a4afbbc7d4dfd2c5b9ac9f92867a6d6053473a2d20140700000713202d3946525e6876828f9cabb5c0cbc9c9c9c9c5b8ac9f92867a6d6053473a2f24180d0000000000000000000000000000000000000000000000000000000000000000020e1a25303b4854616e7b87959fabb8c4c9c9c9d1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353d464f5456575757575757575757575757575755534e463c31261b0f030000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a3a38342e34312e2d2a2521201d19130f0a0400000000000000000000000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070809090a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c2d323433302b251d140b000000000000000000000000000000000000000000000000000000000000000b141d252b303334322d2c29231d17110b06000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00101d293643505c6976838f9ca9b6c2cfdcd9cdc0b3a69a8d80736753493f33271b0f03000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e0d3c7baaea39986796d6053473a2d20140700000000000000000000000000000000000004080d11131413110d08020000000000000000000000000000000000000000000000000000000000040c151f27313946525e6976828f9cabb5c0ccd7dccfc2b5a99c8f8276675d5145392c1f130600000714212e3a4754616d7a86929facb9bdbdbdbdbdbdbfb4aa9b8f8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e697683909da9b6bdbdbdbdbdbdbbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19232b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c2823272421201e191413110d08020000000000000000000000000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000000040b0b141c22282e34383a3f41403c362f261d10060000000000000000000000000000000000000000000000000000000000060f1d262f363c40413f3a38342f28231c17110a0200000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cabdb0a3978a7d7064574a3d3124170a0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2935424f5c6875828f9ba8b5c2cedbdbcec1b5a89b8e8275655b5044372b1f120700000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8b97a4b1becad7dfd2c5b9ac9f928679675d5145392c201306000000000000000000000000000000000000000001040707070401000000000000000000000000000000000000000000000000000000000003090e161e273139434f59616e7b86929facb9c5d2ddd5c9bdb2a8988b7f7265554b4035291d10040005111d2935414c5665717e8b99a3afb0b0b0b0b0b0b0b0aea3988a7e7164554b4035291d0c0100000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1b0b0b0b0b0b0b0b5ab9c8f8276685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071119222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e040000000000000000000000000000000000000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1c171a171414110e090704010000000000000000000000000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c2115090000000000000000000000000000000000000000000000000000000000000000040a0f161b1d262d33394045464c4e4c4841382f22180e03000000000000000000000000000000000000000000000000000000030e18212f3841484c4e4c47454039342e27221b140b0b040000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becac9bdb2a995887c6f6255483c2f2215090000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d192633404c5966737f8c99a6b2bfcedaded1c4b7ab9e9184786c605346392e23180b0200000000000000000000000000000000000000000000000000000a121f2b3844505c6674818d9aa7b4c0cddaddd0c3b6aa9d9083776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f141a20283039434b55606b75818e99a3aebbc7d3ded2c5b9aca096887b6e6155483b2f24180c00000713202d3946525e6876828f9caba3a3a3a3a3a3a3a3a3a39f92867a6d6054473a2f24180d00000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4854616e7b87959fa3a3a3a3a3a3a3a3a3a39f92867a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f3030303030303030303030303030302f2e2b26201810060000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171615141312100c060b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000000000000000000000000000003090e151b21272c2f383f444b5153585b59534a41342a20150a0000000000000000000000000000000000000000000000000000000915202a33414a53585b5953514b443f38332d261d1b160f0a04000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc5b9ada196867a6d6053473a2d2014070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000a1724303d4a5763707d8a96a8b2bdc9d5ded2c5b9aca196897c6f63544b4034281d140b0200000000000000000000000000000000000000000000000006111c26303a4653606d7985929eabb8c5d1dedacdc1b4a79a8e8174675b4e412f24180d01000000000000000000000000000000000000000000000000000000000000000205070808080808080808080808080808090a0b080d1113171c1f252a323a424b555d67707d89939eabb5bfcbd7d5c9beb3a99e918477695f53473a2d1d120700000714212e3a4754616d7a8692969696969696969696969696968f8275675d5145392c1d130700000000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e69778390969696969696969696969696998b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070707070707070707070707070707060400000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f0200000000000000000000000000000000000000000000000000000000060e151a20262b32383e424a50545c606567645d53463c31261a0f0300000000000000000000000000000000000000000000000000020e1a26313c45535c646765605c55504a443f382f2c27211b150f070000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec4b8ab9e918578675d5145392c2013060000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212e3a4754616d7a8796a1acb9c5d2ded5c9bdb2a89a8d8074665c51453c2f261d140c0300000000000000000000000000000000000000000002091217232e38424e5863707d8997a1adb9c6d2dfd6cabeb3a9988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000002080e1114141515151515151515151515151516171718191d2022282b30363e444c545c676d7984919da5afbdc6d1dcd2c6b9ada1978c7f7265574d42372b1e0b0100000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164554b4135291d1104000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171515120f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10121314141414141414141414141414141313100c07000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000060f181f262b32373d444850545b60666d72746f64584e43372b1f14090000000000000000000000000000000000000000000000000006121e2b37424d57646e74726d67605c545049413e38322b27201910070000000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfc2b6a99c8f837669554b4035291d10040000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000713202d3946525e687884919eabb7c3ced9dacec4b8ab9e9285796d60584e42382f261e150d0802000000000000000000000000000000000000060b14192428343f4a54606a74818e9ba9b3bec9d5dfd3c6baada297897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000050d14191e2021212121212121212121212121222323242525292d2d33383b424650565e666d79828f96a0acb7c1cfd8d5c9bdb2a89e9185796d6053473c31261a0e0000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202121212121212121212121212121201f1c18120b0300000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000030e18212a31373c43474f545a61666c71797f81746a5f53473b31251a0e020000000000000000000000000000000000000000000000000814212e3a47535f6974817f79716d66605b534f48443d37322b22190f040000000000000000000000000000000000000714202d3a46525e697885929fabb8c5cdc1b4a79a8e8174675b4e412f24180d010000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005111e2a36414c566774818e9aa8b2bdc8d4dfd2c6b9ada1978c7f736a5f544a423830271f19130f0b060400000000000000000000000205090e11171f252a363e44505c666f7c87929facb9c5cfdaded2c5b8ab9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2f3031323035393a3f44464d525a61686d78828f949fa8b2bdc9d3d4cbc2b9aca1968b7f72675d5145382a1f15090000000815212e3a47535f6a6f707070707070707070707070707070706d675d5145392c1d1307000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e686d707070707070707070707070707070706b6054483c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e07000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c03000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000009151f2a333c42474e545960636c70787e848b887c6f62574d42362a1e1308000000000000000000000000000000000000000000000005111e2a36424d56626e7b878c847e78716c656159544f47433d342b20150a0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6cbbfb2a5988c7f7265594c3f32261907000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00010d1925303c4956626f7c8996a0acb8c5d0dbd5c9beb3a99f92867c6e665b544a4239312a251e1b1413100c070a0908070808090a090e12141a1c222830363e48505a606d78839099a3afbbc7d6e1d5c9bdb2a89a8e8174665c5145382c1f1306000000000000000000000000000000000000000000000000000000020d1720293036393b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f3f4146474a5053575e616c717a828f949ea6b0bac3ced6cdc2b8aea49e9184796d60554b4035291d100400000006121f2b37434e585f6263636363636363636363636363636363605d554b4035291d0c010000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c565e616363636363636363636363636363636360594f44382c2014070000000000000000000000000000050a0d0f101313131313131313131313131312120f0c08020000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313131313131313131313131313131313131307060401000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a010000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000020e1a26313c454d53585f626b70767d838b91968e8174695e53463a3025190d01000000000000000000000000000000000000000000000b14202d3a46525e6974818e96918b847e78706b636059544e463d32271b0f0300000000000000000000000000000000000a1623303d495663707c8996aab4becaccc0b5ab978a7d7064574a3d3124170a000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000815222e3b4854606a7784919daab4becad6dacfc5baaea3999083786c665c544b433d36302c27201f1c18171616151414151617181a1e21252a2d333b4246505a616c727f8c95a0abb5c0cbd7dcd2c5b9aca196897c6f63544b4034281c100400000000000000000000000000000000000000000000000000000008141f29323b41464748484848484848484848484848494a4a4b4c4c5254545b6063696e757e858f949ea6b0b8c2ccd5cdc4bbb0a69d928a7e71665c5143392f24180c00000000030f1b26313c464e53555757575757575757575757575757575753514b43392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457575757575757575757575757575756544f473d33271c1004000000000000000000000000030a10161a1c1d202020202020202020202020201f1e1c18130d060000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d202020202020202020202020202020202020201413110d08010000000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444647474747474747474747474747474645403930271d12070000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000006121e2b37424d575f626a6f767d838a90959e9f92867b6e61564c4135291d120700000000000000000000000000000000000000000007121d2935414c56616e7b86929f9e96918a837d76706b6260584e43372b1f130600000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed0c7bbafa499887b6e6255483b2f221508000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000007131f2c38434e5866727f8c98a2aebac3ced9d7cbbfb4ab9f958e81786d665d554f46413a38322d2c292324232221212122232424262a2d3036383f444d525a616c717e87929fa7b1bdc7d1dcd4c8bdb2a89e9184786c605346392e23180c000000000000000000000000000000000000000000000000000000020e1925303b444d5254545454545454545454545454555656575859565e6163666c70757b818a92979ea6b0b8c2cad7cbc3bbb2a99f948d80746c61544b4031271d120700000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352b21160b000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e181007000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d19130c04000000000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b352e251c120700000005101a232c33393c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a5053545454545454545454545454545453514b42392e23180c0000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3a47535f696e757c828990959da0a7a3998d8074685e5246392f24180d0000000000000000000000000000000000000000000c18232e3945525d6873808d99a3a8a09e95908a837d766f6a6054473b2e22150800000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc6b9ac9f9386796d6053463a2d201307000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27323d4754616e7a85929fa8b2bdc8d4dcd1c6bdb1a79d938e81786d676059524c48443d3a38342f31302f2e2d2e2f30303131363a3b42464a50565e616c717e879299a3aeb9c3cfd9d6cdc4b9aca0968c7f72655b5044372b1d120700000000000000000000000000000000000000000000000000000005111e2a36414d565e6161616161616161616161616161626364656668686d7073787d82878e939ea1a9b0b8c1cad1cbc2b9b1a9a1979082786d605a5042392e1f150b010000000000040e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b231a0f050000000000000000000000030d161f262d3235363939393939393939393939393939373430292219100600000000000000000000000000000000000000000000000000000000000d161f272d32353639393939393939393939393939393939393939392c29241e160d04000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740372e24190e0200000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606060606060606060606060606060605c544b4034281c100400000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000815222f3b4855626e7b81878f949d9fa7acb1ab9f92867a6d61554b4035291c12070000000000000000000000000000000000000004101c2834404b55606d7a85929fabb2aca7a09d959089827c6f6256493c2f2316090000000000000000000000000000000004111d2935414b556976828f9ca9b5c2cfc4b7aa9e918477675c5145382c1f1306000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000a16202d3946525e68727f8c96a0acb8c0cad3d8cfc2b9afa59d938e8179706b615e56544f494745403e3d3d3c3b3a3b3b3c3d3e404246484d52545b60696e757e879299a3abb5bfcbd5d8cec4bbb0a69e9184796d6053493f33271b0b000000000000000000000000000000000000000000000000000000000714202d3946525e686e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7071727275777a7d80848a8f92999ea5adb3bbc1cacfc6bfbbb0a7a09791857a6e665c51483e30271d0d030000000000000006101820262b2e2f303030303030303030303030303030302d2c29241d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e303030303030303030303030303030302f2c27211a11080000000000000000000000000a151f2831383e4243464646464646464646464646464544403b342b22180d0200000000000000000000000000000000000000000000000000000008111f2831383e4243464646464646464646464646464646464646464639352f281f160c01000004101c28333e4750555760606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524a40352a1f13070004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000d192633404c5966737f8c939a9fa6abb1b8baaea2988c7f73675d5145392e23180c0000000000000000000000000000000000000006131f2c3845515c67727f8c98a2aebdb9b1aca79f9d948e8174685b4e4135281b0e000000000000000000000000000000000613202c3945515d677884919eabb8c4cfc2b5a99c8f827669554b4034281c1004000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111e2a36414c56606d7984919ea4aeb8c1cbd4d4cbc0b7afa59e938e847d756d686360595653514b4b4a494948474748494a4b4d4d5355575e61666c727b818b9299a3abb5bdc6d1d8d0c6bcb2a99f948a7d70665c5141382d22170b000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7d7e7f8184878a8c91969b9fa3abafb9bec5cdc9c2bdb5aea69f9591857c6f685e544a40362c1e150b000000000000000000060e151b1f212224242424242424242424242424242424201f1d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242322201c160f0800000000000000000000000005101c26313a434a4e505353535353535353535353535352504c463d34291e13080000000000000000000000000000000000000000000000000000020c1a23313a434a4e50535353535353535353535353535353535353535345413a31281e130800000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d20130700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb0b8bcc2bfb4aa9e9285796d60544a4034281b11060000000000000000000000000000000000030f1c28333f4a54606d7985919eaab3bec3bcb8b1ab9f94887c6f6255493c2f221609000000000000000000000000000000000714212d3a4754606d7a8796a1adb9c5cdc0b3a79a8d8074675a4d412e23180c00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000010d1925303b45515c66707d8a929da6b0b9c3cbd8d2c9c0b7afa59e969189817a746f6b6662605c55585756555454545556575759575f6164696e73787e858e939fa3abb5bdc6cfd7cfc6bfb4aaa1968f82766c61544b402f261b110600000000000000000000000000000000000000000000000000000004111d2a3744505d6a77838787878787878787878787878889898a8b8c8e919696999ea1a8acafb5bdc1c9c7c4bdb9b0aba39f948f837b6f6a5f564d42392e241a0c0300000000000000000000040a0f121515171717171717171717171717171717171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b05000000000000000000000000000a16222d38434c545a5d606060606060606060606060605f5d574f463b3024180c00000000000000000000000000000000000000000000000000000a141e2c36434c555a5d606060606060606060606060606060606060605f524c433a2f24190d01000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979726d62564a3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d87878787878787878787878787877e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000714202d3946525e6874818e9ba6b0bbc7cdc6b9ada1978b7f72665c5144382d22170b000000000000000000000000000000000006121f2b3844505b66717e8b97a1adbcc5cec8bdb2a89c9083766a5f54473b2e221508000000000000000000000000000000000916222f3c4955626f7c8895a8b2bdc9cbbeb2a5988b7f7265584c3f3225190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000008141e2834404b54616b73808d949ea7b1b9c1ccd2d2c9c1b7afa8a09e938e86817c77726f6d676765646362616061626363646669696e71757b7f848b92989ea5afb5bdc7cfd7cdc5bdb5aea29891847b6e615a5042392e1d140a0000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839094949494949494949494949495969798999b9ea0a8a6abacb2b9bbc0c7c5c0bbb9b2aca69f99928d827a6e695f584e443b30271c120800000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f0300000000000000000000000000000000000000000000000006111c26303e48555e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d1104000a1724313d4a5764707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d000a1724313d4a5764707d86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393938b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000005111e2a36414c56626f7c88949fabb7c4cecabeb3a99e9184796d6053493f33271b0f03000000000000000000000000000000000613202d394653606c7884919ea9b3beced2c5b9aca1968a7d7064584e43372b1f1306000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabdb0a3978a7d7064574a3d3124170a00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000020c18232e39424f59606c78828f959fa7afbbc0c7d0d5c9c1bab2aca59e98928e89847f7c7977747170706f6e6d6e6e6f70717375787b7e82868c91969fa2aaafbbc0c7cfd1cbc3bbb3aba39f92867c6f695e52483e30271d0b020000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a5a8aaacb2b3b7b9bdc4c5bfbab8b5afaca8a19e948f8780786d685e574e463c32291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a667076797979797979797979797979797873695d5044372b1e12050000000000000000000000000000000000000000000000000b17232e3842505a6670767979797979797979797979797979797979797976685d5245392c201306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a0a0988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000010d1925303b47535f6a7683909ca8b2bdc9cfc5b9aca1968b7e71655b5044372b1f160a0000000000000000000000000000000713202c38444f5964717d8a96a0acbbc4cfcabfb4aa9e9184786d6053463c32261b0f03000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccabeb3a995887b6f6255483c2f22150900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000007121d27303e44505b666d798390959ea5afb6bec2c9ceccc4bdb9afaaa29f9b96918c898683817e7d7c7c7b7a7a7b7c7d7e808285888a8f92999ea1a8aeb3bcc1cbd1cfc6bfbbb2a9a299928a7e716a60564d42362c1e150b000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaaeaeaeaeaeaeaeaeaeaeafb0b0b1b2b4b7b9bdbfc4c5c2bbb7b4aeacaba39f9b96918a827c736d665d564d453c342a20170c030000000000000000000000000000000000000000000000000002060a0c0c131313131313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090c0c13131313131313131313131313131313130909070300000000000000101d2a3643505d6976828686868686868686868686868685786c5f5245392c1f1206000000000000000000000000000000000000000000000003101c28343f4a54616c7682868686868686868686868686868686868686867a6d6054473a2d211407000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3adadadadadadadada5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000008141e2b37434e5864717d8a96a1acb9c6d0c9bdb2a89d9083786c6053463d32271b0f0400000000000000000000000000030d16222f3b4854606b7683909da8b2bdcdd3c6baaea2988c7f72665c5044382a20150a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6b9ada197877a6d6054473a2d21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b151e28333f4a545d676e7a838e939fa4acb1b9bdc4c8cdc9c1bcb4aeaca8a09d999992908d8b8a898887878788898a8a8c8f9297979c9fa3abacb2babec5cecdc7c2bdb5aea8a09792877e716c61584e443b30231a0c03000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bababababababababbbcbcbdbebfc1c4c5c8ceccc2b8b0aaaaa29f9c99928f8a847e766e6a605c544c433b332a22180e0500000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020161613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020201615130f0a040000000000101d2a3643505d6976839093939393939393939393939285786c5f5245392c1f120600000000000000000000000000000000000000000000020c17202b3844505c66707d8a949393939393939393939393939393939393877a6d6054473a2d211407000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0babababababab1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000020f1b26323c4653606d7884919eaab4bfcacec4b8aca0958a7d7063594f43382c20150a0000000000000000000000000009141f2b37434e5863707d89959fabbac3ceccc0b6ac9f92867a6d60544a3f3428190e040000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfc5b8ab9e928578675d5145392c20130600000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030c17222d38424b555e686e79818c939a9fa7acb2b8bcc3c6c9c6bfbab8b2acaaaba39f9d9a9897969594939495969697999c9ea1a9a8acafb5b9bdc4cacac7c2bcb7b0aba39f9691857d716c625a50463d32291f110800000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c7c7c7c7c7c7c7c7c8c9cacbccced1d2d4d3c7bbb0a69f9c98928f8c86827d78716c625f58514a423a312921181007000000000000000000000000000000000000000000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201c160f07000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000008131e2935404b55606d7884919da69f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6beb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000a151f2b3844505c66727f8c98a2aebac7d2c8bcb1a79c9083766b6054483c31261b0f030000000000000000000000020e1a26313b47535f6a76828f9ca7b1bcccd4c8bbafa49a8d8074685d5242382e231707000000000000000000000000000000000006131f2c3945515d677885919eabb8c4d0c3b6aa9d9083776a554b4135291d110400000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000006111c262f3a434d565e676d757f8890959ea1a8acb1b8b9bec4cac7c3bdb8b7b5aeacaaa7a4a3a3a2a1a0a1a1a2a3a4a6a8abadb3b5b9bbc0c7c9cec6bfbab8b0aba69f99928d847b706b625a50483e342b20170d0000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d4d4d4d4d4d4d4d5d6d7d8d8dbdddedcd0c3b7aa9f948f8985827f7b75706c66615a534e44403930281f170f07000000000000000000000000000000000000000000000000000a131c232a2f323339393939393939393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000a131c232a2e31333939393939393939393939393939393939302f2c2721191007000000101d2a3643505d697683909ca9acacacacacacacab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000010d1925303945515d67717e8b95a0acacacacacacacacacacacacacacaca093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad3d3cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000003101c28343f4a54606d7a86929facb6c0cccec3b7ab9f94897c6f63584e43372b1f1409000000000000000000000005121e2a36424d57626f7c88949faab9c2cdd2c6b9ac9f93877b6e62564c4130261c110600000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6cec1b5a89b8e8275685b4f422f24180d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000a141d28313b444d555d606d727c838a91969da0a7abadb3bbc4cfcec8c5c4bfbbb9b6b4b1b0afafaeadadaeafb0b1b3b5b8b9bec2c5c7cbd1cec6bcb4aeaca69f9c948f8780796e69605950483f362c22190e050000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9cacbccced1d2d5d9dedccfc2b5a99c8f827c7876726e6963605b545047433c342e271e160d050000000000000000000000000000000000000000000000000007121c252e353a3e3f464646464646464646464646464646463d3c38332b23190c03000000000000000000000000000000000000000000000000000000000000000000050f1c252d353a3e3f46464646464646464646464646464646463c3b38322b22190f040000101d2a3643505d697683909ca9b6b9b9b9b9b9b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000005111d2a36414c56606d7984919ea8b1bdb9b9b9b9b9b9b9b9b9b9b9b9ada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000b17232e3845525d6874818d9aa4afbbc8d4c7bcb0a69c8f82756a5f53473b31251a0e02000000000000000000000714212d3a46535f6975818e9ba6b0bbcbd4c8bcb1a79c8f8275695f53443a2f1e140a0000000000000000000000000000000000000915222f3c4855626f7b8895a9b3bec9cdc0b3a69a8d8073675a4d4034271a070000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020b161f29323b434b515b636a6f767e848b90959a9ea1a9b3bec9d5d4d1d1cbc7c5c3c0bebdbcbbbabababbbcbdbdbfc2c5c6cacfd2d4d7d0c6bcb4aaa29f9a94908a827b736d675f574f473f362d241a1007000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bcbcbcbcbcbcbcbdbebebfc1c4c5c9ced1d2d0c3b7aa9f948f8783807c76716d66625a534d453f372e251c140b02000000000000000000000000000000000000000000000000020d18232e373f464b4c535353535353535353535353535353534948443d352b1e150b0000000000000000000000000000000000000000000000000000000000000000030d17212d373f464a4c53535353535353535353535353535353534948433d342b21160a0000101d2a3643505d697683909ca9b6c3c6c6c6c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000040f19222d3946525e68737f8c97a1adbac3cec6c6c6c6c6c6c6c6c6c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000006111c2935414c56626e7b87939facb9c3cecdc2b9ac9f93877c6f62574d42362a1e130800000000000000000005111d2a36414c56616e7b87929facb9c2ccd1c5b8aca095897d7063574d4232281e0c020000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdcfcbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000040d17202931394045515860626c71797f83888d9197a1adb9c6d2dfdedcd7d3d2d0cdcbcac9c8c7c6c7c8c9c9cacccfd1d2d6dadfe0d6cabfb4aaa298928e88837d766e6a605d554d453d352d241b120800000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaafafafafafafafafb0b1b2b3b4b7b9bdc0c5c6cac7bbb0a69f9992908d89837e79716c615f57514940372e261c140a00000000000000000000000000000000000000000000000006121e2a353f495157596060606060606060606060606060606056544f473d30271d12070000000000000000000000000000000000000000000000000000000000000009141f29333f49515759606060606060606060606060606060606056544f463d32271b0f0300101d2a3643505d697683909ca9b6c3cfd2d2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000a15202a36424d57616d7a85929fa9b2beccd5d2d2d2d2d2d2d2d2d2c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3eceae2dad4cfcbcac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000d1924303a47535f6a76828f9ca8b2bdc8d4c8bbafa49a8e8175695e53463a3025190d0100000000000000000a13202d3946525e6874808d99a3afbbc7d6cabeb3a99d9184776b6054453c3120160c000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcabdb1a4978a7e7164574b3e3124180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000050e171f272f353f464e545a61676d72777c8085919eabb8c4d1deebe7e3e0dfdddad7d6d6d5d4d3d4d4d5d6d7d9dbdedfe2e6ece0d3c6baaea2989286817c76716c625f57514b433c332b231b12090000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da2a2a2a2a2a2a2a2a2a3a4a5a6a8aaacb2b3b8b9bec5c2b8b0aba39f9d9995908a847e766e69625b524940382e261c110800000000000000000000000000000000000000000000000a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43392e23180c030000000000000000000000000000000000000000000000000000000000030d1a25313b45515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020b1b27323a46535f6974808d98a2aebbc4cfdee7dfdfdfdfdfdfdfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d8d0c8c3bfbeb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000008131e2b37434e5863707d8a96a0acb8c5d0ccc0b6ac9f92867b6e61564c41362a1d13070000000000000006111c2935404b55616d7a86929fabb5c0cbd2c6b9ada2978b7e7165594f44332a1f0d04000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccc9bcafa396897c706356493d3023160a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000050d151d2429343d424a50585f666d71767c828f9ba8b5c2cedbe5e1dfdedad5d2d1cfcecdcccccccdceced0d2d4d7dddde0e4dfd2c5b8ac9f92857d77716d67615a534e454039312a21191109000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839096969696969696969696969798999b9ea0a8a7abadb3b9bbc0bdb5afaca9a79f9d96918b827b726d635c524a40382e231a0e05000000000000000000000000000000000000000000000c1825323e4b57636d7279797979797979797979797979797979706b60554b4034281f140900000000000000000000000000000000000000000000000000000000010b151f2a36424d57636d7279797979797979797979797979797979796f6b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000a141d2b37434e58616e7b86929faab4becdd6e0f0ecececececece0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c6beb7b2b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000020f1a26313c4653606c7884919da9b3becad2c7bbafa3998d8074685e52463a2f24180d000000000000000c17232e3945515d6773808c98a2aebdc7d1cbc0b5ab9e9285796d6053473d3320180e00000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bbafa295887c6f6255493c2f2216090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000010c161f28313a434b545c606a6e787e83898f939eaab6c3cfdcdad5d2d1cfc9c6c5c2c1c0c0bfbfc0c1c2c4c6c7ccd2d0d3d8dfd3c6baaea298928a837e79706c615e564e463d342b22190e05000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a778389898989898989898989898a8b8b8c8e9196969a9ea1a9acafb6bec0bbb9b6b1aba8a19e948f867f736e645c524a40352c20170d020000000000000000000000000000000000000000000c1926333f4c5966727f868686868686868686868686868686867d70675c51453c31261a0d0400000000000000000000000000000000000000000000000000000007121d27313946535e69727f86868686868686868686868686868686887d6f6356493c3023160900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000006111c262f384754606a75818e99a3aebcc5d0dfe8edecedeff3f9ede0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b989696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c8beb4aca6a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000009151f2b3744505b65727f8b97a2adbac7d2cbc0b5ab9f92867a6d61554b4035291c1207000000000003101c28343f4a54606d7985929eaab4bfcfd3c7bbafa3998d8073675d5145382c1f130600000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfc8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000008131e28313a434c555d666d727c838a90959b9ea5afbbc6d2d3cfc9c5c4c0beb9b8b5b4b4b3b2b3b3b4b5b7b9bbc0c3c4c7cdd2d5cabfb4aaa29f95908b857d756d685f584e463d342b20170c0200000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808184878a8d92979c9fa4acb1babec5c2bcb8b2ada69f98928b80736e645c52473e32291e14080000000000000000000000000000000000000000000713202d3a4653606d7883909a9393939393939393939393939184796d60574d42372b1f160c0100000000000000000000000000000000000000000000000000000c18242f39434f59616e7b869293939393939393939393939393978e81746b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000b17222d38424f59626f7c87939fabb5bfced7e2e3e0dfe0e3e8eef5e0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b89898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca29b979393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a85929fabb5c0ccd1c7baaea2988c8073675d5145392e23180c000000000006121f2c3844505c66727f8b97a2adbcc6d0d2c5b9ac9f92867b6e61554b4035291d10040000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000060f19242f3a434c565d676d787f8690959d9fa7aaafb8c1cccbc7c4bdb9b8b3b3adaba9a8a7a6a5a6a7a7a8aaacafb5b6b7bbc2c5c9cfc6bcb4aea7a09d97918a817a6f6a60584f473d32291e130800000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f6f6f6f6f6f6f6f6f6f6f6f7071727375777a7d80858a8f939a9fa7adb3bbc4c7c4bdb9b0aaa29f928c80736e64594f443b3025190e04000000000000000000000000000000000000000006121f2c3844515c666f7d88939fa99f9f9f9f9f9f9f9f9fa0968c7f73695f53463e31281e13080000000000000000000000000000000000000000000000000004101d2935404b55616b75828f98a29f9f9f9f9f9f9f9f9f9fa69e92857a6d60594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000030f1c28333f4a54616b76828f9aa4afbdc6d1e0dcd7d3d2d3d7dce3eae0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a69b908b868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6773808d99a4afbbc7d4cabfb4aa9f92857a6d60544a4034281b1106000000030f1b27333f4953606d7984919ea9b3beced4c8bcb1a79b8e8175695e5243392f24180c000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030d17212935414c565d686d79828c92989fa7abb1b6bbc1cac6bfbab9b2adaba6a9a19e9c9b9a9999999a9b9b9d9fa4aba9abb0b8b9bdc4cbc6bfbab1aca9a19e938e857c6f6a60594f443a3025190c030000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6263636363636363636363636364656668686d7074797d828790959fa2a9b2bac3cbc9c2bcb4aea49c928d80736b61564c41362a21160b000000000000000000000000000000000000000004101c2834404a54606b74818e97a1adacacacacacacacb2a89f92867b6e615a50433a2f24190b020000000000000000000000000000000000000000000000040d1b242c3945515d67707d8a939eaab4acacacacacacacb4ab9f948b7e71685d52463d32271b0f0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000020c16202b3844505b66707d8a949facb6c0cfd8d9d1cbc7c5c7cbd1d9e1ead3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e53463a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a4978b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000001040607090a0c0d0d0e0e0d0d0c0a080605030000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000006111b2935404b55616e7b87939facb9c3cdd0c6baada2978c7f72665c5144382d22170b00000005121f2b3744505b65717e8b96a1acbbc5cfd1c4b8ab9f95897c6f62574d4231271d1207000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c7bbaea194887b6e6155483b2e2215090907060401000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000009141f29333b45525d686d7a828f949fa3aab1b8bcc2c6c9c1bdb4aeaca8a19e9a9797928f8e8d8d8c8c8d8e8f919399989c9fa6abadb2babfc6cac3bcb8b3ada59e9792857c6f6b60564c41362a1e150b00000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5355565656565656565656565657585859565e6163666d71767c838b9297a0a8b1b9c3cbcec6bfbaaea49d928a7d70685e52463d32271b100400000000000000000000000000000000000000000c18232e39424f59616d7a85929ea6b0bcb9b9b9b9b9baaea3988f82766c61554c4135291d140a00000000000000000000000000000000000000000000010c16202b37434e58606d7984919ea5afbcb9b9b9b9b9b9baaea3998f82766c61564c41342b21160a0000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000008131e2834404b55606c7883909da6b0bec7d2d8cfc7c0bbb9bbc0c7cfd9e3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e1205000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000020507070d1113141517191a1a1b1b1a1919171513120f0b06060a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000d18242f3a46535f6975828f9ba7b1bcc8d4cabeb3a99e9184796d6053493f33271b0f0300000613202d394653606c7883909da8b2bdcdd5c9bdb2a89d9083766a6054453b301f150b01000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221615151413110d070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020e1a26313b45505a606d7a8390949fa6aeb4bcc2c8ccc4bdb9b0aba39f9b96918d8a8785828181807f808081828486898c9094999ea1a8aeb4bcc2cac8c4beb9afa9a19792867d6f685e52463f30271d1207000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494949494a4b4c4d4c5254545c60646a6f787e859196a0a7b1b9c3ced0cabfb6aea49e92857a6e61594f44382c20150a000000000000000000000000000000000000000007121c27303d46525d68717e8b949faab4bfcbc6c6cbbfb4aa9f948a7e71675d51453c2f261c110600000000000000000000000000000000000000000008131e28323a47535f6a73808d96a1acb8c1cec6c6c6c9bdb2a89f92867b6e625a50443a3022190f040000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000010d1924303845515c67717e8b95a0acb8c2d0d8cec6bdb5afacafb5bdc7d1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654534d453b31251a0e02000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71646060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c544a4034281c10040000000000000000000000000000000000000000000000000000000105090e121415181d2020222426262727282726252422201f1b1714120f1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000007131d2a36424d5763707d8995a0acb8c5cfcfc5b9ada1968b7e71655b5044372b1f160b0007131f2c38434e5863707d8a95a0acbac4ced2c5b9ada1968a7e7164584e4333291f0d0300000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bdb0a3968a7d7063574a3d312622222221201d18130c04000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000005121e2a36424d57626c75818e959fa6b0babfc6cfccc3bab2ada69e99928e8984807d7b78767574737273747475777a7c7f83888c91969fa3aab0b8c0c9cfc9c1bbb3a9a29891857a6d615a5043392e23180c00000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3c3c3c3c3c3c3c3c3c3c3c3d3e3f404146474b51535860666c727b849095a0a7b1bcc6d0d6c8c0b9ada1978f82766b6054483c31261b0f0300000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9d0c6bcb0a69e91847a6d60584e42382d22170b0200000000000000000000000000000000000000020b19242f3a44505a626e7c87929fa8b2bdcad3d2d7cec5b9aca0968c8073695f53483e32281e1007000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000004111d2935414c56606d7984919ea7b1bccad4d0c6bcb4aba39fa3abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f140900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164575353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514a42392e23180c000000000000000000000000000000000000000000000000000002080d11141a1e212124292c2d2f313233343434343332302e2d2b2722211f1a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000010e1a26313b4854606b7783909da9b3bec9d5c9bdb2a89d9184786c6053463d32271b10040915222e3b4854606a7683909ca7b1bcccd6cabfb4aa9e9184796d6053463d3220170d0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfccbfb2a6998c7f7366574d42362f2f2f2f2d2c29241d160d040000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000714212d3a46535f69717e8b939ea7b0b9c2cbd1cbc2b9b1a8a19e948f86817d7873716e69696867666666676868676d7072767b80848c92989fa6afb7c0c8d5cdc5bbb3aaa1978f82756c62554b4034281c11060000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303031323036393a4045464e545b60696e7a839095a0aab4bfcad6d5c9beb3a99f94897d7063584e43372b1f12060000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d8cec2b9ada1978d80746a5f544a3f33281e1408000000000000000000000000000000000000000a141d2935414c56616c76828f99a3aebac4cedcdbd0c5bcafa59e9184796d60574d42362d20160c00000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000040e18222c3945525d68727f8c96a1acb9c3ced6cabfb4aaa2999299a3afbbc7d3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36312921170d0300000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a4747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474644403930271c120700000000000000000000000000000000000000000000000003090e14191e20252a2d2e2f35393a3c3d3f4040414140403f3d3b3937332d2e2b262024313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000009141f2c38444f5965717e8b97a1adb9c6d1cfc4b8aca0958a7d7064594f44382c20150a121e2b37424e57626f7c89949fabb9c3ced3c7baaea2988c7f72665c5044382c1f120500000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1cfc2b6a99c8f8276695f5346403c3c3c3c3a39352f281f160c0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000005121e2a36424d57616e7b86929fa5afb9c2cbd7ccc2b9b1a7a096918a827b75706c6664615e575b5a5a59595a5b555d606365696e73797f868f949da5aeb6c0c9d3cdc5bcb3a99e948b7e71675c5145382e23170b0000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232323242525252a2d2e34383d424a50575f686e79839098a2aebac3cdd8cfc5bbb0a69c8f82756a5f53473a2e21150a00000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d5c9beb2a99f92877c6f665b50443b3025190c03000000000000000000000000000000000006111c262f3845525d68717e8a949fabb5bfccd6e1d6cabeb3aa9e93897d70675c51453c31241b0e0400000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000a15202a36424d57606d7a85929fa8b2bdcbd5d3c6baaea2989286929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f050000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000000000000000000000000000000000000000002090e151a1e252a2d31363a3b3e404547484a4c4d4d4e4e4d4c4c4a4846443f3b3a37312c29313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000003101b27323d4753606d7985929eabb5bfcbd4c8bdb1a89d9083766b6054483c32261b0f14212e3a47535f6a75828f9ba6b0bbcbd5d2c5b8ac9f92867a6d61544a3f34281c100300000000000000000000000000000000000000000000000d192633404c5966737f8c99abb5bfcbd2c6b9ac9f93877b6e615a514b494848484745413a31281d130700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000714212d3a46535e6974818e98a2aeb7c1cbd4d0c4bab1a79f9591847d756e6963605b5454534d4e4e4d4c4d4d4e4b515456575f61676d737b828e939ca4aeb7c1ccd6cec4bbb0a69e9184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000030608090c07060a0f1315161616161616161616161616171819191d2023282c2f383f444d565e676e7c86929fa7b1bcc8d4d6cdc2b7aa9e94887c6f6255483c31261a0f020000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfdacfc4bbafa3999083786c60564c41362a1e150b00000000000000000000000000000000000b17222d38424e58606d7a85929ea6b0bdc6d1ded9cfc7baaea2988e81756b60554b40332a2012090000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000020b1b26313a46525e6973808d97a2adbac4cedfd2c5b8ac9f9286808d99a6b3c0ccd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321211e1a140d05000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231c150c0300000000000000000000000000000000000000000000060c141a20262b3036393b4246484b4b5153555759595a5a5b5a595857555350494847433c39352f3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000b161f2c3845515c6773808c99a3aebbc7d3cec3b8ab9f95897c7063584e43372b1f141e2a36424d57626e7b87939facb9c2cdd3c7bbb0a69a8e8174685e5242382e23170c0000000000000000000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d3c8bbafa49a8e81746c605c555655555554514b433a2f24180d01000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000003101c28343f4a54616e7b87929faab4bfc9d3d2c7beb2a89f9590837b706c615f5753504a4846424241403f404141414547494d53555c60696e78818d929ca5afbac4cfd6cdc1b9ada1968b7e72665c5044382b1f1206000000000000000000000000000000000000000000000000000003060a0f121515191413100c07080909090909090909090909090a0b080d1113181c1f262d333c444c555f6a727e8b959fabb8c5d0dbd3c7bbb0a69b8e817468584e43372b1f1206000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d7cbc0b5ab9f958b7f72685e52463d30271d1207000000000000000000000000000000030f1c28333f4a54606a74808d97a1adb8c2cfd8dcd1c7bdb1a79f92857b6e61594f43392f21180e000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000a141d2b37434e58616e7b86929fa9b3beccd6d5c9beb3a99b8f81808d9aa7b3c0cdd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b03000000000000000000000000000000000000000000030a11171f252a31373b4146474d535458555d60626465666767676766656361605b5355534e4745413a3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b86929facb9c2cdd4c8bcb1a79c8f82766a5f53473b31261a202d3a46525e6974818e9aa4afbbc8d4d0c3b7ab9f94887c6f62564c4130261c11060000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c3d0ccc0b6ac9e938b7e736d676463626262605d554b4135291d1104000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2c3844505c6674818d99a3afbcc6d0d8ccc0b6aca19690837a6e69615a534d46443f3b3a363134333333342f35393a3d42464b51575f666c74808d939ea8b2bdc9d5d5c9bdb2a99e9184786d6053463a2d201308000000000000000000000000000000000000000000000104060c1012131b1f212226201f1d18120b0300000000000000000000000000000105070c10141c2228323b434e58626d7783909daab3becad6d7ccc1b8ab9e9285786a5f53473a2e211408000000000000000000000000000000000000000000000915202834404b55606b75818e97a2adbac2cfd9d1c7bdb1a79f92857a6e61594f43392e23180c0300000000000000000000000000030c19232b3844505b666f7c87939fa9b3becad4e1d7cbc0b5ab9f958b7f72685e52473d31271d0f06000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000006111b262f3847535f6a74818e98a3aebbc5cfded2c6b9ada1978a7e818e9ba8b4c1ced3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090908070502000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31241714141414141414141414141414141414141414141414141414141414141414141414141414141414141312100c0700000000000000000000000000000000000000000000050c151c232830363c42474c5254575e616568676d6f707273737474737372706e6c6566625f5854514c45414a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e6975818e9ba7b1bcc7d4cdc2b7aa9e94887c6f62574d42362a1e2935414c56616e7b86929facb6c0ccd4c8bdb2a89c8f82766a5f53443a301e150a000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca7b1bdc7d2c7beafa59f93887f7974716f6f6f6f6d675d5145392c201306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000713202d3a4653606d7985929fabb5c0ced7d4c8bbafa49a91847a6d685e575046423c38332d2d2a25272726262724292c2d31373940454d545b606e75818e96a1adb9c3ced9cfc4b9aca096897c6f6356493c3025190e020000000000000000000000000000000000000205070d1113171c1f20262b2e2f332d2c29241d150d030000000000000000000000000000000000040a11172029313c46515b65717e8b98a2aebac6d3dfd2c6b9ada197887b6e6255483b2f22150800000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa7b1bdc7d1d9cfc2baada2978e81756b60554b4034281f1409000000000000000000000000000b151e2a36414c56606c78839099a4afbbc5cfdcdcd4c7bbafa3999083786c60564d41352c1f150b00000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000b17222d38414f59626f7c87939faab4bfcdd7d7cbc0b5ab9e928579828f9ca9b5c2cfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b070707070707070707070707070707070707070707070707070707070707070707070707070707070706040000000000000000000000000000000000000000000000070e171e262e343b42464d53565e6165696e7174777a7c7d7f80808181807f7f7d7b7976726e6a65605d55524c4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d56626f7c89959fabb8c4cfd3c7bbb0a69b8e8175695f53463a30252c3945525d6873808d99a3aebec7d2d2c5b8aca0968a7d7063584e4332281e0c030000000000000000000000000000000000000000000000000004111d2935414b5563707d8a95a0abb5c0c7d0c1bbafa49a938c84807d7c7b7b7b796d6054473a2d211407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000a1623303d495663707d8997a2adbdc7d1d8ccc0b6ac9f93887d70685e564d453e37312b2822211e1a1b1a191a1a181d2021262b2f343b424a505c606d7a84919ea7b1bcc8d4d5c9bdb2a89a8d807367564d41362a1e11050000000000000000000000000000000002090e1114181d2023282c2d31373a3c3f3a38352f271f150b01000000000000000000000000000000000000060e171f2a333f4753606d7a85929fabb8c5d2ded5c9beb3a9988b7e7265584b3f32251806000000000000000000000000000000000000000000000007121d27303d46525e68727e8b959fabb5c0cbd7d6cabeb3a99e93897d70675c51453c31261a0d04000000000000000000000007121d27303946525e68727f8b95a0abb5c0cdd6e0d5c9bdb2a99f92877c6f665b50443b30231a0d0300000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000030f1b27333f4953606b75828f99a4afbcc6d0dfd4c7bbafa3998c807683909da9b6c3d0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081119202930383f444d52575f62686e72767b7e818486888a8c8c8d8d8e8d8c8b8a8885837f7b77726d67605d56505764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000010e1925303b4754606a7683909da8b2bdc9d5ccc2b9ac9f92877b6e61564c41362a34404b55606d7a85929fabb4bfd0d6cabeb3a99e9184786c6053463c3120160c0000000000000000000000000000000000000000000000000000010d18242f3a4653606c78839099a4afb6bec4c7c0b6aca49f96918d8a898888887d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a546774808d9aa9b3becfd9d4c8bbafa49a8d81746b60564c443b332b261f1c1714120e090d0c0d070d1113141a1d23292f383f45525d68707d8a95a0acb8c7d1d9cec4b7aa9d918477685e5246392d2014070000000000000000000000000000050b1014191e2024292c2e34383a3d4347484c4745403931271d120700000000000000000000000000000000000000050d18212c3945515d6775818e9ba8b4c1cedbdacfc1b5a89b8e8275685b4f422d22170b0000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4cedad0c5bcafa59d9184796d60574d42372b1f160c01000000000000000000000c18232e39424f59616e7a85929fa7b1bdc7d2dfd8cec6b9ada1968d80746a5f544a3f32291f11080000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000010c161f2b3744505b65707d89949eabb5c0ced8dfd2c5b9ac9f92877b7784919eaab7c4d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a232b323b424a50575e61696e747a7f83878b8e9196959798999a9a9a9a99989698928f8c88847f7a736d68605b5364707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e5864717e8a96a1adb9c6d0d4c7bbafa3998d8174685e52463a2f3845515c67727f8c98a2aebdc6d1d3c6baada2978b7f72655b5044372b1f120400000000000000000000000000000000000000000000000000000007131f2b3844505b666f7c87939fa4acb2b9bbc0beb6afa8a19e9a979695958a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667784909daab7c3cfddd2c6b9ac9f93877b6e61594f443a3229211a140f0b0605020000000000010406090e12181d262d35414c56616b7783909dabb5c0cbd7d1c5b8aca096877a6e6154473b2e211408000000000000000000000000000810171c1f252a2d2f35393a3f4446494e53555953514b43392f24180c000000000000000000000000000000000000000006101d2935404b556673808c99a6b3bfccd9ddd0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d7cec1b8aca0968c7f73695f53463e31281e130800000000000000000004101c2834404b54606b75818e97a2adb9c3d0d9dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000007131d2834404a54606c7883909da6b0bdc7d2e0d4c8bcb1a79b8f82757885929eabb8c5d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242c353d444d545c60696e757b81868b9095989b9ea0a8a3a5a6a6a7a7a6a6a5aaa29f9c9996918b85807a716c655d64707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4653606d7984919eaab4bfcbd6cbc0b5ab9f92867a6d61554b41353f4a54606d7985919eaab4becfd7cbc0b5ab9f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a727f8c939aa1a8acafb5bdc0bbb2adaba7a4a2a2978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dccfc2b6a99c8f8276695e53473d322820170f09030000000000000000000000000001070b141c242f3a444f5965727f8c99a3afbbc7d4d4c8bdb2a896897d706356493d3023160a00000000000000000000000008121a22282d30363a3b4145474a505356585f6266605d554b4035291d100400000000000000000000000000000000000000010d18242f3e4b5864717e8b97a4b1becad7ded1c5b8ab9e928578665b5044382b1f120600000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d4c8bdb2a89f92867b6e615a50433a2f24190b0200000000000000040d1a242c3845515c66707d89939ea9b3becbd5e2d6cabfb4aa9e948a7e71675d51463c2f261c0e05000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000010d18242f3844515c66717e8a959fabb8c1d0d9ded1c4b8aca095897d707986929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363e474f565e666d727b81878e92999d9fa7a7aaacb2b0b2b3b3b4b4b3b2b2b4aeaca9a8a09d98928d857e776d6864707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3844505c66727f8c98a3aebac7d3d1c7baaea3988d8073675d51453944505b66727e8b97a1adbcc5d0d4c7bbafa3998d8073675d5141382d22170b00000000000000000000000000000000000000000000000000000000000b17222d38424e58626d737f8891969b9fa4abb5c0c4bdb9b8b3b0afa3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8899a3aebac7d3d7ccc0b5ab978a7e7164574d42352b20160e050000000000000000000000000000000000020a131e28323e4754616e7a86929facb9c5d2d9cebeb2a5988b7f7265584c3f3225190c000000000000000000000005101a242c33393b4246474b5154545c6063676a6f726d675d5145382c1f13060000000000000000000000000000000000000000071623303d495663707c8996a3afbcc9d6dfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0d9cec3baaea3988f82766c61554c4135291d140a000000000000010c161f2a36424d57606d7984919da5afbcc5d0dddbd3c7baaea2988f82756c61554b41342a1d140a00000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000004111d2935414b55606d7984919ea7b1bccad3e2d5c9bdb2a89d9083776d7a8799a3afbbc7d4d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d363e48505960696e787f868e93999fa3ababb1b4b7b8bdbdbfbfc0c0c1c0bfbebfbab8b6b2acaaa29f97928b827a6e69707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb8c2cdd6cbbfb4aa9f92857a6d60544b404653606c7884919ea9b3beced7d2c5b9ac9f92877b6e61554b402f261b1106000000000000000000000000000000000000000000000000000000000006111c262f3d46515b636d737d848b8f9399a4afbbc7c9c5c4c0bdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000a1724313d4a5764707d8a97abb4bfcbd7d4c7bbafa499877b6e6154483b3121190d0400000000000000000000000000000000000000010c16202d3946525e687784919daab7c4d0dacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000b17222c363e44494d5254555d6064666d7074777b7f796d6053473a2d22170b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e0d4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6d7cbbfb4aa9f948a7e71675d51453c2f261c1106000000000007131d28313a46535f69737f8c96a0acb7c1ced7dfd4c8bcb1a79f92867b6e615a50433a2f22190b0200000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000030e18212c3945515d67727f8b96a0acb9c3cddcded2c5b9aca0968a7e716e7b8794abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222c363e48505a616b707b828c92989fa4abaeb4b8bcc1c4c5c8cecbcccdcdcccac9d0cac6c5c2bdb8b4aea9a19e948f847b6e707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846525e6874818e9aa6b0bbc7d3d0c6baada2978c7f72665c51454f5964717e8a96a0acbbc4cfd4c8bcb1a79b8f8275695e53433a2f1d140a000000000000000000000000000000000000000000000000000000000000000a141d2b343f49515b636c70797e8286939facb9c6d2d2d1cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1825323e4b5865717e8b98a4b1bed1dcd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000005111e2a36414c566976828f9ca9b5c2cfdbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000004101c28333e485055565e6165676d7175797c808488897d706353493f33271b0f05000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e3d7ccc0b5ab95887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000a141d2935404b55616b75828f98a2aebac3d0d9d1c6bcb0a69e91847a6d60584e42382d22170b02000000020b18242f3a43505a616e7b86929fa8b2bdc9d3e0d7cdc5b8aca0958c7f72695f53483e31281d10070000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000915202a36414d56606d7a85929ea8b2bdcbd4dfd5c9beb3a99e9184786d6f7b8895a2aebbd1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b343e48505a616c717d8590949fa2aaafb5babfc6c7cdd1d2cfcac6c5c2c0bfbebdbdbec0c1c4c6c5bebab3ada69e9691847b707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88949fabb7c4ced6cabeb3a99e9184796d60544a54606b7783909da8b2bdcdd6d1c4b8aba095897c6f63574d4231281d0b02000000000000000000000000000000000000000000000000000000000000010b151f2834404a545c606d727a80849199a4afbbc7d4d1d0cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1925323f4c5865727f8b98a5b2becbd8d1c4b8ab9e918578665c5144382c1f1206000000000000000000000000000000000000000000020e192530414e5b6874818e9ba7b4c1cedacfc2b5a99c8f8276695c4f4336291c10030000000000000000000814202d3944505a6164696e72767a7d8185898d91968d8073655b5044372b20170b020000000000000000000000000000000000030f1b27333f495366727f8c99a5b2bfccd8e8ddd2bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2d8cfc2b9ada1978d80746a60544a3f33281e14080000000a141d2935404b55616c75828f98a2aebac3cedbdacfc5bbafa59d9183786d60574d42362c1f160c000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000020e1a26313946525e6873808c97a1adbac4ceddded2c6b9ada1978b7e72666f7c8995a2afbcc8d5d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d46505a616c717e8792979fa6aeb4bbc0c7cbd1d4cec8c5c4beb9b8b5b3b2b1b0b0b2b3b4b8b9bec4c5beb9b0a8a09691847a7d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303a47535f6a76828f9ca8b2bdc9d5d0c5b9ada1978b7e71665b505863707d89959fabbac3ced5c9beb3a99d9083776b6054453b311f160c0000000000000000000000000000000000000000000000000000000000000007121d27313944515c666d757f868d9196a0abb5c0ccc8c5c4bfbcb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d192633404c5966737f8c99a6b2bfccd9d0c3b6aa9d9083776a544a4034281c100400000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d10030000000000000000000a1623303c4955616c70777b7e82868a8e92979a9e9e9184786c6053463e32291d140b020000000000000000000000000000000005121f2b3744505b6574818d9aa7b4c0cddae2d6cabeb3a994877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b95a0abb5c0ccd7d5c9beb2a99f93877c6f665b50443b3025190c030006111b262f3845515d67707d8a949eaab4bfccd5e1d6cabeb3a99d93897d70665c51453b31241a0d04000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000006121e2b37424d57616e7b86929fa9b3beccd5e0d5c9bdb2a89e9185796d63707d8996a3b0bcc9d6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1925303b444e58616c717e879299a1a9b0babec5ccd2d6cec9c3bdb8b7b3adaba8a7a5a4a3a4a5a6a8abadb3b7b9bdc1bab2a9a0968f817e8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5864707d8a96a0acb9c5d0d5c9beb2a99d9184786c60535f6a76828f9ca7b1bcccd5d2c6b9ada1978b7e7164594f4433291f0d04000000000000000000000000000000000000000000000000000000000000000c18232f3943505a606d78818c92989ea0a8b2bdc7c3bdb8b7b2afaea3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d1a2633404d596673808c99a6b3bfccd9d1c4b8ab9e918578665c5044382c1f1206000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad0c3b6aa9d9083776a5d5044372a1d11040000000000000000000a1724313d4a5764707e83878b8f92989b9ea2a9aaa0968a7d70645a50443b2f261d140c05000000000000000000000000000208121a202d394653606c7884919eabb8c4d1dedfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc4cfdacfc4bbafa4999083786c60564c41362a1e150b000b17222d38414e58606d7984919ea6b0bcc6d0ded8cfc6b9ada1978e81746b60544a4033291f120800000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000020c1a232e3a47535f6974818d98a2aebbc5cfdeddd2c5b9ada1968b7f726764707d8a97a3b0bdcad6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202a36424d56606a717e879299a3abb3bbc2cad0d7d0cac4bdb9b2acaaa9a19e9b9a9997969798999b9ea1a9abacb2b9bebbb2a89e938e818e9ba8b4c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b26313c4653606c7884919eaab4becad6cfc4b8aca0968a7d716459626f7c88949fabb9c3cdd7cbbfb4aa9e9185796d6053463d3220170d0000000000000000000000000000000000000000000000000000000000000004101c2934404b55616c74808d939fa2aaacb2bac4bfbbb1acaaa6a3a1a1978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1926333f4c5966727f8c99a5b2bfccd8d2c6b9ac9f9386796d6053463a2d20130900000000000000000000000000000000000000000005121e2a36424d576976828f9ca9b5c2cfdccfc2b6a99c8f8376695c504336291d10030000000000000000000b1824313e4b5764717e8a939a9c9fa3aaabadb3b2a89d9083776c61564d41382f261e170f0b0600000000000000000003070d1319242a36424d57626f7c8996a1adb9c5d2dfded1c5b8ab9e928578675d5145392c20130600000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939fa9b2bdc9d5d7ccc0b5ab9f958b7f72685e52463d30271d12070f1b27333f49535f6a73808d96a1adb8c1ced8dcd1c6bdb0a69e92857a6d61594f42392e21180d0000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000a141e2c38434f59626e7b87929faab4bfcdd6dfd5c9bdb2a89e9184796d6064717e8b97a4b1becad7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b46525e696f7c869299a3abb5bdc5cdd6d6cec5bebab2aca8a09e9a97928f8d8c8b8a8a8b8d8e9197999ea1a8adb3bbbaafa59e938e939eaab6c2cfdbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2b3844505b66727f8b98a2aebac7d2d4c8bdb2a89d9083776b606975818e9ba6b0bbcbd4d3c7baaea3988c7f73665c5145382c1f13050000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67717e8a929da5aeb4b9bdc4bdb5aea8a09d99969594948a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1825323f4b5865727e8b98a5b1bed1dcd4c7bbafa499877b6e6154483b30251a0d0400000000000000000000000000000000000000020b14212d3a46535e697784919daab7c4d0dbcec2b5a89b8f8275685c4f4235291c0f020000000000000000000714212d3a4754606d7a86929facacaeb4b8b9beb8ab9f958a7d70685e534941383029201b17110e090a09080809060b0f12181e252a363e46535f6974808d9aa8b2bdc9d5e1dccfc3b6a99c90837669554b4035291d1104000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d96a1adb9c1ced8d2c7bdb1a79f92857a6e61594f43392e23180c19222b3744505b656f7c87929fa8b2bdcad3e0d7cbbfb5ab9f948b7e71685e52473d30271c0f060000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000006111c2630384854606b75828f99a3afbcc6d0dfd9cdc5b9aca1968b7e72675c65727e8b98a5b1becbd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a616e7b849198a2abb5bdc7cfd6d5ccc4bcb3aea8a19e96918d898582807f7e7d7d7f808185898d91969ea1a9afb6b7afa59e9b9ea5afbac6d2ded8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7a85929facb6c0ccd8cec3b8ab9f95897d70636e7b87929facb9c2ccdfd2c5b9ac9f92867a6d61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7984919ea4aebabfc5c7beb5aba39f95918c89888787877d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1724313e4a5764717d8a97aab4bfcbd7d7ccc0b5ab978a7e7164574d42362a1f160d040000000000000000000000000000000000020b141d29323b4854616e7b87939facb9c6d2dacec1b4a79b8e8174685b4e4135281b0e020000000000000000000713202c3945525d6876828f9caab4babfc5c6c8bcb1a79e92857a6e655b534a423a322b27221b1a17171615151617171c1f242930363e48505a616e7b86929facb8c4cfdae4d8ccc0b6ac9a8e8174675b4e412f24180d010000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d7a84919ea6b0bcc6d0d9d0c3baaea2988e81756b60554b4034281f151e2935414c56606c77839099a3afbac4cfdcdbd3c7bbaea3999082776c60564c41352b1e150b000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000b17232e3842505a636f7c89939eabb5c0ced7e2d4c8bcb1a79e9184796d605566727f8c99a5b2bfccd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626c76828f96a1aab4bdc7cfd9d4cbc3bab2aaa29f96918a84807c79757472717071727375787c80848b92979fa4acb4b7afaaa8aaafb7c1cbd7e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6774808d9aa4afbbc8d4d4c8bcb1a79c8f82766a74818d99a3afbbc7d4d3c7bbb0a69b8e8174685e5242392e23180c0000000000000000000000000000000000000000000000000000000000000005111e2a36424d5765727e8b96a1acb6c0caccc0b6aca399928b847f7c7b7b7a7b796d6053473a2d201407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8898a3aebac7d3ddd2c2b5a99c8f8276695e52463d31281f160e08020000000000000000000000000000070c141d262f3b44505a66737f8c9aa4afbbc8d4d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000004111d2935414c5665727e8b98a2aebac5d0d2cdc3b9ada1978f82776c655c544c443e37332d2a262423222122232322282b2f353a4146505a626c75828f98a3aebac7d6e0e0d4c8bbafa49a8a7e7164574b3e312418070000000000000000000000000000000000000000000000000000000000000006111c26303c45515d67717e8a949eaab4bfcad6d6cabeb3aa9e93897d70675c51453c31261c26303846525e68717e8b949fabb5c0ccd6e0d5c9bdb2a89f92877c6f655b50443a3023190c03000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000003101c28343f4a54616c7683909ca5afbdc7d1e0d9d0c7b8aca0958a7e71665c596673808c99a6b3bfccd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202d3946525e68717e8b949fa9b2bcc6d0d9d4cac2b9b1a8a098928c847e78736f6d6667666463646566656c6f73797f858d939aa2aab2bab6b4b6bac1c9d3dde4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935414c55616e7b87939facb9c3ced8cdc3b7ab9f94887c6f7a86929fabb5c0cbd7d0c4b7ab9f94887c6f62564c4130271d1207000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca8b2bdc8d4c8bbafa49a92877f7873706e6e6e6e6d675c5145382c1f1306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dfd2c6b9ac9f93877b6e61594f433a31282019130e090603000000000000000205080d12181e262f38414d56626c7784919dacb6c0ccd8d4c8bcb1a7968a7d7063574a3d3024170a00000000000000000000010d19242f3a4754616d7a86929faab3becad6d5c9beb3a99f948d80776d665e565046443f38363131302f2e2e2f302d33383940454c525a616c717e8b949eaab4bfcbd6e8dfd2c6b9ac9f93877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000a141e2935414c55616c75828f98a2aebac3d0d9d0c5bcafa59e9184796d60574d42372b232e38424f59616d7a85929ea6b0bdc7d1ded7cec5b9aca1968d80736a5f53493f32281e110700000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000020c16202b3844505c66707d8a949fabb7c1cfd9ddd2c7beb0a69d9083786c60545a6773808d9aa6b3c0cdd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090707070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e2a36424d57616e7a85929fa6b0bbc4ced8d6ccc2b8b0a7a09691857f79716c6563605c545958575758535b6062666d727980889298a1a8b2bbc1c2c6cbd3dbe5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d19242f3a47535f6975828f9ca7b1bcc8d4d3c7bbb0a69b8e8175808c98a3aebdc7d1d5c9bdb2a89c8f83766a5f53443a301e150b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b87939facb9c4cecbc0b5ab9f93887d726d666362616161605c554b4034291c1004000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667683909ca9b6c3cdd8d4c7bbafa4998d80746b60554b433a3229251e1a1312100b060b0a0b0c090e1214191c23283038424a535e68717e8b96a0acbec7d2ddd1c4b8aca095877a6e6154473b2e21140800000000000000000000000813202d3946525e6873808d98a2aebac5d0d9cfc5bbb0a69d928d81786d68615a53504946423f3e3d3c3b3b3c3d3e3f44464b51565e616c717e87929fa6b0bcc6d0dce2d6cabeb3a99d908376685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7b86929fa7b1bec7d2d7cec1b9aca0968c7f73695f53473e3128343f4a54606b74818e97a1adb8c2cfd9dbd0c5bcafa59e9184796d60584e41382d20160c0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000008131e2935404b55606d7884919da6b0bcc9d3e1d8ccc0b6ac9f94897d70655b505a6774808d9aa7b3c0cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231614141414141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46535f6974818d97a2adb8c2cdd6d9d0c4bab0a69f9590847b726d67605b5353504a4c4b4a4a4c495053545c60676d737e869196a1a9b3bdc6d1d7dde5ede4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4233271c0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d5763707d8995a0acb8c5cfd8ccc2b9ac9f93877c85929faab4bfcfd9d2c5b9aca0968a7d7064584e4332291e0c0300000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a9aa4afbbc8d3c7bbafa3998d80746b605c545554545453514b43392f23180c00000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a5466727f8c99a7b1bcc8d4d7ccc0b5ab9f93877d6f675d554c443d35302b26201f1c171918171718191a1e21252a2e343c424a545b656e7b85929fa8b2bdd0d9ddd0c3b6aa9d908377685e5246392d201407000000000000000000000005111d2a36414c56616d7a85929fa9b3bec7d2d6cdc2b8aea49d938e827a716c63605b53534d4c4a4a494848494a4b4a5053555d60686d757e879299a3afb8c1ced8e2dbd3c6baada2978b7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000008131e28313e46535e69727f8c95a0acb6c0ccd8d4c8bdb2a89f92867b6e615a50433a2f3844505c666f7c87939fa9b3becbd4e1d6cabfb4aa9e938a7d70675d51463c2f261b0e050000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000010d1925303945515d67717e8b95a0acb8c2cddbe0d4c8bbafa49a8f82766b6053495b6774818e9aa7b4c1cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23212121212121212121212121212121212121212121212121212121212121212121212121212121201f1c18120b03000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3becad4ddd2c7beb2a89f9490837a6e69605c55504946443f3f3e3d3e3f3f44464b51555d606c707c849197a2abb5bfcbd7dfeaf5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569594f44382c20170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26313c4854606b7784919da9b3becad6d4c7bbafa49991859197a2adbcc6d0d6cabfb4aa9e9184786c6053463c3220170d0000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99acb6c0ccd2c5b9ac9f92867a6e6159504a484847474745403931271d120700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b17232e3c4855626f7b88959fabb8c4cedad2c7bbafa4999184796d675e564e46413a37312d2b2823252524242526262a2d30363940444d545c666c77828f97a2adbac3cee2d3c7bbb0a6998c807366564d41362a1e11050000000000000000000000010d1925303a46525e6873808c97a1acb6c0ccd8d4cac0b7aea59e948f857e76706c65615f57595756555455565657545b6062676d727a818a9299a3abb5c0cad3e0ded5c9bdb2a99f9285796d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfd9cec3baaea3988f82766c61564c4136424d57606d7883909aa4afbbc5cfddd9d0c7baaea2988f82756b61554b40342a1d140a000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000005111d2a36414c56606d7984919ea7b1bccbd4ded7cbbfb4ab9f93877c6f62594f4e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c030000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818e99a3aebbc5d0dcd8ccc0b6aca19690827a6e685f57514b443f3a38342e3130312d33373940454b515a616a6f7b859299a3aebbc3cdd9e4f0e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776b6054483e33291f150d05000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2c38444f5965727e8b97a2adb9c7d1d7ccc0b5aba1979197a1a9b3beced8d3c6baaea2988c7f72665b5044382b1f12050000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2d2cfc2b5a89c8f8275685e52443f3b3b3b3b3a38342f271f150b0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000615212e3a47535f6a7783909da8b2bdc9d5d7ccc0b5aba0968f82796d686058524c47423c3a38342e32313031323331363a3b41464a51575f666d78818e949ea9b3beccd5d9d0c7b7ab9f94887c6f6255483c3025190e0200000000000000000000000008131e2935414c56606d7a85929aa4afbbc2cdd6d2c9c0b7afa69e97928a827d78726e696865646362616162636466666c6f74797e858e939fa3abb5bdc7d1dcdfd5ccc3b9ada1968c7f73675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000040d1a25313b44515c666f7c88939fa9b3bec9d5d7cbbfb4aa9f948a7e71685d52453c46525e69727f8c95a0acb6c0cdd7ddd2c7bdb1a79f92867b6e61594f43392f22180b02000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600040e19222d3946525e68737f8c96a1adb9c3ceddded3c7baaea3998e81756a5f54474e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7a86929fabb5bfcdd7dfd4c8bbafa49a91847a6d685e564d454039332d2b282325242422272b2e343a404550585f69707d87929fa7b1bcc8d4dee8e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ded1c5b8aca095897d70635a50453b31271f170e0a0401000000000000000000000000000000000000000000000000000000000000000000000000000003101c27333d4753606d7985929eabb5c0cbd7d2c7bdb3a9a19ea1a9b3bbc5cfd8ccc0b6ac9f92857a6d60544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfccbfb2a5998c7f7266564c41342e2e2e2e2d2c29231d150d030000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2b37434e5864717e8a96a1acb9c2ced7d2c7bdb2a89f948f837a6f6a615e56534d4946443f403f3e3d3e3f40404246484c52545c60696e78818e939da6b0bbc5cfddd2c7beb1a79c8f82766a5f53473a2e1f140800000000000000000000000000020d1925303a45515d67707d88939fa6b0bbc4ccd5d2c9c1b8b0a9a19e948f8a847f7b78757271706f6e6e6f70717376797c81858b92979ea5afb5bdc7cfd9dfd6cdc3baafa59e9184796d60554b403529170c0200000000000000000000000000000000000000000000000000000000000000000000000009141f2834404a54606b74818e97a1adb9c2cfd8d1c6bcb0a69e91857a6d60584e434f59616e7b86929fa7b1bec7d2dfd7ccc0b5aba0958c7f72695e52473e31271d100600000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000a15202a36424d57616d7a85929fa9b2bdccd5dfd6cabeb3a99f92867b6e61584e434e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494747474747474747474747474747474747474747474747474747474747474747474747474747474747474645403930271d120700000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8c99a3afbdc6d1dfd4c8bcb1a79f93887d70685d564d443c342f27221f1c17181717171b1f23282f353e464e57606b727f8b95a0abb8c1ccd7e3e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79c8f82766c61574d43393129201b15110d07080706060708090b0909070300000000000000000000000000000000000000000000000000000b161f2c3945515d6773808d99a3afbbc7d3d9d0c4bbb3adabadb3bbc4cdd7d4c8bbafa49a8d8074685d5242382d22170b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023212121201f1c18120b03000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030f1b26313c4653606d7984919ea6b0bcc5d0d9d0c4bab0a69f9590837c746d68625f575553504a4c4c4b4a4a4b4c4d4d5355565e61666d727b828e939da5afb8c1cdd7d8ccc0b6ac9f958a7d7064584e43372b1f0d02000000000000000000000000000008131e2935414c55616b73808d949fa9b2bac3ccd4d2cac1bbb3ada69f9c96918b8885827f7d7d7c7b7b7c7d7e808285888d92989ea1a9afbbc0c7cfd9ded6cdc4bbb2a89e938a7e71675d5143392f24180500000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424f59606d7a85929ea6b0bcc6d1d8cfc2b9ada1978d80746a60544b55616b75818e98a2aeb9c3d0d9dcd4c7bbafa4999083786d60574d42352c1f150b0000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206020b1b27323a46535f6974808d98a2aebbc4cfdeddd3c6baada2978d8073695e5346424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565454545454545454545454545454545454545454545454545454545454545454545454545454545454545453514b42392e23180c00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb5c0cfd8ded1c5b8aca0958d80736b60564c433b3229231d1712100b060a060b0f12181d2429343c454f59606c7883909da6b0bbc6d2e2e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e4d9cec3b7ab9f948a7e71695e554b433b322b26201d181514141313141516181615130f0a0400000000000000000000000000000000000000000000000004101d2935404b55616e7b86929facb9c3cdd8d6cdc4beb9b8b9bec4cdd6dfd2c6b9ac9f93877b6e61564c412f261c110600000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221614141413100c070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000a151f2c3844515c66717e8a949fa9b3becad6d6ccc2b8b0a79f959188817a736e696562605c54595858575758595a575f6164686d72797f8690949ea5afb7c1cad3d6cdc5bbafa49a9083786c6053463c31261b0f000000000000000000000000000000020d19242f3a434f59606d78829097a1a8b1bac2cbd5d3cdc5beb9b0aba8a09d9897918e8c8a8988878889898a8d8f92989a9fa2aaadb3bbc1cbd1d9dad6ccc4bbb3a9a0968e81756c61554b4031271d1207000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d45525d68717e8b949faab4bfcbd7d5c9beb3a99f93877c6f665b515c67707d89939eaab4bfcbd5e1d5c9beb3a99f93877c6f665c50453b30231a0d030000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12000a141d2b37434e58616e7b86929faab3becdd6dfd5c9bdb2a89f92857a6d61574d42424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626161616161616161616161616161616161616161616161616161616161616161616161616161616161616161605c544b4034281c1004000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a0acbdc7d1e1d5c9beb3a99d9183796d60594f443a31292018120b0603000000000003070c1318222a333d44505b65707d89939eaab6c6d0dbe7d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfdfd3c7bbb0a69f92857b6e675d554c443d37322c29242221201f202121232523221f1b160f070000000000000000000000000000000000000000000000000c18242f3946525e6975828e9ba7b1bcc8d4dfd6cfc9c6c4c6c9cfd6dfd4c8bcb1a79c8f8275695f53433a2f1d140a0000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0c7bbaea194887b6e6155483b2e2215080807060400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000004101c2834404a54616c76828f97a2adbabfc8d7d4cac2b9b1a8a09a938e85807b76726f6d6667666564636465666768696e71757a7f848c92989fa6afb7c1c9d2d7cdc5bbb1a79f93877c6f655b5044372a20150a0000000000000000000000000000000008131e28313e44505c666e7b859196a0a8b1b9c1c9ced7cfcac2bbb7b2acaaa9a19e9b989796959494959697999c9fa2aaabaeb3b9bec5cdd7dcd7cfcac2bab2a9a19791847a6d605a5043392f1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9cfc4bbafa4999083786c6057606d7984919ea5afbcc5d0ddd8cfc6b9ada1978d80746a60544a3f33291f1108000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206111c262f384754606a75818e99a3aebcc5d0dfd9cec5b9ada1968c7f72685e52453b424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f1306000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576773808d9aa8b2bdcfd9dfd2c6b9ada1978b7e71675c51473d32281f170e0701000000000000000000010710182127333f4953606b75828f9baab4bfcad6e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe4d8cdc2baada2979082796d675e564f47433c39352f2f2e2d2c2d2d2e3031302f2c2721191007000000000000000000000000000000000000000000000007121d2a36424d57636f7c89959fabb8c4cfdae1dad5d2d1d2d5dae1ded1c5b8aca095897d7063574d4231281e0b020000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baada194877a6e6154473b2e2114080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000c18232e3942505a616e7b85929fa4adb6c0cbd1d4cbc2bab1aca49f97928d88837e7c797674737271707172737375787b7e81868c91969fa3aab0b8c1c9d2d5cdc5bbb3a99f958d80746a6053493f3327180e0300000000000000000000000000000000010c161f28343f4a545e696e7c8491959fa7afb9bdc4cbd1d6ccc7c3bdb8b7b2adaba8a5a4a3a2a1a1a2a3a4a6a9abaeb4b8babec5c9cfd6d8d3cdc5beb9b0a8a19791857b6e685d52483e31281d0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d7ccc0b5aba0958b7f72685f6973808c96a0acb7c1ced7dcd1c6bcb0a69e91857a6d60584e42382e21170d00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120b17222d38424f59626f7c87939fabb4bfced7e2d4c8bcb1a79e9184796d60564c4133424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bcb0a396897d7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a786d6053463a2d201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697784919daab7c4ceddd7cbc0b5ab9e9285796d60554b40352b20160d0500000000000000000000000000060f17222d38414f5964707d8a98a2aebac6d3dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe9ded6cabeb3a99f948f82796e686159534e4745403e3b3b3a38393a3b3c3e3c3b38322b22190f0400000000000000000000000000000000000000000000010e1a25303b4854606b7783909da9b3bec9d5e2e6e1dfdedfe1e6e2d5c9beb3a99d9083776b6054453c311f160c000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000007121c27303e46535f69707e8a929ca4aebbc0c7cfd6ccc3beb6afa9a29e9a94908b888583807f7f7e7d7d7e7f808285888a8e92999ea1a8aeb4bcc2cad3d5ccc3bbb3a9a1979083786d60584e41382d221706000000000000000000000000000000000000040d17232e38424d565f6a6e7b8390959ea5acb2bbc0c7ccd2d3cec8c5c4beb9b8b5b2b0b0afaeaeafb0b1b3b6b8babec5c6cad0d5d6d3cdc7c1bbb3ada69f9691857c6f695f564c41362c1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d2c7bdb1a79f92857b6e626e7b86929fa8b2bdc9d3e0d7cbbfb4aa9f948a7e71685d52463d30261c0f0500000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120f1c28333f4a54606b76828f9aa4afbdc6d1e0d9d0c7b8aca0958b7e71675d51443a30424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a5998f89878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8895a0acb8c5d1ded3c7bbafa3998c8073675c5143392e23190e0400000000000000000000000000000006111b262f3d4753606d7985929facb8c5d2dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dff2e6dbcfc5bbb0a69f948f827a706b625f5853514b4a48474745464748494b4948433d342b21160a000000000000000000000000000000000000000000000009141f2c38434f5964717e8b97a1adb9c6d1dcd5d5d5d5d5d5d5d5d2c6b9ada1978b7e7165594f44332a1f0d040000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000b151e2a36424d57616c73808c929da4afb5bdc3cad0d0c7c0bbb3adaba69f9c989892908d8c8b8b8a8a8b8c8d8f9197979b9fa3abacb2babfc6ced7cec9c1bab2a9a29792857b6e665c51463d2f261b11060000000000000000000000000000000000000006111c26303b444e585f696e7a838e939ea1a8afb5bbc0c7c9cfd3d1cfc9c6c4c1bfbdbcbbbabbbcbcbdc0c2c5c6cad0d3d6d3cfcac6c2bcb7afa9a19e948f847b6f6a5f574d433a2f241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfd9d0c3baaea2988e81756c76828f98a3aebac4cedbdbd3c7baaea3988f82766c61564c41342b1e140a0000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f0c16202b3844505b66707d89949facb6c0cfd8ddd2c7beb0a69d9083786c60554b403235424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dacdc2b6aba199969494949494949494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a8b1bdc8d4dfd2c5b9ac9f92867b6e61554b4030271d110700000000000000000000000000000000000a141f2c3845515c6775828e9ba8b5c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfeee8e1d7cdc2b8b0a69f948f857d756f6a64605d555755545351535454565856544f463d32271b0f0300000000000000000000000000000000000000000000030f1b27323d4653606d7985919eaab4bfcbc8c8c8c8c8c8c8c8c8cbbfb5ab9e9285796d6053473d3320180e000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bcafa295897c6f6256493c2f2316090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030c1a26313b45505a636d73808d929fa3abb1babfc6ced2ccc5beb9b8b0aba9aaa29f9c9a999897969798999a9b9ea1a9a8acaeb4b9bdc4cbd0d1cbc4bdb9afa8a09792857c6f695f544b40342b1d140a0000000000000000000000000000000000000000000a151e29323c464e575e686d79818a91969fa3abafb5b9bec4c7cad0d1d2d1cecbcac9c8c7c7c8c9cacccfd2d3d2d1d1cbc7c5bebab8b0aba59e97928b827a6e695f584e453b31281e12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d6cabeb3aa9e93897d717e8a949faab4bfccd5dfd4c8bdb2a89f92867b6e615a50443a2f22190c020000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f131e2834404b55606c7883909da6b0bec7d2e1d8ccc0b6ac9f948a7d70665b5043392f35424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c7bdb3aba5a3a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546774818d9aa7b4c0ced9dbcfc2b5a89c8f8275695e5243392e1e150b00000000000000000000000000000000000004101c2934404b5565727e8b98a5b1becbd8d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ebe4ddd8d4d2cbc2b8b0a69f979289827c75716d6766646261605d60606163646360594f43382c1f130700000000000000000000000000000000000000000000000a161f2c3845515c66737f8c98a3aebabbbbbbbbbbbbbbbbbbbbbbbbaea3998c8073675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000009141f29333e48525b646e73808b9299a0a7aeb4bcc2c7cdcfcac6c2bcb7b6b4aeaca9a7a6a5a4a3a4a5a6a6a8abadb3b4b9babfc6c9ced1cbc6bfbab2aca59e9691857c6f6a5f574d42392e22190b02000000000000000000000000000000000000000000030c17202a343c454d565e676d757d848d92999fa4abadb3b8babfc1c4c5c9cecccdcececfcfcecdcccbcbcec8c5c4c1bfbab9b3adaba69f9c938e857e766e685f574e463c33291f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2834404b55606b75818e97a2adbac2cfd9d0c5bcafa59e91847a85919ea6b0bcc6d1ded7cdc5b8aca0968c7f73695f53483e32281e1007000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f19242f3845515c67717e8b95a0acb8c2d0d9e0d4c8bbafa49a8f82766b61544a3f312735424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc5bdb6b1b0adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909da9b6c3d0dcd7cbbfb5ab998c7f7266564d4230271d0c03000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e2d9d2ccc8c6c6c8c2b8b0a9a19e938f87827e7a7573716e6e6d676c6d6e6f716f6b6054483b2f221509000000000000000000000000000000000000000000000004101c2834404b54616e7a86929facaeaeaeaeaeaeaeaeaeaeaeaeaeac9f92867b6e61554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed2cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000030d18212c364049525c646e737f8791959fa2aab0b7bbc2c6c9cfcdc7c4c3bfbab8b6b3b2b2b1b0b0b1b2b3b5b8b9bec1c5c7cbd1cec8c6bfbab4aea8a09e938e847b6f6a60584e453b30271d10070000000000000000000000000000000000000000000000050e18222a333b444c555d606b707980878f93999ea1a9acaeb4b4b7b9bdbebfc0c1c1c2c2c1c0c0bfbebdbdb9b7b4b4aeaca9a29f9a949089817a716c615e564d453c342a21180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa6b0bdc7d1d7cec1b9aca09691849197a1adb8c2cfd8dbd0c5bbafa59e9184796d60574d42362c20160c00000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1d2935414c56606d7984919ea7b1bccad4e2d7cbbfb5ab9f93877c6f62594f42382d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d7cfc7c2bebcbabababababababababababababababababababababababababababababababababababababababababab0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfd3c7bbaea399897c6f6356493c3023150b00000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3d9d0c7c0bbb9b9bbc0c2bbb3ada69e9a938f8a8682807d7b7a7a79797a7b7c7e7d6f6356493c302316090000000000000000000000000000000000000000000000000c18232e3946525e6874818e9ba6a2a2a2a2a2a2a2a2a2a2a2a2a2a79b8e8175695e5243392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96acb6c0cccbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120602020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000060f1a242e37404a525c646d727d838c92989fa6abb0b8b9bec5c6cad0d0cac6c5c3c0bfbebebdbdbebfc0c2c4c6c9cfcfcfc9c6c3bcb8b4aeaba39f96918a817a6e6960584e463c33291e150b00000000000000000000000000000000000000000000000000060f182129323a434b515961676d737c82878c91979c9fa2aaa8abacb2b1b2b4b4b5b5b5b4b4b3b2b1b0b2acaaa8aba39f9c97928d88837d756d68625a524c443c332a22180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d46525e68717e8b949fabb5c0cbd7d4c8bdb2a8a0969196a1a9b2becad4e1d6cabeb3a99e93897d70675c51453c31241a0d0400000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c18222c3945525d68727f8c96a1acb9c3cddcdfd3c7bbaea3998e81756a6054473e2f262835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e1d9d3cdcac9c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a3aebac7d3dfd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6ddd2c7beb6afacacafb6bec5beb9b0aca49f9c98928f8d8a88878686868787898a7d7164574a3e3124170b00000000000000000000000000000000000000000000000007121d2a36414c56626f7c889495959595959595959595959595959595897c6f62564d4231271d120700000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b889aa4afbbc8cdc0b3a79a8d8074675a4d4134271a080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f14212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000008111c252e38404a525b626b6f787f868f949c9fa6abadb3b8babfc1c3c6c7ccd2cdcccbcac9cacbcccccbd0cac6c5c2c0beb9b8b1acaaa39f99928c847d756d685f574e463d342a21180c030000000000000000000000000000000000000000000000000000060f172028313940454f555d606a6f757b80858a8f9298989b9ea1a8a4a6a7a7a8a8a9a8a7a6a5a4a3a8a09e9b9899928f8a85807b76706b615e565046413b322a2118100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4ced9cec3bab2a8a19ea1a8b2bbc4cfdcd9cfc7baada2978e81756b60554b40332a1f12080000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c202a36424d57606d7a85929ea8b2bdcbd5dfd6cabeb4aa9f92867b6e61584e43352c1d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0efe6dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcabdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996aab4bfcbd7dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d8ccc0b6aca49f9fa4acb6c0c9c1beb6afacaaa29f9c99979594999292999497887b6e6155483b2e221508000000000000000000000000000000000000000000000000000d1925303b47545f6a7682888888888888888888888888888888888882766a6054443b301f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cec2b5a89b8f8275685c4f423024190d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000a131c262e384048515960666d727b828a90949a9ea1a9acaeb4b4b7b9bbc0bfc0c1c1c2c2c2c1c0bfbebdbebab8b6b3b3adaba7a09d98928e868079706b615e564d453d342b22180f0600000000000000000000000000000000000000000000000000000000050e161f282f353e434b51586062696e73797d8285888b8e91969697999a9b9b9c9c9b9a999898979696918e8b8986837e79746f6a636159524c443e36302920180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d5ccc3bab2adabadb2bac4cdd6dcd1c7bdb1a79f92857a6e61594f43392e21180e000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c26313a46525e6973808d97a2adbac4ceddded3c6baaea2988d8074695f53463d32231a2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f1e6ddd5cdc8c4c3c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bed1dcdacdc0b3a79a8d807467554b4034291c100400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d4c8bbafa49a93939aa4afbbc0ccc7c0bbb9b4aeaca8a6a4a1aba39f9fa39e928578695f53463a2d2114070000000000000000000000000000000000000000000000000008141e2b37434e58616d7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d61584e4332291f0d0300000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677884919eabb8c4d0c3b7aa9d9084776a564c4135291d110500000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c28282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000010b141c262e363f474f545c60696e767d83888d92979c9fa2aaa7aaacafb5b2b3b4b5b5b5b5b4b3b2b1b1b4aeaba9a6a9a19e9a95908b86817b736d676159524c443c332b22191006000000000000000000000000000000000000000000000000000000000000040d161d2429313a40454e54575e61666d7176797c7f818487898b8c8d8e8e8f8f8e8d8d8c8b8a898784817f7c7976716d67625f58554f46413a322a251e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d5ccc4bdb9b7b9bdc4ccd6dfd7cbc0b5ab9f958b7e72685e52473d30271d0f06000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2b37434e58616e7b86929fa9b3beccd6dfd5c9beb2a99f92857a6d61574d42342b201b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d8cbbfb2a5988c7f7265594c3f2f23180c0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c6b9ac9f938886939fa5afbbc0c7ccc8c6bfbab8b5b3b0aeb4aeacaca99c8f827669574d42362a1e120500000000000000000000000000000000000000000000000000020f1b26323c46525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e52463d3220170d0000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55697683909ca9b6c3cfc5b8ab9f928578685d5246392d20130700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524539353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000000000020b141c242d353d424a51575f616c70767b80858a8f9298989a9d9fa4aba5a6a7a8a8a9a8a7a6a6a5a4aaa29f9c999797918d88837f7a756e6a605d554f46413a322a211910070000000000000000000000000000000000000000000000000000000000000000040c12181f282f353c43474d53545c6064666d6f7275787a7d7e7f81818282828181807f7e7d7c7a7775726f6d6764605c55534e48443d3630292019140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0dbd6cfc9c5c4c5c9cfd6dedcd4c7bbafa3999083786c60564c41352b1e150b00000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2e3a47535f6a74818e98a3aebbc5cfded9cec6b9ada1978c7f73685e52453b3122191b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cdc3b9b1abaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad7cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c5b8ac9f92867f8c939da5afb5bdc3c9cfcac7c5c2c0bdbbbfbab9b3a6998c807366594d4031261a0e0200000000000000000000000000000000000000000000000000000a15202a36414c565e616262626262626262626262626262626262615e564c41342b200e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f414e5b6874818e9ba7b4c1cec6baaea298877a6d6154473a2e21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52454242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000020a121b232b303940444d535a6164696e73797d8285888b8e90939997989a9b9b9b9c9b9a9a9998979698928f8d8a8785817c77726d68625f57514b433e35302820180f070000000000000000000000000000000000000000000000000000000000000000000001070d161d242932373b42464a5153545c60626568696e7071737474757576757473727170706d68686562605c5553514b47433c38332a251e170e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6e2dad5d2d1d2d5dae0e0d5c9bdb2a89f92877c6f665b50443b3023190c0300000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c38444f59626f7c87939faab4bfcdd7e1d4c8bdb1a89e9184796d60564c41332a1f101b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c8bcb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd6cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6cec5b8ac9f928579818e939fa4abb1b9bdc4c8cdd2cfcccad1cbc7bdb2a8978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000040d1925303a444c5254555555555555555555555555555555555554524c443a3022190f00000000000000000000000000000000000000000000000000000000000000000000000000000000000007192633404c5966737f8c99a6b2bfd2cabeb3aa95887c6f6255493c2f22160900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f54606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000910191e272e343b42465055575f62666d7175797b7e818486898a8c8d8e8e8f8f8f8e8d8c8b8a8a888583807d7b78746f6a65615d56534e4540393129251e160e0600000000000000000000000000000000000000000000000000000000000000000000000000040c131820272b3136394044464a51535558565e61636466676868696968676665656463615e56585653514b4745403937312c272119130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616b75818e98a2aebac3d0d9e3e1dfdedfe1e5e2d8cec6b9ada1968d80736a5f544a3f32291e11080000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453930394854606b75828f99a4afbcc6d0dfdbd1c5b8aca0958b7e71675d51443a3021180e1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd1c4b8aba095908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd5c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c1c1c1b8ac9f92857978818c9399a0a7adb2b8bcc2c5c6cad0cfd1c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000008131e29323a41464748484848484848484848484848484848484746413a32291e10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97acb6c0ccd0bdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000070c151c232831363e44494d53545c6064666c6f7174777a7c7e7f80818282828281807f7e7e7d7b797673716e696762605854524c47423c352f271f19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000001070d151b1f252a2e34383a404446494c4d52545658595a5b5b5c5c5b5a5a5958575654524c4c494645403a38342f2b26201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2dde8ebeaebede7dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52452e3942505a63707d89949eabb5c0ced8e1d3c7bcb0a69d9184786d60554b4032291e0f0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c3b6aa9d9083838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383827d6f6356493c30231609000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb4b4b4b4b4ac9f9285796d747f8790959ea1a8abb1b6b8babfc0c2c4c4b8ab9e918478685e5246392d20140700000000000000000000000000000000000000000000000000000000020d1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3936302920170d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8cbbfb2a5988c7f7265594c3f3226190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000000030b12181f262a33393c42474a5153545b60626567676d6f71727374757576757473737271706e6c666664615e5755544e4746413a373129241d150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2e34383a3c3f4246474a4b4c4e4e4f4f4f4e4e4d4c4b4a494746413f3c3a38342e2c29231d1a15100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b959fabb5c0ccd7e3f0f7f8efe2d6cabfb4aa9e948a7d70675d51463c2f261c0e05000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524534404a54616c7683909da6b0bdc7d2e0d9cfc7b7ab9f948a7d70665c5043392f20170c0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676766f6b6054483b2f221509000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd4c7baada194877a6e6154473b2e2114080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0a8a8a8a8a8a8a89f9285796c6d727c838b91969d9fa7a9acaeb4b4b5b7b9b5a89b8f827568564d41362a1e11050000000000000000000000000000000000000000000000000000000000050e171e252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cdc1b4a79a8e8174675b4e412f24180d01000000000000000000000b1824313e4b5764717e8a97a4ab9f92857875757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000000000070c141a22282d3137394044464a50535558555d6063646567686868696867676665646362605b545754524d4947433c3935302b262018120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f23282c2d2f30363a3b3d3e4041414242434241403f3e3d3d3a3935302f2d2c28231f1c18120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc7d4e0edf9f9ece0d3c6baaea2988f82756c61554b40342a1d140a00000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453844515c66717e8a959fabb8c1d0d9dcd1c7bdafa59c9083766c61544a3f31271d0e050f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696360594f44382c201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9b6c3d0dcd3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b9285796c636a6f787f848a9095989c9fa2aaa7a9aaacaea6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000050d13191e2021222222222222222222222222222222222221201e19130d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677884919eabb7c4cfc2b6a99c8f837669554b4035291d1104000000000000000000000b1824313e4b5764717e8a97a4ac9f9287818282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828f9ba8b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000003090e171c20262b2e34383a3f4446484b4c51545657595a5b5b5c5c5c5b5a595857575553504a4a4846423c3b37322d29241e1a150c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012181c1f2022252a2d2e3031333435353636353433323231302e2d292523201f1c1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939facb9c6d2dfecf9ede1d4c8bdb2a89f92867b6e615a50433a2f22180b0200000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245414b55606d7984919ea7b1bccad3e2d7cbc0b5ab9e93897c6f625a5042382e1f150b000f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c56544f473d32271b0f03000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd4c8bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e85796c5860666d72797e83878b8f9298989a9c9e9fa3a896897d7063564a3d30231708000000000000000000000000000000000000000000000000000000000000000002080d11131415151515151515151515151515151515151413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfc4b8ab9e918478675d5145392c201306000000000000000000000b1824313e4b5764717e8a97a4aea399928e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f939eaab2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000050b10151a1c23282c2d3338393c3e414547494b4c4d4e4f4f4f4f4e4d4c4b4b4a4846443f3e3b3a36302e2b27201d19130e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191e202123252627282829292827272625242321201d19161313100c070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d9aa7b3c0cddae6f3ebded1c5b8aca0968c7f72695e53483e31281d10060000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524545515d67727f8b96a0acb9c2cddcdfd3c7bbafa3998f82756a6054473e30261c0d03020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256505050505050505050505050505050505050505050505050505050505050505050505050505050505050504948443d352b21160b00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000613202d394653606c788181818181818181818181818174685b545c60666d71767b7f8385888b8d8f9192999496877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000010507070909090909090909090909090909090909070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f414d5a6774808d9aa7b3c0cdc5b9ada196867a6d6053473a2d201407000000000000000000000b1824313e4b5764717e8a97a4b5aba39f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ea6b0b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000003090e12181c1f22282b2d2f2f35393a3c3e3f4041424243424140403f3e3d3b3938332d2e2d2a25221f1b15110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090e1114141718191b1b1c1c1c1b1b1a191817161413110d0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303946525e68727e8b98a5b1becbd8e4f1eaddd0c4b7aa9d9184796d60574d42362c1f160c000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f52414c56606d7a85929ea8b2bdcbd4dfd6cabfb4aa9f92877b6e62584e43352c1e140a00020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494343434343434343434343434343434343434343434343434343434343434343434343434343434343433c3b38322b23190f0400000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbd6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000006121f2b3844505b666c757575757575757575757575746f64594a50545c6064696e7276797c7e818284868788888477685d5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1bed0c9bdb2a895887c6f6255493c2f221609000000000000000000000b1824313e4b5764717e8a97a4b1b5aeaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aab0b4b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000070c1012171c1f202224292c2d3031323435353536353434333231302f2d2b282221201e1a15130f0a05010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0d0e0e0f0f100f0e0d0c0b0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59616d7a85929eabb8c5d1deebf8ebdfd2c5b8ac9f92867b6e615a50433a2f24190c020000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5246525e6873808c97a1adbac3ceddded3c6baaea2988d8174695f53463d32231a0c0200020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3636363636363636363636363636363636363636363636363636363636363636363636363636363636302f2c27211911070000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd7cabdb1a4978a7e7164574b3e312418060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000030f1c28333f4a545b6068686868686868686868686868645d5348444a5053575e6165666d6f72747677797a7b7c7c6f62564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0c0d0e0e0e0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3becacfbdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000004060b0f121315191d202123242627282829292928272625242422201f1c171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b74818e97a2adb9c6d2dfecf8ece0d3c6baaea2988f82756c61554c4135291e140a0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b8ab9e9185786b5e524d57616e7a86929fa9b3beccd5e0d5c9beb3a99f92867a6e61574d42342b2111080000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f292929292929292929292929292929292929292929292929292929292929292929292929292929292322201b160f07000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddad8cbbeb1a5988b7e7265584b3f2d22170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b59534b41383f44464d5354545c6062656769666c6d6e6f6f6a5f53443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000020507060c101213151618191a1a1b1b1a1a191917161413110d0807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8797a2adbac6ccbfb2a6998c7f7366594c4033261908000000000000000000000b1824313e4b5764717e8a979b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000030606080d1113141618191a1b1c1c1c1c1b1a191818171513120f0b0607050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080a0c0d0d0e0e0d0d0c0a080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a242c3845515c66707d89939ea9b3becad6e2eefaefe2d6cabfb4aa9e948a7e71675d51453d30261c110600000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51535f6974818d98a2aebbc5cfded9cec6b9ada1978c8073685e52453c3122190f000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1615130f0b0400000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d9ccbfb3a6998c80736653493f33271b0f0300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392e34383b4246484a505355585a545b60606162625f584e4332281e1308000000000000000000000000000000000000000000000000000000000000000000000205080e111414171c1f20212325262727282827272626242221201d19171413110d080501000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413024190d010000000000000000000b1824313e4b5764717e8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000001040607090b0c0d0e0f0f100f0e0d0d0c0b0a0806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000306060b0f1213151719191a1b1b1a1a1917151313100c070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7984919da5afbbc5cfdbe6f2f2f3e7dbd0c6bcb0a69e91847a6d60584e42382e23170b03000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e4e58626e7b87929faab4bfcdd6e1d4c8bdb2a89e9285796d60564c41332a1f1007000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316101010101010101010101010101010101010101010101010101010101010101010101010101009090703000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcfdadbcfc2b5a89c8f8275655b5044372b1f120500000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000a141d262d33383942424242424242424242424241403c372f23282c31363a3b3f4446494b4e4a505354555555534e463c3220160c02000000000000000000000000000000000000000000000000000000000000000003090e1214191e202123282c2d2e3031333334343434333332312f2e2d29252421201d1913110d0802000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c566a7683909da9b6c3d0c3b6a99d9083766a564c4135291d11040000000000000000000916232f3c4956626f7d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313120706040000000000000000060b0f1213171c1f20222425262728272726252422201f1c181413100c070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a46535f69737f8c95a0acb7c1cdd7e1ece6e5eaebe2d8cec1b9ada1968d80746a60544a3f34281f1409000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e54606a75828f99a3afbcc6d0dfdcd2c5b8aca0968b7f72675d51443b3021180e00000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a8b2bdc9d5ded1c5b8ab9e9285796c605346392d20130600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000020b141c22282b2d3535353535353535353535353534302b25171c1f252a2d2e34383a3c3f413f44464748494947433c342a200e0400000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2e34383a3b3d3e3f404141414140403f3e3c3a393530302d2c2924201d1913100b04000000000000000000000000000000000000000000000000000000000000000000010d192530424e5b6875818e9ba8b4c1cec5b8ab9e928578685d5245392c2013070000000000000000000915222e3b4854606a6f747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0a0b0c0b0b0b0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101220202020202020202020201f1312100c07000000030a0f11171c1f2022282b2d2e313233343434343332302f2d2c2823201f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b19242f3a43505a616e7b86929fa8b1bdc9d2dfe0dcd9d8dedfe1e0d5c9bdb2a99f93877c6f665c50443b30251a0d040000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c4b7aa9d9184776a5e59626f7c89939eabb5c0ced7e1d4c8bcb1a79e9184786d60554b4032291e0f0600000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a1adb9c5d2dfd2c6b9ada297887b6e6255483b2e23170c00000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000020a11171c1f20282828282828282828282828282724201a0c10141a1e2123282c2d2f322d3338393a3b3c3c3b37322a22180e000000000000000000000000000000000000000000000000000000000000060b11171c1f262a2d3036393b3e3f444648494b4c4d4d4e4e4d4d4c4c4a49474641403d3a3935302d2a251e1b16100b040000000000000000000000000000000000000000000000000000000000000000081a2633404d596673808c99a6b3bfccc6b9ada197877a6d6054473a2d21140700000000000000000007131f2c38434e58606268686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686864615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060609070c1013141515161718191818171716151313100c07090706040000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2c201f1c18120b030b10151a1c22282b2d2d3338393b3d3f4040414140403f3d3b3a38342e2d2c29241f1b17110b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414c55616c76828f98a3aebac3cedbdbd4cfcccbd1d2d5dadacfc4bbafa4999083786d60574d42362a1f160c0100000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d616b7683909ca5afbdc7d1e0d9cfc7b8ab9f958a7d71665c50433a2f20170d0000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687884919eabb7c4d1ded6cabeb3a9978b7e7164544a3f34281c1003000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f0903090e1214171c1f20222522282b2d2d2e2f2f2e2b262018100600000000000000000000000000000000000000000000000000000000020a11171c23282b31363a3b4146474b4a5053545658595a5a5b5b5a5a5959575554524c4d4a4745413a3936302c27211b160e09020000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becacabeb3a995897c6f6256493c2f231609000000000000000000030f1b27323d464e54565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131518181d1f20212223242525252524242321201f1c1818161313100c070603000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939392d2c28231c150c161c20262b2d3338393c3f4446484a4c4c4d4e4e4d4d4c4a484645403d3a39352f2b27221b17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d67717e8a949eaab4bfccd5d9d1c9c4c0bfc4c5c9cfd6d7ccc0b5aba0958c7f72695e52463e31281d130700000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a5963707d8a949fabb7c1cfd9dcd1c7bdb0a69d9083766c61544a3f31281d0e050000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2d0dbdbcfc1b4a79a8e8174665c5044382c1f150a000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0e0e0c08030000000205060c1012131618171c1f2021222222211f1b150e0600000000000000000000000000000000000000000000000000000002080c141c23282e34383b4246484c525457545c606163646666676767676666656462615e565a5754524c4746413a38322c27211a140d0500000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cfbdb0a4978a7d7164574a3e3124170b000000000000000000000a16212b343d4348494e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e352c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1215171c1f20222524292c2d2e2f30313232323131302f2e2d2c28232523201f1c1815120f0a05020000000000000000000000000000000000000000000000000000000a141e262e34384646464646464646464646453a38342e271e1b21282c3137383f4446494a5053555758595a5b5a5a5958575553514b4a4745403937332d28221c140b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ddd1c7bfb8b3b2b7b9bdc4ccd6d2c7bdb1a79f92867b6e615a50433a2f24180b02000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc3b6a99c90837669606b7783909da6b0bcc9d3e1d7cbc0b5ab9e94897c6f635a5042382e1f160c000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192530404c5966737f8c99aab4bfcad6ded1c4b8ab9e9184796d6053463c31261b0d040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000002020202020202020202020202010000000000000000000003060709060b0f12131415161615130f0a04000000000000000000000000000000000000000000000000000000050d14191e262e34383f44464d5355565e616467666d6e7071727374747474737372716f6d68696663605d5654524c48443d38322a251f170e07010000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040f19222b32383b3c4141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151a1f2122282b2d2f322f35393a3b3c3d3d3e3f3e3e3e3d3c3b3a38342e32302d2c2823211f1b15110e090200000000000000000000000000000000000000000000000006111c2630383f44535353535353535353535352464440393027272c33383c43474a505356545b60616465666767676766656362605c555753514b46443f38332d261d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a74808d96a1adb8c2ced8d4cbbfb5ada7a5abadb2bac4cfd9d0c3baaea2988f82756c61554b4035291d140a000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b5a99c8f82766963707d89959fabb8c2cddbdfd4c7bbafa3998f82756b6054483e30261c0d04000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081723303d4a5663707d8998a2aebac6d3dfd2c5b9ada1968a7d7164584e43372b1f160c0100000000000000000000000000000000040e16202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060708090908060300000000000000000000000000000000000000000000000000000000060e171f252a30383f444a5053575f6166686e717476797b7c7e7f8080818180807f7f7d7c7a787673706d6865615e56544f48443d3630292018120c0400000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000007101921272c2e2f35353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353531302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e2d3338393c3e414045474848494a4b4c4b4b4a4a4948464540413f3c3a38342e2e2b26201e1a140f0a03000000000000000000000000000000000000000000000b17232e38424a505f606060606060606060605f53514a42392e32383e44484e53545b606266666c6e707273737474737372706e6d676764605d55535049443f382f29241e160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a232b3844505b666f7c87929fa9b2bdcad3d9d0c2b9ada39b989ea1a8b2bdc9d5d6cabfb4aa9e938a7d70675d51453c2f261c11060000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec2b5a89b8f8275686975828f9ca7b1bccad4ded6cabfb4aa9f92877c6e62594f44362c1e150a00000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dcd5c9bdb2a99c9083766a5f53473d31281d1307000000000000000000000000000000030d16202935404b55606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363e424a50545c6064696e72767a7e80838687898b8c8d8d8e8e8d8d8c8c8a88878583807d7a76726d68636059544f46423b3329241d160d05000000000000000000000000000000000000000202020200010815212e3b4854616e7b8794a1aebac7cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000070f161b1f22232828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1d24292c31373a3c3f4446484b4e4b515354555657585858585757565453514b4e4b494645403c3a37312d2a251f1a150e09030000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c605c544a40353d44484f55585f62666c6f7376797b7d7f7f80818180807f7d7b797773706d6763605b53504a423d353028201810080000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414d56606c78839099a3afbbc4cfddd2c7bdb1a79b918c9196a1adb9c1ced8d0c5bcb0a69e9184796d60584e42382d22170b0200000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b4a89b8e8175686e7b87939facb9c3cddfded3c6baaea2988e81746a5f53473d32241a0c0300000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9babb4bfcbd7dacfc4b7ab9f94887c6f62594f433a2f2418120701000000000000000000000000050d151f28323a45515d67717e8b98a4b1becbd7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323b414650545c60666d70767b7f83878a8d909298969799999a9a9a9a99999897959892908d8a87837f7a75706b636059524d453f352f281f170f06000000000000000000000000000004080a0b0f0f0f0f070d1115222f3c4855626f7b8895a2aebbc8cfc3b6a99c908376695d5043362a1d1003000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c141a20272b2f35393c4347484a505355585b555d60616263646565656464636261605c545a585653514b4847433c3a36302b26201a140c0701000000000000000000000000000000000006121f2b3844505c667679797979797979797979786d665c514440454f545961636a6f74797c808385888a8b8c8d8e8d8d8c8b8a888683807d7974706c65605b544f45413a322a221a12090000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e68727f8b959fabb5c0cdd6d7ccc0b5ab9f958c7f84919ea6b0bcc6d0d7cec1b9ada1968d80736a5f544a3f33281f140900000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746673808c99a4afbbc7d4e0d5c9beb3a99f92867b6e61584e43352b2112080000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0d3c7bbb0a69a8e81746b60554b4035292418120b0600000000000000000002080e171f27313a444f59606d7985919eabb8c4d1ded8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343e444d525a61666d71787d82878c90939a9a9d9fa3aaa4a5a6a7a7a7a7a6a6a5a4aaa29f9c999a93908b86827c76706b615e57504540393129211810060000000000000000000000050b101416171c1c1c1c1c181d20262f3d4a5663707d8996a3b0bcc9d1c4b7aa9e9184776b5e5144382b1e11050000000000000000000000000000030709090e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a32373a4045474e5355545b606265676a676d6e6f70707172717171706f6e6d6669676563605c5455534e4746423b37312a261f18120b03000000000000000000000000000000000713202d3a4653606d788686868686868686868685786d6053464b515960636b70767b8085898c9092989798999a9a9a9a9998969992908d8a85817d78716c666059524c443c342c241b12090000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434f59616e7b85929fa7b1bdc7d1dcd4c7bbafa4999083787e8a949eaab4bfcad6d5c9bdb2a89f92877c6f665b50443b30251a0d04000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b3a79a8d80746d7984919eabb5c0ccd7ddd2c6b9ada1978d8073695e52463c3123190f000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4754616d7a86929facb9c3ced9d8cdc2b9ac9f93877d6f675d51453e3629241d17110c070604000105070a0f141920293139434c56606b73808d97a1adb9c6d2dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f2830383f4450565e616c70787e848a8f939a9d9fa4aca9acaeb4b1b2b3b3b4b4b3b3b2b2b0b3aeaba9aca49f9d99928f89827d756e69625a514b433b332a221810060000000000000000000810171c212324282828282824292c3038424e5866737f8c99a6b2bfccd0c3b7aa9d9084776a5d5144372a1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151d232830363d43474b5153585f6266666c6f717477797a7b7b7c7d7e7f7e7e7d7d7c7b79787674726f6d6666625f5854524d47433c363129241d150d060000000000000000000000000000000713202d3a4653606d7986939393939393939397897d7063534e555d606b6f767d83888d9297999d9fa2aaa5a6a6a7a7a6a6a5aba39f9d9a98928e89847e78706b605d564e463e362d241b12080000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606b75818e98a2aeb9c3cfd9d5c9beb3a99f93877c6f75828f98a2aebac3ced9cfc4bbafa3999083786c60574d42362a1f160c010000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb3a6998c8073707d8a97a1adbdc7d2ddd5c9bdb2a89e92857a6d60564d42342a201107000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba8b1bdc8d4e0d4c7bbafa4999184796d605a50483f352f27221b181413100c0d1113141a1f252a323b434b555e686f7d87929fa9b3bec9d5e1d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028313a424a505a61686e757d848b91969c9fa4acacafb6b6b9babfbebfc0c0c1c1c0c0bfbfbdbebab8b6b6afacaba39f9c948f89827b716c605d554d453c342a22180f060000000000000008121a22282d303135353535352f35393a414a545f6a76838f9ca9b6c2cfcfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708080808080808080808070705010000000000000000000000000000000000000000000000020a11171e272e343b42464e54555d60656a6f7376797b7e818486868788898a8b8b8b8b8a8a8987868583817e7c7976726f6a65615e57534e46423b352f271f180f0900000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9fa99a8d8174655b5860676d747d838a90949a9ea1a9a9acaeb4b2b2b3b4b4b3b3b2b5afacaaaaa29f9b95918a847d746d685f5850483e362d241a11080000000000000000000000000000000000000000000000000000000000000000040e1b242c3845515c67707d89939eaab3becbd4d9cfc7b9ada1978d80746a6e7b86929fa8b1bdc8d4d7cbc0b5ab9f958b7f72695e52463e31281d12070000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8ccbfb2a5998c7f7275828f9ca9b2bed0d9dcd2c5b9aca0968b7f72675d51443b3022180e00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707c8995a0acb8c3ced9d7ccc0b5aba0968d81746c615a51454039332d2924201f1d18191d2021262b30363d444c555d676d7a849199a3afbbc4cfdae6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028323a434c545c606c717b828a91959ea1a8acafb6b9bbc0c3c5c7cbd1cccccdcdcdcdcccccbd0cac6c5c3c0bbb9b5afaca69f9c948f857e756d675e574e463c342a21180e03000000000005101a242c33393c3e4242424242424045474c525b666f7c88949fabb7c4d0cec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131414141414141414141414141414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111314141414141414141414141413110d08020000000000000000000000000000000000000000040c141c2328303940454d52586062676d71767b808385888b8e91929994959697989898979796959a9392908d8b8985827f7b77726e69625f58534d454039312a221b120a010000000000000000000000000713202d3a4653606d798693a0acacacacacab9e9184786c60616a6f79818990949c9fa6abadb3b6b8babfbebfc0c1c0c0bfbec0bbb9b6b4aeaca7a09d969189817a6f6a615a50483e362c23190f05000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbcc5d0dcd1c7bdb0a69e92857a6d6069737f8c95a0acb8c1cdd7d1c7bdb1a79f92867b6e61594f43392f24180b0200000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e727a86929facb9c4cfdfd4c8bcb1a79e9184796d60554c4132291f0f0600000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090404040404040404040404040404040404040404040404040404040404040404040404040404040404040403030100000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4854606b7784919da7b1bcc8d4ddd2c7bdb2a89d928a7e716c625b514b443f38352f2d2c2924252a2d2e31373b41464f565e676d79829096a1abb5c0cdd6e1e4d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28323a444c565d666d747e858f949da0a8acb2b9bbc0c6c8ccd2d2d1cfc9c6c5c3c2c1c0c0c1c1c3c5c6cad0ccc8c6c0bbb9b0aba69e97928b81796e695f584e463c332a1f150900000000000b17222c363e44494a4f4f4f4f4f4f4b5153565e616c78828f9ca6b0bbc7d3cbc0b5ab998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f20212121212121212121212121201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d20202121212121212121212121201d19130c05000000000000000000000000000000000000050d161e262e343d424b51575e616a6f747a7e83888c8f9298989a9d9fa3aba2a3a3a4a5a4a4a4a3aca49f9e9c9a9898928f8c88837f7b756f6a615f57514b433c342d241c130a0100000000000000000000000713202d3a4653606d798693a0acb9b9b9b9ada197897c6f626c707c848e939c9fa6abb0b8b9bec3c5c7cad0cacbcdcdcdccd1cbc7c5c3bfbab8b1aca8a09d938e847c716c625a50483e352b21170c03000000000000000000000000000000000000000000000000000000000008131e28323a47535f6973808c96a0acb7c1ced7d7cbc0b5ab9f948b7e71685d606d7984919da5afbbc5d0d9cfc3baaea2988e81756b61554b4035291d140a00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd7cabeb1a4978b7e727f8b99a3afbbc7d3d9d0c7b8ab9f958a7e71665c51433a2f20170d0000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100f0d0a050000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38444f5964717e8a95a0acb8c1cdd7d9d0c4baaea49f92877e726d605d55504945403b3a38352f3036393a3d43474d525960686e79828f949fa8b2bdc7d1dfe8e4d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313a444c565e686d78808a92979ea6acb1b9bdc4c8ccd2d4cfcac6c5c1beb9b8b7b5b4b3b3b4b5b6b8babfc1c5c6c9cbc7c2bbb7b0a9a29f938f837b6f6a5f584e453c31261a0e0200000004101c28333e485055575b5b5b5b5b5c555d6063686d75808d949fabb8c2cdd3c7bbafa3998b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d2e2e2e2e2e2e2e2e2e2e2e2d2a251e160e0500000000000000000000000000000000070f171f2830383f444f545c60696e757c81858b9095999c9fa2aaa7aaacaeb4aeafb0b1b2b1b1b0b0b6afacaba9a7aaa29f9c9995908c86817c756e69605d554e463e362e251c140a01000000000000000000000713202d3a4653606d798693a0acb9c6c9beb2a99a8d80736c717e8691969da5abb0b7bcc2c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d2d0cac6c3bcb8b2aca59d9691867e716c625a50473d33291e150b00000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc9d3dcd3c7bbafa3999083786c60565c66707d89939ea9b3becad6d6cabeb4aa9e938a7d70675d51453c2f261c1106000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6cabdb0a3978a7d7783909dabb5c0cbd7d2c7bdb0a69d9083786c60544b4031281e0e050000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a03000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b27323d4653606c7883909da6b0bbc5cfdbd6ccc0bbafa39992887f736d67605b53514b4847454043434146474a4e53565e616b6f7a828f949fa6b0bac4cfd9e3ebe4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018242f39434c565e686d7a828d929fa2a9b0b8bdc3c9ced4d3ccc7c5beb9b8b5b3adabaaa9a8a7a7a7a8a9acaeb4b4b8b9bec5c7cbc7c1bcb3ada59e9590857c6f6a5f574d42372b1e12060000000814212d3944505a616468686868686969676d70747a828d929da6b0bbcad4d2c5b9ac9f92867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f35393a3b3b3b3b3b3b3b3b3b3b3b3b3936302920170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3b3b3b3b3b3b3b3b3b3b3a3936302820160c0200000000000000000000000000000710192129313a424a505960666d727b81898e92989d9fa7a9acaeb4b4b7b9babfbbbcbdbebebebebdbdc0bbb9b8b6b4b4aeaca9a7a09d99928e87827b736d675f58504840372e261c130a000000000000000000000713202d3a4653606d798693a0acb9c6cfc4b7aa9e918477717e879298a0a8afb7bcc2c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced5d3cec8c3bdb8afa8a19892887e716c61594f453b30271c12070000000000000000000000000000000000000000000000000000000a151e2935414c56616c76828f99a3aebac4cedbd5c9bdb2a99f92877c6f655b5054606b75818e97a2adbac2d0d9d0c5bcafa59e9184796d60584e42382d22170b020000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c7b88959fabbdc7d1d7ccc0b5ab9e94897d70655b5042392e1f160c000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a292826211b150d040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161f2b3744505b65707d8a949ea9b3becad6dcd7cbc0b5aba39a938b8079716c65605d555553514b50504c525457585f62686e747d848f949fa6b0b8c2c8ccd2d9e2e8d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222935404b555d686d7a838f949da4adb3bbc1c8ced5d5ccc7c2bbb7b3adaba8a9a19e9d9c9b9a9a9a9b9d9fa2aaa7abadb3b9bbc0c7cbc5bebaafa7a09791857c6f695f53473a2d2114080000000a1623303c4955616c7175757575757576777a7c81868f939da4aeb8c2ccd5c9beb3a99c8f8276685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454747474747474747474747474746413b322921170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a404547474747474747474747474746413a32281e130800000000000000000000000000061019222b333b434b545c606b70797f868e939a9fa2aaabb1b6b8babfc1c4c5c7cbd1c9cacbcbcbcacad2ccc8c6c5c3c0bfbab8b5b1acaba39f9a938f8680796e6a615a514940382e251c11080000000000000000000713202d3a4653606d798693a0acb9c6d2c5b9aca096887c7d879299a3aab2bac0bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d4cec8c0bab2aaa29a93877e716b60574d42392e23180c030000000000000000000000000000000000000000000000000006111c26303845525d68717e8b949fabb4bfccd5d8cfc6b9ada1968d80736a5f53494f59616e7a85929fa7b1bdc7d2d7cec1b9aca1968d80736a5f544a3f33281f14080000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd5c8bbafa295887c808c99a7b1bccfd9d4c7bbafa4998f82756b6053493f30271d0d04000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c37373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373635322d261f160d0300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616b75828f97a2adbac0cad4dcd1c7bdb5aca49f928d847e78706d676561605d555d5d565e6163666a6f737b818791969fa6b0b8bbb9bbc0c7d0d6dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343d45515d676d7a8390959fa6aebabec5cdd4d6cec9c1bbb7b0aba9a29e9b989792908f8e8d8d8e8e909298979b9ea1a9acafb5bbc0c7cac1b9b1a9a19791857b6e6155483b2e2215080000000b1724313e4a5764717e828282828282838486898e92989ea6aeb6c0cad4ccc4b9ada1978b7e7164564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f39434b5153545454545454545454545454524d443b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434b51535454545454545454545454524c443a3025190d010000000000000000000000050e18222b343d454d555d666d747d848c92989ea5acaeb4b8bcc2c5c6cad0d0d2d3d7dcd6d5d4d3d4d5d6ddd8d4d2d1cfd0cac6c5c2bcb8b5afaca49f98928c837c716c635b524a40372e231a0f0600000000000000000713202d3a4653606d798693a0acb9c6d4c8bdb2a89b8e81859299a3abb4bcbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d9d4ccc4bcb4aca49992877d70695e544a4034281f1409000000000000000000000000000000000000000000000000000c17232e38424e58606d7a85929ea6b0bdc6d1dcd1c6bdb0a69e9184796d60584e4146525e68727f8b959fabb5c0ccd7d5c9bdb2a89f92877c6f665b50443b3025190d0300000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd4c7bbaea194887b84919daab7c3cdd6cbbfb4aa9f93877c6f62594f41382d1e150b00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564944444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443423e3831281f150a00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59616e7b85929fa4aeb8c2cbd4d9cfc7beb6afa49d96918b837d7a75716e6d676a696a6b686d7073777b80868e9299a1a9b0b8b6afacafb6bec5cdd6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b606d79839095a0a7b0b8c0cacfd7d7ccc4bdb9b0aaa69f9c97928e8b8885848281808081828385878a8e92979b9fa3abafb5bdc1cac3bbb3a9a1978f8376695c504336291d100000000b1724313e4a5764717d8a8e8e8e8e8f909193999a9fa2aab0b8c0c8d6cbc3baafa59e92857a6d6054473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606161616161616161616161615e564d453b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b555d6061616161616161616161615e564c41362a1d110500000000000000000000030d17202a343d464e575e676d78808991969fa2aaafb8babfc5c7cdd2d3d6d7d3d2cfcccbc9c8c7c7c7c8c9caccced1d2d5dad6d3d2cec8c7c0bbb6afaaa39f9591867e736d635c52493f352c21180b02000000000000000713202d3a4653606d798693a0acb9c6d9cec3b6a99d938e9297a1abb5bdbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6cec6beb5aba39992857b6e665c51443b30251a0e04000000000000000000000000000000000000000000000004101c28343f4a54606a74818e97a1adb8c2cfd8d7cbbfb5ab9f948a7e71675d51463c414c56606c78839099a4afbbc4cfdacec4bbafa3999083786c60564d41362a1f150b01000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c8996a0acb8c5d4d3c7baaea3988e81746a5f53473d2f261b0c0300000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625650505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261b1005000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3e46525e68717e8b929da6b0b9c3cbd4d9d0c7c0bbaea8a19e95908a86827e7b7a7877767677787a7d7f83888d92989fa3abb2bbb6aca49fa4acb3bbc5cfdacbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424e58626d75818e959fa7b1b9c2cad6d9d1cbc1bab2aca69e9c948f8985827e7b787776757474747576797b7e8185898e92999fa3abb0babfc6c4b9aca1968b7e7164584b3e3125180b0000000815222e3b4855616e7b88989b9b9b9c9c9e9fa4abacaeb4bcc1cad0cac2b9b1a89e938a7e70675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d676d6e6e6e6e6e6e6e6e6e6e6e6e685e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d6e6e6e6e6e6e6e6e6e6e6d685e5246392d201307000000000000000000020b151f29323c464e5860696e79828d929da0a8aeb4bcc1c6cad0d4d8d6d3d1cbc7c5c3bfbebdbcbababbbcbcbdbfc2c4c5c9cfd2d4d7d9d4d1cbc7c0bbb4aea7a098928b7f736e635b51473e332a1d140a000000000000000713202d3a4653606d798693a0acb9c6d3d2c6baafa59d9b9ea1a9b3bcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d7d0c7bdb5aba1979083786d60574d42362a20150a00000000000000000000000000000000000000000000040d1a232c3844505c666f7c88939fa9b3becad4dcd3c7bbaea3998f82766c61554b41343b44505b666f7c87939fa9b3bec9d5d7cbc0b5ab9f958b7f72685e52463d31271d1207000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d808d9aa8b2bdc8d4cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5c5a544c42382d21160a000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56616c74808d949fa7b1b9c2cad6d9d2ccc0bab2ada79f9d98928f8b8886858483838485878a8c90959a9fa2aaafb5bdbbafa49a939aa1a9b3bec9d5cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606a727f8b939ea7b1b9c3cbd4d9cfc7c0bbb0a8a19e948f89827d7975716e696a696867676768656c6e7174797d82868d92999ea6aeb4bcbeb3a99e9184796d6053463a2d2013070000000613202d394653606c7985929fa8a8a8a9aaacafb5b8babfc6ceccc6bfbab0a7a0968e81756c61554b413529170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7a7a7a7a7a7a7a7a7a7a7b75695e52463a2d20160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a7b7a7a7a7a7a7a7a7a7a7a6d6154473a2e2114070000000000000000000a141d27313b444e58606a6f7b838f949da4acb2babfc6ced3d6dad5d0cac6c5c0bbb9b6b3b1b0afaeadaeafb0b0b2b5b7b9bdc2c6c7ccd2d5dad7d2ccc6bfbab1aaa29f918c80736d63594f453c2f261b11060000000000000713202d3a4653606d798693a0acb9c6d3d6cbc0b7afa9a7abadb3b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d9d0c7bdb3a99f958c7f72695e52463c32261b0f030000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfdcd5c9bdb2a89f92877b6e625a50433a2f333f4a54606a74808d97a1adb9c2cfd8d1c7bdb1a79f92857b6e61594f43392f24180b020000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccec1b5a89c928d929ca8bac3ced2c6b9ada2978d8073695e52463c3123190b020000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69665e54493e3226190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44505a606d78828f959fa7b0b8c0cad0d7d8ccc4bdb9b1abaaa29f9b9894979291909091929796999da0a7acaeb4bbc0b9b0a69f93869297a1adb9c6d2cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c3844505c666f7c87929fa5afb9c2cbd5d9d0c7bdb5afa69e969189827c76706c6665615f575c5b5a5a5b535b606164666c70757b80878f949fa2aab1b9ada1978b7f72665c5144382c1f120600000005121f2b3744505b657683909ca9b5b5b6b7b9bbc0c5c6cac8c7c0bbb4aea69f9590847a6d615a50433a2f24180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8787878787878787878787877b6e6154483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f878787878787878787878276695c504336291d10000000000000000006111b262f39434c565f6a6f7c8590959ea6aeb8bdc3cad0d7dad5cfc9c5bebab8b5afaca9a6a4a3a2a1a0a1a2a3a4a5a8abadb2b5b9bbc0c7c9cfd8ddd8d1cbc3bcb4aea39c928c7f726c61574d41382d22170b0100000000000713202d3a4653606d798693a0acb9c6d3ddd2c9c0bab6b4b8b9b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d9cfc5bbb1a79f92867b6e61584e43372b201509000000000000000000000000000000000000000007121d28313946525e69727f8c95a0acb6c0cdd6d8cec6b9aca1968d80736a5f53483e31282d38424e58606d7a85919ea6b0bdc6d1d9cfc2baada2978e81756b61554b4035291d140a0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b9aea49c9a9ca4aeb9ccd5c9bdb2a89e92857a6d60574d42342a201107000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777670665a4e4235281c0f030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e44505c666d7a8390959fa6aebabec5ced3d6cfc9c2bcb8b4aeaca8a4a9a29f9d9c9d9e9ea1a9a6aaabb1b8babfc1b9b1a79f948c7f85929eabb8c5d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a36424d57606d78839099a3aeb7c1cbd4ddd2c7beb5aba39f948f847c756f6a63605b5455534d4f4e4d4d4e49505354545b6063696e747b828b9298a0a7b1a99e9285796d60544a4034281c1004000000030f1b27333f49536774818d9aa7b4c0c3c4c6c7c7c5c3c1bcb8b6afaaa29f9490837b6e685e52483e31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7783909494949494949494998c7f7266584e43382b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c94949494949494948f8376695c504336291d1000000000000000000b17222d38414b555e686f7c869197a0a7b0b8c0c8ced6dbd6cfc9c4bdb9b3adababa39f9c99989695949494959697999b9ea1a8a9acafb5b9bec5ccd2d9dcd7cec6bfbaada49f93887d70695f53493f33271d130700000000000713202d3a4653606d798693a0acb9c6d3e4dbd2cbc6c2c1c1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd6cdc2baaea2988f82756a5f54473c31261a0e00000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bec7d2dcd0c6bcb0a69e9184796d60574e42362c1f262f3c45525d68717e8a949fabb4bfcbd7d6cabeb3a99e93897d70675d51453c2f261b110600000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd5cac0b6aea8a6a8aeb6c0cad2c5b9aca1968c7f72685d52453b3022180e00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c4b7aa9d9184838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d10030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d172028343f4a545d686d7a8390949da4adb3bcc1c7cdd4d5cdc8c6bfbab8b5b1b3adabaaa9a9aaabadb3b2b6b8bcc3c6bfbab0a7a0958f8279818e9bacb6c0cccbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46525e69727f8c95a0abb5bfc9d3dcd8ccc0b6aca399928c827a6f6a62605853504a48464243424141413f4446484a5053575e61696e757e8690959fa7a2978c7f72675d5142392e23180c00000000000b17222d3e4b5865717e8b98abb5c0bcbcbbbfbab9b6b4b1acaca49f98928c827a6e695e564c41362c1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8b99a3a1a1a1a1a1a19d9184776a605447392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a1a1a1a1a1a19c8f8376695c504336291d1000000000000000040f1b27333f49535c676e7a849198a1a9b1b9c1cad4d9dad5cdc4beb9b2ada9a29f9a9992908c8b8a8987878889898a8c8f9196979c9fa4abadb3bbc0c7d0d6ded7d0cabfbbafa49a92867b6e655b50443a2f24180d01000000000713202d3a4653606d798693a0acb9c6d3dfe4ddd6d2cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6dfd6cabfb4aa9e93887c6f62574d42372b1c11060000000000000000000000000000000000000a141d2935404b55616c75828f98a2aeb9c3d0d9d6cbbfb4aa9e948a7d70675d51453c31241a1d2935414c56616c76828f99a3aebac4ced9d0c5bcafa59e9184796d60584e41382d22170b02000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdcd2c8c0b9b5b3b5b9c0c8d4c8bcb1a79e9184796d60564c4133291f100600000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded1c5b8aca095919090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909085786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e17232e38424c565d686d7a828d929fa2a9afb7bcc2c7cbd1d4d0cac7c5c2bebebab8b7b6b6b7b8b9bebfc3c4c7c1bcb4aea69e9590837a717e8b9aa4afbbc8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616e7b86929fa7b1bdc6d1dbd4cac2bbafa49a92877f776d686058544e46443f3b3a36313534342d3337393b3f44464d52575f626c717b8390959f9f92857a6d60554b4030271c120700000000000616232f3c4956626f7c8999a4afafafafafb4aeacaaa7a7a09d9a938e867f796d685e564d443a30241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c4754616d7a86929facadadadadaca096897c6f62554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5adadadada99c8f8376695c504336291d10000000000000040d1a242b3744505b656d79839096a1aab3bbc3cbd3dcd6cfc9c1bbb3ada8a19e97928d8a8683807e7d7c7b7a7b7c7d7d7f8284878a8f93999ea1a9afb6bec4ccd5dedbd6ccc0b6aca2988f82776c60554b4035291d1207000000000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dbd0c6bcafa59b8e8175695f5347382e23170b000000000000000000000000000000000006111b262f3845515d67707d8a939eaab4bfcbd5dcd3c7baaea3988f82756c61554b40332a201219242f3a43505a626e7b86929fa8b2bdc9d5d7cec1b9aca0968d80736a5f53493f33271e1308000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3dad2cac5c1c0c1c5cad2d0c7b8aca0958b7e71675c51443a2f21170d0000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e1d4c8bdb1a8a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c565d686d78808a92979ea5abb0b9bbc0c6c7ccd2d1d2ced0cac6c5c4c3c3c4c5c6cac7c5bfbab9afaaa39f948f837a6d6e7a87939facb9c1c1beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818d98a2aeb9c3cfd8d8cfc2b8afa59f93887e726c655d564e47433d38332d2d2a2628272722272b2d2d33383b42464d535a62696e7a839094988d8073685d5243392f1e150b0000000000000714202d3a4753606d7a86939fa3a3a3a3a2aba39f9d9a9895918c87817b736d675d564d443b32281e120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bebabdb2a89a8d8174675c5145382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2babab6a99c8f8376695c504336291d100000000000010c161f2b37434e58606c77818e959fa8b2bcc4cdd5ddd5cdc5beb9afa9a19e96918c85817d7a767371706f6e6d6e6f70717275787a7e82878c92979fa4acb2bac3ccd5ddddd2c7beb4aa9f948b7e71675d5145392f24180c000000000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd7cec1b9ac9f93877b6e62544a3f34281c1003000000000000000000000000000000000b17222d38414e58606d7984919ea5afbcc6d0ddd5c9bdb2a89f92867b6e615a5043392f21180e131e28313e47535f6973808c96a0acb9c1ced7d5c9bdb2a89f92877c6f655b50443a3025190d030000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e3dcd5d1cecdced1d5d2c7beb0a69d9083786c60554b4032281e0f050000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5d9cec3bab1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28323a444c565d666d747e858e939c9fa6acafb5b9bbc0c2c4c5c7cbd1c9c9d1cbc7c5c4c2bfbab9b4aeaca59e98928c827a6d68687783909daab4b4b4b4b1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929faab4bfcbd5dcd1c6bcb0a69d928c7f726c605b534c443d38322b2822211e1a1b1a1a171b1f2022282b30363c424750575f686d79829092867a6d61564c4131271d0c0300000000000006131f2c3945515d67778491969696969695949992908e8b88847f7b756e69605c554c443b322920160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000007131d28313a47535f6a737f8c939ea7b1bac4ced6ddd4cbc3bbb3ada59e97918b847f7a74706d67666563626161616263646668686e71767b7f858e939aa0a8b2bac3cbd5e0d9d0c5bcb0a69e9285796d60554b4035291d10040000000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6e0d4c7bbafa4998d8074665c5044382b1f1206000000000000000000000000000000030f1b27333f49535f6a73808d96a1acb7c1ced7d8cec6b9aca0968c8073695f53483e31271d0f060c161f2b37424d57606d7984919ea5afbcc5d0d9cec4bbaea3999083776c60564c41362a1f150b0100000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9eee7e1dddad9daddd8ccc0b6ac9f94897d70665b5043392e20160c000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c162028323a434c545c606c717a818990949c9fa3abacafb5b5b7b9bbc0bcbcbcbbbfbab9b7b5b4aeacaaa39f9b938e867f776d685e6673808d99aaa8a8a8a8a8a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d98a3aebcc6d0ddd7cbbfb4aa9f948e80746d635a5049413a322b271f1c1714120e090e060b0f1213171c1f252a31373e454d565d676d7a848d8074685e52433a2f1f150b0000000000000004101d2935404b556875818989898989898888878683817e7c77726e69615e57514b433a322920170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000010d18242f3a43505a626e7c87929fa5afb9c2ccd6dcd3cbc2b9b1a9a19e938e857e79726d6764605d5558575654545556565759565e6164696e737a81889196a0a8b1b9c3ced7e2d7cec2b9ada1978c7f72675d5145382c1f13080000000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd7ccc0b5ab9e9185796d6053463a2d20130a0000000000000000000000000000030c19232b3744505b656f7c87929fa8b2bdc9d3dbd0c6bcafa59e9184796d60574d42362c1f150b00040d1a26313c45515c67707d8a939eaab4bfcad6d7cbbfb5ab9f948b7e71685e52463d31271d120700000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f6f2ede9e7e6e9e0d4c8bbafa49a8f82766b60544a3f30271d0d04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e3e7ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e162028313a424a515a61686e757d83898f92999d9fa4aba9aaacafb5afafafafb4aeacaaa8aba39f9c98928e89817b726c655d5663707c89989b9b9b9b9b9b9b988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929faab4bfced7e0d3c7baaea3988f82786d605b51443f382f28201b160f0b060502000100000305060b0f141a1f262b333c444c555d686f7c857b6e61564c4131281e0d0300000000000000000c18242f3b4855616e7b7d7c7c7c7c7c7c7b7a797774726f6a66615e57524d454039312820170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844505c6674808d9aa7b1bcc8beb3a99c8f8276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000004111d2935414b55616c76828f99a3afb7c1cbd4dcd3cac1b8b0a7a097928a817a716d66605d5554514c4b4a49484748494a4a4c4c5254575e61686d747d849196a0a7b1bcc5d0dbe0d6cabeb3a99e9285796d6053473a3025190d0100000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6ddd2c7b9ada197897d7063564a3d31261a0f03000000000000000000000000000b151e2a36414c56606c77839099a3afbac4cedcd6cabfb4aa9e938a7d70675c51453b31241a0d03000009151f2934404b55616b75818e98a2aebac3d0d9d1c6bdb0a69f92857a6d61594f43392f23180b02000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0f0f0f0f7ece1d7cbbfb4ab9f93877c6f62594f42382d1e150b00000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f283039404450565e616b70767c82868b909399999c9e9fa3aba2a3a2a2aba39f9d9b9999928f8c86817c756e69605b5353606d79868e8e8e8e8e8e8e8e8e8b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebcc6d1e0d6cabeb3aa9f92867b6e665c50493f332d261d160e0a0300000000000000000000000003090e151a212a323a434c565f6a6f7b6e695e53443a301f160c0000000000000000000714212d3a46535f696e7070707070706f6e6d6d666765625f5854534d46423b342f271f160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c6c5b9ac9f93877b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000613202c3945515d67717e8a949fabb5c0c9d3ddd3cac1b8b0a69f9590857e756d68605c54514b4745413e3d3c3b3a3b3c3d3e3f4146474d52565d616b6f7b849095a0aab4becad6dedacfc5b9ada1978a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd5c9beb3a99b8e817468584e43372b1f120600000000000000000000000007121d27303946525e68717e8b949fabb5c0ccd6dbd3c6baaea2988f82756b61554b40332a1f1108000000030c18232f39434f59616e7b86929fa7b1bec7d2d8cfc2baada2978e81756b60554b4034291d140a000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3e3e3e3e3e3e6dbd0c7baaea3998e81756a5f54473d2f261c0c0300000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343e444c525960636b6f757a7f83868a8d8f9192999595969695949992918f8d8a86837f7a756f6a615e575049515c66737f818181818181818181817d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6875828f9caab4becfd8dfd3c6baaea2988d8073695e544a3f3727221b140b040000000000000000000000000000000003090f182028313a434e585f696e695f574d4232291e0d0400000000000000000005121e2b37424d575f61636363636363626161605c545855534e4846423b363029231d150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3847535f6a7783909dabb5bfc7bbafa4998c7f7266584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000005111d2a36414c56606d7984919ea6b0bdc7d1dbd5ccc2b8b0a69e9490837b716c615d56514a45413a39352f302f2e2e2e2f30313036393b42464c525960696e7a839098a2aebac2cdd8e1d5c9beb3a99c8f8275685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8dacfc4b8ab9e9185786a5f53473a2e2115080000000000000000000000000c18232e39424f59616d7a85929ea6b0bdc7d1ded4c8bdb2a89f92867b6e61594f43392f21180e000000000007121d27313e46525e69727f8c95a0acb6c0ccd8d6cabeb3a99e93897d70675c51453c2f261b11060000000000000000000000101d2a3643505d697683909ca9b6c3cfd6d6d6d6d6d6d6d6d6cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c2328323b41464f54596063686e72767a7d808284868788898989888887868482807d7a76726d68626058534d44404b54636d7375757575757575757575706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dfd6cabeb3a99f92857a6d61574d42382e2517110a0200000000000000000000000000000000000000060e161f28313c464e575f615f574d453b3120170d00000000000000000000020e1a26313c454d535556565656565655555453504a4b4847433c3a36312a251f18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b99a3aebbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000713202d3946525e6873808d97a1adb8c2cfd9d7cec3bab0a69e948f827a6e69615a524c444039352f2c29242423212122232324252a2d30363a41464f575e686e7b86929fa6b0bcc7d3e2dacfc5b9ac9f92867a6d6154473a2e21140700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000004101c2834404b54606b74818e97a2adb9c2cfd9d7cec5b8aca0968c7f72695e53473e31271d0f060000000000010b151f2a36424d57606d7883909aa4afbbc5cfdacfc5bbafa59e9184796d60584e41382d22170b0200000000000000000000101d2a3643505d697683909ca9b6c3c9c9c9c9c9c9c9c9c9c9c6baada2978d8073695e53463c32231a0b020000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c9c9c9c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218202930363d44484f54565e6165686d70737677797b7b7c7c7c7c7b7a79777573706d6765615e56544e46423b3942515b6366686868686868686868686360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a99a3aebbc7d3dfd3c6baada2978c7f72685e52453b30261c130600000000000000000000000000000000000000000000040d161f2a343c454d5355534d453b33291f0e05000000000000000000000009141f2a333c42464849494949494949484746443f3f3c3b37322d2a251f1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000030f1c28333f4a54616d7a86929fa9b2becad4d9d0c5bcb2a89f948f82796d685e565046413a342e2924201d191716151415161717191e20252a30353d454d565e69727f8b949fabb7c5d0dbe0d3c7bbafa3998a7e7164574a3e2e23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd5c9beb3a9988b7f7265584c3f2f24180d01000000000000000000040d1a242c3845515c66707d89939da9b3becbd4dbd0c5bcafa59d9184796d60574d42352c1f150b00000000000000030d1a25303b44505c666f7c87939fa9b3bec9d5d7cdc1b9aca0968c80736a5f53493f33271e130800000000000000000000101d2a3643505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdb2a89f92857a6d61574d42342a201108000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbaada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a32383d43484c5254565d60636669666d6e6f6f706f6f6e6e6d66686663605d5554524c47433d36313040495157595b5b5b5b5b5b5b5b5b5b56544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aabb5bfcbd7ded2c5b8ab9f9285796d60564c4133291e150a000000000000000000000000000000000000000000000000040d18222a333b42464846423b332a21170d000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3c3b3a3a38342e2f2e2b26211e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bec8bdb1a89a8d8174675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000006121f2b3844505b66727f8c98a3aebbc4cfddd2c7beb4aaa0968f82786d675d564d443e353028231c1813110d0809080708090a080d11141a1e2429333b444d57606c7883909caab4becad6e2d7cbc0b5ab9a8d817467544b4034281c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcdacfc2b5a89b8f827568554b4035291d10040000000000000000010c161f2a36424d57606d7983919da5afbbc5cfddd6cabeb4aa9e93897d70665c51453b31231a0d03000000000000000009141f28343f4a54606b74818e97a1adb9c2cfd9d4c8bdb2a89f92867c6e655b50443a3025190c03000000000000000000101d2a3643505d697683909ca9b0b0b0b0b0b0b0b0b0b0b0b0b0ada1968c7f72685e52453b3122190e00000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0ada093877a6d6054473a2d211407000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969285786c5f5245392c1f12060000000a1724313d4a5764707d8a969696969696969696969696968a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141921272c32383b4146474c5254575a545c606162626363626161605c545a5753514b4746413a37322a252e3740464b4c4e4e4e4e4e4e4e4e4e4e4a48443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d1dcd8ccc0b6ac9b8e8275675d51443a3021170c0300000000000000000000000000000000000000000000000000061018212a31363a3b3a36312a21180f0500000000000000000000000000060f181f262b2d2e3030303030302f2e2e2d2b282322211f1b15120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000613202d394653606c7884919eaab4bfcdd6d8ccc0b6aca29891847a6d665d554c443b3229241e18120d07040100000000000000000105090e13192029323b44505b65717d8a98a2aebac6d3dfdcd1c3b7aa9d908477665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd1c4b7aa9e918477675d5145392c201306000000000000000008131e28313a46535f69727f8c95a0acb7c1cdd7dbd3c6baaea2988e81756b60544b4033291f1108000000000000000000020c17232e38424f59616d7a85929ea6b0bdc7d1d9cec3baaea3999082776c60564c41362a1e150b000000000000000000101d2a3643505d697683909ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a79e9184796d60564c4133291f100700000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a093877a6d6054473a2d211407000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12060000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e161c21272c3036393b4145474a4d4a5053545556565655555453504a4d4a4745403a3935302b27201a252e353b3e40424242424242424242423d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfd4c8bbafa49a8b7e7164554b4032281e0f05000000000000000000000000000000000000000000000000000000060f181f262a2d2e2d2a261f180f06000000000000000000000000000000060e141a1e2122232323232323222221201f1c171515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164564d41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c5663707d8a96a0acbcc6cfd7d4c8bbafa49a92867c6e685d544b433a32292019130c0700000000000000000000000000000002080e172027333f4953606d7985929fabb8c5d2dedfd2c6b9ac9f9386796d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c6b9ac9f93867a6d6053473a2d20140700000000000000020b19242f3a43505a616e7b86929fa7b1bcc9d2dfd4c8bcb1a79f92867b6e61594f42392e21170d000000000000000000000006111c26303d46525e68717e8b949fabb5c0cbd7d7cbbfb4ab9f948b7e71685e52463d30271d12070000000000000000101d2a3643505d6976839096969696969696969696969696969696958b7e71675d51443a3021170d0000000000000000000000000000000000000000000000020f1b2835424e5b6875818e969696969696969696969693877a6d6054473a2d211407000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1e252a2d2f35393a3d403f4446484849494949484746443f403d3a39352f2d29251e1b16131c232a2f323335353535353535353535302f2c272119110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c6b9ac9f93877a6d6154473a2f21160c0000000000000000000000000000000000000000000000000000000000060e141a1e2122211e1a140e06000000000000000000000000000000000003090e1214151616161616161615141312100b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e6875828f9ca8afb9bec5cdcabeb3a99f93887e706a5f564c4239312820170e0802000000000000000000000000000000000000050e17222d3845515c6774818e9ba7b4c1cedae0d4c7bbafa499887b6e6255483b2f221508000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897c6f6256493c2f231609000000000000000a141d2935414c55616c76828f98a2aeb9c3cedbd7cdc5b8aca0958c7f72695e52473d30271d0f050000000000000000000000000a151e2935414c56606c77829099a3afbbc4cfdad1c6bdb0a69e92857a6d61594f43392e23180c0300000000000000101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83786c60554b4032281e0f050000000000000000000000000000000000000000000000020f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6054473a2d211407000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6055483c2f231609000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f14191e2024292c2d302e34383a3b3c3c3d3c3c3b3b3a38342e302d2c2924201d19130f0a0a12191e232526282828282828282828282322201c160f080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8dcd0c3b6a99d908376685e5246392d20130400000000000000000000000000000000000000000000000000000000000003090e12141514120e09030000000000000000000000000000000000000000020507080a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7c5b9ac9f92867b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000814212e3b4754616e7a8692979ea5adb3bbc1c6baada2978e81746c61584e443a30271f160d0500000000000000000000000000000000000000000006111b2934404b5565727e8b98a5b1becbd8e3d7ccc0b5ab968a7d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd8ccc0b6ac978b7e7164584b3e3125180b00000000000006111c262f3845515d67717e8a949eaab4bfccd5dbd0c5bbafa59d9083786d60564d42352b1e150b00000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d8cfc2b9ada1978e81746b60554b4034281f150900000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e665b5043392f20160c000000000000000000000000000000000000000000000000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053463a2d2013070005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c2014070000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114191d20212423282c2d2e2f2f30302f2e2e2d2b28232420201d1813110d08020000070d121619191b1b1b1b1b1b1b1b1b1b171613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2ddd9ccbfb2a6998c7f7366564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000205070807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e68717e858e939ea1a9afb9bcb1a79f92857a6d615a50463c32281e150d0400000000000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6e8ddd2beb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddaddd2bfb2a6998c7f7366594c403326190d0000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ded6cabeb3a99e93897d6f665c50443b3023190c03000000000000000000000000000008131e27333f49535f6a73808d96a1adb9c1ced8d6cabeb3a99d93897d70675c51453c31261a0e040000000000000915222f3b4854606b6f7070707070707070707070707070707070706e695f544a3f31271d0e04000000000000000000000000000000000000000000000000000815212e3b47535f6a6f70707070707070707070707070706d665c5044382c1f120600010d1925303b444c5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756554f473d33271c100400000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201f1c17171413100d070501000000000002060a0c0d0f0f0f0f0f0f0f0f0f0f0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfdbd7ccc0b5ab968a7d7063574a3d3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000106090b0c0e0e0d0d0c0c0b0a0807060401000000000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c56616c717a818a92979ea5adb3aba0958b7e72685e52483e342a20160c030000000000000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5e2d8cbbfb2a5988c7f7265594c3f3226190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b4a79a8d8174675a4e4134271b0e0000000000030f1c28333f4a545f6a74808d96a1adb8c2ced8d9d0c7baada2978e81746b60544a3f32291f1107000000000000000000000000000000020b17222d38414e58606d7984919ea6b0bcc6d0dacfc5bbafa59d9184796d60574d42372b20160c02000000000007131f2c38434f596063636363636363636363636363636363636363615f574d42382d1f150b000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363636363636363605c544a3f34281c1003000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707060c10121315151616161615141312100b0607060401000000000000000000000000000202020202020202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0ddd4c7bbafa499887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f121415161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000000000000000000060d121618191a1a1a1a19181817151413110d0809070603000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000020e1925303b44505a61686d757e858e939ea1a9a89d9083786c60564c41362c22180e04000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9ccbfb2a6998c7f7366594c403326190d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00000000050f1a232b3844505b666f7c87929fa9b2bdcac9c9d2c7beb1a79f92857a6d61594f42382e20170d000000000000000000000000000000000006111b262f3c45515d67707d8a949eaab4bfcac9c9cdc1b8aca0968c7f73695f53473e32281e13080000000000030f1b27323d464f545657575757575757575757575757575757575755534d453c2f261c0d030000000000000000000000000000000000000000000000000000030f1b26323c464e5355575757575757575757575757575753504a42382e23170c000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a09090808070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ded2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222323232323232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000010911181e22242527272727262524232221201d1919161312100c0604010000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000008141e29323e4850565e616c717a818a92979ea0968a7d70665b50443a30231a0f0600000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d9cdc0b3a69a8d8073675a4d4034271a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d10000000000b16212a36414d56606c78839099a3afbbbdbdbdbdbdc0b6aca0958b7f72685e52473d30261c0e050000000000000000000000000000000000000a141d2935404b55616c75828f98a2aebabdbdbdbdbdbdb2a89f92867b6e625a50443a3024190d0000000000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423c332a1d140a000000000000000000000000000000000000000000000000000000000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c110600000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c27211a11080000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546c7885929fabb8c5d2ded1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f303030303030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000009131b23292e313234343433333231302f2d2c29242523201f1c1713110d08010000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000020d17202c363e444c525a61686d757e858e939d9184786c60544a3f32291e11080000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e1100000004101c27333946525e68727f8b959fabb5b0b0b0b0b0b0b0afa49a9083786c60564c41352b1e150a00000000000000000000000000000000000000020b18242f3943505a616e7b86929fa8b1b0b0b0b0b0b0b0aea3988f82766c61564c4135291c11060000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180b0200000000000000000000000000000000000000000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e150a000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242323201c160f0800000000000000000000050d14191e202124242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c0f11121313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2ded1c4b7ab9e9184786b544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000030c1b252d343a3e3f414140403f3f3e3d3b3a39352f322f2d2c2823201d19130f0a040000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000050e1a242c323a414650565e616c717a818a928b7f72655b5042382d20170c000000000000000000000000000000000000000000000000000000030c1524313e4b5764717e8a97a4b1bdcad7e4d8cbbeb2a5988b7f7265584c3f3225190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ded1c4b7ab9e9184786b5e5145382b1e120000000714202c38444f59616e7b85929fa7a3a3a3a3a3a3a3a3a3a99f93877c6f665b50443a3023190c03000000000000000000000000000000000000000007121d28313e46535f69737f8c95a0a3a3a3a3a3a3a3a3a3aa9f948b7e71685d5246382d22170b00000000000007101921272c2f303030303030303030303030303030303030302e2d2b261f180f0600000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c28231c150c030000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171614100b0500000000000000000000000002080d1114141717171717171717171717171717171414110e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1f20202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3ddd0c4b7aa9d9184776a5e51442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494846423b332a1f1409000000000000000b151e2d373f464a4c4d4d4d4d4c4b4b4a48474541413f3c3a38342e2c29241e1b150e09030000000000000000000000000000000000000000000008131f2c3845515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000008121a202930363e444c525a61686d757e85867a6d6053493f2f261c0e050000000000000000000000000000000000000000000000000000000b151e2b37434e586774818d9aa7b4c0cddae4d7cabdb1a4978a7e7164574b3e3124180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f120000000916222f3c4854606b75818e97969696969696969696969696978e81746a60544a3f32291e1107000000000000000000000000000000000000000000010c161f2a36424d57606d7984919696969696969696969696969692857a6d61544a3f33281c0f03000000000000070f161b1f222324242424242424242424242424242424242422211e1a140e060000000000000000000000000000000000000000000000000000000000000000060e151b1f21222424242424242424242424242424201f1c17110a0300000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b4bfcbd7ddd0c3b6aa9d9083776a5d5044372a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1a26313c464e53555656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e02000000000007121d27303f495156585a5a5a5a595857565554514c4e4c4946443f3a39352f2b26201a140d0500000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acb8c7c5b9ac9f92867a6e6154473c32271b0f0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000080e171e252a323a414650565e616c717a7e71675d5141382d1d140a0000000000000000000000000000000000000000000000000000020a121c27303947535f6a7884919eabb7c4d1dee3d6c9bcb0a396897d7063564a3d3023170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f120000000a1723303d4a5663707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a857a6d61584e42382d20170d0000000000000000000000000000000000000000000000040d1a26313b45515c66707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174665b5044382b1f120600000000000000040a0f1315161717171717171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f343738393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3aebac7d3ddd0c4b7aa9d9184776a5e51442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e120500000000000c18232e3942515b6265676767666665646362605d555b585653504a4745413a37312a251f170f060000000000000000000000000000000000000000000c18232e394754606a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000050d1319202930363e444c525a61686d716c61554b412f261b0b0200000000000000000000000000000000000000000000000000040b141c232e39424e58626f7c8896a1acb9c5d2dee1d5c9bdb2a895887c6f6255493c2f221609000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f130000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f685e52463d2f261c0e0500000000000000000000000000000000000000000000000009141f2834404b54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d201306000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0d0e0e0e0e0d0c0b0a08070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0b0c0c0d0e0e0e0d0d0c0a09070705010000000000000000000000000000000000000000000000010406070a0b0c0c0c0b090707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a4044454646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667986929facb9c5d2ded1c4b7ab9e9184786b554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d2114070000000004101c2834404b54626d7274747373727271706e6d676a676562605c5454524c47433c3631292117110a030000000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000002080e171e252a323a414650565e6164615a50433a2f1d140a00000000000000000000000000000000000000000000000003090d161d262d34404a545f6a75818e9ba8b2bdc9d5e1ded2c5b9aca096877a6e6154473b2e211408000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f120000000815222e3b4754606a6f707070707070707070707070707070706f6a5f564c41342b1d140a00000000000000000000000000000000000000000000000000030c18232e39424f59606b70707070707070707070707070707070706c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070c101213151718191a1a1b1b1a1a191817151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d111314161818191a1b1b1a1a191917161413110d08080705020000000000000000000000000000000206080d111314161819191818161413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333c454c505253535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5f6c7885929fabb8c5d2ded2c5b8ab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6155483b2e2215080000000006131f2c3845515c66727f808080807f7e7e7d7b7a787674726f6d6665605d56534e46423b3328231c150c03000000000000000000000000000000000000000f1b27323c4754616e7a86929facb9c5c7b8aca095887c6f62544b4034281c1004000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000050d1319202930363e444c5254575550483e31281d0b0200000000000000000000000000000000000000000000030a0f151a20282f383f44515c666f7c87939facb9c4cedae5ddd1c4b7aa9e918477685e5246392d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200000006131f2b37434e58606263636363636363636363636363636363625f584e443a3022190b02000000000000000000000000000000000000000000000000000007121d27303d474f59606363636363636363636363636363636363605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070604000000000000000000000000000000000000000000000000000000000000000000000000000206090e121415181c1f202223252627272828272626252322201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415191d20212324252627272827272625242221201d19171514120e0906030000000000000000000003090e1214191d20212324252625242321201d19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3a454f575c5e606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e45525e6b7885919eabb8c4d1ded3c6baada297877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b687581898989898989898989898989898989898989898989898989898989898989898989898074675a4d4134271a0e000000000713202d3a4653606d79868d8d8d8d8c8b8a8988878583817f7c7975716d68625f58534d453f342e261e150b020000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000002080e171e252a323a4146474b49453e362c1f160c000000000000000000000000000000000000000000060b10151b20262b323a424a505b606d7882909aa4afbbc8d6e0e4d8ccc0b6ac9a8d817467564d41362a1e1105000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e11000000030f1b27323c464e54555757575757575757575757575757575755534e463c32281e1007000000000000000000000000000000000000000000000000000000000b151e2b353d474f54565757575757575757575757575757575753504a42382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c07010000000000000000000000000000000000000000000000000000000000000000030a0f12141a1e212223282c2d2e3032333334343434333332302e2d2c282322211e1a15120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e202124292c2d3031323333343434333332312f2e2d29242421211e1a13120f0b0600000000000003090e151a1e2124292c2d303132333231302e2d29241e19130c0500000000000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3744505d6a7783909daab6c3d0ddd6cabeb3a995887c6f6255493c2f22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e96969696969696969696969696969696969696969696969696969696969696968d8074675a4d4134271a0e000000000a1723303d4a5663707d89989a9a9999989796959892908e8b8985827e7a756f6a615e5751443f3830261d140a00000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6c3b8ab9e9285796d6053463b3025190d010000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000050d131920293036393a3e3d39342c241a0d0400000000000000000000000000000000000105090e11171c1f262b31373e444c545b606d74808d949facb6c0ccd8e8e0d4c8bbafa49a8a7d7164574a3e3025190e02000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c4b7aa9d9184776a5e5144372b1e11000000000a15202b343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20160c0000000000000000000000000000000000000000000000000000000000030c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f201f1c18120b030000000000000000000000000000000000000000000000000000000000060b10151a1f21262b2d2e2e34383a3b3d3f404041414141403f3e3d3b3a38342e2e2d2b26211f1b15100c060000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f252a2d2e2f35393a3d3e3f3f4041414140403f3d3c3a393530312e2d2a25201f1c17110d08020000050d141a1f262b2d2f35393a3d3e3f3f3f3e3c3a3935302a251e160e0500000000000000000000000000000000000000000000000000000000000000000000000005111e2a3744505c68737879797979797979797979797979766c5f5346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cedbdbd0bdb0a4978a7d7164574a3e31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e00000006121f2b37434e586774808d9aaaa6a6a5a5a4a3aaa29f9d9a9898928f8b86817c756e69625b504a42382f261b11060000000000000000000000000000000000010d1925303b4653606d7985929eabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000002080e171e252a2d2e31302d28221a12080000000000000000000000000000000104080d11141a1c23282b32373c424750565d666c737f8c929da6b0bec7d2dde8dfd2c6b9ac9f93877a6d6154473a2e21140800000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000000000040e19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000000000000000000000000000000000000000000000000000000000071119232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23292c2d2c29231d150d030000000000000000000000000000000000000000000000000000060c11171c1f262b2e31373a3b3e404446484a4b4c4d4d4e4e4d4d4c4b4a484644403e3b3a37312e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000001080b141c22282b30363a3b3f414547494b4b4c4d4e4e4d4d4c4c4a49474641403e3b3a36312d2b28221c19140e09080f171f252a31373a3b414547494b4c4c4b4b494746413a36302820160c02000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788586868686868686868686868686796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0d1dcdacdc0b3a79a8d807467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000030608090605030000000000000000000000000000000f1c2835424f5b6875828e9ba8afafafafafafafafafafafafafafafafafafafafafafafafafafafafa79a8d8074675a4d4134271a0e0000000815212e3b47535f6a7884919eabb3b3b2b1b1b0b3aeaba9a7aaa29f9c98928e88827b726d605c544a41382d22170b04000000000000000000000000000000000008141f2c3845515c6774808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000050d13191e20212423211d171008000000000000000000000000000104080d1113191e20262b2e34383c43474d535a61686d78808c919ba4aeb8c2d0d9e4e2d4c8bcb1a79d908376685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b5a89b8e8275685b4f4235281c0f000000000007101920272b2e2f303030303030303030303030303030302f2e2b2620181006000000000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030303030302d2b28221c140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272f34383a38342f271f150b010000000000000000000000000000000000000000000000030a11171c23282b31373a3c4246484b4a5153555658595a5a5b5b5a595958565553514a4b4847423c3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000040c13191d262d33383b4246484b4c5254565758595a5a5b5a5a5958575554524c4d4a4846423c3938332d2a251e1a15121a212930363c4247484c51545657585958575654524c46413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788591939393939393939393939386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98abb5bfcbd7ded1c4b7ab9e9184786a5f53473a2e2114090000000000000000000000000000000000000000000000000000000000040a0f12151513120f0b06000000000000000000000000000f1c2835424f5b6875828e9ba8b5bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a79a8d8074675a4d4134271a0e0000000915222f3c4855626f7c8896a1acb9c0bfbebdbcbebab8b6b4b4aeacaaa39f9b938f867f746d665c53493f332720150a000000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000002080d111314181714110c0600000000000000000000000004070d1013191d20252a2d3137383f44464e53575f626c717a828d929ba3adb7c0cad4e2e3d9d0c7b8aca0958a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8dacdc0b3a79a8d8074675a4d4134271a0e000000000000070e151b1f22222424242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151a1d262d333940454745403931271d120700000000000000000000000000000000000000000001080c151c23282e34383c4347484d535558545c606163656666676767676666656361605c545855534d4847433c38342e28231d150c080200000000000000000000000000000000000000000000000000000000060d161e24292f383f44464d525458565d6063646566666767676666656462615d565a5754534d4946443f3836302b262018242c333b42464d5355555d6063646566656463615d56524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3ded2c5b9aca196887b6e6255483b31251a0e04000000000000000000000000000000000000000000000000000000060e151b1f2122201f1b17110a0200000000000000000000000f1c2835424f5b6875828e9ba8b5c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000005111e2a36414d5666737f8c99a8b2bdc9cccbcad0cac6c5c3c1bfbab8b4aeaca59e98928b80786d655b50443c32271b0c0200000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998c7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000010507070b0a0805000000000000000000000003070c1013181d2024292c3036393c42464a5053585f62696e767e858f949da4adb5bfc9d2dce8ddd2c7bdb2a89d9184786c6053463a3025190d0100000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8ccbfb2a5998c7f7266594c3f3326190c00000000000000040a0f131516171717171717171717171717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b5153514b43392f23180c0000000000000000000000000000000000000000040c13191e262e34383f44464e5355575f616467666d6e7072737374747474737271706e6d666764615f5755534e46443f38342e271e19130c0400000000000000000000000000000000000000000000000000000610181f282f353e424a5053575e616568686d7071727273747474737372706f6d68696764615e575653504a46413b373129242d363e454d52575f6166676d7071727272716f6d68615e564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabacacacacacacac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd5c9bdb2a8998c7f7266574d42362a20150a000000000000000000000000000000000000000000000000000006101820262b2e2f2d2b27221b140b02000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6d6d1cac4c1bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfb3a79a8d8074675a4d4134271a0e00000714202d3946525e687683909da9b6c3cececfd1d2d4d3d2d0d0cac6c5bfbab9afaaa29f928e81776c60584e43372b1e140a000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000060c1012181c1f24292c2f35393a4146474d53545c60636a6f757b828a91979ea6aeb6bfc7d1dbe4ded7ccc0b5aba0968a7e71665b504438281e13080000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd7cbc0b5ab978a7e7164574b3e3124180b000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181e252931373d414950555c605c554b4034291c1004000000000000000000000000000000000000070d161e242930383f444a5053585f6266696e717477797b7d7e7f8080818180807f7e7d7b797774716e6966625f5853504a4540393029241e160e07000000000000000000000000000000000000000000000000060f18222a313a414550545b6063696e7274777a7c7e7e7f80818180807f7f7d7c7a787673716e696662605b54524c47423c352f373f4850575e61696e73777a7c7e7f7f7e7e7c7a786d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8b9b9b9b9b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dbdacec3b6a99c908376695e53463c32271b0f05000000000000000000000000000000000000000000000000050e18222a31373a3c3937332d261d140a000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd1c8bfb9b4b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a79a8d8074675a4d4134271a0e00000814212e3b4754616e7b87939facb9bfc0c1c2c4c6c7ccd2d2d5d6d3d1cbc7c1bcb4aea59d938d80736a6054473e30261c110600000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000001040a0f11171c1f23282c2f35393a4145474c5254575f61666d70757c81878f949ea1a9b0b8c0c8d1d9e3ded6ccc4bbafa4999184786d60544a3f3328160c020000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c7bbafa399887c6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d232830353c42474f535b60676d675c5145382c1f1306000000000000000000000000000000000009101920282f353d424a50545c60646a6e73777b7e81848688898b8c8d8d8e8e8d8c8c8b89888684817e7b77736f6a64605c54514b423d3530282019100900000000000000000000000000000000000000000000050e18212a343c434c515a61666c70757b7e818486898a8b8c8d8d8e8d8d8c8b8a88878583807d7b77736f6c66615e56534e45413a3f49515a61696e757b808486898a8b8c8b8a8987857a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4c6c6c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa9b3becad6dfd2c5b9ac9f92877b6e61584e43372b21170d0400000000000000000000000000000000000000000000030c17202a343c43474846443f382f261b11060000000000000000000f1c2835424f5b6875828e9ba8b5c1ced5cabfb6aea8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8d8074675a4d4134271a0e0004101d2935404b5565717e8b9aa4afb2b2b3b4b5b7b9bbc0c4c5c9ced5dad7d3cec6bfbaafa59f93877c6f62594f42382e23170b00000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000001070d11151b1c23282c2e34383a4045474c5254565e6165696e73797d82888e93999fa6adb3bbc1cad2dae3ddd5ccc4bab0a69f93877d70665c5042382d221705000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000106090b0c0c0c0a060200000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272e343a41464d535960656c71796d6053473a2d201407000000000000000000000000000000010a121b222b323a41454f545c60666d71777b8084888b8e919399969899999a9a9a9a999998969992918e8b8884807b77716d66605c544f46413a322b221b120a0100000000000000000000000000000000000000020d172029333c464e555d606c70787d82868b8e91939a979899999a9a9a999998979597928f8d8a8784807c78736e68625f57514b4347515b626c717b81888c91939a979899989796978a7d7064574a3d2f24180d0100000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3d4a5763707d8a97a2adbac6d3dfd4c7bbafa3998e81756a6054473e332920160c030000000000000000000000000000000000000000030c151e29323c464e535553504941382d22170b0000000000000000000f1c2835424f5b6875828e9ba8b5c1ced0c4b9aea49c9999999999999999999999999999999999999999998d8074675a4d4134271a0e0006131f2c3845515d6775828f9caca4a5a5a6a7a9aaacafb5b7b9bdc4c9cfd6dfd7d0cac0bbafa49a8f82766b61544a3f34281c10030000000000000000000000000000000005111e2a36414d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e34383a4045464b5153565d6065686d72767b80848a8f949b9fa4abb0b9bec4cdd3dce5dcd4cbc3bab2a89e948c7f736b60544a3f2f261c1106000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7ddd0c4b7aa9d918477675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000070d12161819191816120d07000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d262d333940454c52575f616b6f787e84786b5e5145382b1e120000000000000000000000000000010a131c242d343c444c525960666d72787e83888c9196979a9d9fa4aba5a6a6a7a7a7a7a6a5a4aba39f9d9a9796918c88837e79726d666059524c443d342d251c130a0200000000000000000000000000000000000008131e29323b454e585f676d747d848a8f92999b9d9fa4aca5a5a6a7a7a7a6a6a5a3a9a29f9c9a9795918d89847f7a756e6a605d554f4f59626d727e868e93999d9fa4aca5a5a5a4a99a8d807367554b4135291d110400000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cedad7cbc0b5ab9f93877c6f62594f453b32281e150c05000000000000000000000000000000000000050d151e27303b444e585f62605b53493f33271b0f0300000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc1b4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8074675a4d4134271a0e000714202d3a4753606d79869297979898999a9b9c9e9fa4ababacb2b9bec4cdd5dddbd6ccc0b6ac9f948a7d70665c5044382b1f120600000000000000000000000000000000020e1925303b4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000040a0f151b1d24292c3237383f44464b5153555d6064686d71767a7f83888d91969c9ea6acafb5bdc2c9cfd6dfe0d9d5cac2b9b1a8a0968f82776c60594f42382e1d140a00000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2dddbcec1b4a89b8e817568554b4034281c100400000000000000000000000000000000000000000000000000000000000000010911181e2225262625221e180b06000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b51565e61696e757d838a86796c605346392d201300000000000000000000000000010a131c252e363f464e565d606b70787f848a9095999da0a8a7aaacafb5b1b2b3b3b4b4b3b3b2b1b5afacaaa7a8a09d9995908a847f79706b615d564e463f372e251c140a0100000000000000000000000000000000030c1925303a444d575f6a6f7a818a91969c9fa3abaaacafb6b1b2b3b4b4b3b3b2b2b0b3adaba9a6a8a09d9996918c86817b736d67615955606b727f8892989ea5aaacafb6b2b2b1b1aa9d908377675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674818e9ba8b2bdc9d5dcd1c7bbafa49a8f82766b61574d443a30271e170f0802000000000000000000000000000003090f171f273039434d565f6a6f6c655b5044372b1f150a00000000000000000f1c2835424f5b6875828e9ba8b5c1ceccbfb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063564a3d3023170a000a1724303d4a5763707d8a8a8b8b8b8b8c8d8e8f9193999a9ea1a8adb3bbc3cbd5deddd2c7beb0a69d9184786d6053463a2d201308000000000000000000000000000000000008141f2c3845515c6774818d9aa8b1bdc8beb3a99b8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2b8b8b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000040a0f151b20262b2f35393c43474a5053555c6064676d71757a7e82868b9094999ea1a8aab0b9bbc0c7d0d5dae1ddd8cec9c0b8b0a7a09691847a6d655b50473d30261c0b0200000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e3d5c9bdb2a8988b7e7165584b3e2e23180c000000000000000000000000000000000000000000000000000000000000000009131b23292e313233322f2a2317110a02000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931373d414950555c60686d747b8289909586796c605346392d2013000000000000000000000000000a131c262e373f48505860686d757d838b91969d9fa7aaacb2b4b7b9bbc0bebfc0c0c1c1c0bfbfbec0bbb9b7b4b2acaaa7a09d96918b847d756d686058514940372e261c130a000000000000000000000000000000000a151e2a36414c565f696f7c848e939ea1a8acafb5b7b9bbc0bebfc0c0c1c0c0bfbebdbebab8b6b3b1acaaa9a19e99928e868079706b625d67707d87939aa2aaafb7b9bbc0bebfbeb9ac9f92867a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8996a1acb9c5cfdbd8ccc0b6ac9f948a7d70695e564c423930292119130e09040000000000000000000104090e141a21293139434b555e696f7b776c6053463c31261b0f02000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679737373737373737373737373737373737373737373706b6055483c2f231609000915222f3c4855626f7c7e7e7e7e7e7f7f80818284868a8d91969ea1a9b1b9c3ccd5e0d9d0c2b8aca095897d706356493d3025190d010000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5ababababa99c8f8376695c504336291d1000000000000000000000000000000000000000000002080d151b20262b32373a4145474e54545c6063676d70757a7e82868b8f92999c9fa6abadb2b7bbc1c7ccd2d9e2e2d9d2ccc4bdb9aea69f9590847b6e685d53493f352b1e140a0000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5ded2c5b9aca196887b6e6155483b2e2215070000000000000000000000000000000000000000000000000000000000000007111b252d353a3e3f3f3e3b3528221c140b0300000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c11070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353c42464f535b60676d727a80868f939d9386796c605346392d201300000000000000000000000008121c252e384049515a626a6f7a818991959ea1a8abb1b7b8bdc1c4c6c7ccd2cccccccbcbcdccccd1cbc7c5c4c1bdb8b7b1aca8a19e969189817a6f6a625b514940382e251c1108000000000000000000000000000006111c26303846525e686e7b8591969da5acb2b9bbc0c4c6c8ccd2ccccc9c7c6c6c6c7d0cac6c5c2c0bdb8b7b2adaba39f99928d857d726d606d7a859299a4acb4bcc1c6c8ccd2ccc7bbafa399897d7063564a3d2f23180c00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7884919ea9b3becad6ddd2c7beb0a69e91857b6e685d544b423b332a251e1a14100c07070605040607070d10141a1f252a333b434b555c676e7b857d7063584e43372b1e1408000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d66666666666666666666666666666666666666666360594f44382c201407000815212e3a47535f6a6f71717171717272737476777a7d80848b9197a0a7b1bac3ced9e2d4c8bdb1a89a8d817467564c41362a1e110500000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998b7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9c8f8376695c504336291d100000000000000000000000000000000000000000040c131920262b32373c43474b5154585f62666d7074797d81868a8f92999c9fa3ababb0b8b9bdc4c7ccd4d7ddded8d3d0c7c0bbb2aca49d948f837a6e695f564c41382d23190c020000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdaded1c4b7ab9e918478695f53463a2d211407000000000000000000000000000000000000000000000000000000000000050f19232d373f464a4c4c4b4640332d261d150c0400000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41464d535960656c71797f858d92999ea59386796c605346392d2013000000000000000000000007101a242e37404a525b636c717c848e939da0a7acb2b8bcc3c5c8ced0cec9c5c4c2c1c0bebfc0c1c2c4c5c8ced0cec8c5c3bcb8b2ada8a09d938e847c726d635b524a40372e241a1006000000000000000000000000000c17232e3842505a616d7a849197a1a8afb9bdc4c7cbd1d2cdc7c4c3bfbdbbbab9b9babbbcbec1c4c5c8c5c4bdb9b4aeaba39f9791877f746e727f8c97a1abb5bec6ced2d4d8d4d1cbc0b5ab998d807366554b4034291c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c66727f8b97a2adbac4cfdad9d0c2b9ada19791837a6d665c544d453e36302a251f1d181514131210131315181d20252a31363e454d555d676d79838f82766a5f53473b3025190d010000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605959595959595959595959595959595959595956554f473d33271c10040006121f2b37434e585f6264646464656566676869686d7074797e859095a0a8b2bdc8d4e0d9cec3b7ab9e918478685e5246392d201307000000000000000000000000000000000007121d2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c91919191919191918f8376695c504336291d1000000000000000000000000000000000000001080e161e242931373c43474e54555d60656a6f74797d81858a8e92989b9fa3abacafb5b7bcc2c5c9cfd3d7e0dfd8d3cdc7c2beb6afa8a09e928d82796e685f574d443a2f261b1107000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d5c9bdb2a89a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000030c17212b353f49515659595751443f382f271e160d0500000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a21272c303940454c52575f616b6f787e848c92979fa3ab9f9386796c605346392d201300000000000000000000030d19222c363f49525c636d727e8791969ea5acb1b9bdc4c8cdd1cec8c5c4bdb9b7b6b4b3b2b2b3b4b6b7b9bdc3c6c8ccd2cdc8c4bdb9b2aca59e9691877f736d635c52493f362c22180c03000000000000000000000003101c28343f4a54616c76829096a0a9b2bac1c9ced4d7ccc6c2bcb7b6b2b0aeadacacadaeafb2b4b7b8bcc3c4c7c6bfbab5aea9a199938c80747884919ea9b3bdc7d0d8d9d2ccc8c6c0bbb6a99c908376675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929fa8b2bdc9d5dfd5c9beb2a9a0958f82786d665e575046413a36312c29242221201f1c1f202224292c31363b42464f575e676d79828f94887c6f62564c41362a1d12070000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a48443d352c21160b0000030f1b26313c464e5355575758585858595a5b565d6064666d727a839096a0acb9c4ced9ded2c5b9aca196877a6d6154473a2e2114070000000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000c1825323f4b5865727f858585858585858585858275685c4f4235291c0f0000000000000000000000000000000000040c1319202830353c43474e53585f62676d72777c8185898e92979b9fa2aaacaeb4b9bbc0c7c7cdd2d5dae0dbd6d3cdc7c2bcb7b1aca49f96918981786d675e564d453c32281d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7ded2c5b9aca096897c6f6256493c31261a0e0200000000000000000000000000000000000000000000000000000000000b151e29333d47515b626566635b504a423930281f170e0600000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d61696e757c838a91969fa2a9aeb59f9386796c605346392d2013000000000000000000010b151f2a343e48515b636e737f8b9299a0a8afb8bcc3c9ced4ccc7c3bcb8b7b2acaba9a8a6a5a5a6a8a9aaacb2b6b9bbc0c7ccd2cfc9c3bdb8afa8a199928b7f736e635b51483e342a1e150b000000000000000000000006121f2c3844505c66707d8a949fa8b2bbc4ccd5d8d1cbc1bab6b1aba9a6a3a1a0a0a0a0a1a3a5a7aaacb1b6b7bbc2c7c6bfbbb3aba49f928b7f7b8796a1acbbc5d0d9d7d0c7c0bbb9b5afacaa9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515d6773808c96a1adb9c2cdd6dacfc4bbb1a79f948e81786e69615a524c46423b39352f2f2e2d2b282c2d2f2f35393b42464d535961696e79828f949b8e8174685e5246392f23180c0000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534640404040404040404040404040404040403d3c38332c231a0f050000000a15202a343c4347484b4b4b4b4b4c4c4d4e4c5254545c60686d7a84919ea8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000000000000000000000000000000000000a15202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000b1824313d4a56626d7278787878787878787878756f65594d4134281b0e00000000000000000000000000000000050d161e2429323a41454e53585f626a6f747a7e83888d92979b9fa2a9acaeb4b9babfc5c7cbd1d3d8dfded8d3d0cac6c2bcb7b0aba79f9a938d847d746d665d554c443c332a20160b0200000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd6cbbfb4aa9e9184776a6054473b2e1f1409000000000000000000000000000000000000000000000000000000000007121d27303b454f59626d72726d605b544b433a312920180f07000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434850545c60686d747b828990959ea1a8adb3bbac9f9386796c605346392d201300000000000000000007121d27313c46505a636d73808c919fa3abb2bac1c8ced5cec9c1bbb7b1acaaa8a19e9c9b9998989a9b9c9ea0a8a9acafb6bbc0c7d0d5cec8c1bab2aba39f918c80736d635a50463c30271d1207000000000000000000000713202d3a4653606d7884919da6b0bac3cdd6d8cfc6bfbaafaaa79f9d999694939393949496989b9da0a7a9abb0b8babfc6c4bdb5afa49f9287818e9aa8b2bdcdd6d7cdc5beb6afacaba39f9d9e99897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935404b55606d7984919ea6b0bbc5d0d9d6cdc3b9b0a69e938e837b706c615e56534d4745403d3b3a393734383a3b3d4045474d53575e616c707b838f949e9f92867a6e61554b4034291c100400000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a33333333333333333333333333333333302f2c27211a110800000000040e18222a31373a3c3e3e3e3e3e3f3f40414145474a50565e68717e8a96a0acb9c5d2dedacebeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000915222e3a45515b62656b6b6b6b6b6b6b6b6b6b68655d53493d3125190c000000000000000000000000000000060e171f282f353e444c52585f626a6f757c81868b90959a9ea1a9abadb3b8babfc5c7cbd1d4d7dcded9d4d1cdc7c5bebab8b0aba69f9c9590878079706b605c544b433b322a21180e040000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e5dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dfd3c7baaea3988c807366584e43382b1f0d0300000000000000000000000000000000000000000000000000000000081118232e39434d57606b727f7f746c665c554c433b322a21191008000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353b42464f545a61666d727a80868e939d9fa7acb2babeb9ac9f9386796c605346392d20130000000000000000000c18232f39434e58616c727f8c929ca3aeb4bdc4ccd4d2ccc4bdb9b0aaa7a09d9996918f8e8d8b8c8d8e8f9196999d9fa4acafb6bec3cbd1d4ccc4bdb5aea39c928c7f726c61584e42392e23180c04000000000000000004111d2935414b5565717e8b96a0acb8c2ccd5d9d0c6bdb4aea59e9b95908c8a888786868788898b8e9195989c9fa6acaeb4bbc0c7c0bbafa399928e929da9bac4cedbd0c5bbb3aca49f9a99929191928c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d18242f3945515d67717e8a949fa9b3bec7d2ddd5cbc2b8afa59e9590857e746d68615e5753514b4948474644404546484a4b5153575e61696e757d8590959fa6a3988c8073675c5145382c1f160b00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2626262626262626262626262626262323201c160f0800000000000006101820262b2e2f31313131323233342f35393a3f444c56606d7884919eaab7c4d1ddd9cdc0b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000020e1925303b4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d110500000000000000000000000000000000000000000000000005121d29343f495156585e5e5e5e5e5e5e5e5e5e5c59534b42372c2015090000000000000000000000000000060f182029313a41454f565d606a6f757c82888e92989da0a7abadb3b8babec5c6cad0d3d7dcdfd9d4d1cec8c5c2bbb7b4aeaba69f9c949089837c746d676059514b423a312920180f06000000000000000000000713202d3a4653606d798693a0acb9c6d3dff6ebe0d6cbbfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d7cbc0b5ab9f92867a6d6154473d32271b0f0000000000000000000000000000000000000000000000000000000007101a232834404b555e69707d878c80786d675d554c443c332b221a11080000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454d535960636c71797f858d92999ea5abb1b9bdc4cab9ac9f9386796c605346392d2013000000000000000004101c2934404b555f6a717e88939fa4adbabfc6cfd6d1c8c0bab2aca69e9c95918c88848381807f7f80818384888c90939a9fa4acb1bbc0c7cfd6cfc6bfbbada49f93887e706a5f544b40342820150a00000000000000000613202c3945515d6776828f9ca8b2bdcad4ddd2c7beb4aba39f938e88837f7d7b7a79797a7b7c7f8184888b90949a9fa3aaafb5bdc2c0b5aba39f9a9da5afbaccd6d6cabeb3a9a29a938d8886848485888276695c4f4336291c10000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2935404b55616c76828f97a1acb6c0ccd8dbd4cac1b7afa79f97928a807a746e6963605d5556555453504b51535557555d6064696e737b818a92979fa7b0aa9e9285796d6053473d33271c1000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201919191919191919191919191919171614100b050000000000000000060e151b1f2122242425252525262724292c2e343a44505c6673808d99a6b3c0ccd9dbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000009141f2c3845515c6774818d9aa8b2bdc8beb3a99b8f8275685e5246392d20150a000000000000000000000000000000000000000000000000010c18232d373f454a4b525252525252525252524f4d49423930251b0f0400000000000000000000000000061018212a333b434c525961686d747c82878f939a9fa2aaabb1b8b9bec5c6cad0d3d6dbddd8d4d2cdc8c4c3bcb8b7b0abaaa29f9a949089837d766f6b605d554f45403930281f170e0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e8e1dad0c6bcb3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbdbd4c7bbafa3998d8174685e5246392b20160a000000000000000000000000000000000000000000000000000000060f19222c353e45515c676e7b8592928d81796d675e564d453d342c231a110800000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000001080d141a20272b303940454c52575f616b6f767e848c92979fa3abafb8bcc2c9ceceb9ac9f9386796c605346392d201300000000000000020c1a242c3845515c676f7c86929aa4afb6bfcbd1d8d0c7bfb6aea8a19e948f8884807b787675737272737576777b7f83878e939a9fa7afb5bdc6cfd8d1cbbfbbafa49a92867c6f665c51453c32261b0f05000000000000000714212d3a4754606d7a86929facb9c3cedfd8ccc0b6aca399928a817b7673706e6d6d6d6d6e707274777b7f83888e92989fa4abb1b9c0bdb5afaca7a9afb7c0cbded3c6baada2979288807b797777797b7e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18242f3943505a616e7b85929aa4afbbc0c9d3dbd3c9c1b9b1a9a29f928d86807b74706d6766636261605b545c60626466676d70757b80868e939fa2a9b1b9ada1978b7e7165594f44382c1c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130d0d0d0d0d0d0d0d0d0d0d0d0d0a0907040000000000000000000000040a0f121515181818181819191a191d202328343f4a5464717e8a97a4b1bdd2dddccfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000004101c2934404b55626f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f0000000000000000000000000000000000000000000000000006111b252d343a3d3f4545454545454545454542413d3730271e140900000000000000000000000000050e18222a333b454d565d606b707a81878f939a9ea6acaeb4b8bcc3c6c9cfd3d6dbddd7d4d2ccc8c6c3bcb8b6b1acaaa69f9c98928e89837d76706b636059514b433d342e271e160d050000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8dfd6cfc9c6c4bbb1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6ddd5c9beb3a99f92877b6e61564c41362a190f040000000000000000000000000000000000000000000000000000050e18212b343e47515b606d798390979d938e82796e685f574e463d352c241a1005000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d60696e757c838a91969fa2a9aeb5bdc1c8cdd0cac4bdac9f9386796c605346392d2013000000000000000a141e2c38434f59606d79839198a2acb6c0c8d7dcd0c7bfb5ada49d96918a827c77736f6a6968666565676869696e72767b818790959fa3abb5bdc6cfd8d7ccc0b6aca2989083796d60584e43372b21160b000000000000000a1724313d4a5764707d8a99a3aebbc7d3e0d4c8bbafa49a92877e756e696663616060606161636568696e72767b81868d93999fa7aebbbfc0bbb9b4b5bac0c9d2d4c8bdb1a89f92857d746e6d666b696e706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69707d88939fa5afb7c1c9d6dbd3cbc2bbb3ada49d98928d86817d7a7672706e6d6c656b666d6e7073767a7d82878d92989ea5adb3bbbeb3a99d9083776b605448382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000030608090b0b0b0b0b0c0c080d111317232e3b4855626e7b8895acb6c0ccd8dccfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000c18232f394754606a7784919dabb5c0c7bbaea3998b7f7265584e43372b1c11060000000000000000000000000000000000000000000000000009121b23292e3132383838383838383838383534312c251e150c02000000000000000000000000020b17202a343c454d575e686d747d848e939a9fa4acb0b8babfc6c8cdd2d5dadcd7d3d2ccc7c6c0bbb9b6b1acaaa7a09d9994908b85817c76706b636059544f4540393128231d150c04000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d6cdc5beb9b8b9b9b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ded5cbc3b9ada1978d8074695f53443a302519070000000000000000000000000000000000000000000000000000040d17202a333d464f59626d74818e959fa59e948f837a6e6960584f473e362c22170b000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434750545c60686d737b818990959ea0a8adb3bbbfc6cfd1cbc5bebab2aca79386796c605346392d201300000000000006111c2630384854606b73808d95a0aab4bec7d2dad0c7beb5ada39c928d847d756f6a66625f585b5a58595a5b575f6166696e747c838b9299a3abb4bcc6d0d9d2c7beb4aaa0958d80736a5f54473d33271c10040000000000010e1b2734414e5a6774818d9aabb5bfcbd7d8ccc0b6ac9f93887e716c615f57575554535354555658575f61656a6e747a808790959da4aeb5bdc6c5c1c2c5cbd2dbd1c5b8aca0958b7f726b62605c575f6164615a5044392d201408000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d56606b73808c939da5afb7bfcad0d8d4cdc5bebaaeaaa29f99928e8986837f7c7b7a79787879797b7d7f82868a8f92999fa3aaafbabec5c5b8aca095897d7063544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000001040614202d3a4753606d7a869aa4afbbc8d4dcd0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000007121d2b38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000911181d2224252b2b2b2b2b2b2b2b2b2b292825201b140c03000000000000000000000000000a141d29323c464e575f696e7a818a91969fa4acafb6bec1c6cad0d4d9ddd7d4d1cbc7c5c0bbb9b6afaca9a7a09d9995918c88837e7a746f6a636059544f48433d352f281f18120b0300000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc5bbb3adabadb3bab2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd7cdc3b9afa59e91857a6d60574d4232291e130800000000000000000000000000000000000000000000000000040d161f29323c454e58616b727f8b939da7afa69f9590847b6f6a615950483e33281c10040000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939d9fa7acb2babec5cbd1ccc6bfbab3ada8a19e9586796c605346392d20130000000000000b17232e3842505a636f7c87939fa8b1bcc6d0d9d3c9beb5ada39b918c8079706c625f5855534e4e4d4c4c4d4e4d5355575e616a6f787f879299a3aab4bdc7d2d9d0c6bcb1a79f92877c6f62594f44382c21160a000000000003101c2936434f5c6976828f9ca9b5c2d1dcd4c8bbafa49a8e81746c615a534d4a484746464748494c4d5355585f62686d747c838d929fa3abb5bfcbcdced1d6ddddd0c4b7aa9d9184796d605953514d5355575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303b444f59636e74818e939ea5aebabfc6ced6d7cfcac0bcb4aeaba39f9b98928f8c8988878685858686888a8c8f92989b9fa3abaeb4bcc1cacac0b9b0a79c8f8276665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000060c121518181f1f1f1f1f1f1f1f1f1f1c1b19150f09020000000000000000000000000006111b262f3b444e585f696e7b838e939ea1a9afb6bbc0c7d0d3d6dbd9d4d2ccc7c6c0bbb9b5afacaca49f9d9895908c8884807b76716d67626058544f48443d383229241d160d07000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a9a19ea1a9afb7b3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad7cdc5bbb1a79e938a7e71675d51453b3120170d02000000000000000000000000000000000000000000000000040d161f28313b444e57606a707d87929fa5afb8b0a7a09691857c706b615a5044392d2014080000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000003090e151b1e272e343a41454d535860626c71797f858d92999ea5abb1b9bdc4cad0d0c7c0bbb4aea9a29f96918a83776a5d5044372a1d11000000000003101c28343f4a54616c76839099a4afbac3ced8d6cdc1b7ada39b918b7f746d67615a534e48474342403f3f40424246484d535860666c727e879298a3abb5c0ccd7d8cec3bbafa3998f82766b6054483d32271b0f020000000004101c2834404a546a7784909daab7c3d0ddd2c6b9ac9f93877b6e615a5047423d3b3a3a3a3a3b3d3f4246484e53565e616a6f78808b9299a3aebbc0cbd4dee2e5d9ccbfb2a6998c7f73665c5046444246484a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d47525c606c78818e939ca4aeb4bcc2cad0d7d6cec6bfbab5aeacaaa39f9c9996959992919292989597999c9fa3aaacafb5babfc6cec6bfbaaea69f959083796d6053463a2d2013070000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000a16202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c5044382c1f13080000000000000000000000000000000000000000000000000000000105090b0c121212121212121212120f0e0c09040000000000000000000000000000000b17222d38414c565f6a6f7b8491959da5adb2bbc0c7ccd2d9dfd8d3cec8c7c0bbb9b5afacaba49f9c9a93908c88837f7b77736e6964605d55544e48443d38332c272118120c0400000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada19792979ea5afbcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dad5cdc5bbb3a9a0958e81756c61554c4133291f0e05000000000000000000000000000000000000000000000000040d161f28313a434d565f6a6f7d869299a3afb7c0b9b1a8a09792867d706c6155493c3023160a0000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000001080d141a20272b303940444c52575f616a6f767d848b92979fa3abafb8bcc2c9cecec8c2beb6afaba39f97928c847e776c605346392d201306000000000006121f2b3844505c66707d8a959fabb5c0ccd5dacfc4bbafa59b918b7f726d605d555047433c3a37313332323431373a3b42464e545b606c717d869299a4afbbc3cfd9d7cbc0b5ab9f94897d7063594f43382c1e13080000000006121f2c3844515c667885929eabb8c5d1dccfc3b6a99c908376695e53473e37312e2d2d2d2e2e3031363a3c43474c525860666d747e87929fa4aeb9c2cdd8e4e3d6c9bdb0a3968a7d7063544a3f38363a3b3d3c39332c241a10050000000000000000000406070c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000000000000000000000000000000000000020d17202c354044505b666d78818c929fa2aab1babfc6ccd2d6d0cac6bfbbb9b4aeaca9a5a3aba39f9e9e9fa3aaa3a6a9acaeb4b9bbc0c7cbc9c2bcb4aea49d9490837a6d665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495f6b7885929eabb8c5d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000505050505050505050502020000000000000000000000000000000000030f1b27333f49535e686f7c859196a0a7afb9bdc4ccd2d8ddd8d3ccc7c3bcb8b5afacaba39f9c9993908b87837f7b77736e6a66625f5753514b47433d38332c27211b160d07010000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c5b8ab9e92858e939ea9b3bcbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3dad5ccc3bbb3a9a1979183796d605a50433a2f21180d000000000000000000000000000000000000000000000000040d161f28313a434c565e696e7c859298a2abb5c0c9c3bab2a9a19892867d7064574a3d3124170a0000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000060c13191f252a32373e424a51565d60696e757c838a91969ea2a9aeb4bdc1c7cdcfc9c3bdb8b0aca49f99928d857f79716c655b5044372b1f120500000000000713202d3a4653606d7884919da7b1bdc7d2ded5c9beb2a99e938b7f726d635b514b433e37312e2b2627252627262b2d31363d424a505a616b707d87939fa7b1bdc7d1dcd1c7bdb0a69d9083766b6054483a3025190d010000000713202d3a4653606d7986939facb9c6d2d9ccbfb3a6998c807366574d42352b2622212020212223262a2d31373a41464e545c606c717e8a929ca7b1bcc7d3dfe2d5c8bcafa295897c6f6256493c2e2a2d2e31302d28221a12080000000000000001070c10131418181818181818181818181818181818181818181818181f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201818181818181818181818181818181818181818181818181413110d070100000000000000000000000000000000000000000000000000000000000000000000050e1a2328333f4a545c666d77808b92989fa7aeb4bbc0c7cbd0d4d1cbc7c5bfbab9b6b2afb5afacababacaeb4b0b2b5b9babfc5c7cbc8c4bdb9b0aaa29f928d827a6d685e544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d45525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b3744505b656e7a859197a1a8b1b9c0c9cfd8dddad5cdc7c2bbb7b1acaba49f9c99928f8b86837f7b76726e6966625f5855534d4745403937322c27211c160f0a0400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82818e97a2aab4bdbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d6cfc9c1bab1a9a29792857c6e675d51483e31281e0f060000000000000000000000000000000000000000000000050d161f28313a434c555d686e7b849197a2aab4bdc7d1cbc2bbafa39992857b6e6155483b2e2215080000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000030a11171e242931363d434750545c60686d737b818990949ea0a8adb3babfc6cfd0cac4beb9b1aca69f9a938e86807a726d67605b53493f33271b0f030000000005121e2b37424d5764707d8a96a0acb9c2d0d9dcd2c6b9ada1978e81756d625b51454039312b26211f1a1a19191a1a1e21252a2f383f445059616b73808d95a0abb5c0cbd7d9cfc2b8ab9f95897c6f63564c41362a1d11050000000714212d3a4754606d7a8799a3afbbc7d4d7cabdb1a4978a7e7164574b3e31241a151413131415161a1e21262b30363c424a505a626c73808d959fabb7c2cdd8e4d5c8bbaea295887b6f6255483c2f2221222423201c17100800000000000000030b12181d1f202525252525252525252525252525252525252525252525252b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2525252525252525252525252525252525252525252525252520201d18130c0400000000000000000000000000000000000000000000000000000000000000000000081117222d38424b545c656c737e8690959fa2aaafb5babfc6c8ced2d3d1cbc7c5c2bfbcc0bbb9b8b8b9babfbdbfc2c5c7cbcbc7c3bdb8b2ada69f98928b81796d685e564c42382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b37434e58606c77828f97a1a9b2bac3ccd5dadfd6cfc9c2bbb7b0aba7a09d99938f8b86827e7a76726e6965615f5755534e4847423c39352f2b27201c16100b05000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859298a3abb3bbc3c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d6d0cbc5beb9b0a8a09792857c6f6a5f554b40362c1f160c0000000000000000000000000000000000000000000000050e161f28313a434b555d676d7a839096a1a9b3bcc6cfccc2b8afa59f92877d70695f53463a2d2114070000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939c9fa6acb2b9bec5cbd1cbc6bfbab3ada8a09d949087817b736d68605c55504941382d22170b00000000000714212d3a46535f6976828f9ca8b2bdcbd4e2d2c6baafa59e91857a6d615b514940352f271f1b15120f0a0c0c090e12141a1d262d333e474f59606d79839199a3afbbc7d2ddd4c8bcb1a79b8e8175685e5246392d2013080000000613202d394653606c7986929facb9c5d2d6c9bcafa396897c706356493d302316090707070708090e12151a1e252a30383f44505a606c7883909da7b1bcc8d4e0d5c8bbaea295887b6f6255483c2f221515171614100b0500000000000000030d151d24292c2d323232323232323232323232323232323232323232323232323845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463932323232323232323232323232323232323232323232323232322d2c29241d160d040000000000000000000000000000000000000000000000000000000000000000000006111c262f39424b535b606c717b838c92989fa4abaeb4b8bdc3c5c7cbd1d0d1cfccd1cbc7c5c4c5c5c7cbd1cccfcac6c5bfbab9b2aca8a19e948f867e746d675d564c443a30261c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a47535f6a727f8c949fa9b3bbc4ccd5dedcd4cdc5beb9b0aba69f9c95918c87827e7a76726e6865615e5755534d4847433c3a37312c29241d1b16100b050000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757d869299a2a9b1b9bec5c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d3d0cac6bfbab3ada69e9591857c6f6a5f574e43392f241a0d0400000000000000000000000000000000000000000000060f172028313a434b555d676d79839095a0a8b2bbc5cecdc4bab0a69d938b7f726b60574d42362a1e12050000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70797f858d92989ea5abb0b9bdc4cacfcfc7c0bbb4aea9a19e95918a827c756e69615d56514b443f382f261b110600000000000815222e3b4855616e7b87939facb9c3cedfdbcfc2b6a99e938a7d70685d52493f3729241d150d0a0603000000000205090b141c2228353e45515c676f7c87929facb6c0ccd8d8cdc2b9ac9f92867a6d6154473a2f24190d01000006121f2b3844505b667885919eabb8c4d1d6c9bdb0a3968a7d7063574a3d3024170700000000000002050a0f13191e262e343f44505b66707d89959fabb8c4d1ddd5c8bbaea295887b6f6255483c2f2215090a0a08040000000000000000010b151f272f35383a3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f45525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000000000000000000000000000000000000000000000a141d2730394149505a62696e787f868e93999fa3aaacb2b6b9bbc0c1c3c5c6c9cfc8c9c9c8d0cbc7c5c4c2c0beb9b8b4aeaca8a09d96918a827b716c605c554c433a32281e140a00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000c18242f394854606b7784919eabb5c0c7baaea3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000001010101010101010101000000000000000000000000000000000005111e2a36414d56626e7c86929fa6b0bbc4cdd6dedbd2cac2bbb3ada69f9c948f89847f7b76716d6865615e5654524d4846423b3a37312e2b26201d18120f0a0400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275717e8792979fa7adb3b9bdc4c6cac6c5c4c3c4c5c6cacfced2d2d0d0cac6c5bebab4aea9a19e948f837b6f6a60584e453c31281d120800000000000000000000000000000000000000000000070f182129323a434b555d676d798290959fa7b1bac4cdcec5bbb2a89f948e81746d62594f453b31261a0e020000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000001080d141a20272b30383f444c52575e616a6f767d848b92979fa3aaafb7bcc2c9cecdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d140a000000000005121e2a36424d576673808d9aa4afbbc8d4e0d3c7bbb0a69b8e81746b61564c41372d2518120b0300000000000000000000020a1117232934404b55606a74808d9aa4afbbc8d4e0d3c7baaea3988b7f7265554c4135291d11040000030f1c28333f4a546a7784909daab7c3d0d7cabeb1a4978b7e7164584b3e2f24180c03000000000000000002080c141c2328333f4a54606b7683909da9b6c3d0dcd5c8bbaea295887b6f6255483c2f22150900000000000000000000000007121d2731394045474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b525e6b7885919eabb8c4d1d2c6b9ac9f9386796c60534b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4745403a31281d130700000000000000000000000000000000000000000000000000000000000000000000020b151e272f383f4450575f666d737b81878e92989ea0a8aaacafb5b5b6b8b9bebbbcbcbcbcbbbfbab8b7b5b4b3adababa39f9c96918b847e766e69615a514b433a312820160c0200000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000007121d2c38434f5966737f8c99a4afbbc7bfb4ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e0e0e0c0b0906010000000000000000000000000714202d3946525e6874818e99a3aeb8c2cdd6dfdbd2c9c0b8b0a9a19e948f89827d77726e6964615e5654524c4846423b3a36312e2b26211e1a15100d0701000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c717d8590959ea1a9adb2b8babec2c4c5c7cbd1c9c9d0cac6c5c3c2bfbab8b3adaaa39f97928a827a6e6960584e463c332a1f160c00000000000000000000000000000000000000000000081019212a333b444c555d676d798290959fa7b1b9c3cccfc5bcb3a9a1969082786d605b51473d332a1f1409000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000060c13191f252a32373e424a50565d60696e757c838a91969ea1a9aeb4bcc1c7cdcec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0200000000000714212d3a46535f697784909dacb6c0ccd8ddd0c3b7ab9f94887c6f62594f443a30251b13070100000000000000000000000000061118232f39434e58616e7b87939facb9c4cedad7cbbfb4aa9c8f8276675d5145392c2013060000000b17222d434f5c6976828f9ca9b5c2cfd8ccbfb2a5998c7f7266554b4035291e150c08020000000000000000020a1117222d38424f596773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c18242f39434b5153585858585858585858585858585858585858585858585858585858585e6b7885919eabb8c4d1d2c6b9ac9f9386796c60585858585858585858585858585858585858585858585858585858585853514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000030c151d262d333e454d545c60696e747c81868c9196999d9fa3aba8a9abadb3aeafafafafaeb4aeacaaa9a7a9a29e9b99928f8a847e79716c615f575045403930281f160e040000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887c6f62544a3f34281c10030000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b191816120d070000000000000000000003101c28343f4a54616e7b86929fabb4bfcad3dfddd3c9c0b7afa69f97928a827c76706b66615e5754524c4746413b3a36302d2a26211f1a15120e0904010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696b707b838b92979ea1a8abaeb4b5b7b9bbc0bcbcbcbbbfbab8b7b5b4aeaca9a29f98928d857e756d685f574e463d342a21180d0400000000000000000000000000000000000000000006111a222a333c454d565e676d798290949fa7b1b9c2cbd0c6bdb4aaa19791847a6d665c51493f352b21180e03000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000030a11171e242931363c434750545c60686d737b818790949ea0a8adb3babfc6cfd0cac4bdb9b1aba69e99928e868079726d666159544e46423b353028231d17110a020000000000000815222e3b4855616e7b8895a0acbec7d2ddd5c9bdb2a89c8f82766a5f53473e32281e13090000000000000000000000000000000007121d27313d47535f6976828f9ca8b2bdc9d5dcd1c5b9ac9f92867a6d6054473a2d211406000000061b2835424e5b6875818e9ba8b4c1cdd9cec2b5a89b8f8275675d51453a30271e19130f0a06030000000000000006111c262f404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000004101d2935404b555d6065656565656565656565656565656565656565656565656565656565656b7885919eabb8c4d1d2c6b9ac9f9386796c656565656565656565656565656565656565656565656565656565656565605d554b4035291d11040000000000000000000000000000000000000000000000000000000000000000000000030b141b2227333c424a50565e616a6f747a7f84888c909299999b9d9ea1a9a2a2a3a3a2a2aaa39f9d9c9a9797928f8b86827d78716d67615a534d453e342e271e160d04000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000a16202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c5044382c1f130800000000000000000000000000000000000000000000080f161c202223282828282828282828282625221e18110a01000000000000000006121f2b3844505c6673808d99a3aebdc6d1dcdfd5cbc1b7afa59d948f857e766f6a63605954524d4746413b3936302d2a25211e1a14120f0906020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960696e787e858c91969b9fa2aaa8aaacafb5afafafafb4aeacaaa8aaa29f9b97928d86807a716c605d564d453d342b22180f060000000000000000000000000000000000000000020a1117232c343c454d575e686d798290949fa6b0b9c2cbd2c7bdb4aba29892857b6e685e544b40372d23190f0600000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939a9fa6acb2b9bec5cbd1cbc5bebab2aca7a09d948f87817b736d67605c544f47433d363129241e18120b0600000000000000000c1926323f4c5965727f8c98a7b1bcd0d9ded2c5b9aca0968a7d7064584e43352c20160c0000000000000000000000000000000000010b151f2b37424d5764707d8a96a1acb9c5d2ded3c7baaea3998a7d7164574a3e2e23170c0000000c1825323f4b5865727e8b98a7b1bcc8d4d2c5b8ac9f92867a6d60564c4239302a251e1b13120f0b060502000000000a142734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000006131f2c3845515d676d7272727272727272727272727272727272727272727272727272727272727885919eabb8c4d1d2c6b9ac9f938679727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000020a1117212a30383f444d52585f62686d72777b7f8386898c8e90929794959596969595949892918f8d8b8885827e7a75706c66605c555047423c3328231d150c0400000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c3b8ab9e9185796d6053463a3024190d01000000000000000000000000000000000000000008111a21272c2f303434343434343434343432312e29231b130a00000000000000000713202d3a4653606d7985929eabb4bfcfd8e2d9cdc3b9afa59d938e827a716c626058544f4746423b3935302d2a25201e1a14120e090602000000000000000407090a090806030000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569575e666c717a7f848a8f9298999b9d9fa3aba2a3a2a2aaa29f9d9b9998928f8a85807b746d68615a524c433c332b221910070000000000000000000000000000000000000000040b141c2228353e464e575f696e7a8390949fa6b0b9c2cbd7ccc0b5aba39992867c6f695f564c42392e251b11070000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000002090e151b1e262e343a41454d535860626c70787f858d92989fa4acb0b8bdc3cacfcfc6bfbab3ada8a19e959089827c746e68605d55504a423e37322a261f19130c0700000000000000000005121e2a36424d576975828f9ca8b5c2cedbddd1c4b7aa9e9184786c6053463c31201a0e04000000000000000000000000000000000000030d1a26313c4653606c7884919eabb7c4d1ded7cbbfb4ab9a8d807467544a3f34281c100300000815212e3b4854616e7b8795a0acb8c7d1d3c7baaea3988b7e71685e544b433c36302b26201f1c1714110e090604000d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714202d3a4753606d797e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e85929fabb8c5d2d8cbbeb1a5988b7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000060f181e262e343b42464e53565e61666a6e73777a7c7f82838586888889898989888887858482817e7b7975716d6864605b54514b433e37312a2118120b030000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d110500000000000000000000000000000000000000050f1a232b33383c3d414141414141414141413f3e3a352d251b1107000000000000000916222f3c4955626f7c8897a1adbdc6d1e1e0d4c8bcb1a79e938e81786d68615a544e48443d3a36302d2925201e1914120e0905020000000000000000050b101416171515120f0a04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c545b60686d73787d8285898c8f9192999595969695959892908f8c8985827d79736e68615e565045413a312a211910070000000000000000000000000000000000000000060d161d262d333f474f585f696e7b8390959fa6b0b8c2cbd0c7bfbbafa49992877d706a60574d443a30271d1309000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaafb6bec2c8cecdc7c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d0802000000000000000000000714202d3a46525e697885919eabb8c4d1ded7ccc0b5ab998d8073665b5044382b1f1208000000000000000000000000000000000000000009151f2b3844505b6674808d9aa7b3c0cfdadcd1c3b6a99d908376665c5044382c1f120600000714202d3a46525e697783909dabb5c0cbd6cbbfb4aa9e92857a6d665c554e46413a37322d2b2822201e1a1313100c071a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a878b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9298a2aebac6d3d8ccbfb3a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474c5254585f6266676d6f727576787a7b7b7c7c7c7c7b7b7a79777674716e6c6564605d5653504a454039302b261f180f0700000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685d5246392d20150a000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000c1925323f4c5865727f8b98a9b3becfd8e2ded1c4b8aca0958e81776d665e565047433d38332d2a25201d1914110d08050200000000000000000000080f161c20222322211f1b150b060000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4a50565d60666d7075797c8082848687888989898888878584827f7c7975716d67615e56524c443e352f281f180f070000000000000000000000000000000000000000060f181f282f383f445159616a6f7b8491959fa7b0b8c2cbd8c7bfb5ada39f93877e716b60584e453c32291e150b01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000040c13181f252a32373e424a50555d60696e757c828a91969ea1a9aeb4bbc0c7d0cec8c2bbb7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e09030000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd4c7bbafa499897d7063544a3f33281c0f030000000000000000000000000000000000000000030f1c28333f4a5464717e8a97a9b2bdc9d5dfd2c5b8ac9f9286796d6053463a2d201307000005121e2a36424d576673808c99a3afbbc5d0d0c6b9ada1978f81786d675f58524c47433c3938332d2d2a25201f1c18131a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879498989898989898989898989898989898989898989898989898989898989fa2aab3becad6dbcfc3b7aca39b98989898989898989898989898989898989898989898989898989898989894877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373a4146474e5355555d606366686a676d6e6f6f70706f6f6e6d6c6569676462605b5354524c46443f38342e271e1a150e060000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6154473c31261a0f00000000000000000000000000000000000004101c27333d474f54565b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000004101c2934404b556875828e9ba8b5c1cfdbdfd3c7bbb0a69d9083796d655c544c443e37322c27201e1a14110d08050100000000000000000000000008111a21272c2f302f2e2b262017110a02000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f444c52545c6064666d6f737577797b7b7c7c7c7c7b7a797775726f6d6664605c55524d46413a3229241e160d0600000000000000000000000000000000000000020a11172129313a424a505b626b707c859196a0a8b1b9c2cad2ccbfb5ada39b918b7f726c61594f463c332a20170c0300000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000070d161d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccfc9c3bdb8b0aba59e99928d857f79716c656059534e46413b352f28231c150c0a0400000000000000000000000000000a1724313d4a5764707d8a97a9b3bec9d5dfd2c6b9ac9f93867a6d6054473a2d22170b000000000000000000000000000000000000000000000b17222d3b4854616e7b8796a1adb9c5d2dfd3c7baaea398887c6f6255493c2f2216090000020e1a25303b4855626e7b87929faab4becad6cabeb3a99e938f81796f6a615e56534e4946443f3b3a36302d2c28231f1c2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abaeb3bcc5d0dbdfd4c9beb5aca7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c141920262b3036393c4347484b515356595b555d60616262636362626161605b535a58555350494745413a38332d28231d150c0903000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000c18242f394854606b7784919eacb6c0c7baaea3998b7e7265584e43372b1c110600000000000000000000000000000000000714202c38444f5960636767676767676767676765625b51463a2e221609000000000006131f2c3845515c677884919eabb8c4d1dedcd0c3b7aa9e94897c6f675d534a423a322b27201c16110e0905010000000000000000000000000000050f1a232b33383c3d3c3a373127221b140b050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4241454a5053545c60636668666d6e6e6f706f6f6e6d686a686662605c5453514b46413b3630282019130c0400000000000000000000000000000000000000020b141b2227333b434b545b606d727d869297a1a8b1bac3cbd0c7c0bbada39b918b7f726d625a50473d342b21180e050000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000710191f282f353b42464e545961666d727a80868e939a9fa6acb2b9bec5cbd0cac4beb9b2aca69f9c938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfcfdaddd0c3b6aa9d908377675d5145392c1c1106000000000000000000000000000000000000000000000614212d3a46535e697884919eabb8c4d1ded6cbbfb4aa978a7d7164574a3e3124170b0000000914212e3a47535f6a74818e98a2aebac2cbcfc5bbafa59e938f837c736d68625f585553504a4746423d3a38342e2c282334404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b8babec5ced7e1e5dad0c7beb7b3b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1e252a2d31373a3b404547494c4f4b51535555565656565555545350494e4b4846443f3a39352f2b28221c18120b030000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000007121d2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083766a5f5347382e23170b00000000000000000000000000000000000916222f3c4854606b7074747474747474747474726d62574a3e3125180b00000000000714202d3a4753606d7a8696a1adb9c5d2dfd7cbc0b5ab9c8f82756b60554b41393028201b15100b050200000000000000000000000000000000000b16212b353d44484a4847433c332d261d170e0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4235383f44464a50535659545c6061626263636262615e565c595653514a4745403936302a251e160e080100000000000000000000000000000000000000000a141d262d333d454d555d666c737f879298a1a9b2bac3cccfc7beb6afa39b918b7f726d625b51483e352b22190f06000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000040f19222b313a41454d52585f626b70787f858d92989fa4acb0b8bdc3c9cfcbc6bfbab3ada8a09d949089817b736d68605c555049413d37312a251f18130c060000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddadacdc0b3a79a8d807467554c4135291d0a000000000000000000000000000000000000000000000005121e2a36424d576875828e9ba8b5c1cedbdcd0bfb2a5988c7f7265594c3f3226190c00000006121f2b37434e58616e7a85929fa6b0b9c3cccdc1b8afa59e959087807a746f6a6662605b5454524d494645403a38342e34404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbabebebebebebebebebebebebebebebebebebebebebebebebebebec5c6cad0d7e0e9ece2d9d0c9c3bfbebebebebebebebebebebebebebebebebebebebebebebebebebebebaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f13191d20262b2e2f35393a3c3f4240454748484949494948484746443f413e3b3937332d2c29241f1c17110c0700000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000000000a1723303d4a5663707d818181818181818181817f7265594c3f3226190c00000000000814212e3b4754616e7a8794a8b2bdc9d5e0d4c7bbafa3998a7d7164594f43392f271e160e0a040000000000000000000000000000000000000004101c27333d474f545655534e443f382f292018120b030000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362e34383a3f4446494d4a51535455565656555554524c4f4c494644403a38342f2a251f19130c0500000000000000000000000000000000000000000006111b262f383f444f575f676d78808b9299a2aab3bbc4cccec6bdb5aca49f918b7f726d625b51493f362c2319100700000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000a15202b343d434b51575e616a6f767d848b92979fa3aaafb6bec2c8cecfc7c0bbb4aea9a19e96918a837c756e69615d56514b443f382f2b262019140d070100000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd7cabeb1a4978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99a5b2bfccd8dacdc0b3a79a8d8074675a4d4134271a0e000000020f1a26313c46525e68727f8c949fa7b1bac4cccac1b7afa79f99928d86817c77736f6c6665615e575653514b4645403937404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbd2d3d6dbe1e9f2f4ebe2dad4cfcccbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11151a1f2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a3937332d312f2d2b2722201d19130f0b06000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000a16212d3a46535e6976828f9caab4bec8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000000000c1926323f4c5965727f8c8e8e8e8e8e8e8e8e8e8276695c504336291d1000000000000815222f3b4855626e7b8895a1aebbcfdadfd2c5b9ac9f92867a6d6054473d31271d150c040000000000000000000000000000000000000000000714202c38444f596063625f585049413b3229231d150d0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423623282b2e34383a3c4040444648484949494948474641423f3c3a38342e2c29231d19140d0802000000000000000000000000000000000000000000000b17222d384149505960696e79828d929fa3abb4bcc5cdcec5bcb4aba39a938b7f726d625b51493f372d241a11070000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00030f1b27323d464e555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d1a150e0802000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd6c9bcb0a396897d7063564a3d30231708000000000000000000000000000000000000000000000000091825323e4b5865717e8b98a4b1becbd7dbcec2b5a89b8f8275685c4f4235291c0f000000000915202a36414c56606d79829095a0a8b2bac1cbc9c1b9b1aba39f98928e8884807c7975716e696763605c5453514b46443f4d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d7dce3eaf3f9efe7dfd9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f1214181d2020232624292c2d2e2f2f30302f2f2e2e2d2b27222522201f1b1713110d08030000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a3024190d010000000000000000000000000000000c1926323f4c5965727f8c989a9a9a9a9a9a9a8f8376695c504336291d100000000000091623303c4956636f7c8996a2afbcc9d5ddd0c4b7aa9d918477685d5245392b1f150b03000000000000000000000000000000000000000000000916222f3c4854606b706f6a605b534c443e342f271f17110a020000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1f23282c2d302e34383a3b3b3c3d3c3c3b3a393630332f2d2c28231f1c18120e08020000000000000000000000000000000000000000000000030f1b27333f49535b606b707b838f939da4afb5bdc6cecdc5bcb3aaa39992887f726d625b51493f372d241b1208000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2b37434e5860676d737b81878f949da0a8adb3babfc6cccec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0a030000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded5c8bbafa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7dccfc3b6a99c908376695d5043362a1d1000000000030d1925303b45515c676d7a839196a1a8b0bbc0c7cbc2bdb5aeaaa39f9a96918c8885827e7b7773706d6664605c545350494d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c7cbd1d9e1eaf1e7ddd5cdc8c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206070d1013141619181d2020222223232323222221201f1b17181513120f0b06040100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000020e1a25313b4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d11040000000000000000000000000000000c1926323f4c5965727f8c98a5a7a7a7a7a79c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dccfc2b6a99c8f837669564c413529190d030000000000000000000000000000000000000000000008131f2b38434e5863707d7c726c655e564f4540393127221b140b0500000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c12171c1f202323282c2d2e2f2f30302f2f2e2d2a252623201f1c1813100c07010000000000000000000000000000000000000000000000000005121f2b3744505b656c727d8590959ea6aebbc0c7cfccc3bbb3aaa29892877e726d625b51493f372d251b120900000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000815222e3b4754606a6f7980868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba69e99928e868079726d66615a544e46423b353028231d17110a0200000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cbc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000008141e2834404b555d686e7b8491969ea6afb5bdc2c8c6bfbbb4aeaca8a09d9997928e8b8784807d7975706d6663605b53515a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7cfd9e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709070d10131415151616161615151413120f0b06080605030000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000009141f2c3945515d6774818e9aa8b2bdc9beb2a99b8e8175685d5245392c2015090000000000000000000000000000000c1926323f4c5965727f8c98a5b2b4b4b4a99c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec2b5a89b8f8275685c4f422f24190c00000000000000000000000000000000000000000000040e1a242e3b4754606a7783867f776e686159514b433c332d261d170e07000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c060c10121316181c1f202122232323222221201e1919161312100c0704000000000000000000000000000000000000000000000000000000000613202d394653606c777f879297a0a7b0b8c0cbd1cac2b9b1a9a19892867e716c625b51493f372d251b13090000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000916232f3c4956626f7c858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca7a09d948f87817b736d67605c545047433d363129241e18120b06000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfd3c7bbafa399877a6d6054473a2d2114070000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000020c18232e39434c565e696f7c848f949fa3abb0b8bcc3c8c6bfbab8b2acaaa9a19e9b9895908d8985827d7974706c65605d556773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacafb5bdc7d1dce4d9cdc3b9b1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a090908070605030000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6054473c31261a0f0000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc1b6a99c8f8376695c504336291d1000000000000a1623303d495663707c8996a3afbccfdadccfc2b6a99c8f837669544a3f34281c10030000000000000000000000000000000000000000030c16202b37424d57626f7c89928b827a706b605c554e443f382f29201910070000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f00030607070c101213151516161616151413110d0809070604000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818c9399a2a9b1b9c1cad2ccc1b8b0a7a09792867d706c625a51493f372d251b1309010000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a979fa2aaafb6bec2c8cecfc6bfbab3ada8a19e959089827c746e69605d55504a423e37322a261f19130c07000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4dfd2c5b9ac9f928679675d5145392c2013060000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000007121d27303a444d575f6a6f7a828c92999fa6acb1b8bcc2c5c7c3bdb8b7b3adaba8a7a09d9a98928e8a85817c78726d67606773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a87949d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa3abb5c0cbd7e0d4c8bcb1a7a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eacb6c0c7baaea3988b7e7265584e43372b1c110600000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000916222f3c4955626f7c8895a9b3bec9d5ddd1c4b7aa9e918477665c5044382c1f130800000000000000000000000000000000000000020b151e28323a47535f6975818e9b948f857d746d675f585049413b322a22190e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000406070808090a09090807070501000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d859297a1a9b2bac3ccc7c0bbafa69f9591857c706b615950483f372d251b130901000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a9aeb4bbc0c7d0d4c9c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d080200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded2c5b8ab9f928578665b5044382b1f12060000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3ded1c5b8ab9e9285786b5f5245382c1f12000000000000000b151e28323b454e585f686d777f8790949da0a7abb1b8b9bdc4c5c5c4beb9b8b5b1acaaaaa29f9b97928e89847f79726d6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879090909090909090909090909090909090909090909090909090909090909299a3afbbc7d3ded1c4b8aca09590909090909090909090909090909090909090909090909090909090909090877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000007121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5347382e23170b00000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000714212e3a4754616d7a8797a1adb9c6d2dfd2c5b9ac9f9286796d6053463a30251910060000000000000000000000000000000000040b141d27303a44505a626e7b86929f9e97928a80796f6a605b534c443c342a20150a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f7c859197a1a8b2bac3bdb5afa59e948f837b6f6a60594f473e362d251b13090100000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bfc6ccd2d5cbc1b7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e0903000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3dfd2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000000030c162029333c464e565d656c727c838990959d9fa7abadb2b7b9bdc1c5c6c5c1bcb8b7b4aeaca9a29f9a96918b857f797073808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714212e3a4754616d7a8383838383838383838383838383838383838383838383838383838383838387929facb9c5d2ddd0c3b6aa9d8983838383838383838383838383838383838383838383838383838383838383837a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000713202d3946525e687885929eabb8c5d1ded3c7baaea3988a7d7063564c41362a22181008020000000000000000000000000001080d161d262e39434c56616c76828f99a3a9a19e928d837c726c655e564e463c32261b0f03000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606a6f7c859196a0a8b1b9b3aba49f938e827a6e695f584f473e352d241b1309010000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdd0d8d9cdc3b9afa59e99928d857f79716c656059534e46423b352f28231c150c0a0400000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2dfd4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000000000040e17212a343c444c535b606a6f767d838a9095999ea1a8aaacb2b4b8b9bec2c5c5c3bfbab8b3adaba8a09e97928c847d73808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000713202d3946525e686d7777777777777777777777777777777777777777777777777777777777777885919eabb8c4d1d2c6b9ac9f938679777777777777777777777777777777777777777777777777777777777777776e685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000b17222d3846535e6976838f9caab4bfc8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000005111d2a36414c566976838f9ca9b6c2cfdad7cbbfb4aa9b8e8175685e52463e342a2219140e090502000000000000000105080d13191f282f38404b555e68717e8a949fabb3ada49d9590867f776e685f584e43372b1f1306000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464f585f6a6f7b849196a0a7b1aaa299938c81786d685f574e463d352c231b120901000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d4c8bcb1a79e938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2ded7ccc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000050f18222a323a4149505860626b70787e83888d91969a9ea0a8a8abadb3b6b9babfc3c5c5bebab8b2aca9a19e96918880808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000005111d2935414c565e616a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b7885919eabb8c4d1d2c6b9ac9f9386796c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615e564d41362a1e11050000000000000000000000000000000000000000000000000000000000000008111a21282c2f303939393939393939393939393939393635322d261e160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a2f24190d010000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000010d192530404d596673808c99a9b3bec9d5dcd1c5b8ac9f92867a6d61594f463c342a251e1a14120e090b0a0a0a0b080d1113191e2429313a4149515c676d7a85919ea6b0bdb9aea7a098928b827a6f6a5f54473b2e221508000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b343d464e585f696e7b849095a0a7a09892877f746d665d564d453c342b231a11090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0958e817b746d68605c555049413d37312a251f18130c0600000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1deddd2bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7dccfc3b6a99c908376695d5043362a1d100000000000000000000006101820282f383f444e545961656c71767b8084898e9196989b9ea1a9a9acaeb4b7b8bcc3c4c3bdb9b3ada8a09a938c85929fabb8c5d2ded5c8bbaea295887b6f6255483c2f2215090000000000000000000000010d1925303a444c52545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5e6b7885919eabb8c4d1d2c6b9ac9f9386796c605d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d54524d443b3025190e0200000000000000000000000000000000000000000000000000000000000005101a232c33383c3d46464646464646464646464646464643413e3830281e0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000e1a25313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000081623303c4956636f7c8997a1adb9c6d2dfd3c7baaea2988e81756b61584e463e36302a26211e1a19181716171818191e20252a2f353c434b535b606d79829097a1adb8c2c0b9b1aaa39f948f857c6f6255493c2f221609000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b343c464e575f696e7a8390959e9691867d726d605c544c443b332a22191108000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d0c3b6aa9d90837b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0ddd6c9bdb0a3968a7d7063574a3d302417080000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000060e161d262d333d43474f535b60646a6e73787d8184888b8e9297999c9fa3aaaaacb1b6b8bcc2c5beb9b2aca49f989298a2aebac6d3dfd5c8bbaea295887b6f6255483c2f22150900000000000000000000000008131e28323a414647505050505050505050505050505050505050505050505050505050525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053505050505050505050505050505050505050505050505050505050504746413b32291f1408000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a5353535353535353535353535353534f4e49423a3020170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c2015090000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000713202d3a4653606d7985929eabb8c1d0d9d6cabfb4aa9e938a7d706a5f585046413b36312d2a2626252423242425252a2d30363a41454d555d656c75818e949fa9b2becacbc3bcb4aea69f92867a6e6154473b2e211408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a343c454d575e686e7a8390938f847c706b635b514a423a32292118100700000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0959087807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cedbd7cbbeb1a4988b7e7165584b3e3025190e020000000000000000000000000000000000000000000003101c28343f4a546673808c99a6b3bfccd9d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000040b141b222732373d41495053585f62666c7074777b7e8185888c8f92989a9da0a7a9abb1b8b9bec4beb6afaaa29fa2aab3becad6e2d5c8bbaea295887b6f6255483c2f221509000000000000000000000000020c1620283035393a444444444444444444444444444444444444444444444444444445525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053464444444444444444444444444444444444444444444444444444443b3936302920170d0200000000000000000000000000000000000000000000000000000000000004101c28333e474f55576060606060606060606060606060605c5a544c4232291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acb9c7c4b8ac9f92867a6d6054473c31261a0e0000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000006121f2c3844505c6673808d9aa6b0bec7d2dbd0c6bcafa59e92857c6f6a615a524c46423b3a3631323131303031323036393a41464c51575f676d77808d939ea6b0bbc4cfd5cfc6bbaea3998d8074685e5246392d201407000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a333c454d565e686d7a828b82796e6a615951444039302820170f070000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcadcd4c8bcb1a7a099928d857f79716c656059534d46413a342e27221b140b090300000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2dddacec1b4a79b8e817468564c41362a1e11050000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000020a111720272b2f383f44464e53545b606367696e7175787c7f8286898d9095989d9fa7abadb3b8bcc0bbb3aeabaeb3bcc5d0dbe6d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000040e161e25292d2e373737373737373737373737373737373737373737373737373845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463937373737373737373737373737373737373737373737373737372e2d2a251f170e05000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000010d18242f394653606c7884919eacb6c0c7baaea3988b7e7165574d42372b1c110600000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000003101c28343f4a54626e7b88949eacb6c0ccd8d8cec1b9ada19792857c706c615e56534d484642403f3e3d3d3d3e3f404146474c52555d60696e79818d929da5afb8c2cdd6d7cbc0b5ab9f92867b6e61564c41362a1e1105000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018212a333b444c565e686d797e756d675f584f473f342e271e160d06000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcbd1d9cdc3b9b1aba39f97928c847e786f6b615f57524c454039332d261d1a150d08020000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8ddd1c4b7aa9e918477685e5246392d201407000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded5c9beb3a9968a7d7063574a3d3024170a000000000000000000000000050c13191d202120262d33373c43474a505356575f6165656c6f72767a7d8084878b9095999ea1a9acb1b9bdbebab8babec5ced7e1e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000040c13191d20212a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a21201e19140d0500000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70797979797979797979797979797979767066564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000007121f2b3744505b6573808c9aa4afbbc8bfb4aa9d908376695f5347382d22170b00000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000c17232e3847535f6a75828f9aa4afbbc5cfdad6cabeb3a9a19792857e756e68615f5755534d4d4c4b4a494a4b4b4d4c5254565e61676d737b838f939da4aeb7c1cad4d8cec6bbafa3998e8174695e53443b3025190d01000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129323b444c565d676d716c605d554e463e3528231c150c0400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b4bbc0c7cfd4cbc3bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c0700000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d899aa4afbbc8d4ded2c5b8aca096877a6e6154473b2f24180c000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3dfd2c6b9ada197877b6e6154483b2e2115080000000000000000000000050e161e252a2d2e2d2a25272b3137383f44464a4d5355535b606266676d7073777b7f83888d92979da0a7acb2bbc0c5c6cad0d7e0e9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000002080d1113141d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1414110e0802000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707d8686868686868686868686868686868276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c6b7ab9f95887b6e62544a3f33281c0f03000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000006111c2b37434e58626f7c87939fa9b3becad6dacfc5bbb3a9a197928a817a736e6964615f57595958575657575859565e6164686d727a808690959ea5aeb6c0c9d3dcd0c6bcb1a79f92877b6e62574d4232291e140800000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f172029323a434c555d6064615a514c433c332c2318120b030000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2dfd4c8bdb2a8978a7d7164554b4035291b1106000000000000000000000000000000000000000004111d2935414c5665727e8b98aab4becad6ded1c5b8ab9e928578695e53463a2d21140700000000000000000000030c1620283036393a3936302820262b2d3338393d42464849505355555d606367696e72767b80858b90959ea1a8afb6bec5ced7e2e9f2e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000105070711111111111111111111111111111111111111111111121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013111111111111111111111111111111111111111111111108070502000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9393939393939393939393939393877b6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000b17222d3846535f6976838f9caab4bfc7bcb1a7998d8073665b5044382b1f1308000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000f1a26313c47545f6a75818e97a1adb9c0cad4d7cdc5bbb3a9a29e938e85807b75716e696866656464636364656668686d71757a7f858d9299a0a7afb8c0c8d2dbd6cbbfb4aa9f958c8073695f53453b3120170d0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172028313a434b515358565045413a312a211a110700000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a92989fa3abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000613202c3945525d687784919daab7c4d1dcd9cec0b4a79a8d8074675d5145382d22170b00000000000000000000000000000000000000000a13202c3945525d6875818e9ba8b4c1d0dbdbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000a151e28323a41464746413a322c231c22282b2d31363a3b3f4446494b515356575e6165696e73797e838a91969fa4acb4bcc5d0d9e3eee1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000004040404040404040404040404040404040404040405121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060404040404040404040404040404040404040404040400000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f9f9f9f9f9f9f9f9f9f9f9fa4998c7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184786c6053463a2f24190d010000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000915202b37434e58616d7a85929ea4aeb8c2cbd4d7cdc5bbb3ada59e97928d87827e7b787573727170707071727375787a7d82868c92979fa3abb1b9c1cad2dad2c9c1baaea3989083786d60574d4233291f0e050000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2831394045474b49453e352f281f180f080000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000714202d3a4753606d797f868e92999ea6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000000000000000000004111d2935414c566874818e9babb5c0cbd7ded1c5b8ab9e9285796d6053493f33271c110600000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d2dfd5c9beb3a9998c807366594d4031251a0e0200000000000000000006111c26303a444c5254524c443e352c21171c1f20262a2d2d3337393c4045474a4d5254575f62676d71787e848d939aa2aab4bdc7d2dde8e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8b99a3aeacacacacacacacacacb5ab9d9084776a5f5347382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000e1a26313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000030f1b26323c46525e68717e8a929da6b0b9c2cbd6d7cdc5beb9afa9a29f99938f8a888582807f7e7d7c7d7e7e808284878a8f92999ea1a9aeb4bdc3cbd3dbd6c9c1b7afa59f92867c6e665c50453c3121170d000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161f282f35393a3e3d393429241e160d06000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2c3945515d676d737a81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000010d19242f3e4b5764717e8a99a3afbbc7d3dfd2c6b9ada2978b7e71655b5044382d22170d0300000000000000000000000000000000030c17222d3744505b65727f8c98a2aebac6d3dfd2c6b9ada197897c6f6356493c30231609000000000000000000000c17232e38424c565e615e564f473e3329201712131a1e2122272b2d2f35393a3d4246484d53555c60656c717980889298a2abb5c0ccd7e3e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7783909dabb4bfb9b9b9b9b9b9b9b9b8aca095887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2015090000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000a15202a36414c56616c74808d949fa7b0b9c1cad0d7cfcac1bbb3adaba49f9c9797918f8c8c8b8a898a8a8b8c8f9196979c9fa3abadb3babfc6cfd5d7d0cac1b7afa59d938b7f726a5f544a3f332a200f05000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d31302d282219130c0400000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0004101d2935404b555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d0dbd6cabeb3a99d9184786c60544a3f33281f150c040000000000000000000000000000030c151e28333f4a54606c7884919eaab4bfcad6ded1c5b8ab9e9285796c605346392d20130600000000000000000003101c28343f4a545e686d6861594f453b32292117110e1214171b1f2024292c2d30363a3c42474b51535b60676d737d869299a4afbbc7d4e0e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acbdc6d1c6c6c6c6c6c6c8bcb1a79a8d8073665c5044382b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000040d1925303a44505a606d78828f959fa6afbabec5ced6d6cdc5bebab5afaca8a9a19e9b9998979796969798999b9ea1a8a8acafb5b9bec5cbd1d8d6cec6bfbaafa59e938e81776c60584e42382e21180e00000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d20202524211d170d08010000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000c18242f39434b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000713202c3945525d6876828f9caab4bfcad6dbcfc5b8aca095897d70665b50443c31271e160d04000000000000000000000000030c151e26303844505b66707d8a96a0acbcc6d0dbd5c9bdb2a89b8e8174665b5044382b1f12060000000000000000020b19222c3844505c666d7a706b61574d443b3328221c140b080b0f1213181d1f20252a2d31373940454950555c606b707d87939facb9c6d2dfe1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674808d9aa7b1bccfd8d2d2d2d2d2d9cec3b8ab9e9185796d6053463a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1c110600000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000008131e29323e44505c666d7a8390949ea5aeb4bcc2cbd0d6cfcac7c0bbb9b5b3adaba8a6a5a4a3a3a3a4a5a6a8abadb2b5b9bbc0c7c9cfd7d6d0cac2bcb4aea59e938e81786c655b50463c30261c0f0600000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314181715110c0600000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000007121d27313940454c52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000004111d2935414c5665727e8b98a2aebac6d3dfd4c8bcb1a79c9083786c60584e433930281f160e0904000000000000000003090d151e273038424e58606c7883909ca8b2bdced8dfd2c5b9ada1968a7d7064544a3f33281c0f0300000000000000000a141d2a36414c56606d78847d70695e564d453c332d261d19140e0905070c1013141a1e20262b2f34383f444b5159616b74818e9aa7b4c1cddae1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdddd8d4d2d1d2d5d2c6b9ada197897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000007131f2b3744505b6573808c99a6b0bbc7bfb4aa9c908376695f5347382d22170b00000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000020d172028343f4a545d686d79828e939fa2aab1babfc6cacfd5d2ccc7c6c2beb9b8b5b3b2b1b0afb0b1b1b3b5b7b9bdc2c5c7cbd1d5d5cfcac6bfbab1aaa29f938e81786c665b53493f332a1e150a0000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070b0a0805000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000010b151f272f353b41464e535960666c71797f868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000010d19242f3a4754606d7a86929facb8c1cfd9d9cec3b7ab9f948c7f726a5f554b433a3128201a15100c0707060607060b10141a1f273039424a545f6a727f8c949fabbac4cee0d7cbc0b5ab9e9184796d6053463a2d22170b000000000000000006111b262f3846525e68727f8c857b6e685e574e443f382f2a251e1a14100c070606090e12151a1d23292d333940454f5964707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6d5d2ccc8c6c4c6c9cfc9beb3a99b8e8175675d5145392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabb7c6c6b7ab9f94887b6e62544a3f33281c0f03000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000050e17232e38424c565d676d79818a92989fa7aeb4b9bec5c9ced3d4d2cfc9c6c4c2bfbfbebdbcbdbdbebfc2c4c5c9cfd2d3d4d1cfc9c5bebab4aea79f98928b81786d665b544a41382d21180c030000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000030d151d242930363c43474f545b60676d737b81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d080200000000000000000000000000000000000813202c3945515d6774818d9aa5afbdc7d1dcd3c7bcb0a69f92867c6f675c554b433a322b261f1c18151313131315171c1f252a3139424b545c666e7c86929fa6b0bcccd5ded3c7bbafa3998c7f73665c5044382c1c110600000000000000000b17222d38414e58616e7a859290837a6e696058504a423c36302a261f1c1813120f0b060d090e12181b22272f343e4a5763707d8a96a3b0bdc9d6e1d5c9beb3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6875828f9ca9b3becad0c7c0bbb9b8b9bec4cdc4b8ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000b17222d3846535f697683909caab4bfc7bcb0a6998c8073665b5044382b1f1308000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000006111c26303a444c555d676d757e8690959fa3aaadb3b9bdc4c6cad0d2d3d2d1cecccbcacac9c9cacbccced1d2d2d1cfcec8c5c3beb9b3adaaa29f9590867e756d665c544a42382f261b0f06000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000030b12181e252a31373d424a50555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000004111d2935414c55626f7c88939eabb5c0cbd7d8cdc2baaea3999083796d675d554c443e37312c282321201f1f202123282b30363d434b545c666d78839098a3aeb9c2cdded6cabfb4aa9f92867b6e61544a3f34281c0a0000000000000000030f1b27333f4953606a74818e989590847b6f6a605b544e46413b36312c2923201f1c1719191a1a1b1a1e212429333f4a5465717e8b98a4b1becbd7dfd2c6b9ada197867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb9c5cfc7beb6afacabadb3bbc4c7baaea2988b7e7164574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5765717e8b98a2aebac6c2b7ab9e9184786c6053463a2f24190d010000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000a151e28323a434c555d606c717b838c92989ea2a9acb2b8babfc2c5c6cad0cccdcececfcfcecdcdcccbcfcac6c5c3c1bcb8b7b2ada9a29f98928c837b716c605c544a42382f261d140a00000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000001070c141920262b2f383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000010d19242f3a47535f6a75828f99a3afbbc5cfdad7cbbfb4aba0958f81796d675d564f47423c38342e2e2d2c2c2d2e2e34383b42464f555d666d78818e959faab4bfcbd4dbd3c7baaea2988d8174695e5242382e23170c00000000000000030e18212b3744505b656f7c87939fa09691847c726c665f58524c46423b38342f2d2b28222626272727252a2d30353c44505b6673808d9aa6b3c0cdd9ded1c4b8ab9e918578675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3afbbc7ccc0b6aca49f9ea1a9b3bec9bfb4aa9c8f8276695e53463a2d21150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000e1a26313b4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d11040000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000030c162028313a434b515a61696e7880868c92979ea1a8acaeb4b5b8babebebfc0c1c1c2c2c1c1c0bfbfbebeb9b8b6b4b1acaaa9a19e97928c8680786e69625a504a42382f261d140b02000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000002080e151b1d262d333940454d52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a020000000000000000000000000008131e2b37434e58626e7c87929fa9b3becad6dcd1c6bdb1a79e938f82796d686159534d4644403c3b3a38383a3b3c3f44464d525960676d78818e939ea7b1bcc6d0ddd5c9bdb2a89f92867b6e61574d4230261c1106000000000000000915202935414c56606c7883909aa4a8a09691877f786e6a615e56534d4745403b3938332d333333343431363a3b41464e57606c7884919eabb7c4d1dedccfc3b6a99c90837669554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7784919dabb5c0cbc8bbafa49a939197a1adb9c6c6b9ac9f93877b6e6154483c32271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8175675d5145392c2014090000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000040d161f28313a404550575f666d737a80858b91969b9fa2aaa9abadb3b1b3b4b4b5b5b5b4b4b3b3b2b1b3adaba9a7a7a09d9997918c85807a736d665f5750443f3830261d140b02000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000030a0b141c22282f353b41464e535960666d717980868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000010f1b26313c47535f6a74818e97a1adb9c1cbd5d8cfc3b9afa59e948f837a706b625f5753514a49484645454648494a5053575e616b7079828f939ea5afb9c3ced8d4cbc3b9ada1968d8073695e52453b301e150a00000000000000020f1a26313945525d68717e8b959facb2a8a199928c827c746e68615f5753514b4846443f414040404041424246484c52585f69707d8a96a1adb9c5d2dfd6cabeb3a99a8d8074675a4d412f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55626f7c8995a0acbdc7d1c6b9ac9f938885919eabb8c4c8bbafa49a8c7f7266584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000040d161f282f353e454d545c60686e73797f848a8f9298999c9fa2a9a4a6a7a7a8a9a8a8a7a6a6a5a4a9a19e9c9a9895908c89847f7a736d68605c544d453f342e261e140b0200000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000a15202b37434e58616e7a85929ea5afb9c3cdd6d5cbc1b7afa69f9590847d756e6963605c545654535151535456545c6063696e757d838f949ea5afb7c1cbd4d6ccc3b9aea49e91847a6d60564d4233291f0c030000000000000006121f2b37434e58606d7a85929ea7b1bab2aba39f948f87817a736e6964605c555553504a4d4c4c4d4d4e4f4d5354565d616a6f7b85929ea8b2bdc9d5dfd2c6b9ada297897d706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818d9aa7b1bccfd1c4b8ab9e9184808c99a6b3bfccc0b6ac9d9184776a605447382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1b110600000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000040d161d2429333b424a50565e61676d72787e8285898d8f92979698999a9b9b9c9c9b9a9a999898969792908e8b8783807c78726d67615e56504a423c3328231c140c0200000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000060b12181f252a31373d424a50555d60696e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c04000000000000000000040f1a26313c46525e68717e8a939ea7b1bbc5ced7d3c9c1b8b0a79f96918a827b74706d66646261605c5c60616264666d70747b818990959fa6afb7c1c9d2d7cec4bab1a79d92897d70675d51443b3020170d00000000000000000814212e3a47535f6a73808d97a1adb9c2bdb5aea69f99928d86807b75706d676462605b545a59595a5a5a5c575e6164686d727c839197a1adbac4cfdad9cfc5b8ab9e9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ced0c3b6a99d90837e8b98a4b1becfc7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000007131f2b3844505b6673808c99a6b0bcc7bfb4aa9c908376695f5346382d22170b00000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000040c1318212930383f444c52555d60666d7175797d80828588898b8c8d8e8e8f8f8e8e8d8c8c8b89878583817e7b77736f6c65605d55524c443f38302a2117110a0200000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000001070d141920262b30383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e160e040000000000000000000a15202a36414c56616c75818e95a0a9b3bcc5ced6d3cac2b9b1a8a09e948f86817d7974716f6e6d66676d6e6f7174797c80868e939da0a7b0b8c1c9d2d6cdc5bcb2a89f958d81746b60554c4132291f0e0500000000000000000815222f3b4855626e7b87929fa9b3becbc6bfbbb0aba39f98928d87827d7975716e6c6668676666666767696a696e71747a7f869195a0a9b3beccd6dcd1c7bdb1a79b8e8174665c5044382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cecec6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d5cec1b5a89b8e817d8996a8b2bdc9c8bdb1a89a8d8074665c5044382c1f13080000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fabb7c6c6b7ab9f94887b6e6153493f33271b0f03000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000001070f181e262e343b41464b51545c6064666d707376797b7c7e808181828282818180807f7e7c7a787674726e696662605b53514b46413a342e261e180f0600000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d4c7bbafa499887b6e6255483b2f2215080000000000000000000000000000000002080e151b1e262e343940454d52585f626b70787e858c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c35302820160c020000000000000000030d1925303b44505a606d79839097a1aab3bcc5cdd5d4cbc2bab2aca69e99928e8985817e7c7b797878797b7c7e8185898d92989ea5acb1b9c2cad3d4cdc4bbb3aaa1969083796d60594f433a2f20170d0000000000000000000d1a2633404d596673808c949fa7b0b8c1cbcbc2bdb5afaaa29f99938f8a85827e7b7976757473737373747577787b7e81868c9298a0a7b1bbc5cfded7cbc0b5ab9f958a7d7064544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9b3becad6ccbfb3a6998c807a8796a1adb9c5cec3b8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909caab4bfc7bcb0a6998c8073655b5044372b1f1307000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000060c151c232830363940454a5053545c606366656c6e70717374747576757574737372716f6d68696765615e575653504945413a353028231c150c06000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7dfd2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d717980868e93999fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a32281e130800000000000000000008141e29323e45515d676e7b859298a2a9b3bbc3cbd5d4ccc4bdb9b0aba39f9a97928e8a89878685858687898a8e92979a9fa2aaafb8bcc3cbd4d5cbc2bbb3a9a29891847b6e675d51473d31281e0e050000000000000000000713202d3a4653606d78828f959fa6afbbc0c7cfc7c0bbb4aeaba49f9c98928f8b88858381807f7f808081828385878b8e92989fa2aab1b9c3cdd7d4ccc3bbafa3999083786d6053463a2e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5d0d6cabeb3a9978a7d7884919eabb8c4d1c6b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b98a2aebac7c2b7ab9e9184786c6053463a2f24180d010000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000030a11171e252a2f35383f44464b515356535b6061636566676868696968676766656563615e565b5854534d4946443f38352f29251e17110a03000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcddd0c3b6aa9d908377675c5145382c1f13060000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c443a3025190d010000000000000000020d17202935414c555e696f7c869297a1a9b1b9c0c9ced6cec9c1bdb4aeaca9a29f9b97959a939292979495979b9ea1a9acaeb4bcc1c8ced6cec9c0b9b1a9a19792867c6f695e554b40352b1f160c0000000000000000000006121f2c3844515c666d798390949ea5afb5bdc3cbcbc5bfbab5afacaaa29f9b979892908e8d8c8c8d8d8d8f909297979b9fa2aaaeb4bcc3ccd5d5cbc3bab2a89f92877c6f665c5044382b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a89f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5966737f8c99a4afbbc7d7d3c6baada297887b75828f9ba8b5c2d0c9beb3a99b8e8275685d5245392c20140900000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000060c14191d24292e34383a4045464a495053555658595a5b5b5c5c5b5b5a5959585654524c4e4b4846423c3937332d29241d19130c06000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3d5c9beb3a9998c807366554b4034281c100400000000000000000000000000000000000000000000060b12181f252a31373d424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e564c4135291d1105000000000000000000050e19242f3a434d57606a6f7d859297a0a7aeb9bdc4cbd0d5cfc6bfbab9b3adaba7a4aca49f9e9fa2a9a2a4a7abadb3b8babfc6ced4d0cac4bdb9aea79f9791857c6f6a5f564d43392f231a0d040000000000000000000004101c2834404a545d676d7a828e939fa3abb1babfc6cbcac7c0bbb9b4aeaca8aaa29f9c9b9a9999999a9a9c9d9ea1a9a7acaeb4babfc6ced6cfc9c2b9b1a8a0968d80736a5f544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7784919eabb5c0ccd7d2c5b8ab9f928578737f8c99aab4bfcbcfc5b9ac9f92867a6d6054473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c2014090000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000002080d12181c23282b2e34383a3d3f444648494b4d4e4e4f4f4f4e4e4d4d4c4b49474641413f3b3a36312d2b27221b18130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8e0dad5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1dfd2c6b9ada197887c6f6255493c2e23180c00000000000000000000000000000000000000000000000001070d141920262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d685e5246392d2013070000000000000000000008131e28313b454e58606b6f7c8590959da4acb2babfc6cad0d1cbc7c5bebab8b4b1b6afacababadb3afb0b4b8b9bec5c6cad0d0cac6bfbab2aca49d9590857c6f6a60584e443b31271d11080000000000000000000000000c18232e39424b555e686d79818c9299a0a7aeb4babfc6caccc7c6bfbab8b5b4aeaca9a8a7a6a6a6a6a7a8aaabadb3b4b8babfc6cad0d0cac4bdb9b0a79f969184796d60584e42382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e86796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbdc7d2ddcfc2b5a89c8f8275707c8998a3aebac7d3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c4b8ac9f92867a6d6054473b31261a0e0000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2d3337393b3d3e404141424342424140403f3e3c3a393630322e2d2a25201f1b17110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a090704000000000000000713202d3a4653606d798693a0acb9c6d3e8ded6cfc9c5c4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4ded8ccc0b6ac9e9185786c605346392d201307000000000000000000000000000000000000000000000000000002090e151b1e262e343a40454d52585f626b70787e858c92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a6d6154473a2e21140700000000000000000000010c161f29333d464f59606a6f7b838d929ea1a8aeb4babec5c8cdd2cfcac6c5c1bdc0bbb9b8b8babebcbdc1c5c6cacfd2cdc8c5bebab4aea8a09e928d837b6f6a60584e463c32291f150b0000000000000000000000000007121c27303a434c565e676d747f8790959fa3aaaeb4babfc5c7cbcac6c5c2bfbab8b6b4b3b2b2b3b3b4b5b6b8b9bec1c5c7cad0cdc8c5bebab2ada69f9590847b6e675d51463c30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774808181818181818181818181818175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9aa8b2bdd0d9d6cabeb3a9988c7f726d7986929facb8c5d2cbbfb4aa9c908376695f53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606c7884919eabb7c2c6baaea2988b7e7164574d42362a1b110600000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000060b1012181c1f2022272b2d2e3032333435353636353434333232302e2d2a252521211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000713202d3a4653606d798693a0acb9c6d3e0d6ccc4bdb9b7b9b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedcded4c8bbafa49a8e8174655b5044372b1f120500000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba59e99928d85786c5f5245392c1f120000000000000000000000040d17212b343d464f585f696e79808a91969fa3aaadb3b8bcc3c5c7cbd1d0ced2ccc8c6c5c5c6cacfcaced0d1cbc7c5c3bcb8b3adaaa29f96918a80786e695f584e463c342a20170d0300000000000000000000000000000b151e28313a444c555c606d727c838c92989fa3aaaeb4b9bbc0c4c6c9cfcac6c5c3c1c0bfbfc0c0c0c2c3c5c6cacfd1cbc7c5c2bcb8b4aea8a19e948f837a6e695e554b40342a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e74757575757575757575757575756f65594d4034271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c3cedfd3c6baada297897c6f6776838f9ca9b6c2d0d1c6b9ac9f93877b6e6155483d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505b6673808d99a7b1bcbebfb4aa9c908376695f5346382d22170b00000c1926323f4c5965727f8c98a5b2bebeb6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000003070c101313171b1f202223252627282829292828272626252321201d19181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a1f2427272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272423201c161008000000000713202d3a4653606d798693a0acb9c6d3dacfc4bab2adabadb2b8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5e0d7cbbfb4ab9f93877c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f9786796c605346392d2013000000000000000000000000050f19222b343d464e575f676d747d848c92989fa2a9acb1b6b9bbc0c1c3c5c6cacfc8c9c9c8cfc9c6c5c3c1bfbbb9b6b1aca9a29f98928c847d746d665e574e463c342b22190e05000000000000000000000000000000030c161f28323a434b515b636a6f787f868d92989fa2aaacafb5b8b9bec0c2c3c5c7cbd1c8c9c9c8c8d0cac7c5c3c1bfc0bbb9b6b1abaaa29f96918b82796d685e574d43392f22180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c646768686868686868686868686868655d53483d3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6d3ded2c5b8ab9f9285796d6673808c99aab3becad4c8bbafa49a8c7f7366584e43382b1d12070000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabb1b1b1b1ac9f93877b6e6153493f33271b0f03000c1926323f4c5965727f8c98a5b1b1b1b1a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000406060b0f12131516181a1b1b1c1c1c1b1b1a1a1918161413110d08080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434302f2c28211a11080000000713202d3a4653606d798693a0acb9c6d3d5c9bdb2a8a19ea1a8b1b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddd7cec5baaea3998e81756a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea99386796c605346392d201300000000000000000000000000071019222b343c454d555c606c707980868d92979da0a7a9acafb5b4b6b8b9bebbbcbcbcbcbbbeb9b8b6b4b5aeaca9a7a09d97928d867f79706b605c544d453c342b221910070000000000000000000000000000000000040d16202830394045515860666d727b80868d92989c9fa3ababadb2b3b5b7b9babfbbbcbcbcbbbbbabfbab8b7b5b3b5afaca9a79f9d98928c847e786d675e564d453b31271d10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41372c201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfcad6d7cbc0b5ab9b8e817566636f7c8998a2aebac6d3ccc0b6ac9e9184776a605447392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909daaa5a5a5a5a5a49a8c8073655b5044372b1f1205000c1926323f4c5965727f8c98a5a5a5a5a5a59c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0f0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c38332c231a100500000713202d3a4653606d798693a0acb9c6d3d2c5b9ada1969196a0a7b1bbb3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbd9d0c5bcb2a89f92867b6e61584e432f261b11060000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa3aaafb6bec2c8cecfc6bfac9f9386796c605346392d20130000000000000000000000000000071019222a333b434b515961676d737b80858c9095999d9fa3aba8a9abadb3aeafafafafaeb3adaba9a8aba39f9d9995908c85807a736d676159514a423b332a2219100700000000000000000000000000000000000000040e161e272e343f464e545c60696e747b80858a8f92999b9ea1a9a6a8aaacaeb4aeafafafafaeadb4aeacaaa8a6aba39f9c9895908c857f79716c665d554c443b33291f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392f251a0f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd3c7bbafa3998a7e7164606d7985929fabb8c5d0d2c7b9aca096897c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b9898989898989898989184786c605346392d201306000c1926323f4c5965727f8c98989898989898988f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b00000713202d3a4653606d798693a0acb9c6d3d1c4b7ab9e91849095a0abb5bebab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9d8d1c7bdb4aaa1968d8074695f53463c321d140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfb9ac9f9386796c605346392d20130000000000000000000000000000000710182129303940454f555d60696e737a7f83888c909299999b9d9ea1a9a2a2a3a3a2a2a9a19e9d9b999992908c88837f7a736e68605c554f444039302921181007000000000000000000000000000000000000000000040c151d2328343c424a50575e61696e747a7e82868b8e919798999b9d9fa3aaa1a2a3a2a2a1a1aaa29f9d9b999799928f8b87837f7a736d67605b544b433a322921170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403d372f271d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8d7dfd2c5b9ac9f92867a6d615c6675828f9baab4bfcad4c8bdb2a89a8d8174665c5145382c1f130800000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a868b8b8b8b8b8b8b8b8b8b897c706356493d3023160a000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8276695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000008141f2b36414a53585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a57554f473e33281c1004000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f839099a3afbbc0beb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dad6cfc6bfb5aba29891847a6d61574d42342a200b02000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb2b9bec5b9ac9f9386796c605346392d201300000000000000000000000000000000060f181e272e343e434b51565e61676d72777b7f8386898c8e90929794959596969595949792908e8c8986837f7b77726d67615e56514b433e342e271e170f060000000000000000000000000000000000000000000000030b1218222b30383f444d52575e61676d71767b7e8185888b8d8f9092989495959696959594939892908e8c8a8886837f7b76726d68605d55504a423a312820170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b3033343535353535353535353535353534312c251d150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8d6cabeb3a99c8f8275685e5464717e8a98a2aebac6d3cec3b8ab9e9285796d6053463a3024190d01000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945525d68707d7e7e7e7e7e7e7e7e7e7e7e7c6f6256493c2f231609000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100c070000000000000b1824303c48535c64676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676361594f44382c201407000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7c87929fa3afb5bdc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4d9d4ccc4bdb5aea49992867c6f685e52453b3122180e000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfac9f9386796c605346392d20130000000000000000000000000000000000060c151d2328313940454d52555d6065696e73767a7c7f818385878888898989898887878583817f7c7a76736e6965605d55524c4540393028231c150c0500000000000000000000000000000000000000000000000000000710191e262e343b42464d52555d6064686e7175787b7e808284868787888989898888878786858482807e7c7976726e6966615e56514b443f382f281f160e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a20242727282828282828282828282828282725201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1acbec7d2ddd3c6baada2978a7d71645653606d7a86929facb8c5d0d2c6b9ada2978a7d7064564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c7072727272727272727272726f6a6054473b2e221508000815212e3b47535f6a6f72727272727272727272706b6155483c2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c18120b03000000000d1a2733404c58646e74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706b6155483c2f231609000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737e8b919fa4abb3bbc1c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d4cec8c2bab2aba39f93877d706a5f564c4133291f10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91969ea1a9aeb4ac9f9386796c605346392d2013000000000000000000000000000000000000030b12181f272f353b42464c5154575f6266676d70737576787a7b7b7c7c7c7c7b7b7a78767572706d6766615f5754514b46413b342e271e18120b0300000000000000000000000000000000000000000000000000000000070c151c232830363b42464b5153565e616568696e71737577797a7b7b7c7c7c7c7b7a7a7979777573716f6d6765615e5754524c454039332d261d160d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b18140f090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdd0d9ded2c5b8ab9f9285796d6053515d6775818e9ba9b3becad6cabeb3a99b8f8275685d5246392d201509000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a616465656565656565656565656260584e43372b1f13060006121f2b37434e585f62656565656565656565656361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f262a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c28231c150c030000000e1b2734414e5a6774818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73737f8c9399a2a9b0b8bdc3c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d5d2cec8c3bdb8b0a8a199928b7f726b61584e443a3021180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaaf9f9386796c605346392d20130000000000000000000000000000000000000000070d151d242930363a4145474d5355555d606366686a686d6e6f6f70706f6f6e6d676a686663605d5555534d4745413a363028231d150c0700000000000000000000000000000000000000000000000000000000000000030a11171f252a3036394045474d525458575f62656668666c6d6e6e6f706f6f6e6e6d6d666a68666462605c5554524d4746413a352f28221c140b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0f0f0f0f0f0f0f0f0f0f0f0f0f0e0c0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4cedfd4c8bcb1a79a8d8174675c514b5564707d8a97a2adbac6d3cfc5b9ac9f92867a6d6154473c31261a0e000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e47505557585858585858585858585856544e463d32271b0f0300030f1b26323c464e53555858585858585858585857554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000013202d394653606c79868d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8c7f7366594c403326190d000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736d737f8792979ea6acb2b9bbc0c5c7cbcac6c5c4c5c6cad0cdd0d2d1d0cfc9c5c3bcb8b2aca69f9691877f726d62594f463c32281e0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d525860626b70787f858d92989fa49f9386796c605346392d2013000000000000000000000000000000000000000000030b12181f252a2f35393c4247484b515356595b565d606162626363626261605d555b595653514b4847423c39352f2a251e18120b0300000000000000000000000000000000000000000000000000000000000000000000060c141a1f252a2f35393b4146474b4d5355585a545b6061616262636362626160605c545b59575553514b4846423b39363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a2aebac6d3ded1c5b8aca095897c6f62554b4653606d7985929fabb8c4cfd3c7baaea3998b7e7265574d42372b1b11060000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2c353e44494a4b4b4b4b4b4b4b4b4b4b4b4947433d342b20150a0000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4a48443e352c21170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4644403930271c1207000013202d394653606c7986939a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998c7f7366594c403326190d000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666d727d858f949da0a8acafb6b9bbc0c1c4c5c7cbd1c9d2ccc8c6c5c4c2bdb9b7b1aca8a09d948f847c726d625b51473e342a20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9f9386796c605346392d20130000000000000000000000000000000000000000000001070c14191e24292c31373a3b404547494c4e4c5254555556565656555454514b4e4c494745403b3a37312c29241d19140c070000000000000000000000000000000000000000000000000000000000000000000000000002090e141a1d24292c3036393b3e4247484b4d4a50535454555656565555545453504a4f4d4b484745403b3a36302d2a251e18120b0600000000000000000000000000000000000000000000000000000000000004080a0b131313131313131313131313131313120707050100000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313130b0b090501000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfcad6d7cbc0b5ab9d9184776a60544345515c6674818e9aa9b3bec9d5cbbfb4ab9d908376695f5347382d22170b0000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a232c33393c3d3f3f3f3f3f3f3f3f3f3f3f3c3b37322b22190f04000000040e18222a32373b3c3f3f3f3f3f3f3f3f3f3f3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753514a42392e23180c000013202d394653606c7986939fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366636b707b828a91969c9fa4acacafb5b5b7b9bbbfbbbcbcc0bbb9b8b7b5b2adaba7a09d96918b827a6f6a625b51493f352c22180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242930363c43474f545c60676d737b818790949386796c605346392d201300000000000000000000000000000000000000000000000002090e13191d20262b2e2f35393a3d40424145474848494949494848474541423f3d3a38352f2d2b26201d18130e08020000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181d20252a2d2e31373a3b3e403f44464748484949494948474746443f42403e3c3a38342f2d2a25201e19130c07010000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201f1413110d08020000000000000000000000000000000000000000000000000000040a0f13151620202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88949fabbcc6d0dbd4c7bbafa3998c7f7266584e43404b5463707d8997a1adb9c6d2d1c6b8ab9f95887b6e6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303132323232323232323232322f2e2b2720191007000000000006101820262b2e2f32323232323232323232302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a4034281c10040013202d394653606c7986939facb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b2a6998c7f7366594c403326190d000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665961696e757d848a8f939a9c9fa3aba8aaacaeb5aeafafb6afacabaaa8a8a19e9b95908a847e786d68605851493f372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a50555d60696e757c828a9186796c605346392d2013000000000000000000000000000000000000000000000000000001080d11151a1e2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a39352f33302d2c2924211e1a15110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1014191e2021262b2e2f322d3338393a3b3b3c3d3c3c3b3b3a3a38342e33312f2d2c2923201e1a14110d08020000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201e19130d05000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a6b0bcced8dfd2c5b9ac9f92867b6e6154473d3a4653606d7985919eabb8c4ced4c7bcb1a7998c8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324252525252525252525252523221f1b150f0700000000000000060e151b1f2122252525252525252525252423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5144382c1f12060013202d394653606c7986939facb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b2a6998c7f7366594c403326190d000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659575f616b70787d82878c909299999b9d9fa3aba2a2a3aca49f9e9d9b9896918e8a837e78716c665e564e463f372d251b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f444c51575e616a6f767d8486796c605346392d2013000000000000000000000000000000000000000000000000000000000104090e1214181d1f20232624292c2d2e2f2f30302f2f2e2d2c29242623201f1d1814120e0904010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104080e1114141a1e21222522282b2d2e2e2f2f30302f2f2e2d2d2b2823262422201f1c1814120e0905010000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393939393939393939382e2d2a251e170e050000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393932312e29221b12090000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2cdded6cabeb3a99c8f8276695e52463a3844505c6674808d9aa8b2bdc9d5cdc2b7aa9e9184786c605346392f23180c00000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161718181818181818181818181615130f0a04000000000000000000040a0f12151518181818181818181818171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070013202d394653606c7986939faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6998c7f7366594c403326190d000613202d394653606c78818181818181818181818181817e7064574d535961666c70767b7f83868a8c8e91929994959696959a9392918f8b8884817d78716c66605b544c443d342d251b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70787f7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000206070c1013141619191d2021222223232323222121201d1819161413100c070602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507090e12141518171c1f2021212223232322222121201f1c171a18151413100c07050200000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e464646464646464646464646464646453a3936302920170d020000000000000000000000000000000000000000030d19222b32373b3c464646464646464646464646464646463e3d3a342d241b11060000000000000000000000000000000000000000000004111d2935414c5663707d8a96a1adb9c5d2dfd3c6baada2978a7e7164564d4236343f4a54626f7c8996a1acb9c5d2d2c5b9aca096897c6f63554b4034291c1004000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0c0c0c0c0c0c0c0c0c0c0c0908060300000000000000000000000000030608090c0c0c0c0c0c0c0c0c0c0a0a070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e2114070013202d394653606c7986939d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d998c7f7366594c403326190d0006121f2b3844505b666c75757575757575757575757575706c615549464f545b6064696e73767a7d8082848687888889898887868584827e7b7874706c65605b54504a423a322b221b130901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d726d62564a3d3124180b00000000000000000000000000000000000000000000000000000000000000000000000406070a080d11131415151616161615151413110d070a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060808060b0f1213141515161616161514141312100b060b09070604000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353535353535353535353524746413a32291e130800000000000000000000000000000000000000010b151f2b343d434749535353535353535353535353535353534b4a453f362d22180c010000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9d5ded2c5b8ab9f9285796d6053473b302e384854606a7884919eabb7c3ced5c9bdb2a89a8e8174675c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1dbd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b969696969696969696969696969696969696969696969696969696969696969696969696969696969696969694877a6d6154473a2e2114070013202d394653606c798691919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191918c7f7366594c403326190d00030f1c28333f4a545b606868686868686868686868686864615a50443e424a5053575f6266686d71737577797a7b7b7c7c7b7a79787775726e696864605b53504a443f382f282019100901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242931363c434750545c6065625b51463a2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a0909080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606070808090a09090808070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606060606060606060605f54524c443a3025190f0500000000000000000000000000000000000007121d27313d464e54565f606060606060606060606060606060585650483f34291d11050000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c4cfdad4c8bdb2a89a8d8174675c514538292c38434e586673808d99a7b1bcc8d4cec4b8ab9f9285796d6053473a3025190d010000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cececec3b6aa9d9083776a5d5044372a1d11040000000000000001040607060401000000000000000000000000000000000000000000000000040607090b0d0d0c0b08070502000000000000000000000000000000000000000000000000000000000000030607090b0b0a0908060300000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000030608090a0b0b090706030000000000000000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a094877a6d6154473a2e21140700111e2b3744515e6a77838484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847f7265584b3f3225180c00000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e2f383f44464d5355565d60646668666d6d6e6f6f706f6e6d666a6865625f5757535049443f38332d261d160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a5053585651493f34291d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b615e564c41362a21170b0200000000000000000000000000000000040d18242f39434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625a50453a2e211509000000000000000000000000000000000000000006121f2b37434e5865727f8b98a3aebac7d6ded1c5b8aca096897c6f62554b40342927323d4855626f7c8895a0acb8c5d1d3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1c1b6aa9d9083776a5d5044372a1d1104000000000001070d10131413100d07010000000000000000000000000000000000000000070c10121316181a1a19181514120e09040000000000000000000000000000000000000000000000000000060b101213161718171515120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171613120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121515171817161312100b06000000000000000000000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada094877a6d6154473a2e21140700101d2a36434f5b677177777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777726d62564a3d3124180b000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2d33383c4247484c52545759545c6061616263636261605c545c5855534d4a46443f38332d28221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f44464b4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010406070809090a0a0b0b0b0b0b0b0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d1012131313131313131313131313131313130f0e0c08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c71797979797979797979797979797979786d685e52463e33291d140a000000000000000000000000000000010c161f2935404b55606a6f79797979797979797979797979797979716c62564a3d3124170b00000000000000000000000000000000000000000815212e3a47535f6a7783909daab4bfcbd7d7ccc0b5ab9d9184776a605443392f23212e3a47535f6a7784919daab7c2cdd6cabeb3a99c8f8275685e5246392d2015090000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4b4aa9d9083776a5d5044372a1d110400000000040c12181d2020201d18120c0400000000000000000000000000000000040a0f12181c1f2023252627262422211e1a14100c0701000000000000000000000000000000000000000002090e11171c1f202324252422211f1b15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151b1f212224252423201f1c17110e0902000000000000000000000c1925323f4c5865727f8b98a5b2bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbaada094877a6d6154473a2e211407000e1b27333f4b565f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a65625b51463a2e2215090000000a141d262d333839424242424242424242424242423d3c39332c2422282b31373a3b4145474a4d4a50535455555656555453504a4f4b4847423d3937332d28221c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e34383a3f3d3a342d251b110600000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0c0e080d1113141516161717171818181817171716141313100c070b0808060200000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f2020202020202020202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d868686868686868686868686868686857a6d615a50453b2f261b1106000000000000000000000000000008131e28313a45515d676f7c878686868686868686868686868686867e7165584b3e3225180b0000000000000000000000000000000000000003101c28343f4a54626f7c88959fabbcc6d1dcd4c7bbafa4998c7f7266584e4331271d1f2b37434e5866737f8c99a7b1bcc8d4d0c5b9ac9f92867a6d6154473c31261a0f0000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a8a89d9083776a5d5044372a1d1104000000040d161d24292c2d2c29241d160d0800000000000000000000000000040a0f151b1c23282c2d3032333433312e2d2a261f1d18120c07000000000000000000000000000000000000050d141a1c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000050c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d050000000000000000000c1925323f4c5865727f8b98a5b2bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c7baada094877a6d6154473a2e211407000b17222e39444d565b5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e585651493f34291d1206000000020b141c22282b2d3535353535353535353535353531302d28221a171c1f262b2e2f35393a3e403f44464748484949484746443f423f3b3a37312d2b27221b17110b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282c2d32312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000040607070c1013141517191a1c191d2021222223232424252525242424232221201f1c181a181514120e0908060200000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c75818e969393939393939393939393978f82756c62574d41382d22170c03000000000000000000000000040e19242f3a434f59606d798491999393939393939393939393978f82756c62564a3d3124170b0000000000000000000000000000000000000006121f2c3844505c6673808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221151b26313c4855616e7b88959fabb8c7d2d3c7bbafa3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9b9083776a5d5044372a1d11040000010c161f282f35393a39352f281f1a11080000000000000000000003090e161b20272b2e34383a3c3e40403f3e3b3a36312c29241d18120b03000000000000000000000000000001090e171f252a2e34383a3c3e3e3d3c3a37312c29241d160d080000000000000000000000000000000000000000090e161e252a2d3337393c3d3e3d3c3937332d29251e160e080000000000000000000000000000000000000000080d161d24292c31373a3c3d3e3e3c3a38342e2a251f170e0901000000000000000c1925323f4c5865727f8b98a5b2becbd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c7baada094877a6d6154473a2e2114070006111d28323b444b4f515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514b4a463f372d23180d0100000000020a11171c1f20282828282828282828282828282423201c17100b0f151a1e2124292c2d312e34383a3a3b3c3c3d3c3b3a38342e322f2e2b26201f1b17110b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202524221d1811090100000000000000000000000000000000000000000000000000000000000000000105070c10131316181c1f20222426272824292c2d2f2f30303031313232313131302f2e2d2c2823262422211e1a1514120e0906020000000000000000000000000000000000000000000000000007111a232a313538393939393939393939393939393939393534312c251d150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a606d7a84919aa49f9f9f9f9f9f9f9fa99e938b7e71695e53493f33271e150a0000000000000000000000020c16202935414c55606b74808d96a09f9f9f9f9f9f9f9f9fa59e92857b6e615a50453a2e211509000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdded6cabeb3aa9c8f8276695e52463a2d201415212d3a46535f697683909dabb5c0ccd7cbc0b5ab9d9083776a5f5347382d22170b00000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e8e83776a5d5044372a1d1104000007121d283139404547454039312c231a11080000000000000001080d151a20272b323739404446494b4d4d4c4b4846423b38352f28231c150c06000000000000000000000000020b131b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283036383f4446494a4b4a4946443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b130b020000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6baada094877a6d6154473a2e21140700000b16202932393f43444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443f3d3a342d251b110600000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050003090e1214191d20212423282c2d2e2e2f30302f2e2d2c28232522211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101213181815120d06000000000000000000000000000000000000000000000000000000000000000002080d1113181c1f202323292c2d2f313334352f35393a3b3c3c3d3d3e3e3e3e3e3e3d3d3c3b3a38342e33312f2e2b2622211e1a15120e090300000000000000000000000000000000000000000000030e19232c353c41454646464646464646464646464646464642403c372f271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e45525d68707d88939fa7b1acacacacacacafa59f92857b6e655b50443c30261c11060000000000000000000008131e28323a45515d67707d88939fa8b2acacacacacacb3a99e938a7e71685e52483f34291d110500000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd3c6baaea2988a7e7164574d42362a1e12121e2a36424d5765727f8b99a4afbbc7d4d1c7b8ab9f95887b6e62544a3f33281c0f03000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480818181818181818181818181818073665a4d4033271a0d0000010d18242f39434b5153514b433e362c231a11080000000000060b13191f262b32383d43474a51535658595a595755534d47454039342e271e180f0800000000000000000000010b141d252d333b42464a50535657585755534e4745413a312c231b1309000000000000000000000000000000000a131c242c323a4146495053555758575553504946413a322c241c130a0000000000000000000000000000000009131b232c313a4145474e53555758575653504a46423b322d251d140b0100000000000c1925323f4c5865727f8b98a5b2bababababababababababababababababababababababababababababababababababababababaada094877a6d6154473a2e2114070000040e1720282e33363737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373732312e29231b1309000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000000000206080d11131417171c1f2021222223232221201f1c17181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070c0b0906010000000000000000000000000000000000000000000000000000000000000000050c13191d2023282c2d2f2f34383a3c3d3f4142434145474849494a4a4a4b4b4b4b4a4a4a494746454042403e3b3a37312f2e2b26211e1a150f0b06000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353534e4d4841392f251a0f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222935414c56606b74808d95a0abb5c0b9b9b9b9baaea2988f82776c60584e42382e23170d030000000000000000050e1925303a444f59606d7a84919aa4afbab9b9b9b9b9b9ada1978e81756c61564d41362d22180c010000000000000000000000000000000000000713202d3946525e6875828f9ba9b3bec9d5ded2c5b8ab9f9285796d6053473b30251a0e0e1a26313b4754616e7b87939facb9c6d1d4c8bcb1a7998d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e7475757575757575757575757575736e63584b3f3226190c000004101d2935404b555d605d5550483e352c231a12080200030a11171e242931373d43474e54545c60636566676664615f5753514b444039302a211a12090000000000000000000a131d262f373f454d52545c6062646564625f5854514b433e352d251b1108000000000000000000000000000009121c252e363e444c52535b606264656462605b53524c443e362e251c1209000000000000000000000000000008111b252d353e434b5154585f6264656462605c54524d443f372f261d130a00000000000c1925323f4c5865727f8b98a5adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada094877a6d6154473a2e211407000000050e161d22272a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2524221d18110901000000000000000000000000000202020202020202020202020200000000000000000000000001040707060c101213141515161615141312100c060808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e34383a3c3f404547484a4c4d4f504c525455555656575758585857575756555453514b4f4d4b4847423f3b3a37312d2b261f1b17110a020000000000000000000000000000000000000d1925313c4650585d5f6060606060606060606060606060605b59534b41372c2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d19242f3a434f59606d79839199a3afbbc2cec6cabeb3aa9f948b7f726a5f544a3f34281f150b01000000000000020d17202935414c56616b74818e96a1acb6c0ccc6d0c4baafa59e91857a6d615a50443b30241b1106000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5cfdad5c9bdb2a89a8e8174675d514538291f14090914202d3946525e6876838f9cabb5bfcbd7cdc3b7ab9e9184786c605346392f24180c000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676868686868686868686868686866635c52473b2f23170a00000613202c3945515d676d67615a50473e352c2419140d0c10141c22282f353c42474e54586062666d6f71737372716e6965605d55514a423c332c241b12090000000000000006101c252f38414951575e61666d6f7171706f6a66605d554f473f372d231a0d04000000000000000000000000050e1b242e37404850565e61656c6f7071706f6c65615e56504840372e241b0e05000000000000000000000000040d1a232d373f474f555d60666a6f7071716f6d66615e56514941382f251c0f06000000000c1925323f4c5865727f8b98a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a094877a6d6154473a2e21140700000000040b11171b1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070809090a0908070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1720293036393a404546494c4b51535557595a5b5d565d60626263636364646565646464636261605c545b595755534d4c4847423c3a37312b27221b140b080200000000000000000000000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483c3124180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d45515d676f7c87929fa7b1bcc6d0d0c5bcb0a69f92867c6e665c50443c31271d120700000000000008141f29323b46525e68707d8a939da8b2bec7d2d2c7beb2a89d938a7d70685e52483e32291f12090000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aebbc7d6ded2c5b9aca096897c6f63554b403529170d0205111e2a36414d5665717e8b99a3aebbc7d3d2c5b9ada196897d7063554b4035291d10040000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362a1f130700000714202d3a4753606d79706c61594f473e362a251f18171c1f262d333a41454d535860626a6f74797c7e80807f7e7b77716d67605c544d453e362d241b12090000000000030e18222e37414a525b62696e74797c7d7e7d7b78736d67615951493f352c1f160c0100000000000000000000020d17202d364049515a61686d73787c7d7e7d7c78736d68615a514940362d20170d0200000000000000000000010c16202c353f49515961676d73787b7d7e7d7c79746e69625b524a41372d21180e030000000c1925323f4c5865727f8b939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393877a6d6154473a2e211407000000000000060b0e10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b51535659555c606264666768696b686d6e6f6f707071717171717170706f6e6d666a686664625f575955534e4847423c37332d261d19140d05000000000000000000000000000000121f2b3845515d6a7479797979797979797979797979797979756f65594d4034271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606a737f8c959faab4bfcad6cec2baaea3989083786d60584e43392f24180d0400000000060f1925303b44505a616d7a85919ea5afbac4d0d8ccc0b6aca1968e81746c61564c41362c20170d00000000000000000000000000000000000000000815222e3b47545f6a7783909dabb5bfcbd7d8ccc0b6ac9e9184776b605443392f24180500020e1925303b4754616d7a86929facb9c5d0d5c9bdb2a89b8e8174675d5145392c1f14080000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4b4740382e24190e0200000c1926323f4c5965727f7d706b61595048403630292423282c2f383f444c52575f616a6f767c8185898b8c8d8c8a88837e79736d665f5750483f362d251b1106000000000a15202a343f49525c646d727b8185898a8b8a88848079706b625b51473e31281e13080000000000000000000009141f29333f48515b636c717a8084888a8b8a8884807a716c635b51483e32291f14090000000000000000000008131e28323e47515b626b70798084888a8b8a8985817b726d645c52493f332a2015090000000c1925323f4c5865727f87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c5254545c60626568676d6f707274757677797a7b7c7c7d7d7d7e7e7e7e7d7d7d7c7a7978777573716e696966625f5755534d46443f382f2a251e170e080000000000000000000000000000131f2c3946525f6c79858686868686868686868686868686868175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f39434e58606d78839098a2aebac2cdd6cbbfb4aa9f958c7f736a60554b4035291f160c010000020b17212a36414d56616c75818e97a1adb7c0ccd6d0c7bbafa49a91847a6d60594f443a30241a0e050000000000000000000000000000000000000004101c2834404b55626f7c8895a0acbdc6d1dcd4c8bbafa49a8c7f7366594f4331271d120700000814202d3946525d6875828f9caab4bfcad6cfc4b8ab9f9285796d6053473b3025190e0200000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403f3b362e261c12080000000c1926333f4c5966727f867d706b615a5146413b352f2e34383e424a50565d60696e757c82898d929798999a999795908b857f786e69615a50483f372d23180c010000030f1a26313c46515b646e747f868d929797989796918c857d726d62594f433a2f24190d010000000000000000020e1a25303b45505a636d737e858d919797989797918d857e736d635a50443b3025190e000000000000000000010d19242f3a444f59626d727d858c919697989797928d867f746e645b51463c31261a0f0200000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796c605346392d20130600000000000000000000000000000000000000000004080c0e0f131313131313131313131313131307070501000000000000000000000000000000000000000000000000000000000005080a0b1313131313131313131313131313120f0a05000000000000000000000000000000000000000106090b0c1313131313131313131313131313090907030000000000000000000000000000000000000003090d111213131313131313131313131313130a0a080400000000000000000008111a22282d30313939393939393939393939393939392f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c565e6165666d6f7275777a7b7d7f808283848587888889898a8a8b8b8b8a8a8a89888786858382807e7b7875726e6a66615f57535049413d363029201a110600000000000000000000000000131f2c3946525f6c798592939393939393939393939393938e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505c666e7b86929fa6b0bbc5cfd0c6bcb1a79f92877c6f675d51453d31281e130800000a141d29333b46525e68717e8a939ea9b3bec9d2d2c7bdb2a89f93887d70685d52473e32281e1208000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221150b01000005111d2935414c5664717e8a98a2aebac6d3d3c6baaea2988a7e7164564d41362a1e110500000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b3033343535353535353535353535353533322f2a241c140a000000000c1926333f4c5966727f8c867d716c635b524d45403e3c3f44464f545b60686d747b82898f949a9ea1a9a6a6a5a7a09d97928c837b716c625a51493f34291d1205000006121f2b37434e58636d74808b92989ea1a9a4a8a19e9792877f726b61554c4135291d1104000000000000000005111e2a36424d57626c737f8a92989ea1a9a4a9a19e97928a7f736c62564d42362a1d1207000000000000000004111d2935414c56616c727f8792979ea1a8a4a9a19e98928b80746d63584e43372b1e1308000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c655b5044372b1f12050000000000000000000000000000000000000001090f14181a1b20202020202020202020202020201413110d080200000000000000000000000000000000000000000000000000060c1115171820202020202020202020202020201e1b1610090100000000000000000000000000000000060d1215181820202020202020202020202020201615130f0a0400000000000000000000000000000000070e15191d1f2020202020202020202020202020171614100b0500000000000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d7276797c7f818486888a8c8d8e909192989595969696979798989797979695949792908e8c8a8885827f7b77736e6964605b534f46413b322c2317110a020000000000000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3becad6cec3bbafa3999184796d60594f433a2f24190e0506111b262f3b45505a616e7b85929ea5afbbc4cfd7ccc0b5aba0968d80746b60564c41352c20160c0000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3ceded6cabfb4aa9c8f8276695e53463a2d211403000000010d1924303a4753606d7a86929facb8c5d0d6cabeb4aa9c8f8276685e5246392d20150a00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3232323232323232323232323232322e2d2a251e170e050000000c1926333f4c5966727f8c92877e736d615e56514b4a494a50535961666c717a80868f939c9ea6abadb3b3b3b2b1aca9a29e9590867e716c625b51453a2e22150900000815212e3a47535f6a727f8c929fa2aaadb3b1b2aca9a19993877d70675d5145392c20150a00000000000000000714202d3a46525e69717e8b919fa2aaadb2b1b2ada9a29f918b7e71695e5246392e23180c00000000000000000713202c3945525d68707d879399a1a9acb2b1b3adaaa29f928c7f726a5f53473a3025190d010004101c2834404b545c606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b53493f33271b0f03000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000911192025292c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c17100800000000000b17222c353e44494a5353535353535353535353535353534947433d342b20160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7f8286898c8e91929997999a9b9c9e9fa2aaa2a2a3a3a4a4a4a4a4a4a3a3a2a9a29f9d9b999797928f8c8884807b76706c656059524c443e3628231c140c0200000000000000000000131f2c3946525f6c7985929facacacacacacacacacaca89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adbac1cdd7cbc0b5aba0958d80746b60564c41352920170d0c17222d38414d57626c75828f97a2adb7c1cdd6cfc6bbafa4999184796d60594f433a2f231a0e05000000000000000000000000000000000000000005111e2a36424d5664717d8a97a2adb9c6d2dfd3c6baaea2988b7e7164574d42362a1e1205000000000813202c3945515d6775818e9ba9b3becad6d0c5b9ac9f92867b6e6154473c31261b0f00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3a3936302920170c0200000c1926333f4c5966727f8c9992887f766e68605d555756545c60646b70787e858d92999ea5aab0b8b9bebfc0bfbcb8b3ada79f9892877e726d62564a3d3124180b0005111d2a36414c56626f7c87929fa4aeb4b9bebebdb9b3aba49992857a6d6054473c31261b0f0300000000000004101c2834404b55616e7b86929fa4aeb3b9bebebeb9b3ada49f92867b6e61544b4034281c1004000000000000030f1b27333f4953606d7a859299a4abb3b9bdbebeb9b4aea49f92877c6e62564c4135291d110500000c18232e39424b5153545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545453504941382d22170b000000000000000000000000000000000000010b151d252c3134353939393939393939393939393939392d29251e160e0400000000000000000000000000000000000000000009121a22282d3031393939393939393939393939393937332c251c13090000000000000000000000000009131b23292e31323939393939393939393939393939302f2c272119100700000000000000000000000007111b232b313638393939393939393939393939393931302d28221a110800000004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808b8f9298989b9d9fa3aba5a7a8a9aaacaeb4afafb0b0b0b1b1b1b1b0b0b0afb3adabaaa8a6a9a19e9c9996918d87827d78706b615e56504840342e261e140a00000000000000000000131f2c3946525f6c7985929facb8b9b9b9b9b9b9b9b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303c44505b656e7b85929fa5afbbc4cfd1c7bdb1a89f93887d70685d52453e32291e13151e27333f49535f69717e8b949ea9b3bec9d3d1c6bdb1a79f93877c6f675d51473d31281e11080000000000000000000000000000000000000000000714202d3a46525e6975828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b31251a0e020000000004101d2935404b5564707d8a97a2adbac6d3d4c7bbafa3998c7f7265584e43372b1c1106000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4746413a32291e130800000c1926333f4c5966727f8c999a938c827b726d6766646365666d71767d838b92979fa3abafb7bbc2c6cacfcdcec8c5beb9b1aaa29993887f7265584b3f3225180c000713202d3946525e6875828f99a3afbabfc6cacec9c5bdb5aba1978c807366584e43372b1f120600000000000006131f2c3845515c6774818e98a2aebabec5c9cfc9c5bebaaea2988e8174665c5145382c1f130600000000000005121f2b3744505b6573808d97a1abb5bdc5c9cec9c6bfbaafa3998f8275685e5246392d201307000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746443f382f261b110600000000000000000000000000000000000009131d272f373c40424646464646464646464646464646463935302820160c020000000000000000000000000000000000000006101a242c34393d3e4646464646464646464646464646433e372e251b1005000000000000000000000006111b252d343a3d3f46464646464646464646464646463c3b38322b22190f0400000000000000000000030e19232d353c424546464646464646464646464646463d3c39332c231a100500000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9c9fa3aaa8aaacafb5b2b3b5b6b7b8babfbbbcbcbdbdbebebebdbdbdbcbbbebab8b6b5b3b3adaba8a8a09d9a938f8a837d756e68615a52443f3830261c1106000000000000000000131f2c3946525f6c7985929facb8c5c6c6c6c6c6c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea9b2bdc9d5cfc3bbafa49a91847a6d605a50443a3025191c26303844505b656e7b86929fa6b0bbc5cfd7cbbfb5aba0958d80736b60554b40352b1f160c000000000000000000000000000000000000000000000814212e3b4754616e7b86929facb9c5cfdbd5c9bdb2a89b8e8174675d514539291f14090000000000010d18242f3a4653606d7985929fabb8c4cfd7cbc0b5ab9d9083776a5f5347382e23170b000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130701010101010101010101010100000000000000000000000000000000000000000000000000000000000000010d1924303a444c525458585858585858585858585858585854524c443a3025190d01000c1926333f4c5966727f8c99a49f948f857f7a7573716f7174797d838a90959ea1a9aeb5bdc1c7cac6c5c3c3c4c6c9cac2bcb4aba49a9286796c5f5246392c1f13000714212e3a4754616d7a86929fabb5c0cad0d6dad5d0c7bdb3a99e9184786a5f53473a2e2115080000000000000713202d3a4653606d7985929faab4bfcad0d5dad5d0cabfb4aa9f9285796d6053463a2d2013070000000000000613202d394653606c7884919ea9b3bdc7d0d5dad5d0cac0b5ab9f92867a6d6154473a2e2114070000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3937332d261d140a000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353535346413a32281e1308000000000000000000000000000000000000000c17222c363e45494b53535353535353535353535353534f4940372c21160a00000000000000000000010d18232d373f464a4b53535353535353535353535353534948433d342b21160a000000000000000000000915202b353f474e5253535353535353535353535353534a49443e352c22170b00000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885929eabaeb4b4b7b9bbc0bfc0c1c3c4c5c7cad0c9c9c9cacacbcbcacacac9d0cac6c5c3c1bfbeb9b8b5b2acaca49f9c959089827a706c635c504a42382e231711070000000000000000131f2c3946525f6c7985929facb8c5d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e96a1adb9c0ccd8ccc0b6aca1968e81746c61564c41362a21232e38424e58606c77829098a2aeb8c1cdd7cec6bbaea3999083796d60594f43392f23190d0400000000000000000000000000000000000000000007131f2c38434e5866727f8c99a3afbbc7d7ded2c5b9aca096897c7063554b403529170d0300000000000007131f2c3845515c6674818e9aa9b3bec9d5d1c7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130e0e0e0e0e0e0e0e0e0e0e0e0e0a0a080400000000000000000000000000000000000000000000000000000004111d2935414c565d60656565656565656565656565656565615e564c41362a1d1105000c1926333f4c5966727f8c99a5a69f97928c86817f7d7c7e81848a90949da0a7adb3bbbfc6c7c5bfbab8b6b6b8b9bec1c6c5bdb5ac9f9285796c5f5246392c1f13000b1824313e4b5764717e8a99a3afbdc7d1dbe2e5e2d9d0c5b9aca196887b6f6255483c2f2215090000000000000a1623303d495663707d8998a2aebcc6d0dbe1e6e1dbd0c6baada297897c706356493d3023160a0000000000000915222f3c4855626f7b8896a1adbbc5d0d9e2e5e2dbd1c7bbafa3998a7e7164574b3e3124180b000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27221b140b020000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060605f524c443a3025190d01000000000000000000000000000000000005111d28343e48505557606060606060606060606060605f5a52493e33271b0f0200000000000000000006121d29343f49515658606060606060606060606060606056544f463d32271b0f000000000000000000010d1925313c4751595e5f60606060606060606060606060575550473e33281c1004000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9bfc1c4c5c7cbd1cdcecfcecccac9c8d1cbc7c5c5c4c5c5c7cbd1c9cbced0d0cecfcac6c5c2bdb8b6afaca79f9d938f857e736e605c544a3f342823190d0300000000000000131f2c3946525f6c7985929facb8c5d2dfdfdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a84919ea4aebac3cfd2c7beb2a89d938a7e70685e52463e332928343f4a545f6a727f8c949faab4bfcad3d0c6bcb1a79f92877c6f675c51463d31281d1108000000000000000000000000000000000000000000000915222e3b4854606a7784919dabb5c0cbd7d8ccc0b6ac9e9184786c605346392f2418060000000000000004101c2834404b5463707d8997a1adb9c6d2d4c8bcb1a79a8d8073665c5044382b1f13070000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b05000000000000000000000000000000000000000000000000000713202c3945525d686d7171717171717171717171717171716d685e5246392d201307000c1926333f4c5966727f8c99a5b0a9a29f98928e8c8a898b8d91969c9fa6acb1b9bec5c6bfbab8b4aeaca9a9abadb2b5b9bbc0b8ac9f9285796c5f5246392c1f13000d192633404c5966737f8c99abb5c0cfd9e3edf4ebe2d5c9bdb2a8968a7d7063574a3d3024170a0000000000000b1825323e4b5865717e8b98aab4beced8e2ecf1ece2d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724313d4a5764707d8a97a8b2bdcdd7e2ebf4ede3d7cbc0b5ab998c7f7266594c3f3326190c00000000030b12181c1f202121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201f1b17110a02000000000000000000000000000000000000000c1824313c48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c4135291d110500000000000000000000000000000000000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12050000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1c1106000000000000000004111d2936424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d201408000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad0d0d1ced0cac6c5c3c1bfbebcbbbbbfbab9b8b7b8b9bbc0bbbcbfc1c3c5c7cbd0d2d1cec8c7c0bbb9b1aba69e97928a80746d665c50443f352b1f150b01000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525d68707d89929da8b2bdc7d1d0c4baafa59e92857a6d615a50453b2f303944505c666e7c86929fa6b0bcc5d0d6cbbfb4aa9f958c7f736a5f554b40342b1f160c0000000000000000000000000000000000000000000004101d2935404b55626f7c8995a0acbdc7d1dcd4c8bbafa49a8c7f73655b5044372b1d120700000000000000000c18232e3a4653606d7985919eabb8c4ced9cdc3b8ab9e9184796d6053463a2f24180d0100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2727272727272727272727272727272423201c1710080000000000000000000000000000000000000000000000000714212d3a4754606d7a7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7a6d6154473a2e211407000c1926333f4c5966727f8c99a5b2b3adaaa29f9b999796989a9ea1a8abb0b8bcc3c7c0bbb4aeacaaa29f9d9c9ea1a9a8acafb6b8ac9f9285796c5f5246392c1f13000d1a2734404d5a6773808d9aa6b3c0d1dce7f3fdf3e5dacebeb1a4978b7e7164584b3e3125180b0000000000000c1926323f4c5965727f8c98a5b2bfcfdbe6f2fdf2e6dbd0bfb2a5988c7f7265594c3f3226190c0000000000000b1825313e4b5864717e8b97a4b1beced9e5f3fdf3e8dcd1c0b3a69a8d8073675a4d4034271a0d000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413120f0b060000000000000000000000000000000000000000010e1a2734404d59656f75797979797979797979797979797976685e5246392d20130700000000000000000000000000000000000a1724303d4955616c7179797979797979797979797979766c5f5346392d2013060000000000000000000b1824313d4a56626d7279797979797979797979797979796f6b605448382d22170b000000000000000006121f2c3845525e6a757979797979797979797979797979706c6155493c3023160a000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0cec9c5c4c1bebebab8b6b5b3b1afaeaeb4aeacabababacafb5aeb0b2b4b6b8babfc5c6cad0d4d2ccc8c3bcb8b0a9a19e928c81786d605b51473d31271d1207000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56616b74808d96a0abb5c0cbd7ccc1b9ada1978f82756c62574d413839434e58606d78839098a3aeb8c2ced7cec6baaea3989083786d60584e43392e22190d040000000000000000000000000000000000000000000006131f2c3845515d6774818e9aa8b1bdcfd9dfd2c6b9ac9f93877b6e6153493f33271b0f03000000000000000007121f2b3844505c6674808d9aa8b2bdc9d5d2c6b9ada197897d7063554b4035291d110400000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a3434343434343434343434343434343431302d28221a110800000000000000000000000000000000000000000000000915222f3c4855626f7b888b8b8b8b8b8b8b8b8b8b8b8b8b897c6f6256493c2f231609000c1926333f4c5966727f8c99a5b2bebab4aeaca8a6a4a2a4a7abadb2b7bbc2c7c1bdb5afaaa39f9b989290909197969b9fa4acb1ac9f9285796c5f5246392c1f13000c1926333f4c5966727f8c99abb5bfcbd7e3edf3ebe1d4c8bdb2a8968a7d7063574a3d3024170a0000000000000b1825313e4b5864717e8b97a9b3becad6e2ecf4ebe4d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724303d4a5763707d8a96a8b2bdc9d5e1ebf3ede3d7cbbfb4ab998c7f7266594c3f3326190c0000000000000000040607070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706050300000000000000000000000000000000000000000000020f1b2835424e5b68758186868686868686868686868686867a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e86868686868686868686868686796c605346392d201306000000000000000005111e2a36424d5665727f86868686868686868686868686867d6f63544a3f33281c0f03000000000000000613202c3946535f6c7987868686868686868686868686867e7064574a3d3124170a000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909ca9b6c2c0bdb9b7b4b2b3aeabaaa8a6a4a3a2a1aaa39f9e9e9f9fa3aba1a3a5a7aaacaeb4b8babfc6c9ced6d4cdc8c1bbb3ada49c938e80746d62594f43392f24180c020000000000131f2c3946525f6c7985929facb8c5d2dfe5dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1924303a444f59606d79849199a3afbbc3ced5c9beb3a99e938b7e71695e53493f404b555f6a737f8c959faab4bfcad4d0c6bcb0a69f92867c6e665c50463c30271d100700000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ceded6cabfb4aa9c8f8376695f5341382d22170b00000000000000000003101c28343f4a54626f7c8996a1acb9c5d2d5c9beb2a99b8e8175675d5145392c20140900000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534641414141414141414141414141414141413d3c39332c231a1005000000000000000000000000000000000000000000000915222f3c4855626f7b8895989898989898989898989895897c6f6256493c2f231609000c1926333f4c5966727f8c99acb5bdc6bfbab8b4b2b0afb1b4b8b9bdc4c7c2bcb7afaba39f98928e898583838586898e939a9fa7ac9f9285796c5f5246392c1f13000b1724313e4a5764717d8a99a3aebbc7d1dbe2e5e1d9cfc7b9aca096887b6e6255483b2f221508000000000000091623303c4956636f7c8997a2adb9c5d0dbe1e5e2d9d2c6b9ada197897c6f6356493c302316090000000000000815222f3b4855626e7b8896a0acb9c4cfd9e1e5e2dbd3c7baaea3998a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e939393939393939393939393877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a939393939393939393939386796c605346392d20130600000000000000000714202d3a46525e697683909393939393939393939393938d8074665b5044382b1f1206000000000000000613202c3946535f6c79869293939393939393939393938a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8b6b3b2acaaa8a5aaa29f9d9b99979695949498929291929299949496989b9d9fa3aaacaeb4b9bdc4cad0d8d4cdc5beb9aea59d928c7f726b60554b4035291e14080000000000131f2c3946525f6c7985929facb8c5d2d9d9d9cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515d676f7c87929fa7b1bcc6d0cfc5bbb0a69f92857b6e655b504445515c676f7c87929fa7b1bcc6d0d6cabfb4aa9f948c7f726a5f544a3f342a1e150b000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d3dfd3c6baaea2988b7e7164574d422f261b1106000000000000000000000b17232e384854606a7884919eabb7c3ced9cfc4b8ac9f92867a6d6053473b30251a0e02000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170b000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a4a4a4a4a4a4a4a4a4a295897c6f6256493c2f231609000c1926333f4c5966727f8c9aa4abb5bdc3c6c5c1bfbdbcbec0c4c5c9c3bcb8b1aba59e99928d86817c797676787a7d828790959ca49f9285796c5f5246392c1f13000714212d3a4754606d7a86929fabb5c0cad0d5d9d5cfc7bdb2a99e918477695f53473a2e2114080000000000000713202d3a4653606d7985929eaab4becad0d5dad5d0c7beb4aa9e9285796d6053463a2d2013070000000000000814212e3a47535f6a7784919ea9b3bdc7cfd5d9d5d0cabfb5ab9f92867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9386796c605346392d20130600000000000000000814212e3b4754616e7b87939f9f9f9f9f9f9f9f9f9f9f9e9184786c605346392e23170b000000000000000613202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a2aeaca9a6a8a09e9b98969892908e8c8b89888887868685848586868788898c8e9092989b9fa2aaacb2babfc6ced4d7cfc9bfb7afa59f93887d70675d51453b3025190e0100000000131f2c3946525f6c7985929facb8c5ccccccccccc1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c95a0aab4bfcbd6cdc1baaea2988f82776c60584e4f59606d79839099a3aeb9c3ced7cdc5baaea2989082786c60584e42382e22190c0300000000000000000000000000000000000000000000000714212d3a46535e6976828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b3120140a000000000000000000000006111c2c38434e586673808d99a7b1bcc8d4d3c6baaea2988b7e7164574d42362a1e1205000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb1b1b1b1b1b1b1afa295897c6f6256493c2f231609000a1724313d4a5764707d879399a3abb2bbc0c7cbd1cac9cbcec9c4bdb9b1aca79f9d938f87817a746f6c6569676d70757c838c929f9f9285796c5f5246392c1f13000613202c3945525d6875818e99a3afbabfc6c9cec9c4bdb5aba1978c7f7366574d42372b1e120600000000000006121f2c3844505c6674808d98a2aebabec5c9cfc9c5beb6aea2988d8074665c5044382b1f120600000000000006121f2b37434e5866737f8c97a1abb5bdc4c9cec9c6bfbaaea3998e8175675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8acacacacacacacaca094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4acacacacacacac9f9386796c605346392d2013060000000000000005121e2a36424d5765727f8b9aa4afacacacacacacacacada197897c6f63544a3f34281c10030000000000000613202c3946535f6c7986929facacacacacacacaca3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aaa39f9c999796918e8b8987858382807e7c7b7b7a7979787878797a7a7b7d7f8183868a8e92989ea0a8aeb4bcc3cbd4dad5c9c0bbafa49a9184796d60564c41362a1d120700000000131f2c3946525f6c7985929facb8bfbfbfbfbfbfbfb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a3aebac2ced6cabeb3aa9f948b7f726a5f5455606b73808d95a0abb5bfcbd4d0c5bbb0a69f92867b6e665b50463c30261c10070000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd5c9bdb2a89b8e8174675d5145392c2013020000000000000000000000000f1b27323d4855626f7c8895a0acb8c5d1d6cabfb4aa9c8f8276695e52463a2d20150a000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d676767676767676767676767676767676767676764615a5044392d2014080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbebebebebebcafa295897c6f6256493c2f231609000a1623303c4955616c717e879299a0a8afb6babfc5c6c6c5c3bdb9b2aca7a09d959089827b746e6862605b555d60636a6f78808a92989286796c5f5246392c1f130004111d2935414c56616e7b87929fa4aeb4b9bebebdb9b3aba3999184796d6053473c31261a0e0200000000000003101c28343f4a54616d7a86929fa3adb3b9bdbebdb9b3aca49f92867a6d61544a3f34281c1003000000000000020f1a26313c4753606d79859199a3abb3b9bdbebeb9b4aea49f92877b6e61554c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9ada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b9b9b9b9b9ac9f9386796c605346392d201306000000000000000714202d3a46525e697683909cacb6c0b9b9b9b9b9b9beb2a99a8d8074665c5044382b1f12060000000000000613202c3946535f6c7986929facb9b9b9b9b9b9b0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b556774818e9a9a98928f8d8a8784817f7c7a7877757371706f6e6d6d666b6b6c676d6d6e70727477797d81868b91969fa2aab1b9c2cbd4dbd8ccc0b6aca0968d8073685e5246392f24180d01000000131f2c3946525f6c7985929facb2b2b2b2b2b2b2b2b2a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d44515c666e7c86929fa6b0bcc5d0d0c5bcb0a69f92867c6e665c5d676f7d87939fa7b1bdc6d1d6cabeb3a99f948b7e72695f544a3f342a1e150a00000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8d7ded2c5b9aca196897d7063554b4035291d11040000000000000000000000000a16212e3a47535f6a7784909daab7c2cdd8d0c6b9ac9f93877b6e6154483c32261b0f000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679747474747474747474747474747474747474747474706c6155493c3023160a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cbcbcbc8bcafa295897c6f6256493c2f231609000814202d3944505a626c717e8791969fa4acaeb4b8b9bab8b6b2aca8a19e95918a837c756e69615e5653504b5153585f666d737e86929285796c5f5246392c1f1300010d19242f3a47535f69727f8b929fa2aaadb3b1b2aca9a19992877d70675d5145392a20150900000000000000000c17232e3846525e68717e8a919fa2a9adb2b1b2ada9a29a938a7e71685e5242382e23170b00000000000000000915202c3945515d67707d879299a1a9acb2b1b3adaaa29f928b7f72695f53433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c6c6c6c6baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdc6c6c6b9ac9f9386796c605346392d201306000000000000000815212e3b4854616e7b87939facb9c6d2c6c6c6c6cfc4b8ab9e9185796d6053463a2e23170c0000000000000613202c3946535f6c7986929facb9c5c6c6c6bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67778490918d8a8683807d7a7775726f6d686a68666463626161605c545e555c606161636568666d70757a7e848c92989fa7b1b9c2cbd4ddd2c7beb2a89f92867a6e61554b4035291d1004000000131f2c3946525f6c7985929fa6a6a6a6a6a6a6a6a6a6a69b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2834404a545f6a727f8c949faab3becad6cec2baaea3989083786d60606d79849199a4afb9c3cfd6cdc5baada2978f82766d62574d42382d22180c030000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8ded1c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000006121f2b37434e5866737f8c99a7b1bcc8d4d4c7bbafa4998c7f7266584e43372b1c11060000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc0b3a79a8d808080808080808080808080808080808080808080807d7064574a3d3124170a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d7d5c8bcafa295897c6f6256493c2f2316090004101c28333e48505a626c717c848d939a9fa3aaabacadabaaa8a19e96918b837d766f6b625f57524c46444045474e545c606c717d869285796c5f5246392c1f13000008131e2b37424d57626d74808b92989ea1a9a4a8a09e9791877e716b60554b403529180e03000000000000000006111c2a36414c56616c727f8a92979ea1a8a4a8a19e9792887f726c61564c4130261c1106000000000000000004111d2935404b55606b717f8791979ea0a8a4a9a19e98928b80746d62574d4231281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2d2c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000005121e2a36424d5765727f8c9aa4afbbc8d4d2d2d2d2d2c6b9ada197897d7063544a3f34281c100300000000000613202c3946535f6c7986929facb9c5d2d2cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a878984817d7a7673706e68686563615e565b59585655555453514b514b515354555659545c6064676d71797f8690959fa7b0b8c2ced7d9d0c4baaea3988d8073675d5145392c201307000000131f2c3946525f6c798692999999999999999999999999998e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18232e39424e58606c77828f98a2aebac1cdd6cbbfb4aa9f958c80736a6b74808d96a0abb5c0cbd5cfc5bbafa59f92857b6e615b51453b2f261c0f0600000000000000000000000000000000000000000000000004111d2935404b5563707c8996a0acbec7d2ddd3c7bcb0a6998c8073655b504437281d130700000000000000000000000000030f1b26313c4855616e7b88959fabb8c7d2d7ccc0b5ab9d9184776a5f5447382e23170c0000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecec1b5a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000b17222c363f48505a616a6f7980878e92989c9e9fa29f9d9a96918c847e78706c636059534d46413b3735393c424a505a616b707d8686796c5f5246392c1f130000010e1a26313c45515b646e747f868d929797989796918c857d716c62594f43392f241806000000000000000000000d1925303a44505a636d727e858d919697989796918d857e726d635a50443a301e140a000000000000000000010d18242f3a434f59626c717d858c919697989797928d867f746e645b51453c311f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000714212d3a46535e697683909dacb6c0ccd8e4dfdfe1d5c9beb3a99a8d8174665c5044382c1f120700000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c807c7874706d676664615e56585654524c4f4d4b494848474645404540454747484a4c4b5153555d60676d737b8390959fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6053473a2e23180c000000131f2c3946525f6c79868c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c44505b656e7b85929fa5afbbc4cfd0c6bcb1a79f92877c6f707d89929da8b2bdc7d2d5c9beb3a99e938b7e71695e52493f33291d140a000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdd0d9dbd0c4b7ab9f94887b6e6153493f3327160c0100000000000000000000000000000a15212d3a46535f697683909dabb5c0ccd7d2c7b8aca095887c6f62544a3f34281c100300000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced1c5b9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f231609000005101a242d363f48505860676d747c81868c8f92939792908e89847f79716d66615a544f47423c36302b292c30383f445059606b707d85786c5f5245392c1f1200000009151f2a333f49525c646d727b8085888a8b8a88847f79706b625a50473d31281d12070000000000000000000008131e29323e48515b636c717a8084888a8b8a8884807a716c635b51483e32291e0c020000000000000000000007131d28313d47505a626b70797f84888a8b8a8885807b726d645c52493f332a1f0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000815212e3b4854616e7b87959fabbec7d2dde8f4f2e6dacfc4b8ab9e9285796d6053463a2e23180c00000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f746f6c6563605d555754524c4c4947464142403e3d3c3b3a3a38342f34383a3a3b3d3f4045464b51555c60696e7a8390949faab3becad6dcd0c6baaea2988a7e7164544b4034281c100400000d192633404c5966737f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b3bec9d5cec3bbafa3999184797a84919ea4aebac4d0d6ccc4b9ada1978f82756c61574d42372d21180b02000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4cecececabfb4aa9c908376695f5341382d22170b00000000000000000000000000000005121e2a36424d5765727f8b99a4afbbc7cecec8bcb1a79a8d8074665c5044382c1f130800000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6cbc0b6aea9a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000008121b242d363e464e555d606a6f747a7f828586868583817c78726d67605c545048433d37312a251f1d1f262e343e474f59606b707d7064574a3d3124170a000000030e18212d37404a525b62686e74797c7d7e7d7b77736d67605950483f352b1f160c0100000000000000000000020d17202c363f49515a61686d73787c7d7e7d7c78736d68615a51493f362c20170c0000000000000000000000010c161f2b353f48505960676d73777b7d7e7d7c79746e68625b524a40372d21180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000005121e2a36424d5766727f8c99a7b1bcd0d9e4eef9f7ebdfd2c6b9ada197897d7063544a4034281c1004000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626763605b5353514b4a4746413f3c3a3936303331302f2e2e2d2c2823292c2d2e2e302e34383a40454b51575e686d79829098a2aebac3ced9d6cabfb4aa9c8f8275665c5145382c1f130600000c1825323e4b57636d73737373737373737373737373737373706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57626c75818f97a1adb9c0ccd7cbc0b5aba0968d80818e96a1adb6c0ccd5cfc4baafa59e92857a6d615a50453b30241b0f060000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac1c1c1c1c1baaea2988b7e7165574d422f261b1106000000000000000000000000000000020e1a26313b4754616e7b87939facb9c1c1c1c1c1b8ab9e9285796d6053463a2f24190d01000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd2c8c0b9b5b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d6d5c8bcafa295897c6f6256493c2f2316090000000009121b242c343d434b51586062686d727678797a787774706c65605c55504a423e38322b2620191410151c2328353d474f59616c706c6155493c3023160a00000000060f1b252e38404951565e61666d6f7171706e6a66605d554f473f362d23190d04000000000000000000000000050e1a242e373f4850565d61656c6f7071706f6c65605d5650483f372e241a0e05000000000000000000000000040d1a232d363f474f555d60666a6e7071716f6d66615e56514940382e251b0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000714212d3a46535f697783909daab6c2cdddebf5f7f7eee2d5c9beb3a99a8e8174665c5144382c1f1207000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555a565350494745403d3b393630302e2d2a25262523222221201f1c181c1f2021222323282c2f353940454d565d676e7a85929fa7b1bcc8d4dbd0c5b8ac9f9286796d6053463a2d20130700000a16222f3b46515b636666666666666666666666666666666664615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea5afbac4d0d1c7bdb2a89d928d8e939ea8b2bdc8d2d5c9bdb2a89e938a7e70685e52483e33291f120900000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4b4b4b4b4b4b4b4ac9f92867a6d6054473c3121140a00000000000000000000000000000000000914202d3946525e6876838f9cabb5b4b4b4b4b4b4ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced3d3d2cbc5c1c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8c9c9c9c8bcafa295897c6f6256493c2f231609000000000009121a222b313940454e54565e616569666d6d676a6763605b53514b443f38302c27211a150d08040a1117232b353d474f59616461594f44392d201408000000000009131d262e373f444d52545c6062646564625f5853514b433d352d241b1108000000000000000000000000000008121c252e363e444c52535b606264656462605b53524c443e362e251c1208000000000000000000000000000008111b242d353d434b5153585f6264656462605c54524d443f372e261d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000815222e3b4855616e7b8895a0abb8c4d1ddeaebeaeaebe6dacfc5b8ab9f9285796d6053463a2e23180c000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347494e4946443f3a39352f2e2d2a252321201d191a18161515141313100c101314141517181c1f24292f343b434c555e68727f8b95a0acb8c7d1dcd3c7baaea398897c6f6256493c2f231609000006121e2a354049515759595959595959595959595959595959575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525e68707d8a939da8b2bdc7d2cfc3baaea49d9a9b9ea5afbac4cfd6ccc4b9ada1968e81756c61564c41362d21170d0000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fa8a8a8a8a8a8a8a8a8a89b8e8175675d5145392c201302000000000000000000000000000000000005111e2a36414d5665717e8b99a3a8a8a8a8a8a8a8a8a99b8e8175685d5245392c201306000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbdbdbdbdbdbcafa295897c6f6256493c2f2316090000000000000810191f272f353d43474c525459545c60605d555b56535049454039342e261e1b160e0903000000061119232b353e474f5557554f473e33281c10040000000000010b141d252d323b41464a50535557585755534e4745403a312b231b1209000000000000000000000000000000000a131c242c323a4146495053555758575553504945413a322c241c130a0000000000000000000000000000000009121b232c313a4045474e53555758575553504a46413b322d241d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000006121e2b37424d5766727f8c99a7b1bcc8d4e0e1dedddddee1dfd3c6baada2978a7d7063544b4034281c10040000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c413c3937332d2c292421201e19161413110d08070c10131315171718181818171615131213181d2329313a434c56606d7883909dabb5c0cbd7d6cbbfb4aa988c7f7265594c3f322619060000020d19232e3740464b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212a36414c56616b74818e96a0abb5c0ccd7ccc0b6aea9a7a8aaafb7c1ccd6d0c4baaea49e91847a6d605a50443a30241b0f05000000000000000000000000000000000000000000000000000006121f2b3844505b6673808c999b9b9b9b9b9b9b9b9b9b9b96897d7063554c4135291d11040000000000000000000000000000000000020e1925303b4754616d7a86929b9b9b9b9b9b9b9b9b9b9b92867a6d6054473a2d211407000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb0b0b0b0b0b0b0afa295897c6f6256493c2f23160900000000000000070d151d242932373a4146474c4a505353514b4e4946443f38342e28231c140c0a0400000000000007111a232c353e44494a49443e352c21170b00000000000000020b121b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283035383f4446494a4b4a4846443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b120b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000814212e3a47535f697783909daab7c3cdd9d9d4d1d0d1d2d5d9d6cabeb3a99b8e8174665c5145382c1f13070000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f34302d2b27221f1d181414110d08070c10131417181c1f2022232425252525242321201f1b1714181f28313b44505c66717e8b99a3afbbc7d4dcd0c1b4a89b8e8175685b4e422d22170b00000007121c252e353b3e404040404040404040404040404040403d3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a4afbbc3cfd2c8c0b9b5b3b4b6bac1c9d3d2c7bdb2a89d92897d70685d52483e32291e12090000000000000000000000000000000000000000000000000000000613202d394653606c79848e8e8e8e8e8e8e8e8e8e8e8e8e8e84786c6053463a2f24190d010000000000000000000000000000000000000814202d3946525d6875828e8e8e8e8e8e8e8e8e8e8e8e8e8b7e7165584b3e3225180b000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadada79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a295897c6f6256493c2f2316090000000000000000030b121820272b3035393a3f3f4446474540413d3937332d28231d17110a0200000000000000000008111a232c33393c3d3c39332c231a1005000000000000000000090e171f252a2e34383a3c3e3e3d3b3a37312c29241d160d080000000000000000000000000000000000000000080e161e24292d3337393c3d3e3d3c3937332d29241e160e080000000000000000000000000000000000000000080d161d24292c31373a3b3d3e3e3c3a38342e2a251f170e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000815222f3b4855626e7b8895a0acb8c4d5d5cec8c5c4c4c5c9ced6cfc5b8ab9f9285796d6053463a2f23180c0000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222723201f1b1713100c0707070d1013181d1f202323282c2d2f30313132323131302e2d2b272221201d1f28343f4a54616d7a86929facb9c5d2dccfc3b6a99c90837669544a3f33281c0f030000000a131c232a2f323333333333333333333333333333333331302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515d676f7d87939fa7b1bdc6d1d2cbc5c1c0c1c2c6cbd3d7ccc0b5aba0968d81746b61564c41362c20170d000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8181818181818181818181818181817e71665b504438281e13080000000000000000000000000000000000000005111d2935414c5663707d81818181818181818181818181817f7265594c3f3226190c000000000000000000000000000000000000000f1c2835424f5b6875828e9ba0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895969696969696969696969695897c6f6256493c2f23160900000000000000000001070c151b1e25292d2e2e34383a3a39352f302d2b27221b18120b0600000000000000000000000008111a21282d3031302d28211a11080000000000000000000000050d14191c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000040c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000006121f2b37434e5866737f8c99a7b1bcc8d4ccc3bdb8b7b7b9bdc4ccd3c6baada2978a7d7063554b4034291c100400000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161b1613120f0b060403090e12181d2024292c2d302e34383a3b3d3e3e3f3f3e3d3d3b3937332d2d2c2924232e3846525e687683909ca9b6c3cfdcd1c4b8ab9e918578665b5044382b1f1206000000010a12191e2225262626262626262626262626262626262423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202935414b55606b73808d95a0abb4bfcbd7d6d1cecdcecfd2d7d9cfc7bbafa4999184796d60594f443a2f241a0e05000000000000000000000000000000000000000000000000000000000714212d3a46535f696e757575757575757575757575757575716c62544a3f3328160c0100000000000000000000000000000000000000010d1924303a4854606b707575757575757575757575757575726d62574a3e3125180b000000000000000000000000000000000000000f1c2835424f5b6875828e93939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b888a8a8a8a8a8a8a8a8a8a8a8a8a897c6f6256493c2f2316090000000000000000000000040a0f13191d202123282b2d2d2c292423201f1b17110c070000000000000000000000000000000810171c20232423201c1710080000000000000000000000000002080e11171c1f202224252422211f1a15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151a1f212224252422201f1c17110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000815212e3a47535f6a7784909daab7c3cdcec3bab2acaaaaacb2bac4cecabeb3a99b8e8175675c5145382c1f130700000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090e090605030002080d141a1d24292c2f35393a3d40404546484a4a4b4b4b4b4a494846443f3d3a39352f2c2a36414c5666727f8c99a5b2bfccd8d2c6b9ac9f9386796c605346392d2013060000000000070d12161819191919191919191919191919191919171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f3a434f59606d79839099a3aebac2ced7e2dbdadbdbdedcd1c7bdb1a89f93877d6f675d51473d32281e1208000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6168686868686868686868686868686865625a5042382d22170b00000000000000000000000000000000000000000008131e2c38444f596063686868686868686868686868686865625b51463a2e221609000000000000000000000000000000000000000f1c2835424f5b687581868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e0000000000000000000000000000000000000000000714212d3a4754606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d2114070000000000000000000000000002080d111314171c1f2020201d181613120f0b06000000000000000000000000000000000000050b101416171614100b050000000000000000000000000000000000060b101213161718171514120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171513120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121415171817161312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000915222f3c4855626f7b8895a0acb8c5d4c8bdb2a8a09d9ea0a8b2bdc9d0c5b8ab9f9285796d6053473a2f24180c00000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000060b14191f252a2f35393a4045474a4c4b5153555657585858585756545350494a4745413a3834303e4a5764717d8a97a4b0bdcad7d4c8bbafa49a867a6d6053473a2d20140700000000000002060a0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d45515c666f7c86929fa6b0bcc5d0dbe7e6e7e8e3d7cbc0b5aba0958d80736b60554b40352c20160c000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f2f261c110600000000000000000000000000000000000000000002101c27333d474f54565b5b5b5b5b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000000000000000000000000000000000714202d3a4753606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000613202c3945515d676d7070707070707070707070707070706d685d5245392c201307000000000000000000000000000000010507060b1012131413110d070605030000000000000000000000000000000000000000000004080a0a0a0804000000000000000000000000000000000000000000030607090b0b0a0808060200000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000020608080a0b0b0907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000006121f2b37434e586673808c99a7b1bcc8d1c5b8aca096919196a0acb9c5d2c6baaea2988a7d7064554b4035291d1004000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e252a3136394045474b51535659555c6062636464656564646361605b535754514b46443f383c4956636f7c8996a2afbcc9d5d8ccc0b6a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949faab4bfcad6e2eef4ede0d3c7bbafa3999184796d60594f433a2f231a0d040000000000000000000000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d1d140a00000000000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000000000000000000000000000006131f2c3845515c676d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000000000000000000000000000000000000000004111d2935414b555d60636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000000000003060707060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000815212e3a47535f6a7784919daab7c3ced0c4b7aa9d918484919eaab7c4d1cabeb4aa9b8e8175675d5145392c1f1307000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232830363b42464b5153555d60636669676d6e70717172727170706e6c656764605d5553504a45404855626e7b8895a1aebbc8d4ddd2baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c78829098a2aebac6d3dfecede0d4c8bcb1a79f92877c6f675c51473d31281d11080000000000000000000000000000000000000000000000000000000000000000030d18212931363a3b4242424242424242424242424242423e3d3a342d241b0b020000000000000000000000000000000000000000000000050f1a232b33383c3d42424242424242424242424242423f3e3a352d251b1107000000000000000000000000000000000000000004101c2934404b555c6060606060606060606060606060606060606060606060606060606060606060606060605c544b4034281c1004000000000000000000000000000000000000000000010d18242f3a434b515457575757575757575757575757575754524c443a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0909070704010000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000915222f3c4855626f7c8896a0acb8c5d5cdc0b4a79a8d80818e9ba8b4c1d1d0c5b8ac9f9285796d6053473a2f24180d010613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171e262e343b41464d53555d6064676d70737578797b7d7d7e7e7e7e7d7c7b797774706d6764605c54514b4754606d7a8793a0adbac6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c44505b666e7b86929facb8c5d2dfebeaded1c5b8aca0958c80736a60554b40352b1f160c00000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e35353535353535353535353535353532312e29221b12090000000000000000000000000000000000000000000000000008111a21272c2f30353535353535353535353535353532312e29231b130a000000000000000000000000000000000000000000000c18232f39434b51535353535353535353535353535353535353535353535353535353535353535353535353514b42392e23180c000000000000000000000000000000000000000000000007131d28313a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707080808080808080808080807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070d1013141516171716151413110d0806050300000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060006131f2b37434e586673808d99a8b2bdc8d4cabeb3a9988b7e7f8c99abb5c0cbd3c6baaea2988a7d7164554b4035291d10040613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212930383f444c52575e61676d71757a7d7f82858688898a8b8b8b8b8a89878583817d7a76716d66605d555053606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57626c76838f9ca9b6c2cfdce9eaddd0c3b7aa9d9084796d60584e43392f23190d040000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222828282828282828282828282828282524211d171109000000000000000000000000000000000000000000000000000000080f161c20222328282828282828282828282828282625221e18110a010000000000000000000000000000000000000000000007121d273139404547474747474747474747474747474747474747474747474747474747474747474747474645403930271d12070000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f2820160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11131414141414141414141414141413110d0801000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e121415181d202022232323232221201d191613120f0b060000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000815222e3b47545f6a7784919eaab7c3ced2c6b9ada197887c7d8999a3afbbc7d3cabfb4aa9b8e8275675d5145392c2013080013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333b424a50565e61696e73797e8285898c8f91939a96979798989797969892908d8a86827d79736d67605b54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69717e8b949fabb7c4d0dde9ebded2c5b8ab9f92857b6e665b50443c30271d120700000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b191816120d07000000000000000000000000000000000000000000000000010b151f272f34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b00000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021212121212121212121212121201d19130c040000000000000000000000000000000000000000000000000106090b0c131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10141a1e212224292c2d2f2f30302f2f2d2c292422201f1b17110d08020000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000916222f3c4955626f7c8896a0acb9c5d5d1c5b8ab9e9285787a86929facb9c5d2d0c5b8ac9f92867a6d6053473a2f24190d0113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353e454d545c60686e747b80858a8f9298999c9e9fa4aca4a4a5a5a4a3aaa29f9d9a99928f8a847f79716c665e606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc7d3dfececdfd3c6baaea2989082786c60584e43392e23180d0400000000000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0906010000000000000000000000000000000000000000000000000000030d151d23292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c030000000000000000000000000000000000000000000000000000040c13181d202124242424242424242424242424242421201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d0400000000000000000000000000000000000000000000060d1215181820202020202020202020201f1515120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f262a2d2e2f35393a3b3c3d3d3c3c3a39352f2f2d2b27221b19130b0600000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130606131f2b37434e586673808d99a8b2bdc8d4ccc0b6ac9b8f82757783909daab6c3cfd3c7baaea2988a7e7164554c4135291d110413202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d363e474f575e666d727a81878d92979b9fa2aaa8abacafb6b0b1b1b1b1b0b4aeacaaaba39f9c97918c847e786e68606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232f39434e58606d78839098a2aeb8c2cdd8e4e8e6e2d6cabeb4aa9f948c7f726a5f554b4034281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b030000000000000000000000000000000000000000000000000000000001070d1113141717171717171717171717171717171413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3a39352f2820160c0100000000000000000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2c22211f1b150e060000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151d23282c31363a3b3f40454748494a4a49484745413f3c3937332d29241e17110a020000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060815222e3b4754606a7884919eabb7c3ced4c8bbafa49a8b7e7173808d99a9b3becad6cabfb4aa9b8f8275675d5145392c20130813202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d373f48505961696e787f858e92999fa2a9acaeb4b5b8b9bbc0bdbebebebebdbfbab8b6b5aeaca9a19e97918b827a706b6d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202934404b555f6a727f8c949faab4bfcad4dedcdbd9dadbd0c5bcb0a69f92867c6f675c51453d31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0d0e0e0e0d0c0c0b090707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c101314141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323a41464747474747474747474747474745413a32281e13080000000000000000000000000000000000000009131b23292e31323939393939393939393939392f2e2b26201810060000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383b4246484c4b515355565656565554524c4c4946443f38353027221b140b0600000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013030f1b27333f4953626f7c8996a1acb9c5d5d2c6b9ac9f93877b6e6f7c8997a2adbac6d3d0c5b8ac9f92867a6d6054473a2f24190d13202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19232c363f49515a616b707b828c92989fa3abadb3b8babfc2c4c6c8c9c5c4c3c2c0c0c0c1c3c3bfbbb9b2ada9a19e948f857d706d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515c676f7c87929fa6b0bcc5d0d7d3d0cfcccdd1d7cec2baaea3999083796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080d1113141618191a1a1b1b1a1a191818161413110d0807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c5254545454545454545454545454524c443a2f24190d01000000000000000000000000000000000006111b252d343a3d3f4646464646464646464646463c3a37312a22180d03000000000000000000000000000000000000000000000000000000000000000000000000080e161e242930394045464d535558555d60626263636262605d56595553504946413a332d261d180f0a010000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201305121f2b3744505b6573808d9aa8b2bdc9d5d0c3b6aa9d908377696d7985929fabb8c5d2d3c7baaea3988a7e7164564c4135291d1113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353e48515b626c717d8590949fa2aaafb5babec5c6cacac6c5c1bdb9b7b6b5b4b3b3b5b6b8b9bdc2beb9b2ada69f9792867d70798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a444f59606d79839199a3aeb9c2ced3ccc7c3c2c0c1c5cad7cbbfb4aba0958d80736b60554c41352920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c10121316191d20212324262627272827262625242321201d19171413110d08050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424c565e616161616161616161616161605d564c4135291d110400000000000000000000000000000000010d18232d373f464a4b5353535353535353535353524847433c342a1f150b010000000000000000000000000000000000000000000000000000000000000000000008111a202830353e434b5153575f616568676d6e6f70706f6f6d68696662605b53524c443f382f2a211c130b0200000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130613202d394653606c7884919eabb7c4ced5c9bdb2a8998c7f73666675818e9babb5c0ccd6cbbfb4aa9c8f8275685d5245392c201308202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d47505a626d727e8792979fa6aeb4bbc0c7cacfc9c5bebab8b5b2acaaa9a8a7a6a7a8a9abadb2b6b9bbbeb9b0a9a19892877d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56606b74808d95a0abb5bfcbd3cac1bbb7b5b3b4b9c0c8d1c6bdb1a79f93877d6f675d51453e32291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f202324292d2e2f3132333434343433323231302d2c29242421201d1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545e686d6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013070000000000000000000000000000000006121d29343f4951565860606060606060606060605f55534e463c31271d120700000000000000000000000000000000000000000000000000000000000000000008121a232c323a41454f555c6064696e7275777a7b7c7d7d7c7b7a7876726f6c65615d565049413c332e251d140b01000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130f1b27333f4953626f7c8996a1adb9c5d6d2c5b9ada196887c6f6264717e8b99a4afbbc7d4d0c5b9ac9f92867a6d6054473a3024190d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a444f59616c727f889299a2a9b0babec5cbd0cac5beb9b3adaba8a8a09e9c9b9a999a9b9c9ea1a9a9acafb5bbbbb3aaa39992857b8894a1aebbc7d4d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323b45525d68707d88939fa7b1bdc6d1cdc1b8b0aaa8a6a8aeb6c0cbcfc3bbafa49991847a6d605a50443b3025190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2f3035393a3c3e3f4040414141403f3f3e3c3a393530312d2c2924211e1a14100b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415161616161616161616161616161616161616161616161616161616161616161616161615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e212121201e19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d7a7a7a7a7a7a7a7a7a7a7a7b7a6d6054473a2d211407000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c625f584e43392f23180e050000000000000000000000000000000000000000000000000000000000000008111a242c353e444c525961676d71777b7f8284868889898989888785827f7c78726d68605b534e453f372e261d140a010000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013121f2b3744505b6574808d9aa8b2bdc9d5d1c4b8ab9e9184786a5f616d7a86939facb9c6d2d3c7baaea3998b7e7164564c4135291d11202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414c56606b717e88939aa3abb3bbc2cad0cec5bfbab3ada9a29f9b979691908f8d8d8d8e909196989c9fa4abafb5bcb4aba1979083909ca9b6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d7a84919aa4afb9c3cfcfc5bbb0a69e9c999ca4aeb9c3cfccc0b5aba1968e81746c61564c41362a21180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d13181c22282b2e34383a3c3f414647494b4c4d4d4e4e4d4d4c4b4b49474541413e3a39352f2d2a261f1c160f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222323232323232323232323232323232323232323232323232323232323232323232322221f1b150e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a2d2e2e2d2a251e18130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d788587878787878787878787877e7164574b3e3124180b000000000000000000000000000000000b1824313d4a56626d727979797979797979797979796f6a5f554b40342920170b02000000000000000000000000000000000000000000000000000000000007111a232c363e474f565d606b70797e83888b8f91939a959696959596918f8c88847f7a726c655f57514940382e261c130a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201313202d394653606c7884919eabb8c4cfd5c9beb3a99a8d817467585e687683909da9b6c2cdd7cbbfb4ab9c8f8275685d5246392d2013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e686f7d86929aa4acb5bdc5cdd6ccc4bcb4aea9a19e97928e8b87848382818080828385888c8f93999fa4abb0bbb3a99f9490949fabb7c4d0ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d56616c75818e96a1acb6c0cbd6cabeb3a99e948f8d929ca7b1bdc6d1c7bdb2a89d938a7e70685e52463f332a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d24292d333839404446494c4c5254565759595a5a5b5a595958575654524c4d4a4745413b3a36312c271f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c222831363a3b3b39363029241d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a9794949494949494949285796d6053473a2d201407000000000000000000000000000000000c1825323f4b5865727f8686868686868686868686867c6f675c51453e32291d140a00000000000000000000000000000000000000000000000000000000060f19232c353e48505961686d747d848b9095989b9e9fa4aca3a3a2a9a19e9c9996918c867f776e6a635b524a40382e251c120800000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d200f1c28333f4a54636f7c8996a1adb9c5d6d2c6b9ada197897d7063565665727f8c98a7b1bcc8d4d1c5b9ac9f92867a6d6154473a302519202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3943505a616d7a859198a3acb6bec7cfd4cbc3bab2aaa29f97928b85827e7b7776757473747576787b7f83878e93999ea6aeb5b0a69f9c9fa6b0bbc7d3dfd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea8b2bec7d2ccc4b9ada2978f82808d95a0abb4bfcbd0c4baafa59e92857a6e615a50453b30261c11060000000000000000000000000000000000000000000000000000000000000000000000000002080d161d24292f35383f44464a51535659565d6162646566676767676665656463605d565a5754514c4846423b38332b28221c140b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181d262d333b4246484746413b352f28231c150c0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828e9ba9a1a1a1a1a1a89a8e8174675d5145392c1f1306000000000000000000000000000000000b1824313d4a56626d75828f9793939393939393989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000030e18212b353e47505a616b707a818a91969d9fa7a8aaacafb6b0b0afb2adaba9a8a09e98928b837b726d645c524a40372e241a0e04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20121f2b3844505b6674808d9aa9b2bdc9d5d1c5b8ab9e9285796d605354616e7b87959fabb8c7d2d3c7bbaea3998b7e7165564c41362a1d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000000000004101d2935404b55616c75818f97a1aab4bec7d0d4cac2b9b1a8a198928c857f7975716e69696867666768696a6e72767b81878f949fa3abb2b0aba9abb0b8c2cdd8e4d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303844505b656e7b85929ea5afbac4d0cfc4baafa59e92857a79839099a3aebac2ceccc0b9ada1978f82756c62574d42382e23170d030000000000000000000000000000000000000000000000000000000000000000000000050d14191f282f353a40454a5053545c60626669686d6f71727373747474737272716f6d68696764605d5555534d48443d38332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333b424648494949494949494949494949494949494949494949494949494949494949494949494947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821292f383f444d535454524c45403a342e271e1b160f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facadadadadaca096897c6f63554b4035291d1004000000000000000000000000000000000915222e3a46515b616d7a85919aa49f9f9f9f9fa0958d80746b61564d41382d22170d040000000000000000000000000000000000000000000000000009151f2a333d474f59616c717d848e939ea1a8abb1b5b7b9bbc0bcbcbcbdb9b8b5b2acaaa29f9490867f746e645c524940362c20160c020000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013202d394653606c7885919eabb8c4cfd5c9beb3a99a8d8174665c50535e697683909dacb6c0ccd7cbbfb5ab9c8f8276685e5246392d20202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000000000006131f2c3945515d67717e8a939ea9b3bcc6d0d6cdc2b8b0a79f9691867f79726d6764615e565c5a5a5a5b585f6265696e757b828c9299a1a9b2b7b6b7bbc2cad4dee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adb7c1ccd5c9bdb2a89e938a7e716f7c86929fa6b0bcc5d0c9beb3a99e948b7e71695f544a3f34281f150b01000000000000000000000000000000000000000000000000000000000000000000070e171f252a313a41454b51545b6063666d6f7275787a7c7e7f8080818180807f7e7e7c7a787674716d6765615f57544f46443f382f29241d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555656565656565656565656565656565656565656565656565656565656565656565655544e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d2328333b424a50575e61615e56514b444039302c27211b150e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727e8b98a3aebabac0b6ac9e9184786c605346392f24180c000000000000000000000000000000000006121d29343f46525e68707d88939fa7b1acacb1a79d928a7d70685e53493f33271f160c010000000000000000000000000000000000000000000000040d1a26313c454f59616b717e8791979da5adb2b8bcc2c4c6c5c3c2c2c3c5c5c4c2bdb9b4aea69f98928c80746e635b51483e32281e13080000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201c28343f4a5463707c8997a1adb9c6d6d2c6b9ada197897d7063544a4d5765727f8c9aa4afbbc8d4d1c5b9ac9f92867a6d6154473b3025192c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e08010000000000000000000000000005111d2935414c56606d7984919ea5afbbc4cfd8d0c4bbb0a69f9590847c736d67605c5554524d4f4e4d4d4f4e5355575f62696e777f879197a1a9b3bcc6c7cdd4dce6e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3bec9d3ccc3b9ada1968e81756c6a727f8c949faab4bfcacfc5bbb0a69f92867b6e665c50443c31271d120700000000000000000000000000000000000000000000000000000000000000010a1119202930363e434b51555d60666c7074797c7f828587898a8c8c8d8d8e8d8c8c8b8a89878582807d7a76726e6963605953504a423c352f271f181008000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6163636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e272e343e454d545b60696e6e68605d55514a423e38322b26201a140d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000010d18232a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d120700000000000000000000000000000000000000000000010c16202b37424d57606b707d879299a1a9afb9bdc4c7c6bfbab8b7b5b5b6b8babec5c8c5bfbab0aaa39f928d80736d635a50443a3025190b0200000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201f2b3844505c6674818d9aa9b3bec9d5d1c5b8ab9e9285796d6053464854616e7b87939facb9c6d2d4c7bbafa3998b7e7265564c41362a1e2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b020000000000000000000000000713202d3946525e68737f8c97a1adb7c1cdd6d2c7bdb2a99f948f837a6e6a605d55514b47464242414041424347484d53575f656c727c859197a2aab4bfcad6e0e6eee1d4c7bbaea194887b6e6155483b2e22150800000000000000000103040404040404040404040404040404040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc5cfcfc3baaea49e91847a6d60606c78829098a2aebac1cdcdc1baaea2989083786d60584e43392f23180d040000000000000000000000000000000000000000000000000000000000010a131b232b323b414650555d60676d72787c8185898c8f9297959798999a9a9a9a999898979697918f8d8a86827f7b76706b64605b544e454039312a221a1109010000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e707070707070707070707070707070707070707070707070707070707070707070706f6a5f54473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101920293039404550575f666c727b7a736d67605c545048443d37312a251f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0b01000000000000000000000000000000000000060d1925303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0500000000000000000000000000000000000000000008131e28323a47535f69707d869299a3abb2bbc1c9c2bcb7b4aeacaaa8a8aaabadb3b9bbc0c7c2bcb4aea49c928c7f736c61564c4135291d140a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20202d3a4653606d7985929eabb8c4cfd5c9beb3a99a8d8174665c504446535e697683909dacb6c0ccd7cbc0b5ab9c8f8276685e5246392d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b0100000000000000000000030f1c28333f4a54616d7a85929fa9b2bec9d3d7ccc0b5aba1968f82796e685f58514b45403b3a363034333431373a3c42474d535b606a6f7c859298a2aebac2ced8e2ede1d4c7bbaea194887b6e6155483b2e221508000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a2aeb8c2cdd1c7bdb2a89d92897d70685d5b666e7b86929fa6b0bbc5cfcabfb4aa9f948c7f726a5f554b4034291f160c01000000000000000000000000000000000000000000000000000000020b141c252d353d444d525a61676d737a7f84898e9297999c9ea1a9a4a5a6a6a7a7a7a6a5a5a4a9a19e9c9a99928f8b88827d77716c665f58514b433c342c231b130a0200000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222b323b424b515a61696e787f86858079726d66615a544f47433c363029241e160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a7b1bccabfb4aa9c8f8276695e5341382d22170b000000000000000000000000000000000000000008131e28323d45515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c0200000000000000000000000000000000000000010d19242f3a44505a616e7b869298a3abb5bdc4c6bfbab0abaaa29f9d9c9b9d9fa2a9acafb6bec4c6bfbaaea49c918a7e71685e52463d2f261b1106000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1c2834404a5463707d8997a1adb9c6d6d2c6b9ada197897c7063544a3f424d5765727f8c9aa4afbbc8d4d1c6b9ac9f93877a6e6154473b30252c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362e261d12080000000000000000000006121f2b3844505b66727f8c98a2aebbc4cfdbd4c7bbafa49991847a6d675e564e45403a342e2d2a25272727262b2e31373c41495058606a6f7d86929fa6b0bcc6d0dce7e1d4c7bbaea194887b6e6155483b2e22150800000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c959faab4bfcad7cbc0b5aba0968d80746b6056545f69717e8b949ea9b3becad0c5bcb0a69f92877c6f675c51453d31281e13080000000000000000000000000000000000000000000000000000010b141d262e373f474f565e616c717a80858c91969a9ea2a9a8abadb3b1b2b3b3b4b4b3b3b2b1b1b2adaba9aba39f9c98948f89837e786f6a605d554e463e352d251c140a01000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808989898989898989898989898989898989898989898989898989898989898989898983776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b2227343d444c545c606c717b838c92928c857f79716c636059534e46423b352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000020c16202834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291e140a0000000000000000000000000000000000000004111d2935414c56616c76828f98a2aab4bdc6c5bcb4aea69f9c9892908f8f9092979b9fa4acb2bac3cbbfb6ada39e92857a6d61594f41382d22170b000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1f2c3844515c6674818e9aa9b3bec9d5d1c4b8ab9e9185786c605346393b4854616e7b87939facb9c6d2d4c7bbafa4998b7e7265564d42362a2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252524d4c4740382e24190e030000000000000000000613202d394653606c7884919eaab3becdd6d5c9bdb2a89f93877d70685e554c443c352f2823201e191b1a1a1a1f21262b2f383f444e58606b717e8a949eaab4bfcbd6e3e1d4c7bbaea194887b6e6155483b2e221508000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676f7c87929fa7b1bcc6d0cfc6bbafa3999184796d60594f4d57626c75828f97a1adb9c1cccec2bbaea3999183796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000a131d262e384049515960686e767e848c92979ea1a8abadb3b5b8b9bebdbfbfc0c0c1c0bfbfbebdbeb9b8b5b5aeaca9a69e9c95908a837c736d675f584f473f372e261c130a000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d96969696969696969696969696969696969696969696969696969696969696969083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d262d333e464e565e666d747e8690959f9f97928b847e76706b625f58524d45413a322820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a00000000000000000000000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b30261c11060000000000000000000000000000000000000713202c3945525d68717e8a949faab4bcc6c5bcb3aaa29f94908a858482828385898e939aa0a8b1b9c3c8bfb9ada1978e81746b6053493f33271b0f030000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d202d3a4653606d7985929eabb8c5cfd5c9beb2a99a8d8074665b5044383a46525e697683909cacb6c0ccd7ccc0b5ab9c908376695e52463a2d2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f1307000000000000000003101c28343f4a5463707d8a96a0acbcc5d0ded2c5b9aca1968d80736b60564c433b3229241d1814110e090d0a0f12151a1d262d333d464f59616c76828f98a3aebac7d3e0e1d4c7bbaea194887b6e6155483b2e2215080000040e1720272e33363737373737373737373737373737373734322f2a241c140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a3afb9c3ced1c6bcb1a79f92877c6f675d514745505a616e7a85929ea5afbac4d0cbbfb5aba0958d80736b60564c41352920170d02000000000000000000000000000000000000000000000008121c252e38404a525b626b707a828a91969fa2a9adb2b8b9bec2c5c6cacfcbcccdcccbcbcccbcbcfc9c6c4c2bfbbb9b6b0aaa79f9d95908780796f6a6159514940382e251c12090000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272f383f44505860686e78818a92989fa7a9a19e96918a837d756f6a615e57524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9bdb2a89b8e8174675d5145392c201302000000000000000000000000000000000000000000000007121d27303c45505a606d7a849199a3afbbbfb4aba0968e81746c61574d42382e23170d040000000000000000000000000000000004111d2935414b55606d7a85929ea6b0bcc5c6bcb3a9a298928b837e7a77757577797d81889196a0a7b1bac4c9beb3a99d93897d70655b5044372b1f13080000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2834404b5463707d8997a2adb9c6d6d2c6b9ada197897c6f63544a3f3336424d5765727f8b9aa4afbbc8d4d2c6b9ac9f93877b6e6154473b30253946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b000000000000000006121f2b3844505c6675818e9ba8b2bdced7d6cabfb4aa9e9184786d60594f443a31292018130c0705020000000206090b141b2227343d46505a616e7b86929facb8c3ced9e5d4c7bbaea194887b6e6155483b2e22150800000b15202931393f4244444444444444444444444444444444403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935414c56616b74808d96a0abb5c0cbd7cbbfb4aaa0958d80736a60554b403f46525e68717e8a939ea8b2bec7d1c6bdb1a79f93887d70685d52453e32291f14080000000000000000000000000000000000000000000007101a242e37404a525c636d727d858f949ea1a8adb3b9bdc4c6cacfd1cbc7c5c3c1c0bfbfbebfc0c1c2c5c6cacfcbc7c5c2bbb7b1aba79f99928d847c706b625b524a40372e241b120800000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7afafafafafafafafafafafafafafafafafafafafafafafafafafafafaa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2830394149505a616a6f7a838e939fa2aab1b3ada8a09e959089827c746e69605d564c443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca096897c7063554b4035291d10040000000000000000000000000000000000000000000000000b151e2a333f45525d686f7d87929fa7b1bcbdb2a89d938a7e71695e544a3f34281f160c010000000000000000000000000000000613202c3945515d6774808d97a1adb8c2cbbfb4aaa29792867f76716d676968666d70757d849095a0a8b2bdc9c5bbafa59d9083786c6053463a3025190d0100000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2c3845515c6674818e9ba9b3becad6d1c4b8ab9e9184786c605346392d303b4754616e7b87939facb9c6d2d4c7bbafa4998b7f7265574d42362a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f3326190d00000000000000000713202d3a4653606d7985929eabb8c4ceded3c6baaea2988c7f72665c50473d32281f170e0701000000000000000000020a1117222b343e46535f6973808d9aa8b1bdc8d4e1d4c7bbaea194887b6e6155483b2e2215080006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333b46525e68707d89929da8b2bdc7d1cec5baaea3989083786d60584e433936414c56616c75818e96a1acb6c0cccfc3bbafa49a91847a6d605a50443b3025190f060000000000000000000000000000000000000000030d19222c364049525c646e737f8791979fa6adb2babec5c9cfcdc8c4c3c0bbb9b6b5b4b3b2b1b2b3b4b5b8babec1c5c6caccc7c3bcb8b1aba39f9691867d726d645c52493f362d241a0f06000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1720283139424a535b606c717c8490959da5aeb4bcbeb9b2aca79f9d948f87817b736d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e5765727e8b98a3aebac7c0b6ac9e9184786c605346392f24180d01000000000000000000000000000000000000000000000000030c18212935414c56606b73808c959faab3bebaafa59f92857b6e665c50443d31281e13080000000000000000000000000000000714212d3a4754606d7a86929fa9b3becac7baaea39892857c726d64605d55545c60636b707a839096a0acb9c1cdc0b8aca095897d7063564c41362a1d110500000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2d3a4653606d7985929fabb8c5cfd5c9bdb2a99a8d8074665b5044382b2d3a46525e697683909cabb5c0ccd7ccc0b5ab9c908376695e52463a2d3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b9ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585868074675a4d4134271a0e0100000000000000091623303c4956636f7c8997a2adb9c6d2dfd2c5b8ac9f92857a6d60544a3f352b20160d0500000000000000000000000000061019222a36424d57626f7c8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e221508000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea4aebac3cfd0c5bcb0a69f92867c6f665c51463d31303b44505a606d7a84919aa4afbbc3cfccc0b6aca1968e81756c61564d41362a21180c03000000000000000000000000000000000000010b151f2b343e48525b646e74808c9299a1a9b0b9bdc4cacfcbc7c2bcb8b6b5afaca9a8a7a6a5a5a5a6a7a9abadb3b4b8babfc5c7ccc8c2bdb5afa8a09892877f736e645b51483f362c21180c030000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020304040504030201000000060f182129323a434b545c656c737e8691969fa7afbabec5c9c3bdb9b1aba69e99938e86807a6d685d5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac0baada2979082786d60584e433a2f24190f060000000000000000000000000006121f2b37434e5865717e8b98a2aebbc5c8bcb1a79f92867d6f6a625b53514b4a50535960686e7a84919ea5afbdc7c8bcb1a79b8e8175685e5246392d20130700000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392834404b5563707d8a97a2adbac6d3d2c5b9ada196897c6f63544a3f33282a36424d5765727f8b99a4afbbc7d4d2c6b9ac9f93877b6e6154483b313946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e0d3c7baaea39992929292929292929292929292929292929292929292929292929292929292929292929292929292929292928d8074675a4d4134271a0e01000000000000030f1c28333f4a546673808d99a9b3becad6d5c9bdb2a89a8d8074685d5242382e23190e0400000000000000000000000000000007101a26313b47535f6a7784919daab7c4d0ddd4c7bbaea194887b6e6155483b2e221508000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e97a1adb6c0ccd6cabfb4aa9f948c7f726a5f544a40342b29323e45525d68707d88939fa8b2bdc7d1c7beb2a89e938a7e71685e52463f332a1e150a00000000000000000000000000000000000007121d27313d46505a636d74808d929fa3abb3bbc2c9cfcfc7c0bbb9b1aba9aba39f9d9b9a99989899999a9c9fa2a9a8acaeb4b7bbc2c7cfc7c0bbb2aaa299938b80736d635a50483e332a1e150b0000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfc5c6cad0d7d6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0e0f1010111211100f0e0d0c090f18212a333b444c555d666d77808b9298a1a8b1b9c0cad0d5cec8c2bcb8b0aba49f98928d847a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0c0100000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c030000000000000000000000000815212e3a47535f6a7683909daab4bfcdc5b8aca0958c7f726b6058514745403f44464f565e686f7d89939eabb5c0ccc3b9ac9f92867a6d6154473a2f23180c00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392c3845515c6774818e9ba9b3becad6d1c4b8ab9e9184786c605346392d2225303b4754616e7b87939facb9c6d2d4c8bbafa49a8c7f7265574d42363946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d7cbbfb4aba39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0100000000000006121f2b3844505b667683909ca9b6c3cfdbd2c5b9ada196887b6e62564c4130261c1107000000000000000000000000000000000009141f2b37434e586673808c99a6b3bfccd9d4c7bbaea194887b6e6155483b2e22150800101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b2bec8d2cdc5baaea2989082786c60584e42392e22202935414c56606b74808d96a0abb5c0cbd0c4baafa59e92857a6e615b51453c30261c110600000000000000000000000000000000000c18242f39434e58616c73808c929ca4afb5bdc4cdcfc9c0bdb5afaca79f9d999992908e8d8c8c8b8c8d8e8f9297979b9fa2aaaab0b7bbc1c8cbc3bcb4aba49f928c7f726d625a50453c30271d120700000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b8babec5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c10131416181a1b1c1d1d1e1e1d1d1c1b1a181618212a333c454d565d676d78818d929fa3aab2bac2cbd6dbd6cdc4beb9afa9a19e949087807a6d685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a7b1bccabfb4aa9c8f8376695f5341382d22170b00000000000000000000000000000000000000000000000000000000010c162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a0000000000000000000000000915222f3c4855626f7c88959fabbcc6c9bdb2a99d9183786d60594f463f393534383d444c56606b74818e99a4afbbc7c7baaea3998c7f7265554b4034291c1004000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d8074655b5044372b1c202d3946525e687683909cabb5c0ccd7ccc0b6ac9d908376695e53463a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dcd1c6bdb4aeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e010000000000000613202d394653606c7985929facb8c5d2ded1c4b8ab9e9184786a5f53443a2f1e150a000000000000000000000000000000000000030f1b26323e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e22150800111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656e7b85929fa5afbbc4cfcfc5bbb0a69f92867b6e665b50463c30271c19242f3a444f59606d79849199a3afbbc3ceccc1b9ada2978f82766d62574d42382e23170d0300000000000000000000000000000004101d2935404b55606a717e8a929ca4aebbc0c7cfccc4bdb9afaba39f9b95908c8986838281807f7e7f80818285888a8e92989c9fa6aab0b8bdc3ccc5bdb5afa49c918b7f716c61574d42392e23180c03000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6abaeb3bcc5d0d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000205080d111314181d1f202224262829292a2b2b2a2928272625232129333c454d575e686d79828e939da4aeb4bcc4ccd4d7cfcac1bbb2ada59d97918a827c746d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c11060000000000000000000003101c28343f4a546673808d99a7b1bccec5b9ada1968a7d70665c50473d342c29282b323b444f59616e7b87939facb9c6cbbfb4ab9d908376675c5145382c1f1306000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463935404b5564707d8a98a2aebac6d3d2c5b9ada196897c6f6353493f33271b1e2a36414d5665727f8b99a4afbbc7d4d2c7b8ab9f95877b6e6154483c3146535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b3a79a8d8074675a4d4134271a0e010000000000000815222f3b4855626e7b8898a2aebac6d3dbcec1b5a89b8e827568574e4232281e0c03000000000000000000000000000000000000000a1623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c77828f97a2adb7c1cdd5c9beb3a99e948b7e71695f544a3f342a1e15131e28323d45515d676f7c87929fa7b1bcc6d0cabeb3a99e948b7f72695f544a3f34281f150b0100000000000000000000000000020c1a242c3845515d676f7c86929fa4adb6bfcbd1c9c1bab2ada59d99928e8983807d7a76757473727272737476787b7e81858a8f949c9ea6acb2bbc0c7c7c0bbada39f93877e70695f544b4034281f1409000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9999999999999999999999999999999999999999999fa2aab3becad0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e202124292c2d2f31333535363737383736353433322f2d333b454d575f696e7a838f949ea5aebabfc6ced6d4cdc5beb9afa9a19e938e847e766f6a605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a0000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000006121f2c3844505c667683909ca9b6c2cdc4b8ab9e9184786c60544a3f352b221d1c2029323d46525e6976828f9cacb6c0ccc5b9ac9f9286796d6053473a2d201407000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393845515d6775818e9baab3becad6d1c4b7ab9e9184786c605346392d22171925303b4754616e7a87939facb9c6d1d4c8bcb1a7998c7f7266574d423746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b3a79a8d8074675a4d4134271a0e010000000000000b1824313e4b5764717e8a97aab4bfcad6d6cabfb4aa988b7f7265584c3f3125160c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949fa9b3bec9d3ccc4b9ada1978f82756c62574d42382d22180c0c16202935404b55606a73808c959faab4bfcbcfc5bbb0a69f92867b6e665c50443c31271d1207000000000000000000000000000a141e2c38434f59606d79849198a3aeb6bfc8d7c9c0b7afa8a19e928e86817c7673706d67686766656566666769696e7175797d82898f949da0a8afb6bec5ccbfbbafa49992867b6e665c51453b31261a0e020000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2f35393a3c3e4041424343444544434241403f3c3a3b454d575f696e7b8390959fa6afb7c0cbd0d8d6cbc2bbb3ada59e97918a8179716c625f58524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000613202c3945525d6875818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a3f342820160c0200000000000000000713202d3a4653606d7985929facb8c5cbbfb4ab998d8073665b5042382e2319101017202a36424d5764717e8a9aa4afbbc8c7bbaea399897c6f6256493c2f231609000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393a4753606d7985929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b1114202d3946525e6876838f9cabb5c0cbd7cdc2b6aa9d908377695f53463a46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0f3eae2dcd7d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b3a79a8d8074675a4d4134271a0e010000000000000c1926333f4c5966727f8c99a5b2bfd0dbd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a45515c666f7c86929fa6b0bcc5d0d0c4baafa59e92857a6e615a50453b2f261c1006040d18242f39434e58606d78839098a3aebac2cecdc2baaea2989083786d60584e43392f24180e04000000000000000000000006111c2630384854606b74808d96a0aab4bfc8d1c9c0b7afa59e969189817b756f6a6663605d555a595958595a5b575f6164676d71767c828991969fa4acb3bcc4ccc0b5aba2989083796d60574d42362a1e12050000000000000000000000000000000000000000000000000000000a1723303d4a5663707d7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f85929fabb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000070c11171c1f262b2d3036393a3e404547494b4d4e4f5050515150504f4e4d4b4947454d575f696e7b8491959fa7b0b8c1c9d6d8d0cbc0b9b1a9a29e938e847d746d67615a534e45413a322820160c020000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4035291d11040000000000000000000000000000000000000000000000000000000000000000030c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000916222f3c4955626f7c8898a2aebac6c7baaea399887c6f62544a3f30261c1107050e1a25303b4754606d7a86939facb9c6cbbfb5ab988c7f7265594c3f32261906000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534635404b5564717d8a98a2aebac6d3d2c5b9ada196897c6f6253493f33271b0a111e2a36414c5665727e8b99a3afbbc7d4d1c4b8ab9f95887b6e6155483c46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdc9c8c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e010000000000000e1b2734414e5a6774818d9aa7b4c0cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f3a434f59606d79839098a3aeb8c2ced2c7beb2a89e938a7e71685e52483f33291d140a000007121d27313d44515c666e7c86929fa6b0bcc5d0cabfb4aa9f958c7f736a60554b40352920160c02000000000000000000000b17232e3842505a636f7c88939fa8b2bcc6d0c9c0b7afa59d938e847d746e696260585653514b4e4d4c4b4c4d4e4d5355555d60646a6f757c848d939aa2a9b2bbc3c7bdb4aaa0958d8074695f53463a2d2114070000000000000000000000000000000000000000000000000000000916232f3c4855606b707373737373737373737373737373737373737373737884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030b12181c23282b31373a3b4146474b4b51535557595b5c5c5d5e5e5d5c5b5a5958565451575e696e7b849196a0a7b1b9c2cad3d6cec6bfbaaea79f97928a817a706b605d555047433c352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a3aebac7c4b7ab9e9184786c6053463a2f24180d01000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f06000000000000000c1825323f4b5865727e8b98aab4bfcac5b9ac9f9286796d6053463a2d20150a00000914202c3945515d677784919daab7c4d1c1b5a89b8e8275685b4f422d22170b000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463945515d6775828e9baab4bfcad6d1c4b7ab9e9184786c605346392d22170b0e1925303b4754616e7a86929facb9c5d1d4c8bcb1a7998c7f7266574d4246535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e010000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414b55606b73808d95a0aab4bfc1c1c1c0b6aca1968e81756c61564c41362d21170b020000010b151f2834404a545f6a727f8c949faab3bec1c1c1bcb1a79f92877c6f675d51453d32281e130800000000000000000003101c28343f4a54616c7683909aa4afbac3ceccc1b7afa59d938e817a706b615e57544e4a47454041403f3f3f40414246484b51535860626b6f7980889297a1a9b2bac3c4bab0a69f93867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000714202c38444f59606366666666666666666666666666666666666666666b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000040a0c151c23282e34383c4246484c525457555d606264666868696a6a6b6a696867666562605d5e696e7b849196a1a8b1b9c2cbd3d4ccc4bcb4aea49d9590857e756d686159514b433e373129241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfc7bbb0a6998c8073655b504437281d1307000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505b666e7b85929ea5afb9beb4aa9f958d80736b60564c41352921180c030000000000010e1b2834414e5b6774818e9aa7b4c1d0c3b6aa9d908377665c5145382c1f1303000004111d2935414b556875818e9ba8b4c1cec4b7aa9d9184776a53493f33271b0f030000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463a4753606d7a86929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b11060814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d908377695f534746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e01000000000000111d2a3744505d6a7783909daab6c3d0dcd0c3b6a99d9083766a544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d676f7d87939fa7b1b4b4b4b4b4b4afa49a91847a6d605a50443b30241b0f0600000000030d18232e39424e58606c77828f98a2aeb4b4b4b4b4b4afa3999184796d60594f443a3024190d01000000000000000006121f2b3844505c66707d8a959facb6c0cccfc4baafa59d938e81776d686059524d47433d3a39352f333232333331363a3b4045474e545960676d747d859197a0a8b2bbbcb2a89f948d8073695f53463a2d21140700000000000000000000000000000000000000000000000000000004101c27333d474f5556595959595959595959595959595959595959595e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000060b151b1e272e34383f44464d5355565e616468676d6f71737475767677787776757473726f6d67686e7b849196a1a8b2bac3ccd4d4cbc2bab2aaa39f928d837b716c615d564f45413a312b262019130c0400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69707e8a929da7b1bcbcb1a79f93877d70685d52463f332a1e150b0000000000020f1c2935424f5c6875828f9ba8b5c2cdc1b4a79a8e817467544b4034281c10040000010d18242f3f4c5966727f8c99a5b2bfccc5b8ab9e928578655b5044372b1f12050000000000000000030607080f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140808080807060401000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346414b5564717e8a98a2aebac6d3d2c5b9aca196897c6f6253493f33271b0a0005111e2a36414c5665727e8b99a3afbbc7d4d1c4b8aca095887b6e62554846535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb2aaa4a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e01000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3842505a606d79849199a4a8a8a8a8a8a8a8a8a89f93887d70685d52483e32291e120900000000000007121c27303c44505b656e7b85929fa5a8a8a8a8a8a8a8aba0968d80746b60564c4135291d110400000000000000000713202d3a4653606d7884919da7b1bec7d2c9bdb2a89e938e81776c655d564f46423b37322d2c29242626252627262a2d2f35383d43474f555d606b707c859196a0a9b3b4aaa1968f82786d60574d42362a1e1205000000000000000000000000000000000000000000000000000000000b16212c353d44484a4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000020a111720262b303940444a5053575f6166686d7175777a7c7e8081828383848483838281807e7c7a77737a849196a0a8b2bac4ccd5d3cac2b9b1a8a198928b80786e69615a524c443e352f281f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a6b0bccabfb4aa9c908376695f5341382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e95a0aab4bfbbafa49991847a6d615a50463c30271d12070000000003101d293643505c6976838f9ca9b6c2ccbfb3a6998c807366594d402e23180c00000000071825313e4b5864717e8b97a4b1becac6b9ac9f9386796c605346392d201306000000000000060c10121314141b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2114141414141413110d070100000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534645515d6775828f9baab4bfcad6d1c4b7ab9e9184786a605441382d22170b00010d1925303b4754616d7a86929facb9c5d1d4c8bcb1a7998c7f7366584e43535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa09995939393939393939393939393939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e01000000000000121f2b3845525e6b7885919eabb8c4d1dbcec1b4a89b8e8175685b4e4235281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616c74818e969b9b9b9b9b9b9b9b9b9b9b968d80746b60564c41362c20170d00000000000000000b151e27333f49535e69717e8b939b9b9b9b9b9b9b9b9b9b9b93887d70685d5245392c2013070000000000000005121e2a36424d5764707d8a95a0acb9c2d0cfc6b9ada1968e81776c655b534c443d36302b2720201d181a1918191a1a1e2124292c32373d434b5159606a6f7b849197a1abaea29891847a6d665c50453b31261a0e0200000000000000000000000000000000000000000000000000000000050f1a232c33383c3d404040404040404040404040404040404045515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b141b222732373e424a51545c6064696e73777a7e818486888a8c8e8f8f909191908f8e8d8c8b89868380839196a0a8b2bac4ccd6d2c9c1b8b0a79f9691867e746d665e575046413a3229241d160d0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c6baaea2988b7e7165574d422f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79839198a3aebac0b5aba1968f81756d62584e43392e23180e0500000004111e2a3744515d6a7784909daab7c3cbbeb2a5988b7f7265584c3f32251907000000000a1724313d4a5764707d8a97a3b0bdcac7bbafa499877a6d6054473a2d21140700000000030a11171c1f202121212835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21212121212121201d18130c04000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053464754606d7a86929facb8c5d0d5c9bdb2a89a8d807367584e432f261b110600000814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d9084776a5f5347535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bdb1a4998e8986868686868686868686868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e01000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66707d8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e84796d60594f443a2f241a0e050000000000000000030c17222d38414d57626c75818e8e8e8e8e8e8e8e8e8e8e8e8e8e847a6d6054473a2d211407000000000000000714212d3a46535f6976828f9ca8b1bdcbd1c6bdafa59e91847a6d655b5349413a322a251f1b1413110d070c0c0c090e1214181d1f272b313940454f585f696e7b859299a3a49f92867c6f685e544a3f332a1f140900000000000000000000000000000000000000000000000000000000000008111a21272c2f30333333333333333333333333333333333845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000070e171d262d333c434750545c60666d70767b8083878a8e91939a97999b9b9c9d9d9e9d9c9b9a99989a93908d9195a0a8b2bac4ccd6d2c8c0b7afa69f9590847c716c605c544d453e3530282018130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c5b8ac9f92867a6d6054473b3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f554b40342820170b02000005121e2b3845515e6b7884919eabb7c4cabeb1a4978b7e7164584b3e3125180b000000000a1623303d495663707c8996a3afbcc9ccc0b5ab94887b6e6155483b2e221508000000030c151c23282c2d2e2e2e2e35424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2e2e2e2e2e2e2d2c29241d160d040000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053414c5664717e8a98a3aebac7d3d2c5b9aca196897c6f6256493d3223140a00000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca095887b6e625548535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f33261a0d00000000000000131f2c3946525f6c7985929facb8c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78808181818181818181818181818181817c6f675d51473d32281e12080000000000000000000006111b262f3b45505a616d7a8181818181818181818181818181817e7164574b3e3124180b000000000000000815222e3b4855616e7b87939facb9c3cecbbfb5ab9d93897d70675d534941382f28201a140f0a06040100000000000205070c10151b1f272f353d464e575f69707d87929f9d928a7e716a5f564c42382e21180e0300000000000000000000000000000000000000000000000000000000000000080f161c2023232626262626262626262626262626262b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000008111920292f383f444e545a61666d72787d82878c90939a9b9e9fa4aca6a7a8a9a9aaabaaa9a8a7a6aca49f9d999da0a7b1bac3ccd6d7cec0b6aea59e948f837a6f6a625a514b423b3329241e160e07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b555f6a727f8b949ea9b3bebaafa59f92867c6e675c51453d32291d140a000006131f2c3946525f6c7985929facb8c5cabdb0a4978a7d7164574a3e3124170b000000000916222f3c4955626f7c8895a2afbbc8d2bbafa295887c6f6255493c2f2216090000000a151e262e34383a3b3b3b3b3b424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473b3b3b3b3b3b3b3b3a39352f281f160c0100000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605345525d6875828f9baab4bfcbd6d1c4b7ab9e9184786a6054473b2e221502000000010d1925303a4754616d7a86929facb9c5d1d4c8bcb1a7998c807366584e535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b0000000000000013202c3946535f6c7986929facb9c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c747575757575757575757575757575756f6a60554b40352b20160c0000000000000000000000000a141d29333e46525e686d757575757575757575757575757575716c6155493d3023170a00000000000005121e2a36424d576673808c9aa4afbbc8d3c7bbaea3998e81746b60554c41382f261d160d090200000000000000000000000000040a0d151d2429343c454d57606b727f8b94948d80736c61584e443a30261c0f06000000000000000000000000000000000000000000000000000000000000000000050b1014161719191919191919191919191919191e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000009121a232b333b414950585f626c71797f848a8f939a9d9fa4acaaacafb6b3b4b5b6b6b7b7b6b6b5b4b3b6afacaaa6aaacb1b9c3ccd5dbd0c6bcaea49d938e82796d685f585045403930292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58606c77828f97a1acb6c0baaea2989083796d60594f443a2f261b11060005121f2b3845525e6b7885919eabb8c4cabdb1a4978a7e7164574b3e3124180b00000000091623303c4956636f7c8996a2afbcc9c8bbaea195887b6e6255483b2f221508000006111c2630383f44464747474747474e5b6875818e9ba8b4c1cedbd3c7baada094877a6d61544747474747474747474745413a31281d130700000000000b1824313e4b5764717e8a97a4b1bdcad4c7bbafa39986796c60534754606d7a86929facb9c5d0d5c9bdb2a8998d807366584e43372b1f1306000000000813202d3946525e6876828f9cabb5c0cbd7cec3b7aa9d9184776a5f53535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626060606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a41362b1f130700000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b60676868686868686868686868686868686260584e43392f23190d04000000000000000000000000020b17212a36414c565e6168686868686868686868686868686864615a5045392d2115080000000000000714212d3a46535f697784909dacb6c0ccd2c5b9ac9f92867b6e61594f433a2f261d140b050300000000000000000000000000000000030b1218222a333b454f59626d76828f8f82786d605a50463c32281e140a0000000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d0d121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000010a131b242c353d454d535b606a6f767e848b91969c9fa4acacafb6b7b9bbc0bfc1c2c2c3c4c4c3c2c1c0bfc0bbb9b6b3b7b8bcc3ccd5ded6cabfb4aa9d928d81786d675e564e463e342e271e170f0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5765717e8b98a2aebac7c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929aa4afbbbfb4aaa0958d80736b61564c41382d22170d0304111e2a3744515d6a7784909daab7c3cbbeb1a5988b7e7265584b3f3225180c000000000a1724303d4a5763707d8a96a3b0bdc9cabeb3aa94877a6d6154473a2e21140700000c17232e38424a5053545454545454545b6875818e9ba8b4c1cedbd3c7baada094877a6d615454545454545454545454514b433a2f24180d01000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f534c5664717e8b98a3aebac7d3d2c5b9aca096887c6f6255493d32271b0f030000000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca096887c6f6255535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625653535353535353535353535353535353535353535353535353535353535353535353535353535353534d4c4741382f241a0e0300000000000000121f2b3845525e6b7885919eabb8c4d1dacec1b4a79b8e8174685b4e4135281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d31271d11080000000000000000000000000000050f1925303a444c52545b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e34281d11050000000000000815222e3b4855616e7b8895a0acbec7d2c8bcb1a79b8e8175685e52473d31281d141413120f0b060b0907070401000000000000000000010710182129333d47515b626e7b86847a6d665c50483e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000a131c252d363e474f575e656c727c838a91969ea1a8acafb6b9bbc0c4c6c8ccd2cececfd0d0d1d0cfcecdd2ccc8c6c3c0c4c5c8ced5dedfd3c6baaea2988d80786d665d554c443c3428231d150c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998c8073655b504437281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d88939fa7b1bcbcb1a79f93887d70685e53493f33271f150b01101d293643505c6976838f9ca9b6c2ccbfb2a6998c7f7366594c4033261908000000000b1824313e4b5764717e8a97a4b1bdcac6baaea29886796d6053463a2d2013070003101c28343f4a545c6061616161616161616875818e9ba8b4c1cedbd3c7baada094877a6d6161616161616161616161605d554b4135291d1104000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f53525d6875828f9caab4bfcbd7d1c4b7aa9e9184776a6054473b2b20150a0000000000010d1925303a4754616d7a86929facb9c5d1d4c8bdb2a8998c807366584e5f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362f261d13080000000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b1f150b0000000000000000000000000000000008131e29323a4146474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b49453e362c22170c000000000000000c1925323f4c5865727f8b98a7b1bcd0d1c5b8aca095897c6f63564d41352c26252321201f1b171917161413110d080c0a0807060400000000060f18212b353f47535f6a727f7c6f685d544a3f362c22180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000009121c252e373f48505960696e777f8790959ea0a8adb2b9bbc0c6c8ccd2d2d4d3d2d0cecccbcbcacbccccced0d2d4d2d0ccd0d1d4d9dfe7dfd2c5b8ac9f92857c716c605d554d453c342a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d12070f1c2835424f5b6875828e9ba8b5c1cdc0b3a69a8d8073675a4d403025190e020000000c1825323f4b5865727e8b98a5b1becbc5b8ab9f928578665c5044382c1f12060006121f2c3844505c666d6e6e6e6e6e6e6e6e6e75818e9ba8b4c1cedbd3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c201306000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f5254606d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b190f040000000000000813202d3946525e6876828f9cabb5bfcbd7cec3b7aa9e9184776a5f545f6c7985929facb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b010000000000000000111e2a3744515d6a7784909daab7c3d0dccfc3b6a99c90837669544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839414242424242424242424242424242423c3b37322b22190d0300000000000000000000000000000000020c1720293036393a4242424242424242424242424242423e3d39342c241a100600000000000005111e2a36424d576875828f9ba8b5c2ced0c3b7aa9d9083776b6054443b342e3331302e2d2b272226242221201d191a1817151313100c070b0a08060f19232b37424e57636d726f6a5f564c42382e241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000008111b242e374049515a616b707b828c92999fa7acb2b9bdc4c8ccd2d4d4d1d1cbc7c5c3c1bfbfbebdbebfc0c1c4c6c7ccd2d2d5dae1e3e9ecdfd3c6baaea29892867e746d675f574e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c99a6b0bccabfb4aa9c908376695f5341382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0e1b2734414e5a6774818d9aa7b4c0cfc2b5a89b8f827568564c41362a1e11050000030f1b27333f49536773808d9aa6b3c0cdc4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a818e9ba8b5c1cedbd4c8bbaea195887c7a7a7a7a7a7a7a7a7a7a7a7a796d6054473a2d211407000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f4c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f6255493c32271b090000000000000005111d2935414c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f62555f6c7885929fabb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b020000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d343535353535353535353535353535352f2e2b2720191007000000000000000000000000000000000000050e171e252a2d2e35353535353535353535353535353531302d28221a1208000000000000000714202d3a46525e697885919eabb8c4d1ccc0b3a6998d807366594f46444041403e3c3b3937332d32312f2d2c292427252422201f1c181a18161513120f1a26313c45515b6366625f584e443a30261c12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000007101a232d364049515b626c717d858f949fa3abb1b9bdc4c9cfd4d7d4cec8c5c4bfbbb9b7b4b3b2b1b1b1b2b3b5b7b9bbc0c4c6c9cfd3d8dee4e2d6cabfb4aaa298928b81796e695f584e453c332920170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c7baaea2988b7e7165574d422f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515c676e7c86929fa5afbabeb3a99e948b7f726a5f554b40352920170b1825323f4b5865727e8b98a9b3becac4b7ab9e918478685e5246392d201408000005121f2b3744505b6576838f9ca9b6c2cfc2b5a99c8f8276695c4f432e23170c00000915222f3c4855626f7c878787878787878787878e939eaab6c3cfdcd5c9bcb0a4988e888787878787878787878787878074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ab9f9285786c5f525e6876828f9cabb5bfcbd7d1c4b7aa9e9184776a5f53473b2b20150a00000000000000010d1925303a4754606d7a86929facb9c5d1d4c8bdb2a8998d807366585f6b7885929eabb8c5d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23202020202020202020202020202020202020202020202020202020202020202020202020201a1a17130e0801000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f202728282828282828282828282828282823221f1b150f070000000000000000000000000000000000000000050c13191d20212828282828282828282828282828282423211d17100800000000000000000814212e3b4754616e7b8797a1adb9c6d2c9bdb2a8968a7d7063575553514a4e4c4b494746443f413f3e3c3a39352f3432302f2d2c282326252321201f1c17202a33404951575955534e463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000040e19222c353f48515b636d727e8692979fa6aeb5bdc2c9ced5d8d1cbc7c3bdb8b7b5aeacaaa8a6a5a4a4a5a5a6a8aaacafb5b8b9bec4c7cdd3d8dedbd0c6bcb4aaa39f938e837b6f6a5f574d453b322920160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202834404b555f6a727e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d1415222f3c4855626f7b8897a2adb9c6c5b9ada196877a6e6154473b3025190d02000613202d394653606c7985929fabb8c5ccc0b6ac998c7f7366594c403326190600000915222f3c4855626f7b889494949494949494949b9ea5afbbc6d2ded8ccc0b5aaa0989594949494949494949494948d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f54616d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b1f130600000000000000000813202c3945525d6875828f9cabb4bfcbd7cec3b7ab9e9184786a605e6b7885919eabb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000d192633404c5966737f8c99a6b2bfd1dcd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a040000000000000000000000000000000000000000000002080d1113141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000a1724313d4a5764707d8a97a9b2bec9d2c5b9aca096877a6d656361605c545b595856545350494e4c4a4947454142403f3d3b3a38342e3331302e2d2b282226242e3740464b4c4847433c342a20160c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000020c16202b343e47505a636d737f879298a1a9b0bbbfc6cfd5d9d2ccc7c0bbb9b2acaaaba39f9d9b999898979899999b9d9fa4ababadb3b7bbc2c7cdd5dad7cec6bcb4aea59d9590857c6f695f574d443b32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50453b2f261c13202d394653606c7985929eabb8c5c9bdb2a8978a7d7064564c41362a1f1409070f1b27333f4953626e7b8898a2aebac6c8bbafa49a897d7063564a3d3023170a00000915222f3c4855626f7b8895a1a1a1a1a1a1a1a1a8aaafb7c1ccd7e3ddd1c6bbb2aaa4a1a1a1a1a1a1a1a1a1a1a19a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f5665717e8b99a3afbbc7d3d2c5b8aca096887c6f6255483c32261b0f03000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9aca196897c6f625e6b7784919eaab7c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000b1825313e4b5864717e8b97aab4bfcbd7d6cabfb4aa988b7f7265584c3f31261a0e02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f090806030000000000000000000000000000000000000000000000000000010507070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000c1926333f4c5966727f8c99a5b2bfcfd1c4b7aa9e9184777372706e6d66696866646361605b535a59575554524c4f4d4b4a4846454041403e3d3b3938332d33312f2e353b3e3f3c3a37312a2218191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000008131e28323d464f59626c737f8b9399a3aab3bbc2cbd1d8d5d0c7c0bbb5afaca8a09d9a9992908e8c8c8b8a8b8c8d8e9193999a9ea1a9abb0b7bbc2c9cfd6d7cfc6bfbaafa7a09791857b6e695e564d443a3024190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61574d42382d22171f2b3744505b6575828f9babb5c0ccc1b5a89b8e8275685e52463b30251a131318232b3744505b6573808c99aab3becac6b9ac9f93867a6d6054473a2d21140700000915222f3c4855626f7b8895a2adadadadadadadb5b6bbc1c9d3dde8e2d8cdc4bbb5b0aeadadadadadadadadada79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b8ab9e9185786b5e5e6876828f9cabb5c0cbd7d1c4b7aa9e9184776a5f53473b2a20150a000000000000000000010d1924303a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8073655b6a7784919daab7c4d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3dbd0c1b5a89b8e817568574e42372b1e1308000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdd2c5b8ab9f928581807e7d7b7978767473716f6e6c656967656462605d565c5a58575553514b4e4d4b494846443f413f3e3c3a3935303432302f2d2c29242625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000060f1925303a444e58616b717e8b919fa4abb4bcc5cdd7dbd6cbc3beb6afaba39f9b96918d89868481807f7e7e7e7f80828486898d91979c9fa6abb0b9bec4cdd8d8d1cbc1b9b1a9a19791847b6e685e564c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a2aebac6c4b7ab9e9184786c6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f1b27333f495365727f8c99a4afbbc7c5b9ac9f92867a6d61564d42362a2520202429343f4a54606c7884919eabb7c4ccc0b6ac9d918477685d5245392c20130600000915222f3c4855626f7b8895a2aebabababababac1c3c6ccd3dbe5efe9dfd6cdc6c0bcbbbabababababababab3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b7aa9e9184776b5e616d7a86929facb9c5d1d4c8bdb2a8998c807366584e43372b180e04000000000000000000000813202c3945525d6875828f9cabb4bfcbd7cec4b7ab9e9184786c606a7783909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2ded1c4b8ab9e9184786a5f53473a3024190d000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120600000000000002070b0d0d13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfd3c6baada297928e8d8b8988868483817f7e7c7a7977767472716f6d686a6867656362605c555b5958565453504a4e4c4a4947464142403f3d3c3a39352f33312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000030e18212935414c56606a707d87929fa3afb5bdc6cfd7d8d0cac0b9b1aca49f99928e8884807c7977757372717172727375777a7d81858a8f949c9fa6adb3bbc2ccd2d9d7cbc3bbb3a9a19691847a6e685d52453e332a1e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998d8073665b504438281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d222d3b4855616e7b87939facb9c3c7baaea3998c7f72695e52464036312d2d2f353d44505c66707d8996a1acb9c5c8bbafa49a8d807366564c4135291d110400000915222f3c4855626f7b8895a2aebbc7c7c7c7c7cecfd2d7dde5edf7f0e7dfd9d4d1d0c8c7c7c7c7c7c7c7c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c4b7aa9d9184776a5665727e8b99a3afbbc7d4d1c5b8aca096887c6f6255483c32261b09000000000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9ada196897c6f62697683909ca9b6c3cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d1dcd2c5b9ada196887b6e62564c4135291d12070000000000000000000000000000000000040d16202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d010000000000080e1317191a2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191916130d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a9a29f9b999896999391908e8c8b8987858482817f7d7c7a7877757372706e6d67696866646361605b545a59575654524c4f4d4c4a48474540423f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000915202a333c46525e686f7c869299a3afbbc0c7d0d8d7cec6bfbaaea7a09a938e87817c77736f6d66686665656465666668676d7074787d82888f949ea1a9b0bbc0c7d0d9d5cdc4bbb2a8a09691837a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b7ab9f94887b6e62544a3f3328160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada2978f82786c60584e433a2f24212d3a46535f6975828f9ca8b1bdc8bfb4ab9f92857b6e615b5146423b3a393b40454f59606d7883909da8b2bdc9c6b9ac9f93877b6e6155483b2f24190d0100000915222f3c4855626f7b8895a2aebbc1c1c1c1c1c4c5c9ced6dee8f1e7ded5cec8c5c4c1c1c1c1c1c1c1c1c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b7aa9d9084776a5e6876838f9cabb5c0cbd7d0c4b7aa9d9184776a5f53473a2a20150a0000000000000000000000010d19242f3a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8074656976838f9ca9b6c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818d9aaab4bfcbd7d5c9bdb2a89a8d8074685d5245392e23180e05000000000000000000000000000000030c161f28343f4a54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1dbcfc5bbb3adaba8a6a5aba49f9e9c9b9997969892918f8d8c8a8887858382807e7d7b797876747371706e6c666967666462615e565c5a58575553514b4e4c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000030d1a26313c46515b616d7a849198a2abb5c0ccd2d9d7cec5bcb4aea49d959087817b756f6a6763605c545959585758595a555d6063656c70767c828a91979fa6afb6bec7d0d9d6cdc4bab2a8a0958e81756c62574d42382e23170c0300000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8bfb4aa9c908376695f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b413529212a36424d5763707d8995a0acb8c3c6baaea2988e81756d635b534d484646474b5159616b727f8c95a0acbac4c9beb3a99c8f8276695f53463a2d1e13080000000915222f3c4855626f7b8895a2aeb4b4b4b4b4b4b7b9bdc4ccd6e0eadfd5ccc3bdb8b7b4b4b4b4b4b4b4b4b4b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b6a99d9083766a616e7b87939facb9c6d1d4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000813202c3945525d6875828f9caab4bfcbd7cfc4b8ab9e9184786c6975828f9ca8b5c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a98a3aebac7d3dacfc4b8ac9f92867a6d60544b40342820170e0600000000000000000000000000040c151e28313944505c66707d8996a3afbcc9d6d4c7bbaea194887b6e6155483b2e2215080000010b151d252c30343535353535353535353535353535353532312e29231b130900000000000a141c242a2f3334393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cdc5bebab8b5b3b1b5afacaba9a7a6a4aaa39f9d9c9a9897959792908f8d8b8a8886858381807e7c7b7977767472716f6d686a6867656362605d555b595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000010b151f2b37434e58626d75828f96a1aab4bdc7d1ddd7cdc5bcb3aaa29f928d837c746e696260585653514b4d4c4b4b4b4c4d4b5153535b60636a6f767e858f949fa4acb5bdc7d0d9d6ccc4bab1a79e938b7e71695f544a3f34281f14090000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7165574d422f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e332926313b4653606c7884919da7b1bdc7beb3aa9e938c7f736d615e5754535354555d606b707d87929fa7b1bcccc6b9ada1978a7e7164574d42362a1e0c010000000915222f3c4855626f7b8895a2a8a8a8a8a8a8a8abacb2bac4cedae5d9cec3bab2acaaa8a8a8a8a8a8a8a8a8a8a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc3b6a99c9083766965727f8b99a4afbbc7d4d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000004111d2935414c5664717e8a98a3aebac7d3d2c5b9ada196897c6f6875828e9ba8b5c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0dbd3c6baaea2988c7f72665c51453e322920180f090300000000000000000002080d161e263039434e58606d7883909daab7c3d0ddd4c7bbaea194887b6e6155483b2e221508000000030b131a202427282828282828282828282828282828282524221d181109010000000008121c262e363b3f404646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403e3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfdfd7cfcac6c5c1c0bec0bbb9b7b6b4b2b1b4aeacaaa9a7a5a4a9a29f9d9b9a98969a9391908e8c8b8987868482817f7d7c7a7877757372706f6d676a6866635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000007121d27313947535f6a727f8b939ea8b2bcc6cfd9d8cec5bbb3a9a298928a80786f6b615e57544e49464540403f3e3e3f3f404045474950535860626c717a828c939aa4abb5bdc7d2ddd5ccc3b9afa59f92867b6e665c50443c31261a0e040000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30262b3744505b65727f8b95a0abb5c0c5bcafa59c918c7f766e69646160606163676d747d869299a3aeb9c3c6bdb0a69e9285796d6053463b31261a0e000000000915222f3c4855626f7b88959b9b9b9b9b9b9b9b9ea1a8b2bdc9d5e1d4c8bdb2a8a09d9b9b9b9b9b9b9b9b9b9b9b9a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b6a99c8f837669697683909cabb5c0ccd7d0c4b7aa9d9184776a5f53473a2a20150a00000000000000000000000000010d19242f3a4754606d7a86929facb9c5d0d5c9bdb2a99a8d80746674818e9ba7b4c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9caab4bfcad6d6cabfb4aa9e9184796d60594f443b322a211a140e0906050300010507090e13191f283038424b555f6a727f8b95a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d060000000000020e19242e3840474b4d53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4b4640372e24190d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4e0dcd3ccc7c3c2c0c2c4c5c7c6c4c3c1bfbebfbab8b7b5b4b2b0b3adabaaa8a6a5aca49f9e9c9b9997969992918f8d8c8a8987858482807f7d7b7a787675726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000c18232f3943505a626e7c86929fa5afbac4ced8dbd0c6bcb3a9a29792867e746d666059534d47433c3a38342e32323132332f35393a3f44464e545a61686d7880889399a4abb5c0ccd7dcd5cbc1baaea2989083786d60574d42372b20150a000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2013020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e27333f4953606d78839099a3afbbc3c1b7ada39c918c827b75706e6d6c6e70747980879298a2abb4bfcbbfb5ab9f948b7e71665c5145382a1f1409000000000915222f3c4855626f7b888e8e8e8e8e8e8e8e8e9196a1acb9c5d2ded1c5b8aca096918e8e8e8e8e8e8e8e8e8e8e8e8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b5a89c8f8275696e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b180e0400000000000000000000000000000813202c3945515d6775828f9baab4bfcbd6cfc4b8ab9e9185786c74818d9aa7b4c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5565717e8b98a2aebac6d3dbd0c6b9ada1968d80746b61564d443c332b261f1a1413120f0b0d1113141a1e252a313a424a545d676e7c86929fa7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e22150800000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000007131f2a36404a52585a60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded3cac2bbb7b5b3b5b7b9babfbebfc1c3c5c6c7c5c4c2c0bfbdbebab8b6b5b3b1b6afacaba9a7a6a4aba39f9e9c9a9997959892908f8d8b8a88868583817f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000004101c2934404b55616c76828f98a2aeb7c1ccd6ddd6cabfb4aaa29792857c716c605c544f46423b37322d2c2823262524252624292c2d33373c434750565e666c737e879399a4afbbc0cad3ddd6cabfb4aa9f958c8073695f53463c32261b0f040000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105070709090a0a09080706040000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f34282d3844515c666f7c87929fa8b2bbc5bfb5ada39c948f86817d7b79797a7c81858d9399a2aab4bdc6c2bbaea3999082776c60544b403428180e03000000000815212e3b4854616e7b8181818181818181818184919eabb7c4d1ddd0c4b7aa9d9184818181818181818181818181817e7164584b3e3125180b000000000b1824313e4b5764717e8a97a4b1bdcacec2b5a89b8f827568727f8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0800000000000000000000000000000004111d2935414c5564717e8a98a3aebac7d3d2c6b9ada197897c6f73808d9aa6b3c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4754606d7a85929facb8c1d0d9d5c9bdb2a89d928a7d70695e564e453d37312b2621201f1b17191e2021262b30363c434c545c666d79839198a2aeb9c3ced9e5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b52463b2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3d8ccc2b8b0aaa9a7a8aaacaeb4b1b3b4b6b8b9bebdbfc0c2c4c5c7c6c5c3c2c0bec0bbb9b8b6b4b3b1b4aeacaaa9a7a5a4aaa29f9d9b9a9896959791908e84786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000006131f2c3845515c67717e8a949faab4bfc9d3dfd4cbc2baaea29892857c6f6a615a504a423d36312b27201f1c181918181819181d2022272b32373e444c545b606c717e87939fa4aeb8c2cdd6dbd0c5bcb1a79f92877b6e61584e43372b21160a000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184786c6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000000000000000000000030506080d1113141516171616151413100c0707050c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d322834404a54606a73808d96a0a9b3bbc5bfb5ada69e98928e8a87868687898d92979fa4abb4bcc6c2b8b0a69f92877c6f655b5042392e23180600000000000714202d3a46525e696e75757575757575757575818e9ba8b4c1ced9cdc0b3a69a8d8075757575757575757575757575716c6256493d3024170b000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a89b8e8175687683909cacb6c0ccd8d0c3b7aa9d9084776a5f53473a2a20150a000000000000000000000000000000010d19242f3a4754606d7a86929facb8c5d0d5c9beb3a99a8d807373808c99a6b3bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6774818e9aa5afbdc7d2dacfc4baaea49e92857b6e685f574f46423c37312e2d2b2722252a2d2e31373a41464e555d666d78818f95a0aab4bfcbd5dfe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736d63574b3e3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2d3c7bbb0a69f9c9a9c9d9fa3aba4a6a8a9abadb3b0b2b4b5b7b9bbc0bec0c1c3c5c6c8c6c4c3c1bfbebfbab9b7b5b4b2b0b4aeabaaa8a6a5a3a9a19e9d9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000004111d2935414c56606d7984919ea6b0bcc6d0dcd8cfc2b9aea49f92867c6f6a605850443f38302a251f1b1313100c070b0b0c070d1013171b1f272b323a424a505a626c717e8b929da6b0bbc5cfdad7cec2bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfc7bcb1a7998d8073665b504438281e13080000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d2021222323232322201f1c181514120e0f19242f3a434f59606d78829097a2adbac0baada2979083786d60594f443a2f2e39424e58606d79849197a1a9b3bcc5bfb8b0aaa29f9b9799929299969a9ea1a9afb5bdc6c2b9b0a69f948d80736a5f53493f30271d1207000000000005121e2a36424d575e6168686868686868686875818e9ba8b4c1ced9cdc0b3a69a8d807368686868686868686868686864625a5045392d211508000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a79b8e81746e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b1f1206000000000000000000000000000000000813202c3945515d6775828f9baab4bfcad6cfc4b7aa9d918477727f8c99a5b2bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b55626f7c88939eabb5c0ccd7d6ccc0b9ada19790837a6e6a6059534d46423d3a3937332d3036393a3d42474c525860676d78818e939ea7b1bcc6d0dde7e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a67738086868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2d0c3b7aa9f948f8d8f9192999697999b9d9ea1a9a3a5a7a9aaacafb5b1b3b5b6b8babebdbfc1c2c4c5c7c7c5c4c2c0bfbdbebab8b7b5b3b2b0b3adaa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000713202c3945525d68737f8c96a1acb8c2ced8dcd1c6bdb1a79c928a7e716a60584e463e342e261e1a140f0a06040000000000000104060b0f151b20282f383f44505a626c73808d949ea9b3bec9d5e0d7cbc0b5ab9f93877c6f62594f44382c20150a000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b8ab9f95887b6e62544a3f3328160c01000000000000000000000000000000000000000000000000000000000000000000000002080d11171b1f2023252a2d2e2f3030302f2f2d2c292321211e1a14131e28313d44505c666e7b85929fa5afbabeb3a99f948c80736b60564c413529303c45515d676f7c859297a2aab3bbc1c2bcb4aeaca8aba39f9fa3aba7abadb3bbc0c6bfbab1a79f948f82786d60584e41382d1e150b000000000000020e1a25303b454d52545b5b5b5b5b5b5b5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000b1824313e4b5764717e8a97a4b1bdcacdc0b4a79a8d8174727e8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000004111d2935414b5564717e8a98a2aebac7d3d1c5b8aca095877b727f8b98a5b2becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a47535f6a75828f99a4afbbc5cfdad5c9beb3a99f9590847c706b615f57534d4a4746443f43444146474a4d53565e616a6f7a818e939ea5afb9c3ced7e2efe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1cfc2b5a99c8f828082848687898b8c8e9092979597989a9c9e9fa3aba4a6a8aaabadb3b0b2b4b6b7b9bbc0bec0c2c3c5c6cac6c5c3c2c0bebdbeb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000004101c2834404b55606d7a85929fa8b2bdcad4e0d7cbbfb4ab9f958d80736c61584e463d3428231c150c090300000000000000000000000000030a0e161d262d333f48505a606d78828f97a1adb9c1ced8dcd1c7bbafa49a8f82756b6054483c32271b0f01000000000000000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000060b13191b22272b2d2f3036393a3c3c3d3d3c3b3a38342f2e2d2a251f1c181f28343f4a545e69717e8a939da8b2bdbcb0a69f92877d6f685d52453f332935404b555f6a6f7c859298a1a9afb9bec5bfbab8b5b5afacacaeb5b4b8b9bec5c2bcb4aea79f959082796d665c51463c2f261b0c030000000000000009141f29333b4246484e4e4e4e4e4e4e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4e4e4e4e4e4e4e4e4e4e4b49453f362d22170c01000000000b1824313e4b5764717e8a97a4b1bdcacdc0b3a79a8d807475828f9cacb6c0ccd8d0c3b7aa9d9083776a5f53473a2a20150a0000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d4c8bcb1a7988b7e717e8b98a4b1becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d2b37434e58626f7c87939fa9b3bec9d5dacfc5bbb1a79f9691857d756e69615f57575453504950504c525456575f62686d737c848f939ea5afb7c1cbd1d5dce3e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0cdc0b3a69a8d80747577797b7c7e8081838587888a8c8d8f9192999698999b9d9fa2a9a4a5a7a9abacafb5b1b3b5b7b8babec5ced0cecdcbcfc3b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000006131f2c3845515c67727f8c98a2aebac4cedcddd3c7baaea3999083786d605a50463d342b2217110a030000000000000000000000000000000000040b141c2228363f44505c666d7a85929ea5afbcc6d0dcd8ccc0b6ac9e94897c6f63584e43372b1d120700000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7265574e422f261c1106000000000000000000000000000000000000000000000000000000000000000000020a11171e252a2d3337393c4041464748494a4949484745403f3b3a36312c28231c232e38424d57616c74818e96a0abb5bfbbafa39991847a6d605a50453c302f39434e585f6a6f7c8692979ea5adb3babec5c5c1c0bbb9b9bbbfc0c5c5c3bcb8b1aaa39f959083796d675d544b40342a1d140a0000000000000000020d17212930363a3b4242424242424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4242424242424242423e3d39342d241b110600000000000b1824313e4b5764717e8a97a4b1bdcaccc0b3a6998d80737a86929facb9c5d2d4c8bcb1a7998c7f7366584e43372b180e030000000000000000000000000000000000000713202c3945515d6775828f9baab4bfcad6cec1b4a89b8e81757e8a97a4b1bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060606060606060606060606060606060606060606060606060606060606060606060606060101000000000000000000000000010f1b26323c47535f6a74818e97a1adb9c1cbd4d7cdc2b9b1a8a0979287817b746e69676461605b535d5d565e616366696e737a808691969ea6afb7c1c0c1c5cad2dae3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cecec1b5a89b8e827569666c6e7071737576787a7c7d7f8182848687898b8d8e9092979597999a9c9e9fa3aba5a6a8aaabaeb4bcbfc7d0d9d8cfc2b5a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000713202d3a4653606d7985919eaab4beccd6dfd5c9bdb2a89f92867c6f665c50483e342b221910060000000000000000000000000000000000000000020a11172428343f4a545e68717e8a939eaab4bfcbd6ddd2c7beb0a69c9083766a605447392f23180c0000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000060b141c22283036383f4446494c4c525455565656565553514b4b4846423b38342e271e26303b45505a606d79849199a3aebbc0b5aba1968e81756c62574d42392e313c464e58606a6f7d858e939ea1a9aeb3b9babfc0c1c2c2c1c0bfbdb9b7b1aca79f98928c837a6d675d554b42392e22180b02000000000000000000050f171f252a2d2e3535353535424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d40353535353535353531302d29221b12090000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a6998c7f737d8a98a3aebac7d3d1c4b8aca095887b6e6255483c31261a080000000000000000000000000000000000000004111d2935404b5564717e8a98a2aebac6d3d1c5b8ab9e9285787d8a97a3b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121212120e0e0b0803000000000000000000000a15202b37434e58616d7a85929ea5afb9c2ccd6d4cbc2bab2a9a299938e87817b7774706d6c656a696a6b686d7073777b80858d9299a0a8b0b8b9b5b3b5b9c0c8d2ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d2d0c3b6a99d9083766a5b6061636466686a676d6f7072747677797b7c7e8082838587888a8c8e8f91929996989a9b9d9fa2aaadb5bfc9d4dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006131f2b37434e5865717e8b97a1adbcc5d0ded9cec5b9aca1968c7f736a5f544a3f362c221910070000000000000000000000000000000000000000000000061217232e38424c56616c75818e98a3aebac5d0dbd9d0c1b7ab9f94887c6f62554b4034291c10040000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c20130200000000000000000000000000000000000000000000000000000000000000020a11171d262d333a41464950535659565e61626363636262605c555854534d4644403930292429333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a403428343c464e58606b6f7a818a92979fa2aaacaeb4b3b4b5b5b4b4b2b2adaba7a09d9590867f786d685d554c433930271d10060000000000000000000000050d141a1e20212828282835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034282828282828282524211d171109000000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a5998c7f74818e9aaab4bfcbd7d0c3b7aa9d908377695f53473a2a20150900000000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d2c6b9ada197887b7d8996a3b0bcc9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1b1a18140f08010000000000000000040f1b26313c46525e68707e8a939da6b0bac4ccd5d4ccc4bbb3aba49f99928e8884817d7a797877767777787a7d7f83888d92989fa3abb2bab6aea8a6a8aeb6c0cbd5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98abb5c0ccd1c4b8ab9e918578675d53545658595b555d606264656769666d6e7071737577787a7c7d7f8183848688898b8d8f9092989ba3adb8c3cfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000815222e3b4754606a7784919da9b3beced7e2d4c8bcb1a79e9184796d60584e42382e241a10070000000000000000000000000000000000000000000000000006111c26303a44505a616e7b86929fa9b3becad6e2d3c7bcb0a69a8d8074675c5145382c1f14090000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000020b141b22272f383f444c52535b60626669686d6f6f70706f6e6d676865615e5753514a423d352f282935404b55606a727f8c949fa9b3bebaafa59f92867b6e665c51443d322a343d464f5960686d757e858d92989c9fa3aba7a8a8a8a8a7a6a8a19e9a95918b837b726d665d564c433a31271e150b0000000000000000000000000002090e1214151b1b1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271b1b1b1b1b1b181715110c0600000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb2a5988b7f7884919eabb7c4d1d4c8bcb1a7998c7f7266574d42372b180e0300000000000000000000000000000000000000000713202c3945515d6775828e9baab4bfcad5c9beb3a9988b7e7c8996a2afbcc9d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282724201a130b0200000000000000000a15202a36414c56616c74818e949fa8b2bac3ccd7d6cdc5bdb5afaba39f9a96918d8a878685848383848587898c9095999fa2aaaeb4bdb8aea49c9a9ca4aeb9c3ced9c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d8d3d0cfc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a4afbbc7d2c6b9ac9f93867a6d605348494b4d4e4c51545557595a545c6061636566686a686d6f7172747678797b7d7e808283858b919ba7b3c0ccd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000003101c28343f4a54626f7c8995a0acbbc4cfe0ded1c5b8aca0958b7e71675c51463c30261c12080000000000000000000000000000000000000000000000000000000a141e28323e46525e6973808d97a2adbac7d1dcd8cdc2b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184796d6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000a141d262d333c424a50565e61656c6f7376787a7b7c7d7c7c7b7a7775726e6964605c544f45413a312c2f39434e58606c77828f97a1adb9c0baaea2989083786d60594f443a302b343d474f565e616c717a80858b8f9299989a9b9c9c9b9a999796918d89847e786e6a605c544c443a31281f150c03000000000000000000000000000000020507080f0f1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271a0f0f0f0f0f0b0b0805010000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a5988b7e7b8896a1acb9c5d2d1c4b8aca095887b6e6155483c31261a0800000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3cfc1b4a89b8e817c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b0100000000000000030d1925303a44505a606d79829096a0a8b1b9c1cbd1d7d0c7c0bbb5afaca8a09e9a9799929190909091929796999d9fa7abaeb4babfbab0a69c928d929ca7b1bcc8d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0d0d9e4dfdfdfdfe6dcd4cdc7c4c2bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2c8bbafa49a8a7d7063574a3d3e4042414547494a4c4e4a50535456585a5b565d606264666769666d6e7072737577787f8b98a5b2becbd5c9bdb2a896897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000006121f2c3844505c6674808d9aa8b1bdcdd6e1d5c9beb3a99d9083786c60554b40342a1e140a00000000000000000000000000000000000000000000000000000000020c16202a36424d57616d7a85929fabb5c0cbd7dfd3c6baada2978a7e7164574d42362a1e1205000000000000000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bfc8bcb1a7998d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000006111b262f383f444e545b60686d72787c7f8385878889898989888684827e7b76716d666059524c433e352c313c44505b656e7a85929ea4aeb9bfb4aa9f958d80736b60564c41362a2b343d444c525a61686d737a7e8286898b8d8e8f8f8e8d8c8a8884817d77716c665f57504a423a32281f160d030000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedacdc0b3a79a8d8074675a4d4134271a0e0202020200000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a4988b7e7f8b98a8b2bdc9d5d0c3b6aa9d908377695f53473a2a201509000000000000000000000000000000000000000000010d18242f3a4753606d7986929facb8c5d0d1c4b7aa9e91847c8895a1aebbc8d4cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454541403c362f261d1308000000000000000008131e28323e45515c676d7a849196a0a7b0bbc0c7cfd5d2ccc7c0bbb9b2acaaa7aba39f9e9d9c9d9e9ea2a9a6aaabb1b8babec3bab2a89f948d808d95a0acb8c5d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aaab4bec7d2dde8f0f4e9ded4cac2bbb7b6b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784919daab7c4d1ccc0b6ac9a8d817467584e4337332f35393a3c3d3f413f444648494b4d4f4c52545557595b545c6061636567686a74808d9aa7b3c0cdd2c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000713202d3a4653606d7985929eabb8c3cededfd2c6b9ada1978a7e71665b5043392e22180c020000000000000000000000000000000000000000000000000000000000050e1a25303b46525d6873808d99a3afbbc7d3e0d6cabeb3a99c8f8276695e52463a2d201407000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6e62544a3f3428160c0100000000000000000000000000000000000000000000000000000000000a1317222d38414950585f666c727a7f84898c8f929795969696959993918f8b87837e79706b605d564f473e3627333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e52463f342a2b323a414650565e61676d72767a7c7e8081828281817f7d7b7874706b65605b544e443f38302820160d04000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddacdc0b4a79a8d8174675a4e4134271b090502000100000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacabeb1a4978b7e828f9ba8b5c2ced4c8bcb1a7998c7f7266574d42372b1e12060000000000000000000000000000000000000000000007131f2c3945515d6775818e9baab4bfcad2c5b9aca096887c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524e4c4841382f251a0f0300000000000000020c16202834404b555e686e7b8491959ea6afb5bdc2c9ced4d1cbc7c4bdb9b7b4b5afacabaaa9aaaaabadb3b2b6b8bcc3c6c0b9b1a8a1968f827883909daab7c3d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d98a2acb6c0ccd8dde7f1e4d8cdc2b8b0aba9a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aabb4bfcbd2c4b7ab9e9184786a5f53473b3025292c2d2f31322e34383a3b3d3e4042414547494a4c4e4a51535556585a5b667683909ca9b6c3cfd1c4b8ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000a1723303d4a5663707d8997a1adb9c6d2dfd8ccc0b6ac9e9285796d60544a3f30271d10060000000000000000000000000000000000000000000000000000000000000009141f2935414c56616e7b86929facb9c4cfdadbcfc5b9ac9f93877b6e6154483b2e23180c00000000000000000000000000000000000000000000000007131f2c38444f5966737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382e23170b000000000000000000000000000000000000000000000000000000000008121c2527333f49535b606a6e787f868c9196999c9ea1a9a2a3a3aba49f9e9b9894908a847d746d68615950483e352d38414d56616c74808d95a0aab4bfbbafa49a91857a6d615b51463c31272930363e444c52555d6065676d6f7274757575757473706e696763605953504a423c342e261e160e0400000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9cec1b4a79b8e8174685b4e4131261a14110e090d0d0c0c0b090601000000000000000b1824313e4b5764717e8a97a4b1bdcacabdb1a4978a7e85929eabb8c5d1d1c4b8ab9f95887b6e6155483c31261a0e020000000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3c9bdb2a8978a7d8a97a4b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b41362b2014080000000000000000050e18232e39434c565f696e7b838f949fa3abb0b9bdc4c8cdd1d3cec9c5c4c0c0bbb9b8b7b6b6b7b8b9bebfc3c4c7c3bcb8afa7a09691847b74808d9aabb5c0cbc7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c86929aa4afbbc1cbd5dfe9dfd3c7bbb0a69f9c9696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5764707d8a99a3aebac7d2c5b9ada196887b6f62574d42362a1e202122242623282b2d2e3032333035393a3c3e3f41404446484a4b53606c7985929fabb8c5d2cec2b5a89b8f827568564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000006121e2b37424e576874818e9ba9b3bec9d5e0d4c8bbafa49a8c8073665c5142382d1e150b0000000000000000000000000000000000000000000000000000000000000000030d1924303a46525e6975828e9ba9b2bec9d5e0d4c7bbafa4998c7f7265544a4034281c100400000000000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3988b7e7265584e4330261c110600000000000000000000000000000000000000000000000000000000040e1a242e373f44505b656c727c838c92989ea1a8a9abadb3afb0afb5afacaaa8a69f9c969189817a706b615a50473e352f3b444f59606d79839098a3aebac0b6aca1978f82756d62584e43392f23252a323a41464c5154555d6063656768696968676664615f5756544f46443f382f28231c140c040000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9cfc3b6a99c90837669584e43372b23201e1a1b1a1919191815120d060000000000000b1824313e4b5764717e8a97a4b1bdcad0c3b6aa9d90839097a1adb9c6d2d0c3b6aa9d908377695f53463a2a1f15090000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cec3b6aa9d9083909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b00000000000000000007121d27303a444d575f696e7a828c92999fa6acb2b8bcc3c5c8cecfd1d1d1cbc7c5c4c3c3c3c4c5c6cac8c5c2bcb7b1aba59d9590847b6e707d8a99a3afbbc1c1bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a707e88939fa5afb9c3cdd7e1ddd0c4b7ab9f948f898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0c9bdb2a89a8d8074695e52463b30261c14161719171c1f202123252724292c2d2f31332e34383a3b414c5663707d8997a2adbac6d3c9bdb2a8998c7f7266594c3f3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000814212e3a47535f6a7884919eabb8c4cfdadfd2c6b9ac9f93877b6e61544b402f261c0c0300000000000000000000000000000000000000000000000000000000000000000008131e2a36424d5763707c8997a1adb9c6d2dfd7ccc0b5ab9c8f8276665c5144382c1f12060000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6054473c3121140a00000000000000000000000000000000000000000000000000000000020c16202c363f49525c606c777f8690959fa2aaadb2b6b8b9bebcbcbcc0bbb9b7b5b0aba8a09e938e847d706c61594f473d33323e45515c676f7c86929fa6b0bbbeb2a99e948b7f726a5f554b40342920202930363a4145474b515456585a5b5c5c5b5a595755534d4948443d38332d261d17110a02000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bed1dcd1c5b8ab9e9285786a5f53473c342e2d2a25282726262524221e18110901000000000b1824313e4b5764717e8a97a4b1bdcad1c4b8aba0959095a0a9b3becad4c8bcb1a7998c7f7266574d42362a180e0300000000000000000000000000000000000000000000000007131f2c3845515d6775818e9baab4bfcad1c4b8aca0959095a0acb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878746f64594c4033271a0e000000000000000000000b151e29323b454d565e686d777f8790949ea0a8abb1b7b8bdc0c2c4c6c7ccd2c9c9d2ccc7c6c4c2c0bdb8b7b1aba79f9d938e837b6e696d7a86929facb4b4b4b4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58616c73808c939ea7b1bbc5cfd9dccfc2b6a99c8f827d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca9b3becacfc4b9ac9f92867b6e61574d42382e23171107060b1012131516181a191d202122242623282c2f3846525e6875828e9ba9b3becad2c5b9aca096887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000815222f3b4855626e7b8896a1adb9c5d2e1d8ccc0b6ac9c908376695e5242392e1d140a00000000000000000000000000000000000000000000000000000000000000000000020e1a25303b4653606c7884919eabb8c4cfdbddd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000000006131f2c3945515d6774818e9aa8b2bdc9beb3a99b8e8275685d5245392c2013020000000000000000000000000000000000000000000000000000000008131e28323e48515b636e74808c92989fa7aeb4b9bdc2c5c6c5c3c2c2c3c5c6c4c2bcb7b2aca59d9691877e706b61594f453c3134404b555f6a727f8b949ea9b3bebbb0a69f92867c6f675c51453e32291d1e252a2f35393a414547494b4d4e4f4f4e4e4c4a4846423d3c38332b28221c140b060000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7d2c6b9ada197887b6e62584e45403b3a36303434333232312e29231b1309000000000b1824313e4b5764717e8a97a4b1bdcad4c8bcb1a7a09da0a7b1bbc5cfd1c4b8ab9f95887b6e6155483b31261a080000000000000000000000000000000000000000000000000004101d2935404b5564707d8a98a2aebac6d3c8bcb1a7a09da0a7b1bcc8d4d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858174675b4e4134281b0e00000000000000000000030c172029333b444d565d656c727c838b91969d9fa7aaacb2b3b6b7b9bbc0bcbcbcbbc0bbb9b7b5b4b1acaaa79f9d95908981796e695f677683909ca8a8a8a8a8a8a194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c46505a606c77818f95a0a9b3bdc7d1dcd0c4b7ab9f948a7e7170707070707070707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5564717e8b97a2adbac7d2c7baaea3988d8074695e544a3f34282318120c07030607080a0b080d1113141617141b222d38424e58616d7a86929facb9c5d0d1c4b7aa9e9184776a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000030f1b27333f495365727f8b98a8b2bdc9d5e0d4c8bbafa49a8b7f7265574d4230271d0b02000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b6674808d9aa9b3becad6dfd3c6baaea298897c6f6356493c2f24180c000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000000000000000000020b1924303a44505a636d73808d929fa3aab1babfc6c8c5beb9b8b6b5b5b7b8babfc6c7c4bdb9afa9a19992877d706b60574d42372f39434e58626d75828f97a1acb6c0baaea3989083796d60594f443b2f261b191e24292c2f35393a3c3f414242424241403d3b3a37312f2c271f1c17110a02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3afbbc7d3d5c9beb3a99a8d80746a5f57514b474642424140403f3f3e3a342d251b11060000000b1824313e4b5764717e8a97a4b1bdcad9cdc3b9b1abaaabb1b9c3cdd7d0c3b6a99d908376695f53463a2a1f140900000000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cdc3b9b1acaaacb1b9c3cdd9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea29892929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292928e8175685b4e4235281b0f0000000000000000000000050e172129323b444c535b606a6f787e848a9095999da0a8a7a9abacafb5afafafafb5afacaaa9a7a8a09d9a95908a837d746d675f576673808c999b9b9b9b9b9b9b94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343e44505b656d79839197a2abb5c0cbd7d3c7bbb0a69f92867c6f68636363636363636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4753606d7985929facb6c0cccbbfb4aa9f92867b6e665c50443e3529241d18120d0706030002000205070c11171d262d333f4a545f6a73808d99a3aebac7d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121f2b3744505b6575828f9ba8b5c2cfdadfd2c6b9ac9f93877b6e6154483b3021150b000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54636f7c8997a2adb9c6d2dfd6cabfb4aa998c7f7366554b4035291d1004000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000a141d2935414c56616c727f8c929ca4aeb4bcc2c7c0bbb9b3adaba9a8a8aaacaeb4b8bcc2c9c0bbb2aba39992867d70695f53463e32313c46515b616d7a85919aa4afbbbfb4aaa0958d80746b61564c41382d221713191d2024292c2d303234353636353433312e2d2b2622201c160f0b060000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5d2dacfc5b8ac9f92867c6f69605c5554524d4f4e4d4c4c4c4a463f372d23180d0100000b1824313e4b5764717e8a97a4b1bdcad7d5cbc3bcb8b6b8bcc3cbd5d4c8bcb1a7988c7f7265574d42362a180e03000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6cbc3bcb8b6b8bcc3cbd5dfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f000000000000000000000000060f172029323a414950585f656c71787e83888c9196979a9c9e9fa4aba2a3a3a2aba49f9e9c9a9795918d88837e78706b605c5556636f7c898e8e8e8e8e8e8e8e8e887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000030e182227333f49535d676e7b859299a3afbbc1cbd4cdc2baaea29891847a6d665c5656565656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6774808d9aa4afbbc7d1c6baaea3998f82786d605a50473f352f28231c1815120f0a0e090e1214181c23282f383f44505b666f7c87929fabb4bfcbd1c4b8ab9f95887c6f6255493c31261a0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d908377695e52463a2d201403000000000000000000000000000000000000000000000000000000000000000000000000000b17222d394653606c7885929eabb8c5d1dedbd0c2b6a99c8f8376675d5145382c1f130600000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000006111b262f3846525d68717e8a919ca4aebabfc6c4beb6afaca9a19e9d9b9c9d9fa3aaabb1babfc5c4bdb4aba39892867b6e615a50443a30343f46525e68707d88939fa7b1bcbcb1a79d928a7d70685e53493f33271f160d1113181d20212325272829292827262422211e1a1613100b03000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784909daab7c3cfdad3c6baaea29891847b736d6764615e575c5b5a5959585651493f34291e120600000b1824313e4b5764717e8a97a4b1bdcad7ddd5cdc8c4c3c4c8cdd5ddd1c4b8ab9f95877b6e6154483b31261a0800000000000000000000000000000000000000000000000000000004101c2934404b5564707d8a98a2aebac6d3d5cdc8c4c3c4c8cdd5dde7d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababababababababababababababababababababababababababababababababa89b8e8175685b4e4235281b0f00000000000000000000000000060e1720282f383f444e535b60666d71777b8084878a8d8f9193999595969695959993918f8d8a8784807b76716c656059514b53606d7981818181818181818181817a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38414b555f69707d87929fa5afb9c3cdd6cabfb4aaa1968f82786d605a504a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7c87939fabb5c0cbcbbfb4ab9f948d80736c615951454039342e2924211f1b1c1b1c1a1e2123292e343b4149505c606c78839099a3afbdc6d1c9bdb2a89d9083766a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adbac6d3dfd8ccc0b6ac9a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3744505b6575828f9ba8b5c2d0dcdfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6f62544a3f3428160c020000000000000000000000000000000000000000000000000000000b17222d38414f59616d7a85929ea3adb6bfcbc3bab2aca49f9b9792908f8f9092989d9fa7aeb4bcc5c6bdb4aaa2988f82766c61564c41352a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d1207070d11131416181a1b1c1c1b1b19171514120e0907040000000000000000000000000000000000000000000000000000000000000000000004101c2934404b556874818e9ba9b3becad6d6cabfb4aaa19691867f7975716e696a686767666565625b51463a2e22150900000b1824313e4b5764717e8a97a4b1bdcad7e6dfd9d4d1d0d1d4d9dfdcd0c3b6a99d908376695e53463a291f1409000000000000000000000000000000000000000000000000000000000c18232f3a4653606d7985929fabb8c5d0dbd9d4d1d0d1d4d9dfe7e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a89b8e8175685b4e4235281b0f0000000000000000000000000000050e161d262d333c414950545c60646a6f73777b7d808384868888898989888887868482817e7a77736e6a64605b534f4545515c666d75757575757575757575756e685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3a434d57606b727f8c939ea7b1bbc4cfd0c6bcb2a89f948d80736c61584e443d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a75818e99a3afbbc5cfc6bdb0a69d928a7e716b635b514b444039352f2e2b26292828262b2d2f34383f444d535b606e74808d959fabb5c0cfd2c5b9ada1968b7e7164584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000a1724313d4a5764707d8a97a9b3becad6e0d4c8bbafa49a8a7d7064574a3d30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495365727f8b98aab4bfcbd6e0d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000007131f2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083776a5f5342382e23170b000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74818e97a1adb5bfc8c3b9b1a8a19a938e898583828284868b90959fa2aab4bcc5c6bcb4aa9f948a7e71685d52463a2f303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0501040607090c0e0f0f0f0f0e0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3e4b5864717e8b97a1adb9c7d1dbd0c6bcb2a8a198928c85827e7b78777574737372726d62564a3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4eae4e0dddddde0e4e0d4c7bcb1a7988c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6e2e0dedddee0e4eaf1e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000040b141b22272f383f444a5053585f6266696e71747678797b7b7c7c7c7c7b7b79777674716e6867625f58535049413d404b545c606868686868686868686868615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626d74818e959fa9b3bdc6d1cec4bab0a69d928a7e716a60564c42392e3030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e58626e7b87929fa9b3bec9cfc2b8aea49f92867d726d605d55514a45403c3a373136353531373a3b40454a50565e656c73808c929da7b1bdc7d1c8bdb1a89e9184796d6053473c32261b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000d1a2633404d596673808c99a6b3bfd0dbdfd2c6b9ac9f93867a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3c4955626f7c8898a3aebac7d3e0d7cbbfb4aa978b7e7164584b3e31251806000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3998b7f7265584e4330261c110600000000000000000000000000000000000000000000000000000005121f2b3744505b656f7c88939fa9b3bec7c4bab1a7a0969188817d79767575777a7e838b9298a2aab4bcc6c6bcb0a69e92857a6d61554b413529323d45515c666e7b86929fa5afbabeb3a99f948c7f726a5f554b40352921170b02000000000001020303020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d7cec4bab2aaa29f97928e8a8785838281807f7f7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4f5f0eceae9eaeceaddd1c4b8ab9f95877b6e6154483b31251a0e020000000000000000000000000000000000000000000000000000000004101c2834404b5564707d8a98a2aebac6d3dfeceae9eaecf0f5f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000020a11171d262d33383f44464e5355575e61646769666d6e6f6f70706f6e6e6d66696764615e5655534e46443f382f39424b51535b5b5b5b5b5b5b5b5b5b5b54524c443b3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47515b606d79839097a1abb4bfcbd7ccc2b8aea49f92867c6f685e544a403428232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c47535f6974818e97a1adb9c1cccac0baaea29892877f746d67605c54514b48474344434142434246484b51545c60686e777f8c929ca4aeb9c2cfccc4b8aca0958b7e71675c5145382a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000613202d3a4653606d7986929facb8c5d2dfdcd1c0b3a6998d8073665a4d402d22170b00000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6154473c3121140a000000000000000000000000000000000000000000000000000000000613202d394653606c7883909aa4afbbc5c7bdb2a8a09590847d75706c666869676d71787f869298a2aab4bfcbc2b9ada1978d8074675d5145392c2834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6773808d99a3afbbc4cdd7d6ccc4bcb4aea9a29f9b979792908f8e8d8c8c83776a5d5144372a1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4f0f0f0f0f0f0f0e4d8ccc0b6ac9d908376695e53463a291f14090000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5d0dbe6f2f0f0f0f0f0f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000060b141b22272e34383c4347484d5254575a545c606162626363626261605c545a5754524d4847433c37332d2730394045464e4e4e4e4e4e4e4e4e4e4e4746413b32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f45515c676e7b859199a3aebac0cad4cac0baaea39891847a6d665c51443f342b201717171717171717171717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37424d57616d7a85929ea5afbac3cecabfb4aaa299938c8179726d66605d5555534e504f4e4f504d5355555c60666d717a828c929ca4aeb6c0cbcec4baafa59d9184786d60554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0dddbcec1b5a89b8e82756853493f33271b0f03000000000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8e8275685d5246392d20130200000000000000000000000000000000000000000000000000000005111d2935414c5663707d8995a0acb6c0ccc0b5aba09690837a706b63605b54555d60656c727c869298a3aebac4c9beb3a99f92857a6d6054473c32262e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b2f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929fa8b2bbc5cdd6d6cec6bfbab3adaba8a9a29f9d9b9a9a998e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e3e3e3e3e3e3e3e3e0d4c8bbafa49a8c7f7265574d42362a170d0300000000000000000000000000000000000000000000000000000000000007131f2c3845515c6774818e9ba9b3becad6e2e3e3e3e3e3e3e3e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000020a11171c23282b31373a3c4246484a4d4b5153555556565655555453514b4e4b4746413b3a37312b27221e272e34383a42424242424242424242423b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232934404b555e696f7d87929fa4aeb8c2ccd6cbbfb4aaa1969082786d605a50463d32291e150b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c46525e68717e8a939ea8b2bcc5cfc6bcb4aba49f938e847f79716d6765625f585d5c5b5b5d575f6165676d72787e858f949ca4adb6bfc8d0c6bcb2a89d92897d70665c5043392f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546874818e9ba7b4c1cedaddd0c3b7aa9d908477655b5044372b1f120500000000000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000713202d3946525d6875818e9ba7b1bec7c7bbafa49991847a6e68605953504a4b51535b606a707d86929fa8b2bdc9c5baaea2988b7e7165584e43372b27303c45505a606d7a849199a4afbbbfb4aba0968e81746c61574d42382d22170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6974818e96a0a9b3bbc3cad0d6d0cac5bebab8b5b3adabaaa8a7aa988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad6d6d6d6d6d6d6d6d6d6d2c6b9ac9f93877b6e6154483b31251a080000000000000000000000000000000000000000000000000000000000000004101c2834404b5563707d8a97a2adbac6d3d6d6d6d6d6d6d6d6d6d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000060b11171c1f262b2e30363a3b3e414045464848494949494848464540413e3b3936302e2b261f1b17151d23282c2d35353535353535353535352e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118232f39434d57606b717e8b929da6b0bac4ced0c6bcb2a89f948d80746c62584e443b30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202a36414c56616c75828f96a0aab3bcc6cec6bdb5afa59e96918b847e7a76726f6a6b6a696868696a696e7275797e848a92979fa6adb6bfc8d2c7beb4aaa1968e81746b60544a3f31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7b8799a3afbbc7d3e0d7cabeb1a4978b7e7164584b3e3125180800000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3f4c5966727f8c99a5b2bfccd8dfd2c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c3cbbfb4aa9f93877c6f685e564f46443f4145495058606b737f8c96a0acb9c5cabfb4aa9d9083776a5f53473b2e212a333f45525d686f7d87939fa7b1bcbdb2a89d938a7e71695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57606d79849197a1a9b1babfc6cacfd3d0cac6c5c1bebab8b6b5aea298887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c9c9c9c9c9c9ccc0b6ac9c908376695e52463a291f140900000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5cfc9c9c9c9c9c9c9c9c9c9c9bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000060b10151a1f21252a2d2e312e34383a3b3c3c3d3d3c3b3b3a38342e312e2d2a25211f1a150f0b0b12181c1f20282828282828282828282821201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626c74808d949fa8b2bcc6d0cec4bab0a69d928b7e716a60564d42392e231810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a44505a606d79849198a2aab4bcc6cec7c0bbafa9a19e96918b86827f7b7978777674757677787b7e82858b91969ea1a9b0b8bfc8d0c7c0b6aca2989184796d60594f42382e1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdd2dde0d3c7baaea298877b6e6154483b2e211508000000000000000000000000000000000714202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000004101c2934404b5565727f8b98a3aebac7c7baaea3988e81746a60564c443d383335383f444f59606d7984919eaab4becac5b8ab9f95887c6f6255493c2e23212935414c56606b73808c959faab3bebaafa59f92857b6e665b50443d31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b45515d676f7c859297a0a7aeb4babec5c6cad0d0d2d0cac6c5c3b8ac9f9285796d6053463a2d20130700000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbbafa49a8b7f7265574d42362a170d03000000000000000000000000000000000000000000000000000000000000000007131f2c3845515c6674818e9ba9b3bebdbdbdbdbdbdbdbdbdbdbdbdbdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000030a0f12151a1e20212423282c2d2e2f2f30302f2f2e2d2c28232421201e1914120f09030000070c1013131b1b1b1b1b1b1b1b1b1b1b1414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d46505a606d78828f96a1aab4bfcad6ccc2b8aea49f92867c6f685e544b40342823190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e45515d676e7b869298a3aab4bcc4ccccc1bbb2ada8a19e99928f8c88868483828182838485888b8e92979ea0a8adb3bbc2cacfc6beb6afa49a92867c6f675d51473d30261c0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce2d6cabeb3a994877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995acb6c0ccd8e2d6cabfb4aa96897c706356493d3023160a000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000006131f2c3845515c677683909daab4bfcbc5b8ac9f92867a6d61584e443b322b28292d333d45515c67717e8b98a2aebac6c8bcb1a7998d807366544a3f34281c24303a444f59606d78839098a2aebac0baada2979082786c60584e433a2f24190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a6f7c8590959fa2aaadb3b8babfc2c4c5c7cbd1cbc3b6a99c908376665c5044382b1f120600000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ac9f93877b6e6154473b30251a0800000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8a97a2adb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a3978a7d7064574a3d3124170a000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000306090e12141517181c1f202222232323222221201f1c18181414110e0806020000000000000406070f0f0f0f0f0f0f0f0f0f0f0807050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17202b343f44505c666d7a849198a2aebac0cad3cac0baaea39891847a6e665c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935414c555f69707d869298a2aab2bac2cacdc4bdb9b2acaba39f9c98999291908f8e8e90919297989b9ea2a9acb2b9bec5cdccc4bdb4aca49f93887e706a5f554b41352b1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879aa4afbbc8d4e0dbd0bdb0a3978a7d7064574a3d3124170a00000000000000000000000000000007131f2c38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5cabeb3aa9b8e8175685e52463c3229201c1b222934404b55606d7985929fabb8c5cdc3b6a99c908376665c5044382c1f1e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18242f3a434e58606a6f7b838c92989fa2a9acaeb4b5b7b9bbc0bebfc0b3a69a8d807367544a3f34281c100300000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3ab9c908376695e52463a291f1409000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3978a7d7064574a3d3124170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000002050708070c10131315151616161615151313100c07080705020000000000000000000000000202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545e686f7c86929fa4aeb8c1ccd7cbbfb4aaa1969082786d605b51473d33291f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a434d57606b707d869298a1a8b0babfc5cec9c4bdb9b4aeaca9aba39f9e9d9c9b9b9c9d9ea2a9a8abadb3b9bdc4c9cec9c1bab2aba39a938b7f726c61584e433a2f231a0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfd7cabdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000915222e3b4854606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c1106000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3aebac7c6baaea2988a7d7063564c41342b20170f1118232f3945515d6774818e9ba7b4c1cfc5b8ac9f9285796d6053463a2d20162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464e5860696e787f868d92979b9fa2aaa8aaacafb5b1b2b3b3a9978a7d7164574a3e2e23170b0000000b1824313e4b5764717e8a969696969696969696969696969696969696998b7f7265574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c6674818e969696969696969696969696969696969696968a7d7064574a3d3124170a000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000406070809090a0a090808070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a717e8a929ca6b0bac3ced1c6bcb2a99f948e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c454f59616b707d8691969fa6aeb4bcc1c7ccc9c6bfbab9b6b4aeacabaaa9a7a8a9aaabadb3b5b8b9bec5c9cec9c4bdb9afa8a19992887f726d625a50463c31281d1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667885929eabb8c5d1ded7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000004101d2935404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3121150a00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfcbc5b8ab9f9285796d6053463a3020190e0507121d2935404b5564707d8a97a9b3bec9c6baaea298887c6f6255493c2f221617232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d464e575e666d727b80858a8e9298989b9d9fa3aba4a5a6a7a197877b6e6154483b2e2115060000000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5463707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a0005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c73808d949ea8b2bcc5d0cfc4bbb0a69d938b7f726b60574d43392f2318110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333d474f59616b707c848f949fa2aab0b7bbc1c6cacbc7c5c2bfbab9b7b6b5b4b5b6b7b8b9bec1c5c6cacec8c4beb9b2aca59e9691877e726d625b51483e342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddaddd0c3b6aa9d9083776a5d50442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546b7884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8f8275685e5246392d20130300000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c2b6a99c8f8376665c5044382b1f120700010c18242f3b4854616e7b8797a1adb9c6cabfb4aa988b7e7265584b3f322518111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343d454d545c60686e73797e8285898c8f9192999697989a9a9b928578695e53463a2d2114070000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d70695e52463a291f14090000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e6154473b2e21140800010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f1013131313131313131313131313130a090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323c46505a606c78828f96a0a9b3bdc7d2cdc2b9afa59f92877d6f695e554b40342923190f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353d474f59616a6f7a828b92989ea6aab0b8babec5c6cacfcbc7c5c4c3c2c1c1c3c4c5c6cacfcec8c5c3bcb8b2ada8a09e938f847c716c625b51493f362c22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e44515e6a7784919daab7c4d0ddd9ccbfb2a6998c7f7366594c403326190d00000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c41362a1d110500000000000000000000000000000000000000000000000000000000030f1c28333f4a546a7784919daab7c4cdc0b3a69a8d807367544a3f34281c100300000714202d3a46525e697885929eabb8c5d0c1b4a79a8e8174675b4e4134281b0a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938a7e71695f544a3f342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019222b333b424a51565e61676d7175797c7f82848688898b8c8d8d8e8f827569574d42362a1e12050000000714202d3a46525e696e7070707070707070707070707070707070707070706b60564d42362a170d0200000000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c666d7070707070707070707070707070707070707070706e685e5246392d201407000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c2020202020202020202020202020161613100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e44505b666d79849197a2abb5c0ccd7cbc0bbaea39991857b6e675c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353d474f585f686d787f868f939c9ea6abaeb3b8b9bec1c3c4c6c9cfc8c9c9d1cbc7c5c4c2c0bcb8b7b1aca9a19e96918a817a6f6a615a51493f372d241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000071e2a3744515d6a7784909daab7c3d0ddd9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000005111e2a36424d5764717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5cabdb1a4978a7e7164574b3e2e23170b00000005121e2a36424d576976828f9ca9b5c2cec1b5a89b8e8275685b4f4235281c0f0c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710192129303940444d52555d6064676d6f727577797b7d7e7f808181827e7164584b3e31251a0e0200000005111e2a36424d575e6163636363636363636363636363636363636363636360594f443b302519050000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c60636363636363636363636363636363636363636363615e564c41362a1e11050000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e182228333f4a545d676e7b859299a4afbbc1cbd7cbbfb5aba1979083796d605b51473d33291f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353d464e565e666c727b82898f949a9fa2aaabadb3b4b6b8b9bebbbcbcbcbbbfbbb9b7b5b3b1acaaa7a09d97918c847d756d68605850483f372d251b1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6c9bcafa396897c706356493d30231606000000020e1a2530424e5b6875818e9ba8b4c1cec2b6a99c8f8376695c504336291d10060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343b41464b5153555c60636568666d6e70717273747575716c6256493d301f140900000000020e1a25303b454d5254575757575757575757575757575757575757575756544f473d32291f140900000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515357575757575757575757575757575757575757575754524c443b3025190d01000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d3235363939393939393939393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38424c555f69707d87939fa5afb9c3cdd1c6bdb3a99f958e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545b60696e757c82898e92989b9ea1a9a7a9abadb3aeafafafafb5aeacaaa9a6a7a09d9995908b847f79706b615d564e463e362d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000814212e3b4754616e7b87939facb9c5c4b8aca095887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7c8bbafa295887c6f6255493c2f22160900000000091b2734414e5a6774818d9aa7b4c0cdc3b7aa9d9084776a5d5144372a1e110007131d28313d44505b666e7b85929ea5afbabeb4aa9f958c80736b60564c41352921180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151c23283036394045474b51535659545c60626364656767686864625a5045392d210d03000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b20170d02000000000000000000000000000000000000000000000000000000000000000000000000000007121c2730394044464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e14080000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57616b727f8c939ea7b1bbc5cfcfc4bbb1a79d938b7f726b60574d43392f24181108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575e616a6f757c81858a8f9297989a9c9ea1a9a1a2a3a3a2aba39f9e9c9a9795918c88837e79726d676159524c443c342d241b12090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000006131f2b37434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c0000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894abb5c0ccc7bbaea194887b6e6155483b2e221508000000000d1a2733404d5a6673808d99a6b3c0ccc4b7ab9e9184786b5e5145382b1e1205010c161f28333f4a545e69707e8a929da8b1bdbcb1a79f93877d70685d52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a2f35393a404546494c4a5153555658595a5a5b5c585650483e34291d11000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b38332b23190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d0200000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59636d75818e95a0a9b3bdc6d1cdc2b9afa59f92877d70695e554b40352923190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820282f383f444d525860626a6f74797e8285888b8e909197949595969695959992918f8d8a8784807b77716d67605c554f46413a322b221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000815222e3b4754606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c11060000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd1c7baada094877a6d6154473a2e211407000000000c1926333f4c5966727f8c99a5b2bfccc5b8ab9f9285786c5f5245392c1f120600040d17222d38424d57616c74818e95a0abb4bfbbafa49991847a6d615a50453c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c14191d24292c2e34383a3c3f404446484a4b4c4d4e4e4f4b49453e362d22170c00000000000000050e171f252a2d2e3030303030303030303030303030303030303030302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3030303030303030303030303030303030303030302e2d2a251e170e05000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333e47515b606d79839097a1abb5bfcbd7cbc1bbafa39992857b6e675d51453f352b21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e161d262d333b42464e54586062676d7175797b7f818385868788898989888887868482807d7a77736e6a65605c55514b433e3530282019100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddadcd0c3b6a99d9083766a5d50432e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7884919eabb7c4d1ded9ccbfb3a6998c807366594d4033261a0d000000000000000000000004101c2934404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3221150a000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895abb5c0cbc7baaea194877b6e6154483b2e211508000000000d1a2633404d596673808c99a6b3bfccc4b8ab9e9185786b5e5245382b1f1205000006111c262f3b45505a606d79839199a3aebac0b5aba1968f81756c62574e42392e23180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e12181d1f23282c2d302e34383a3b3d3e3f404142423e3d39342d241b10060000000000000000050d141a1e202124242424242424242424242424242424242424242322201c160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2024242424242424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212c353f45515d676e7b859299a3aebbc0cbd7cbc0b5aba1979083796d605b51473d33291f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c222830363d43474e54555d6064656c6f727476787a7b7b7c7c7c7c7b7b79777673706d6866625f5853514b4540393129241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929eabb8c5d1ded8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000006131f2c3845515c6774818d9aa8b2bdc9beb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3afbbc7c8bbaea295887b6f6255483c2f221509000000010e1a2734414d5a6774808d9aa7b3c0cdc4b7aa9d9184776a5e5144372b1e11040000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f544b40342820170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f202323282c2d2f3031323434353531302d29221b12090000000000000000000002090e1114141717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131717171717171717171717171717171717171717171414110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232935404b555e696f7d87929fa5afb8c2ccd1c7bdb3a9a0958e81756d62594f453b31281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a32383d43474b5153535b6062656769676d6e6e6f70706f6e6e6d66696764615e5655534e46454039342f271f19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578665c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5c9bcafa296897c6f6356493c30231609000000020e1b2835414e5b6874818e9ba7b4c1cec3b6a99c908376695d5043362a1d1003000000020b17212935404b555f6a727f8c949fa9b3bebaafa59f92867c6e665c51453d32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10131316181c1f2022232526272728292524211d17100900000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118242f39434d57606b727f8b929da6b0bac4cecfc5bbb1a79e938c7f726b60574d43392f2418110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a20272b32373940454749505355585b555d606162626363626261605c545a5754524c4847433c38342e29231d150d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1925323f4c5865727f8b98a5b2becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8799a3afbbc7d4e0d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36424d5664717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657885929eabb8c5c9bdb0a3968a7d7063574a3d3024170800000004101c2934404b556875828f9ba8b5c2cec2b5a89b8f8275685c4f4235291c0f0200000000050f18242f39434e58606c77828f97a1adb9c0baaea2989083796d60594f443a2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607070c101213151718191a1b1b1c181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626d74818e949fa8b2bcc6d0cdc3b9afa59f92877d70695f554b403529231a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b20272b2f35383a3f4446484c4e4b5153545556565655555453504a4d4a4746413b3a37312c28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895abb5c0cbd7e3d8ccc0b6ac96897c6f6356493c30231609000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c514438291e13080000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536a7784919daab7c4cbbeb2a5988b7f7265584c3f3024190d01000006131f2c3845515c677784909daab7c3cec1b4a79b8e8174685b4e4135281b0e02000000000007121d27313c44505b656e7a85929ea4aeb9bfb4aaa0958d80736b60564c41382d22170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0b0c0d0e0f0f0b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313131313131313131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d47515b606d78829096a1aab4bfcad6cbc1bbafa39992857b6e675d51453f352c21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1d24292c2d3337393c3f41404547484849494949484846443f403d3a3936302e2b261f1c18120c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d8ccc0b6ac95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e211508000000000000000000000814212e3b4754616e7b86929facb9c5c5b8aca095887c6f62544a403428170c020000000000000000000000000000000000000000000000000000000000000000000b17222d424f5b6875828e9ba8b5c1cfc1b4a89b8e817568564c4135291d110500000714202d3a4753606d7986929facb9c5cbc0b5ab998c7f7266594c3f3326190c000000000000010b151f27333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e53493f33271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11161a1d1e20202020202020202020202020201e1d1b17110b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212b353f44515c666e7a849198a2aebac0cad7cbc0b5aba2979083796d605b51473e332a1f160b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181d1f22272b2d2f322f35393a3b3b3c3d3d3c3b3b3a38342e312e2d2a25211f1a15100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7a8799a3afbbc7d3e0ddd2bdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000006131f2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5342392e23180c00000000000000000000000000000000000000000000000000000000000000000000061925323f4c5865727f8b98a9b3becac4b7aa9d918477685d5246392d20140a00000916232f3c4956626f7c8999a3afbbc7c7bbafa399897c6f6356493c3023160900000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0e13131313131313131313131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000407090a13131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000050e161c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27221d160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f151b1f22232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232834404a545e686f7c86929fa4aeb8c2ccd1c7bdb3a9a0958e81756d63594f453c31281d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013171b1f20222524292c2d2e2f2f30302f2f2e2d2b28232421201d1914120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578665c5145382c1f13060000000000000000000815222e3b4754606a7784919dabb5c0c7bbafa3998b7f7265584e4330271c1207000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8897a2adbac6c6b9ac9f93877a6d6154473d2f261c110709121e2b37424d5765727f8b98abb5c0cbc5b9ac9f92867a6d6053473a2d201407000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020202020202020202020202020201b1a18140f0801000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020201b1a18140f08010000000000000000000000000000000000000000000000000000000000040e1720272e33363739393939393939393939393939393736332e2720170e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393635322d261e160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424c56606a717e8a929da6b0bac3cecfc5bbb1a79e938c7f726b61574d433a2f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f12131519181d20202122232323222221201f1c17171413110d0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57697683909ca9b6c3cfdcdcd0c3b6a99d9083766a544b4034281c1004000000000000000004101c2834404b55626f7c8995a0acbdc7c5b9ac9f92867a6d6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5c8bbafa49a8b7e7265584e42382d221813131a252d3a47535f697683909ca9b6c3d1c3b6aa9d908377675d5145392c1f13060000000000000000000a141d29323e45515c676e7c86929fa5afbbbeb3a99e948b7f726a5f554b40352920170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b13191f2426272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000000000000000b16202932393f4344464646464646464646464646464644433f39322920100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646464646464643413e3830281e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444e58616c73808d949fa8b2bcc5d0cdc3b9afa59f93877d70695f554b41382d22170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050609070d11131415151616161615151312100b06070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8c5d1dedacdc0b4a79a8d8174675a4e412e23180c00000000000000000006131f2c3845515c6774818d9aa7b1bccabeb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba9b3bec9c0b6ac9d9083776a60544a3f3329242020262b37424d57616e7b88949fabb7c4c9bdb2a89a8d817467554b4035291d1004000000000000000000020b17202834404b555f6a727f8b939ea9b2bdbbb0a69f92867c6f675d51453e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d242b30333439393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000008111a21282c2f3039393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000006111c27323b434a4f515353535353535353535353535353514f4a443b3222190e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343d4347495353535353535353535353535353534f4e49423a30261b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c46505a606d78828f96a0aab4bec7d2cbc1bbafa49992857b6e675d53493f332721180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070808090a0a0908080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000b17222d404c5966737f8c99a6b2bfcfdbded2c5b9aca196877a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd8ccc0b6ac988b7e7265584b3f322518070000000000000000000713202d3a4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b97a1adb9c7c7b8ab9f95897c6f665b50443d352f2d2d31364046535f6973808d99a6b0bcc7c5b9aca196897d7063564a3d2f24180c0000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50443b2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c3f41464646464646464646464646464646464641403c362f261d13080000000000000000000000000000000000000005101a232c33383c3d464646464646464646464646464646464641403c362f261d130800000000000000000000000000000000000000000000000000000a16222e39434d555b5d60606060606060606060606060605e5b554d44342b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54566060606060606060606060606060605c5a544c42382d211509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202b343e44505c666d7a849198a2acb6c0ccd7ccc0b5aba2979183796d655b50443e332a1f160b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000061724313d4a5764707d8a97a9b3becad6e1d5c9bdb2a8978a7d7164574a3e31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad6e0d4c8bbafa49a897c6f6256493c2f231609000000000000000005111e2a36414c5664717d8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eabb5c0c8bcb1a79d9083786c60594f45403a393a3b4246525c616e7b86929facb8c2cbc0b5ab9e9184786c605346392d20130700000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61564d42382d22170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535353535353535353535353534e4c4841382f251a0f030000000000000000000000000000000000000b16212c353e44484a53535353535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f55463c32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3225190d00000000000000000000000000010406070a090703000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545d686e7c86929aa4afbbc1cbd2c7bdb3a9a0958f81776c605a50463c31281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815212e3b4854616e7b8797a2adb9c6d2dfdacec0b3a79a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cfdadfd2c6b9ac9f93867a6d6053473a2d20140700000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e13080000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc6c3b8ab9f958b7f726b6059514b474646484d535b636e76828f98a3aebac7c7bbafa3998c7f73665b5044382b1f1206000000000000000000000000000b151e2a343f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2b36404a52585a60606060606060606060606060606060605b58534a41362b201401000000000000000000000000000000000004101c28333e474f555760606060606060606060606060606060605b59534a41362b20140200000000000000000000000000000000000000000000000000101d2936434f5b6771777979797979797979797979797979777167584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f7979797979797979797979797979797670665a4e4135281c0f000000000000000000000001080d111314161613100b0400000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a707d88939fa5afb9c3cdd0c5bbb1a79e938c7f736c61584e433a2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535e697885929eabb8c5d1deddd0c3b7aa9d908477695e53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784919daab7c4d0ddddd0c4b7aa9d918477675d5145392c20130600000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87929faab4bfc8bcb1a79f92867d706b605d5554525354575f616d73808c949eaab4bfcbbfb4ab9f92867b6e61544a3f33281c0f0300000000000000000000000000030c18222935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301e130800000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c301e130800000000000000000000000000000000000000000000000000111e2a3744515d6a7783868686868686868686868686868683776a605447382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8686868686868686868686868686868276695c4f4336291c1000000000000000000000040c13191d20212322201b160c06000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c737f8c939ea7b1bbc5cfcdc3b9afa59f93887e706a5f564c42382d22171006000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021201e1a140d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e2021201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576875828e9ba8b5c1ced9ded1c5b8aca095877b6e6154483b31261a0e010000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded7cbc0b5ab9a8d817467554b4035291d11040000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5442392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946525e6975828e98a2aebac2c2baaea29892867d736d6763615e606164696e767f8c929ca6b0bcc6c7baaea3998f8275695e5242382d22170b000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada1978f82786c60584e433a2f24180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e747979797979797979797979797979797979746f64584c3a2f24190d01000000000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979746f64594c3a3024190d010000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9a939393939393939393939395887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674808d939393939393939393939393988b7e7164584b3e3125180b000000000000000000050d161e24292c2d302f2c272117110a0300000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323c464f59606c77818e95a0a9b3bdc7d1cbc1bbafa49a92867c6e685d544a3f332822180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e2d2a251f18120c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181f252a2d2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000020e1a25313f4b5865727e8b98a8b2bdc9d5e0d4c8bcb1a7988c7f7265574d42362a1d1207000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a8b1bdc8d4e0d4c7bbafa3998a7d7064574a3d2f24180d01000000000000000815222e3b4754606a7784909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57616e7b86929fa7b1bdc6bfb4aaa29892878079746f6d686d6e71757b828c919ca4aeb8c2c9bdb2a89f92867b6e62564d422f261c11060000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774808686868686868686868686868686868686817467564c4135291d1104000000000000000000000000000000000a1724303d4a5763707d8686868686868686868686868686868686817467564c4135291d11040000000000000000000000000000000000000000000000000815212e3b4854616e7b87939f9f9f9f9f9f9f9f9f9fa79a8d8074665c5044382c1f130800000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919e9f9f9f9f9f9f9f9f9f9f9f9286796d6053473a2d2014070000000000000000050e171f282f35393a3d3b383228231c150c03000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202a343e44505b656d79839097a1abb5c0cbd7ccc0b6aca29891847a6d665b50443e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3a363029241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d242930363a3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000915222e3b4855616e7b8896a0acb9c5d2ded9cec3b6a99d908376695f5346392f24180c00000000000000000000000000000000000000000000000000000000000000000000000a14202d3a46525e697683909da9b6c3ced9dfd2c5b9ac9f92867a6d6054473a2d2114070000000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b46535f69727f8c959fabb4bdc6bcb4aaa299928d85807c7a79797b7d82868f949ca3adb6bfc8c0b9aca0968c80736a5f53443b301d140a0000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e33291e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d67778390939393939393939393939393939393908477685d5245392c20130600000000000000000000000000000003101c28343f4a546673808d939393939393939393939393939393918477685d5245392c2013070000000000000000000000000000000000000000000000000714202d3a46525e6976838f9caab4acacacacacacacab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adacacacacacacacb3a99b8e8175675d5145392c20130600000000000000060f172029313a4145474948443d342e261e150d030000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303030303030303030303030303030300040d182227333f49535d676e7b859299a3afbbc0cbd2c7beb4aaa0968f82786c605a50463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464746423b352f281f18100701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353b42464746423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000714212d3a46535f697784919eaab7c4cedaddd1c4b8ab9f95887b6e61554b4035291c110600000000000000000000000000000000000000000000000000000000000000000006111b2834404a54616e7b87939facb9c6d2dfdcd0c3b6a99d908376685d5245392c2013070000000000000006131f2c3845515c6674808d9aa7b1bccabeb3a99c8f8275685e5246392d201403000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606c78839099a3abb5bec6bcb4aba39f97928d89878686878a8e92989fa6adb5bfc8c0b6ada39e9184796d60574e4232291f0b02000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000006121f2b3844505c6676838f9c9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a3aebab9b9b9b9b9b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6774818e9ba9b3beb9b9b9b9b9b9ada1978a7d7063554b4035291d1104000000000000070f182129323a434c515456544f443f3830271f150d0300000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b10101010101010101010101010101010101010100f17222d38414b555f69707d87929fa5afb9c2cdd0c5bcb2a89e948c80736c61584e443a30261c1106000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254524d454039312a2218130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313940454d5254524d453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000005121e2a36424d576774818d9aa8b2bdc9d5e0d4c8bcb1a7998d8073675d5145382e23170c0100000000000000000000000000000000000000000000000000000000000000000b17222d3844515c6673808c9aa4afbbc8d4e0d4c8bcb1a7998c807366564c4135291d1104000000000000000713202d3a4653606d7985929eabb8c3c6b9ada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b44505b666e7c869299a4acb6bfc6bdb5afa9a19e9a969992939a979b9fa3aab0b8bfc9c0b6aea49c91897d70675c51453c3120170d000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afacacacacacacacacacacacafa499897d7063564a3d2d22170b0000000000000000000000000000000713202d3a4653606d7985929facacacacacacacacacacacacafa49a897d7063564a3d2d22170b000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb9c5cfc6c6c9beb3a99b8e8175685d5245392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c4cfc6c6c6c5b8ab9e9285796d6053463a2f24180d010000000000071018212a333b444c555d60636059504a423931271f150b01000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b262f39434d57606b727f8b939da7b1bbc4cfcec3bab0a69c928a7e716a5f564c42382e23171007000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e615e57514b433c3429241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429343c434b51575e615e574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000020e1a26313c4956636f7c8996a1acb9c5d2ded8cdc2b8ab9e9285796d60544a3f34281d120700000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7985919eacb6c0ccd8ddd1c4b8ab9f95887b6e6255483b2f24190d0100000000000005111e2a36414c5664717d8a97a2adb9c6c5b8ab9e9285796d6053463b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28333f4a545f6a717e87939aa4aeb5bdc3c0bbb3adaba7aba39f9fa4aca8acaeb4bcc2c4bdb9aea49c928c7f736b60554b40332a200e050000000000000000000000000000000000000000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495366737f8c99abb5c0b9b9b9b9b9b9b9b9b9c0b5ab998c7f736653493f33271b0f0300000000000000000000000000000916222f3c4955626f7c8898a2aebab9b9b9b9b9b9b9b9b9c0b6ac998c807366544a3f33281c0f030000000000000000000000000000000000000000000000000914202c3945525d6875828e9ba9b3becad6dacfc5b8ac9f92867a6d6054473b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d6d2d5c9bdb2a89a8d8074665c5044382c1d13070000000000071019222a333c454d565e676d706b605c544b433931271d1207000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28313b454f59626d74818e959fa9b2bcc6d1ccc1b8aea49f92867c6f685d544a3f342822180e05000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e69605d554e463f352f281f1810070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353f464e555d60696e695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000913202d394653606c7884919eabb7c2cdd8dfd2c6b9ada2978b7e71665c5044392f24180c030000000000000000000000000000000000000000000000000000000000020b17212b3744505b65717e8a97a1adbec7d2ddd7cbc0b5ab9d9083776a5f53473a2e1e1308000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b17222d38424e58616c717e88939fa3abb1bbbfc5beb9b8b3b4aeacacafb6b5b8babfc6c0bab2ada49d928d80736d63594f43392f21180e00000000000000000000000000000000000000000000030c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ca8b5c2d1c6c6c6c6c6c6c6d2c2b5a89c8f8275655b5044372b1f120500000000000000000000000000000c1825323f4b5865727e8b98aab4bfcac6c6c6c6c6c6c6d2c2b5a99c8f8276665b5044382b1f120600000000000000000000000000000000000000000000000004111d2935414c5664707d8a97a2adbac6d3dfd3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9caab4bfcad6ded2c5b9aca096897c6f62544a3f34281c0c0100000000040f19222b343c454d575e686d7a7c736d665c554b43392f24180f050000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d30313636363636363636363636363636363636363636363636363636333d47515b606d79839096a1aab4bfcbd7cabfbaaea29891847a6d665c50443e342a20160c030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b756d675f585045403a312a2218130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313a404550585f676d757b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000005121f2b3744505b6573808d99a7b1bcc8d4e0d6cabeb3a99d9184786d60554b4035291e150b00000000000000000000000000000000000000000000000000000000000a141d28343f4a54606c7883909da9b3bed0d9e0d4c7bbafa3998b7f7265574e42372b1e0c01000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c46505a626c727f8b9299a0a7aeb5bbc0c7c5c0bfbab9b9bbc0c1c5c4c2bbb7afa8a19e928d80746e635b51473d31271d0f060000000000000000000000000000000000000000000000060f19242f3a434f59606d78829097a2adb0b0b0ada2979083786d60594f443a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2d2d2d2d2d2d2d2d1c5b8ab9e9285796c605346392d2013060000000000000000000000000005111d2a36414c566874818e9ba7b4c1d0dbd2d2d2d2d2d2d2c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929fabb8c4cedad6cbbfb4aa9c908376695e53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c00000000000a16212b343d464e575f696e7a838680786d675d554b40352921170d0300000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e434343434343434343434343434343434343434343434343434343434345515c676e7a849198a3aebac0cad6cabfb4aaa0968f82786d605a50463c32281e150a0000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d81796f6a625a514b433c3429241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d2429343c434b515a626a6f79817d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953626f7b88959fabb8c3ced9dbcfc5b8aca0968b7e72675d51453c30271d120700000000000000000000000000000000000000000000000000000006111b262f3844505c66717e8a95a0abbbc4cfe2dfd2c5b9ac9f92867a6e6154473c31261a0e0000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605442392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343e48505a626d727f8790959fa3abafb5b8bcbfc0c1c2c2c1c0bebcb8b6b0aba59d96918a80776c605c524940352b1f150b0000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5a3a3a3a3a99f948c80736b60564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a2adbac6d3dfe4e0dfe0e4dfd2c6b9ada297887b6e6255483b2f221507000000000000000000000000000713202d3946525e687784919eaab7c4d1dddfdfdfdfdfdfd3c6baaea298887b6f6255483c2f2215080000000000000000000000000000000000000000000000000008131f2c3845515c6674818e9aa8b2bdc9d5dcd0c6b9ac9f93877b6e6154483d32271b0f00000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3e2d4c8bcb1a7998c807366584e4330261c110600000000030f1b27323d464e585f696e7b8490938d82796d675d51453f33291f140900000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a5050505050505050505050505050505050505050505050505050505050504b555e686f7c86929fa4aeb8c2ccd0c6bcb2a89f948d80736c61584e443a30261c110600000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86837c716c605d554e463f352f281f181008010000000000000000000000000000000000000000000000000000000000000000000000000000000000010810181f282f353f464e555d606c717c83867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3847535f6a7683909da8b2bdc8d4e1d4c8bdb2a89e9185796d60584e42392e2318110700000000000000000000000000000000000000000000000000060f17222d38414d57606d7884919ea7b1bccdd6e1d4c7bcb1a79c8f8275685e5246392a201509000000000000000815222e3b47545f6a7783909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222c363f48515b626d727c838c92999fa3ababb1b2b4b4b5b5b4b4b2b1acaaa69f9c938e847d746c655b504a40372e231a0d0300000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a93969696969696969692877d6f685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a9b3becad6ddd8d4d2d4d8ddd6cabeb3a9978b7e7164584b3e2f24180d010000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dee0dedddedfe1d6cabeb4aa988b7e7265584b3f3025190d0100000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded4c8bbafa49a8c7f7366584e43372b1c120700000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909cabb5bfcbd7ddd1c4b8ab9f95887b6e6255483d3222150a000000000007131f2c38434e58606a6f7b8491969f948f82796d605b51453b31251a0e04000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c28333e485055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606a717e8b929da6b0bbc7d3cec4bab0a69c928a7e716a5f564c42382e23170c06000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f867e756d675f585145413a312a2219130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222a313a414551585f676d757e868f8275675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006111b2b37434e5864717d8a96a0acb9c4cfdad9cec3b9ada1978c80736a60544b403428231910070000000000000000000000000000000000000000000000060f182127333f49535f69727f8b96a0acb9c3cddfdcd1c4b8ab9f95897c6f63564c41362a1e110500000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242d363f49515b626a6f787f878e92999d9fa7a5a7a8a8a8a8a7a5a7a09d99948f89817a706b605b53493f382e251c1108000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818a8a8a8a8a8a8a8a8a8a8a847a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566874818e9ba7b4c1cfd9d2ccc8c6c8ccd2d9cfc0b4a79a8d817467554b4035291d11040000000000000000000000000a1724303d4a5763707d8a96a8b2bdc8d4d9d4d1d0d1d2d5dad0c1b4a79b8e817468564c41362a1d1105000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d8ccc0b6ac9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53473a2e21140300000000000915222e3b4854606a6f7c859196a0a69f948e81756d62574d42362a20150a000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a616469696969696969696969696969696969696969696969696969696969696969696969696c74808d949fabb7c3d0d6ccc2b8aea49f92867c6f685e544a3f342822170c0000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727f8b928b81796f6a625b514b433c3429241e160d0700000000000000000000000000000000000000000000000000000000000000000000000000070d161e2429343c434b515b626a6f79818b928b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000f1a26313c4653606c7884919ea9b3bec9d5dfd5c9beb3a99f92877c6f665c51453f352b22191107000000000000000000000000000000000000000000060f18212a333c44505b656e7b86929fa8b2bdcbd5e1d4c8bdb2a89d9083766b6054443b3025190e0200000000000006131f2c3845515c6674808d9aa7b1bcbebeb3a99c8f8275685e5246392d2014030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4951585f666d737c81878c909596999a9b9c9b9b9a989695908c88827d746d686159504941382d261c130a000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d797d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d0d0c7c0bbb9bbc0c7d0d0c3b6aa9d908377675d5145392c201306000000000000000000000003101c28343f4a546673808d99a6b3c0ced5cdc8c4c3c5c6c9cfd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4ddd2c7b8aca096897c6f62544a4034281c100400000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5866727f8c9aa4afbbc8d4e0d4c7bbafa3998b7f7265574d42372b1e120600000000000916232f3c4956626f7c859297a1a8b0a69e938b7e72695e53463c32271b0f010000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c717676767676767676767676767676767676767676767676767676767676767676767676767678838f9ca9b6c2cfdcd4cac0baaea29891847a6d665c50443e34281d1105000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b8795938e847c726d605d554e463f352f281f19100801000000000000000000000000000000000000000000000000000000000000000000010810191f282f353f464e555d606d727c848e9395877b6e6154483b2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000a151f2b3844505b66727e8b97a1adb9c3cdd9dacfc4bbafa3999083796d605a50473d342b2318120b030000000000000000000000000000000000020a1117212a333c454f59606c77828f98a2aebac3ceddd9cfc7b8aca0968a7d7064594f4332291e1408000000000000000713202d3a4653606d7985929eabb1b1b1b1ada2978a7d7164564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f464e545c606a6f757b7f83878a8c8d8e8f8f8e8d8b898783807b76706b605d564f443f382f261b140a010000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676d7070707070707070707070706e695e53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8c5d2c7beb6afacafb6bec6cec5b9ac9f92867a6d6053473a2d201407000000000000000000000006121f2b3844505c6676838f9ca9b6c2cfcbc3bcb8b7b8b9bec5cdc5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000030f1b27333f4953626f7b8895a0acb8c7d2ddd4c8bdb2a89a8d8074665c5144382c1f13080000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7784919dacb6c0ccd8dfd2c5b9ac9f92867a6e6154473c31261a0e0200000000000714212e3a4754616d7a828b9298a3abafa59f92867b6e61584e43372b1e13080000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e838383838383838383838383838383838383838383838383838383838383838383838383838383909daab7c3d0dddcd6cabfb4aaa1968f82786d605a5045392d211508000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909d9691867e756d675f585145413a312a2219130c0400000000000000000000000000000000000000000000000000000000000000040c1319222b313a414551585f676d757e8691969d908377695e53463a2d1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000030f1c28333f4a54606d7985919ea7b1bcc8d4dfd7cbc0b5aba0958d80746c62594f473d3528231c150c08020000000000000000000000000001080b141b2227333c454d57616b727f8c949faab4bfccd5dcd1c7bdb0a69d9184786c6053463d3220170d0200000000000005111e2a36414c5664707d8a97a1a5a5a5a5a5a59f9285796d6053463b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d343c424a51585f62696e73777a7d7f8181828281817f7d7a77736e6a636059524c433e332d261d140a0200000000000000000000000000000000000000000000000000000000000000020c17212935404b555d60636363636363636363636363615e574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdc8ccc0b6aca49fa4acb4bcc6c7bbafa399897c706356493d3023160900000000000000000000000713202d3a4653606d7985929facb8c5cdc3b9b1acaaabadb3bbc5c8bdb2a8968a7d7063574a3d2e23170c00000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7d9cec3b8ab9e9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acbec7d2ddd6cabfb4aa9c8f8276685e5246392a1f15090000000000000713202d3946525e686d757f869299a3afaea3988e81756a6054473a2f24190d0100000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b909090909090909090909090909090909090909090909090909090909090909090909090909095a0acb8c5d1dee7dbd0c6bcb2a89f948d80746c6155493d3023170a0000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a098928b81796f6a625b514c433c3429241e160d070000000000000000000000000000000000000000000000000000000000070d161e2429343c434c515b626a6f79818b9298a0998d807366574d42362a1e0c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000b17222d3845515c67717e8b95a0acb8c1cdd6dcd1c7bdb1a79d928b7e716b60594f473e342e271e19140f0a0602000000000000000205090e13191d262d333d454e575f69707d87929fa6b0bcc6d0ded7cbc0b5ab9f948a7d70665b5044382b1f1205000000000000000713202d3946525e6875828f9898989898989898988d8174675c514538291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b222a303940444e53575e6166686e707274757575757472706e6866625f58544f45413a3127221b140b02000000000000000000000000000000000000000000000000000000000000000000050f18242f39434b515357575757575757575757575754534d453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546673808d99a6b3c0cec8bbafa49a939aa2aab4bfcac0b5ab998c7f7266594c3f31261a0e02000000000000000000000916222f3c4955626f7c8898a2aebac6c8bcb1a7a09d9ea1a9b3bec9c0b3a6998d807366544a3f34281c10030000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4dfd2c6b9ada1978a7d7064564c4135291d11040000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d9aa7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000005111d2a36414c565e616d727d87929fa5afaa9e93887c6f62564c4135291d110400000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9da0a7b1bcc8d4e0ede2d8cec4bab0a69d928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000020e1a25313c4956636f7c8997a1a39f938e847c726d605d554e463f352f281f1910080100000000000000000000000000000000000000000000000000020810191f282f353f464e555d606d727c848e939fa3a197897c6f6256493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000006111c2934404b55606c7883909da5afbbc5d0d9d9cfc3b9aea49f92877d6f6b605950444039302a251e1a15120f090b0a0a0a0b090e12141a1e24292f383f444f575f696e7b859299a3afb8c2ced7d9cfc7bbafa3998f82766c61544a3f33281c0f03000000000000000714212e3a4754616d7a868b8b8b8b8b8b8b8b8b8b897c6f62554b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010910181e272e343c43474d5354565e6163666768696868676563615e5655534e48443d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045474a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667683909ca9b6c3cfc6b9ac9f93869298a2aebac7c2b5a89b8f827568574d42362a1e1205000000000000000000000c1825323f4b5865727e8b98aab4bfcac4b8aca095909297a1adb9c6c2b6a99c8f8376665c5044382c1f120600000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dcd6cabeb3a99b8e8275685d5245392c201409000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c3cededfd2c5b8ac9f92857a6d6053473b3025190700000000000000010d1925303a444c525b626b727f8c939eaaafa59b8e8174685d5245392c20130600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9aaacb1b9c3ced9e4f0eae0d6ccc2b8aea49a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000913202d394653606c7985929eaba59e9691867f756d675f585145413a312b2219130c040000000000000000000000000000000000000000000000040c1319222b313a4145515860676d757f8691969ea5ab9e9285796c605346392d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000c18232f3944505b666f7c89939ea9b3bec7d2ddd5cbc0bbaea39992867d6f6b615a514a423d36302b26211f1a181817161718181a1e21252a2f353c41495059606a6e7b849197a2abb5c0cad4dcd1c7bdb2a89f92877c6e62594f42382d22170b00000000000000000815222e3b4855616e7b7e7e7e7e7e7e7e7e7e7e7e7e716a605443392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232831373b4246484c525457595a5b5c5c5b5a585654524c4847433c383329241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5cfc2b5a89c8f8286929facb8c5c5b8ab9e928578695f53463a2d21140700000000000000000005111d2a36414c566875818e9ba8b4c1d0c3b7aa9d908385929eabb8c5c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000a15202d3a46525e6976828f9caab4bfcbd6dacfc5b9ac9f92867a6d6054473c31261a0e02000000000000000000000000000000000000000000000000000000000004101c2834404b5563707c8996a1adb9c5d2dfd5c9beb3a99b8e8175675d514539291e1408000000000000000008131e29323a41465159626d75828f98a2aeac9f92867a6d6054473a2d22170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8bcc3cbd5dfe7e7e7e8ded4cac0b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6674818e9babafa8a098928b817a6f6a625b524c433d3429241e160d07000000000000000000000000000000000000000000070e161e2429343d434c525b626a6f7a818b9298a0a8afab9b8e8174665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d28333f4a54606b75818e97a1acb6c0ccd8ddd7cbbfb5aba29892867d716c605c544e46413b37312e2b2625242423242425262b2d31363a41454e535b606b707c859196a1a9b3bdc7d1dcd7cbc0b5aba0968d80746a5f53473e2f261c110600000000000000000714212d3a46535f696e7272727272727272727272716c62584e4330271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31363a3b4146474a4c4e4e4f4f4e4e4c4a4746413b3a37312c272119130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8998a3aebac7cec2b5a89b8f8284919eaab7c4c6b9ada197887b6e6155483b2e2215070000000000000000000713202d3946525e687784919eaab7c4cec1b4a89b8e8183909daab6c3c6baaea298887c6f6255493c2f221608000000000000000000000000000000000000000000000000000005111e2a36424d5764717e8b98a3aebac7d3e0d3c7baaea3998b7e7265574d42372b1e1205000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9aa8b2bdc9d5dfd2c6b9ada197897d7063554b4035291d10040000000000000000020c17202930363f47515b616d7a86929facaea2988b7e716453493f33271b0f03000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c8ced5dbdbdbdbdbdbdbdacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717d8a99a3aeb2aaa39f938e847c726d605d564e463f352f282019100802000000000000000000000000000000000002081019202830353f464e565d606d727c848e939fa3aab2aea3998a7d7164544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000010b17222d38424f59616e7a85929aa4afbbc3ccd6dcd1c6bdb4aaa29892867e746d666058524c47433c3a37313231303030313231373a3b42464c52575f656c727d859197a1a8b2bbc5cfd9d5ccc3bbafa3999184796d60584e43352c1d140a00000000000000000005121e2a36424d575f61656565656565656565656565625a50463d321e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b1f252a2d3036393b3d3f4142424242413f3d3b3936302e2b26201c160d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d202024242424242424242424242421211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98aab4bfcbcec1b4a89b8e8183909ca9b6c3c9beb3a9978a7e7164574b3e2f24180c0000000000000000000714212e3a4754616d7a8796a0acb9c5cdc0b4a79a8d80838f9ca9b6c2cabfb4aa988b7f7265584c3f3025190e0200000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb8c5cfdbd7cbbfb4ab9c908376695f53463a2d21160a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cfdaded1c5b8ab9e9285796d6053463a2f24180d01000000000000000008110e171e252a353f46525d6874818e9ba8b1aa9b8e8175655b5044372b1f1205000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcecececececececececececececececececececececececececececececececececececececececececececececdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb9b4aea59e9691877f756d6860585145413a322b2219130c04000000000000000000000000000000040c1319222b323a4145515860686d757f8791969ea5aeb4b9ac9f92867a6d6054473a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000006111c262f3d46525e68707d88939fa7b1bac4ced7d8cfc5bcb4aaa298928a80786f6a615e56534e484743403f3e3d3d3d3e3f404246484d53565d606a6e777f879297a1a9b2bac4cdd7d6cdc3bab0a69f92877c6f675d51463c31231a0b02000000000000000000020e1a26313b454d53555858585858585858585858585650483f342b200c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e21252a2d2e303334353635353432302e2d2a25211f1a15100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1013141717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2d0cdc0b4a79a8d81828e9ba8b5c1cfc0b3a79a8d807467554b4035291d100400000000000000000a1724313d4a5764707d8a97a8b2bdc9ccbfb3a6998c80828f9ba8b5c2d0c1b4a89b8e817568564d41362a1e110500000000000000000000000000000000000000000000000000000914202c3945515d6775828e9ba9b3becad6dcd1c6b7ab9f94887b6e6155483d32271b0f0707070707070707070707070707070707070707070707070707070707111d2935414c5664707d8a97a2adbac6d6e0d4c8bdb2a89a8d8074665c5044382c1d1207000000000000000007111a232a3135383935414c56636f7c8995a0acab9e9285796c605346392d201306000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000613202c3945525d6876828f9ca9b6bfbaafa8a099928b817a6f6a625b524c443d3429241e160e0600000000000000000000000000060e161e2429343d444c525b626a6f7a818b9299a0a8afbabfb6a99c8f8276675d5145392c1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000a141d2a36414c56616b74808d95a0a8b2bcc5cfd8d7cec5bcb4aaa29f928d837c746e68625f5855534e4d4b4b4a494a4b4b4d4d5355575e61686d737b828c9299a1a9b2bbc4ccd6d7cec4bbb2a89f948c7f726a60554b41342a201108000000000000000000000009141f29333b4246484b4b4b4b4b4b4b4b4b4b4b4b49453f362d22190f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e20212426272829292827252321201e1914120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885919eabb8c4d1ccc0b3a6998d80808d9aa7b3c0cdc3b6aa9d908377675d5145382c1f13060000000000000003101c28343f4a546673808d99a6b3c0cecbbfb2a5988c7f818e9ba7b4c1cec4b7ab9e918478685e5246392d201407000000000000000000000000000000000000000000000000000004111d2935414c5564707d8a97a2adb9c6d2dfd3c7bcb0a6998c807366594f43382c1d13131313131313131313131313131313131313131313131313131313131313202c3945525d6875828f9ba9b3becad6ded2c5b8aca096897c6f62544a3f34281c0c0100000000000000030e19232c353c41454646464854606b7784919daaada197877b6e6154483b2e211508000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000004111d2935414c5665727f8c98a8b2bdc1bab2aba39f938e847c726d605d564e463f3530282017110a02000000000000000000020a1117202830353f464e565d606d727c848f939fa3abb2bac1bdb2a8988b7f7265554c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000020b1925303b444f59606d78839096a1a9b3bcc6cfd7d7cec5bcb4aea49d959087817a746e6a66625f585a585757565757585a575f6165696e747a80868f949fa3abb3bbc4cdd6d6cec5bcb3a9a0968f82786c60584e433a2f22180e000000000000000000000000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3e3d39342d241b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080e11141417191b1b1c1c1b1b19171414110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9c6d2cbbfb2a5988c7f7f8c99a5b2bfccc5b9ac9f92867a6d6053473a2d2014070000000000000006121f2c3844505c6676838f9ca9b6c2cfcabeb1a4978b7e808d9aa6b3c0cdc5b9aca196877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929eabb8c4cedad8cdc2b7aa9e9184776b605448392e2320202020202020202020202020202020202020202020202020202020202020212d3a4754606d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c000000000000000008141f2a353e464d51525353534f596774818e9aa7b3a996897d7063564a3d3023170a000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000010d19242f3b4855616e7b8896a0acb8c1bab6b4aea59e9691877f756d6860585145413a3227221b140b0400000000000000040b141b2227323a4145515860686d757f8791969ea5aeb4b6bbc1b8aca096887b6e6155483b2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000008141e29323e45515c666e7b849197a2aab4bcc5ced6d7cec6bfbaaea7a09a938e86817b76726e6a6967656463636364656769696e72767b80858d92999fa6afb5bdc5cdd6d6cdc5bcb4aaa19791847a6d665b50463d31281d0f0600000000000000000000000000060f181f262a2d2e323232323232323232323232302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0c0e0f0f0f0f0e0c0a08070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3bec9d5cabdb1a4978a7e7e8b97a4b1becac7bbafa399897c6f6356493c30231609000000000000000713202d3a4653606d7985929facb8c5d2c9bcb0a396897d7f8c98a5b2bfcbc9bdb2a8978a7d7064574a3d2e23180c00000000000000000000000000000000000000000000000000000008131f2c3845515c6674818d9aa8b2bdc9d5ded2c5b9aca096897c6f63554b40342d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d36424d5765717e8b98a3aebac7d7e1d4c7bcb1a7998c7f7366584e4330261c110600000000000000000d1925313c4650585d5f606060606066737f8c99a6b2a5988b7f7265584c3f3225190c000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000000814212d3a47535f697784919daab7b7afaaa8acafa8a099928b817a6f6a625b524c443d332d261d160e060000000000060e161d262d333d444c525b626a6f7a818b9299a0a8aeaca8aab0b8b7aa9d918477695f53473a2d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101010101010101010105121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020d17202834404b545e696f7c859298a3aab3bcc4cdd8d8d0cac0b9b1aca49f98928e87837f7b787673727170707071727376787b7f83878d92989fa3abb0bbc0c7cfd6d7ccc4bbb3aaa29891857b6e685e544a3f342b1f160c000000000000000000000000000000060d141a1e212225252525252525252525252524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c556774818d9aa7b4c0cfdac9bcb0a396897d7d8996a3b0bcd0cbc0b5ab988c7f7265594c3f31251a0e020000000000000916222f3c4955626f7c8898a2aebac6d3ccc0b6ac95887c7e8b97a4b1becacec0b3a69a8d807367544b4034281c1004000000000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded5c9bdb2a89a8d8174675c51453a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a46525e6976838f9caab4bfcbd7ddd1c4b8ab9f95887b6e6155483d3222150a000000000000000000101d2935414d58626a6c6c6c6c6c6c6c717e8b97a4b1a6998c807366594d4033261a0d000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576773808d9aa9b3afa59e9b9fa3ababa39f938f847c726d605d564e443f382f282017110a0200020a111720282f383f444e565d606d727c848f939fa3abaaa29f9b9ea6b0b3a99a8d807367574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0e0e0e0e0e0e0e0e0e0e0e0e0e121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000050e18232e39424d575f6a707d869298a2aab3bbc3ccd2d9d6cbc3beb6afaaa39f9a93908c888582807e7e7d7c7d7e7e808285888c9093999fa2aaaeb4bdc2cbd1d9d1cbc2bab2a9a19892867c6f695f564c42382d22190d040000000000000000000000000000000003090e1214151818181818181818181818181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0b0b0b0c0c0b0b0a0907070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3d0d6cabfb4aa95887c7c8895aab4bfcad1c2b5a89b8f827568574d42362a1e12050000000000000c1825323f4b5865727e8b98aab4bfcad4c8bbafa49a877b7d8a96a3b0bdd2cfc3b6a99c908376665c5145382c1f13060000000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d9cec4b8ab9f9285796d60534646464646464646464646464646464646464646464646464646464646464646464646464754616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53463a2d211403000000000000000000121f2b3845515d6a7479797979797979797d8996a3afa79a8d8074675a4d4134271a0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817f7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000020e1a26313d495663707c8997a2adaa9e938e9299a1a8aea59e9691877f756d6860585049413a3227221b140b050b141b2227323a4149505860686d757f8791969ea5aea7a098928f939eaaada297897c706356493d31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1a1a1e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000007121d27303b454e58606b707e869298a1a9b1bbc0c7d0d7d5d0c7c0bbb4aeaca49f9d9997928f8d8b8a8a898a8a8b8d8f9197989c9fa4abaeb4babfc6cfd7d7cfc7c0bbb0a8a09792867d706a5f574d443a2f261c100700000000000000000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0b0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d11131416171718181918181717161413110d080a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2d3c7baaea298877a7a8798a2aebac6d1c4b8ab9e918578695e53463a2d211407000000000005111e2a36414c566875818e9ba8b4c1d0d2c6b9ac9f9386797c8995acb6c0ccd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4dfd3c6baada2978a7d716456535353535353535353535353535353535353535353535353535353535353535353535353535865727f8c99a4afbbc7d4e0d3c7bbafa3998b7f7265574d42372b1e1205000000000000000000131f2c3946525f6c798586868686868686898f99a5b4a79b8e8174685b4e4135281b0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575716d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929faba89b8e818791969ea6aea8a199928c827a6f6a605b534c443d332d261d160e161d262d333d444c535b606a6f7a828c9299a1a8aea59d959086828f9ba8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242727272727272727272727272727272b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000b151e29333c464f59616c707d869197a0a7afb6bec4cbd1d9d2ccc6bfbab6afaca9a9a19e9c9a989796969697989a9c9ea1a9a9acafb5babec5cbd1d8d1cbc4bdb5afa69f9691857c706b60584e453b32281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d1113141719191d2021222424252525252524242221201d1919171413110d080503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8999a4afbbc7d4d2c5b8ac9f9285797985929facb8c5d2c6b9ada197877b6e6154483b2e21150700000000000713202d3946525e687784919eaab7c4d1d1c4b8ab9e9185787b879aa4afbbc8d3c7baaea398897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000030f1b27333f4953626e7b8895a0abb8c7d2ddd6cabeb3a99b8f8275686060606060606060606060606060606060606060606060606060606060606060606060606060606a7783909dabb5c0ccd7dfd2c5b9ac9f92867a6d6154473c31261a0e02000000000000000000131f2c3946525f6c7985929393939393939699a1abb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59616368686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686865625a50453a2e211509000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675818e9baba6998c7f7c848f949fa3ababa39f938f847c726c655d564f443f382f28201720282f383f444f565e656c727c848f939fa3abaaa29f938e837b818e9ba7ab9b8e8175665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3031343434343434343434343434343434343845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000030c17212a343d47505a616b707c8590959fa4acb3bbc0c7cfd4d8d1cbc7c0bbb9b6b3adaba9a6a5a4a3a3a3a4a5a6a9abadb3b6b9bbc0c7cad0d7d4cfc6bfbab2aba39f9490847b6f6a60594f463c332920160b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808080808080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213191e20212426252a2d2e2f3031313232323131302f2e2d2a25262321201d1913120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99abb5c0ccd7d0c4b7aa9d9184777784919daab7c4d0c9beb2a9978a7d7164574a3e2e23180c00000000000714212e3a4754616d7a8796a0acb9c5d2d0c3b6a99d9083767986939facb9c6d2cbbfb4aa988c7f7265594c3f30251a0e020000000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7dbcfc5b9ac9f92867a6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6e7b8895a0acbdc7d2ddd6cabfb4aa9c8f8275685e5246392a1f140900000000000000000000131f2c3946525f6c7985929f9f9f9f9f9fa3a5abb3b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55575b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8a99a4a99d9083767a828b9299a0a8aea69e9691877f776d6860595049413a32272227323a4149505960686d777f8791969ea6aea7a098928a81797985929eaba3998a7e7164544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d414141414141414141414141414141414145515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050f18222b353e485059606a6f7b838d939aa1a9afb5bdc1c8ccd2d6d2ccc8c6c3beb9b8b6b3b1b1b0afb0b1b1b3b5b8b9bec3c6c7ccd2d5d1cbc7c1bcb4aea8a199928c827a6e6960584f473d342a21170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141515151515151515151515151515151414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090f11171c1f20252a2d2e30333036393a3c3d3e3e3e3f3f3e3e3d3c3a39363033302d2c2924201f1b17110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2d2ddcfc2b5a99c8f827676828f9ca9b5c2cfcfc0b3a79a8d807467554b4034281c1004000000000a1724313d4a5764707d8a97a8b2bdc9d5cec1b5a89b8e82757885929eabb8c5d1d1c1b5a89b8e827568574d42362a1e120500000000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4e0d3c7bbaea3998b7f7979797979797979797979797979797979797979797979797979797979797979797979797979797979808d99a7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000000000000131f2c3946525f6c7985929facacacacacafb1b6bdb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c010000000000000000000000000000000000000000000000000000000000000000000000000c17232e3a4754616d7a86939fac9f93877a6e757f8791969ea5aea8a199928c827a6f6b605b534c443d332d333d444c535b606b6f7a828c9299a1a8ada49d9590867e746f7c8997a1ac9f92867a6d6154473a2e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000061019232c363e474f585f696e79808891979fa3abb0b9bbc0c7cacfd2d4d2cfc9c6c5c2c0bebdbdbcbdbdbec0c2c4c6c9cfd2d4d2cfc9c7c0bbb9afaaa39f96918780786e685f574e463d352b22190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2022222222222222222222222222222221201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282b2d3036393a3d4042414647494a4a4b4b4c4b4b4a4a49474641423f3d3a3935302d2b27221b1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2dacdc1b4a79a8e817474818e9aa7b4c1cdd0c3b6a99d908376675c5145382c1f130600000003101c28343f4a546673808d99a6b3c0ced9cdc0b3a69a8d80737784909daab7c3d0d1c4b8ab9e918478695e52463a2d201407000000000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dbd7cbbfb5ab9b918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868d929ca8b9c3cde2dfd2c5b8ac9f9285796d6053473a3025190d0100000000000000000000131f2c3946525f6c7985929facb8b9b9b9bcbdc1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d4242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242423e3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000613202d3946525e687683909ca9a49a8b7e716d727c848e939fa2aaaba39f948f847d726c655e564f443f383f444f565e656c727d848f949fa3aba9a29f928d837b716c73808c99a9a99c908376685e5246392d1c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000007111a242c353d464e575f676d747d858d92999ea6acafb6b9bec4c6c9cfd1d2d2d1cfcdcbcac9c9c9cacbcdcfd1d2d2d0cfc9c5c4beb9b5afaca59e98928d847d736d665e564d453c342b231910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10171c20262b2e34383a3c4146474a4c4f4c5254555757585858585857575554524c4f4c4a4745413c3937332d2a251f1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3d8cbbfb2a5988c7f72727f8c99a5b2bfcfd2c5b9ac9f9286796d6053463a2d20130700000006121f2c3844505c667683909ca9b6c3cfd8cbbeb1a5988b7e7275828f9ca8b5c2cfd2c5b9ada196877b6e6154483b2e211507000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6dcd1c6bdada39b989393939393939393939393939393939393939393939393939393939393939393939393939393939393999ca4aeb9cbd5dfd5c9beb3a99b8e8174675d514539291e13080000000000000000000000131f2c3946525f6c7985929facb8c5c6c6c9cacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f3035353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353532312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5666727f8c99a8ac9c8f8275676a6f7a818b9298a0a7aea69e9691877f776d68605950494149505960686d777f8791969ea6aea79f97928a80796e69697783909daaa8998c7f7266564c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a616467676767676767676767676767676767676767676b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000008111a232b343c454d555c606b707a81878f949c9fa4acadb3b8b9bec2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c2bdb9b7b3adaba39f9b938e86807a6f6b605c544c443c332b221911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161c22282d3137383f4446494c525457595c565e616263646465656564646362615e565b595654524c4946443f3836302c27211b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aab4becad6d6cabeb3a9968a7d70707d8a97a9b3becad3c7baaea399897c6f6256493c2f2316090000000713202d3a4653606d7985929facb8c5d2d5c9bdb2a896897c7074818d9aa7b4c0cdd5c9bdb2a8978a7e7164574a3e2f24180c0000000000000000000000000000000000000000000000000000000005111e2a36414d5664717e8b98a2aebac7d3e0d8cfbfb5ada7a5a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a6a8aeb6c0cadddfd2c6b9ada197897d7063554b403529170c020000000000000000000000131f2c3946525f6c7985929facb8c5d2d2d6dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023242828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282524211d181109000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303c4855626f7b8896a1ac9f9286796d60676d757e8691959da5aea8a199928c827a6f6b605b534c535b606b6f7a828c9299a1a8aca49f9590857e746d67616e7b8795a0aca196887b6f6255483c3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707474747474747474747474747474747474747474747884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000081119222a333b434b515960686d747c82898f939a9ea1a9abadb3b5b7b9bbc0bfc0c0c1c2c2c2c1c0bfbfc0bbb9b7b5b2adaba9a19e99928f89817b736d676059504a423b322a2119100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2731394045474848484848484848484848484848484746413b32291e14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21282c33393c43474a505356565e616366686a686d6f7071717172727171706f6d686a686663605d565553504946423b38322b272019130c04000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d566875818e9ba8b4c1d0dbd3c6baada297877b6e6e7b8797a2adbac6d3cbbfb4ab988b7f7265584c3f3025190e0200000916222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6d727f8c98a5b2bfced9cfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000020e1925303b4754606d7a86929facb8c5cfdae1d0c7bfb8b3b2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb3b4b9c0c8d1dcded1c4b8ab9e9185796d6053463a2f241807000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe2dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7884919eaba2988a7d70635d606c717c838e939fa2aaaba39f948f847d726c655e565e656c727d848f949fa3aba9a19a938d837b716c605c65727e8b98a7ab9e9184786a5f53473a2e1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8080808080808080808080808080808080808080808086929facb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000710182129303940454f565e616a6e757d82878d92979b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a19e9a97918c87827c756e69605d554f443f38302920180f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b515355555555555555555555555555555554524c443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262b33383e44494e53545c606366686d70737577797a7c7d7d7e7e7f7e7e7d7d7c7a79777572706d686662605b53524d48433d373229241e160e07000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687884919eabb7c4d1ded2c5b8ab9f9285796c697885929fabb8c5d2d1c1b5a89b8e827568564d42362a1e110500000c1925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e91847868707d8a96a8b2bdc9d5d0c3b6a99d908376675d5145382c1f1306000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3becad6e2d9d0c9c3c0beb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0c1c5cad1dae1d4c8bdb2a89a8d8074665c5044382b1d1207000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aaaaa9a8e8174655b5a626a6f79818a9298a0a7afa69e9691877f776d6860686d777f8791969ea6afa69f97928880786e69615a5d6775828f9ca8aa9a8d807467584e43372b1f0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000060f171e272e343d444c52585f626b70767b80858a8e9197999c9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918e8a85807b756f6a615f57514c433d342e261e170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c60616161616161616161616161616161615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232831373e44485055585f62666d6f73777a7d7f82848587888a8a8b8b8b8b8b8a8a88878584827f7d7a76736f6c65615e57544e47433c3530282018120b0300000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8796a1acb9c5d2dccfc2b5a99c8f8276656976828f9ca9b5c2cfd1c4b7ab9e918478695e52463a2d2014070005111e2a36414c566875818e9ba8b4c1d0dbcec1b5a89b8e8175686d7a8796a0acb9c5d2d2c5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8a97a1adb9c6d2dfe2dbd4cfcccbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6cccdd0d5dce3ded1c5b8aca096887c6f62544a3f34281c1003000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313d4a5663707d8998a2ab9e9184786c6053585f676d747e8690959da4ada8a199928c827a706b707a828c9299a1a8aca49f9490857d736d665f5753606d7a86929faca298897d7063564a3d31261a0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa2aab4bfcad0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000060c151d2328323a41464e53596063696e73797d8185888c8f9193999799999a9b9b9c9b9b9a9999979992918f8c8884817d79736e69626058534d45413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e262e343c42464f555a61646a6e73797c8084878a8c8f91929895969797989898979796959892918e8c8986837f7c78736e69626058544e45413a3228231d150c05000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b2bdc9d5d9ccbfb3a6998c8073666673808c99a6b3bfced2c5b9aca196877a6e6154473b2e211407000714202d3946525e687784919eaab7c4d1d6cbbfb4aa988b7f7265687784919eaab7c4d1d3c7bbaea399897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c4ced9e5e6e0dcd9d8d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d9dadde1e7eaddd0c4b7aa9d9184776a605442382e23170b00000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d3a4653606d7985929faca197887c6f62554e555d606c717b838d929fa2a9aba39f948f847d757d848f949fa3aba9a19a938d827b706b605c544d5364707d8a98a3ac9f9285796d6053463a2d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7acaeb4bcc5d0d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000030b1218202930363c43474f54575f61676d7174787c7f828486888a8c8d8d8e8f8f8f8e8d8c8c8a888684827f7b7874706d66615e57544e46423b352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930383f444d535961636c70767b8085898d909596999b9d9fa2aaa3a4a4a4a5a5a4a4a3aaa29f9d9b999a93908c88847f7b756f6a626058524c443e342e271e170e06000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa6b3c0cedad5c9bdb2a8968a7d706363707d8a96a8b2bdc9d5c9bdb2a8978a7d7064574a3d2e23180c000814212e3b4754616e7a8796a0acb9c5d2d3c7baaea398897c6f626875818e9ba8b4c1d1d7cbbfb5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000007131f2c3844515c6674818d9aa8b2bdc9d5e1edece8ebe3ddd7d4d2c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cacbced3dae1e7e9edece0d3c7bcb0a6998c7f7366584e4330261c110600000000000000000000000000131f2c3946525f6c7985929facb8c5d2dadadacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9baca9998c807366574d4b515a61696e79808a92979fa6afa69f969187828791969fa6afa69f97928880786e696159514a505b6574818e9aaaac9b8f8275675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b8babfc5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000070e171e252a31373d44484d53555c6064656c6f7275777a7c7e7f8080818282828180807f7d7b797775726e6a6764605c54524d47433d363129241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8888888888888888888888888888888275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575f616b70777d83888d9297999da0a7a6a8aaacaeb4b0b0b1b1b2b1b1b0b0b4aeacaaa8aca49f9d9996918c86827c756f6a605d5650454039302920180f060000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dcd2c5b9aca096877a6d61616d7a8796a1acb9c5d2cec0b3a69a8d807367544a4034281c10040a1724313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9286796d6065727f8c98abb5c0cbd7d1c2b5a89b8f827568574d42362a1e12050000000000000000000000000000000000000000000000000000000004101c2834404a54636f7c8996a0acb9c5d2deeaf5ebe2d9d2ccc7c6bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbec2c8cfd8e1ebf6eaddd0c4b7ab9f94887b6e6155483c3222140a0000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5565717e8b9aa4aa9d908377695e52464550575f666d747d8590949fa4aca9a199928e9299a1a9aba39f948f857d736d665e574f444653606c7884919eaba49a8b7e7165554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c5c6cad0d7d3d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000050c131920262b33383c42464b5153535b60626669676d6f717273747475767574747372716f6d676865625f585753514a46423b37322a261f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88949494949494949494949494948f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545c60696e767d838a90949a9ea1a9aaacb1b2b5b7b8babfbdbdbebebebebebdbdbfbab8b7b5b6afaca9a8a19e99928f89827c746d68615a514b423b322a21180f060000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2ddd1c4b7aa9e918477685e5e687884919eabb7c4d1cfc3b6a99c908376665c5144382c1f1206101c28343f4a546673808d99a6b3c0ced9cfc3b6a99c908376665c636f7c8999a3afbbc7d4d1c5b8ab9e928578695f53463a2d21140700000000000000000000000000000000000000000000000000000000000c18232e394854606b7784919eaab7c3cdd8e4eee3d9d0c7c0bbb9afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafb0b2b6bdc6cfdae4efe3d7cbbfb5ab9c908376695f53463a2d2114020000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3b4754616e7a87939faca095877b6e6154483e454d545c606c707b838d939aa1a9aba39f9b9fa3aba9a199928c827a706b605c544d453e4955626f7c8896a1ac9f93877a6e6154473b2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002080d151a21272c3137394045464950535559555d60626466666768686968686766666462605c555955534e4a4644403936302b27201a140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a1a1a1a1a1a1a1a1a1a19d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353e464e565e666d727b828a90959c9fa6abadb3b7b8bcbfc2c4c5c7cad0cacacbcbcbcacad0cac7c5c4c1c0bbb9b6b2acaba39f9c948f88817a716c605c544d443c332a21180f060000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3dbcec1b4a89b8e81756856566875818e9ba8b5c1d1d2c5b8ac9f9286796d6053463a2d201307121f2c3844505c667683909ca9b6c3cfd9cdc0b3a69a8d80736754606d7a86929facb9c5d2d2c6b9ada197887b6e6155483b2e221507000000000000000000000000000000000000000000000000000000000007121c2c38434f596673808c99a7b1bcc8d4e3e8ddd2c7bdb5afaca3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a6acb4bdc8d3deede0d3c7bbaea3998b7e7265574d42362a1e12050000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687783909daaa7988b7e7265554b403c424b515a61696e78808891979fa6afaca8acafa69e9691877f786e686059504a423b414d5666737f8c99a9a99d908376685e5246392d1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030a0f161c1f262b2e34383a3f4446484c4b51535557595a5a5b5c5c5c5b5a5959575553514b4c4847433d3a38342e2a251f1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adaeaeaeaeaeaeaeaeaa9d9083776a5d5044372a1d0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353e474f585f686d787f868f949da0a7abb0b8b9bec3c5c8ceced0d2d3d6dbdbd6d3d2d2d4d8dbd6d3d2d0d2ccc8c6c3bdb9b5afaca69e9c938e857e746d665e564e453c332a21180d04000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5bfcbd7d7cbbfb4aa988b7f7265585965727f8c98abb5c0cbd3c7baaea398887c6f6255493c2f22160813202d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064575d677783909daab7c3d0d5c9beb3a9978a7e7164574b3e2f24180d0100000000000000000000000000000000000000000000000000000000000f1b27323d4855626e7b88959fabb8c7d1dce3d7ccc0b5aba49f9695959595959595959595959595959595959595959595959595959595959595979aa2acb6c2cedaecdfd2c5b9ac9f92867a6d6154473b31261a0e020000000000000000000000000000131f2c3946525f6c7985929fa7a7a7a7a7a7a7a7a7a7a79b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5666737f8c99a9a99c8f8276675d51453939404550575e666d737d858f949fa3abb2aba39f948f847d736c665e564f443f383946525e687783909daaa9998c7f7366564c41362a1e0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7adadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000050b10141a1d23282c2d3337393c3f404547484b4c4d4d4e4f4f4f4e4d4d4c4a484645403f3b3a37312d2c28231c1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfbbbbbbbbbbbbb7aa9d9184776a5e51442f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222c353e474f59616a6f7a828c92989fa6abb1b7bcc2c6c9cfd1d4d7d4d2d0cccac9d0cac6c5c6c8ccd2cacccfd2d3d7d4d2cec9c7c0bbb9b0aaa59d97918a81786e685f574e453c332a1f160b02000000000000000000000000000000000000000000000006121e2b37424d576975828f9ca8b5c2d1dcd3c7baaea398897c6f625656636f7c8999a3afbbc7d3cbbfb4aa988b7f7265584c3f3025190d16222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6e6154556774818e9aa7b4c1d0dacfc0b4a79a8d817467554b4035291d110400000000000000000000000000000000000000000000000000000000000a16212e3a47535f697783909dabb5c0cbd7e0d4c7bbafa4999389888888888888888888888888888888888888888888888888888888888888888a909aa6b2becbd7e2d6cabeb4aa9c8f8275685e524639291f1409000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303c4955626f7c8896a1ac9f92867a6d6053473a2e343e454d545c606b707a828c9299a1a8a199928c827a706b605b544c443d342e3b4754616e7a87939faca196887c6f6255493c3025190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000003090e12181c1f22272b2d2f2f35383a3c3e3f4041414243424141403f3e3c3a38342e2f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798698a2aebac6c7c7c7c7c4b8ab9e9185786b564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d474f59616b707c8490949fa2aab0b8bcc3c7cdd2d5d6d3d1cbc7c5c3c0bdbcbbbfbab8b9bbc0bcbdbfc2c5c7cbd1d2d5d5d1cbc7c1bbb7afa9a19e938e837a6e6a5f574e453c31281d140a00000000000000000000000000000000000000000000000814212e3a47535f697885929eabb8c5d1ded2c5b9ac9f9286796d605353606d7a86929facb9c5d2d0c1b4a89b8e817568564c41362a1e111925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e918478685e525865717e8b98aab4bfcad6d0c3b6aa9d908377675d5145392c201306000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d4dfd2c6b9ac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8a97a3b0bdcad6dfd3c6baaea2988a7e7164564c413529180d03000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d394653606c7884919eaba3988a7d7064544a3f3328333b424a505960686e787f8791969e9691877f776d686059504a423b322834404b5565717e8b9aa4ab9e9184786a5f53473b2e1e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d93939393939393939393939393939393939393939393939393939393939393939083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000070c1013171b1f202224292c2d2f313333343535363535343333312f2d2c282322211f1a1312100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2d4d4d2c5b9ac9f928679685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464f59616b707d8691969fa6aeb4bcc2c8cdd3d8d6d0cac6c5c0bbb9b6b3b0afaeb4aeacacafb6afb0b2b6b9babfc5c6c9cfd5d7d4ccc7c1bbb3ada59d9590847c6e6a5f574d433a2f261b1106000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2dcd0c3b6a99d908376665c51515d677783909daab6c3d0d1c4b7aa9e918477685e5246392d20131e2a36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c55626f7c8898a2aebac6d3d2c5b9ac9f92867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000020e1a26313c4754616e7a86929facb9c5d0dbd4c7bbafa4998a7e716f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f727f8c98a5b2bfcbd8ded2c5b8ab9f9285796d6053473a3025190d010000000000000000000000000000000e1b2834414e5b6774818181818181818181818181818181817e7165584b3e3225180b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818e9aaaaa9b8e8174665b5044382b2930383f444f565e666c727d848f938f847c726c655e564f443f382f292c3845515c6775828f9bacaa9a8e817467584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808686868686868686868686868686868686868686868686868686868686868686868683776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181d1f20222426272728292929282726262422201f1c181514120f0a060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1dde0d3c7baaea399877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58616b707d869298a1a8b0babfc6ced4d9d7d0cac6bfbab8b5afaca9a6a4a2a1aaa29f9fa4aca2a3a6a9acaeb4b8b9bec5c9cfd6d7d3cdc4beb9afa79f9691857c6e695f564c41382d22170b020000000000000000000000000000000000000000000b1825313e4b5864717e8b97a9b3becad6dacdc0b3a79a8d807467544b4b556774818d9aa7b4c0d0d2c5b9aca096877a6d6154473a2e2114202d3946525e687784919eaab7c4d1d6cabfb4aa988b7f7265584c53606d7985929facb8c5d2d4c7bbafa399897c706356493d2d22170b0000000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6d7ccc0b5ab9c8f827568626262626262626262626262626262626262626262626262626262697683909da9b6c3d0dcd5c9beb2a99b8e8174675d514538281e1308000000000000000000000000000000000d1a2733404c58646e74747474747474747474747474747474716d62564a3d3124170b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364707d8a98a3ab9e9285796c605346392d20262e343d444c545b606b6f7a8289827a6f6a605b534c443d332d26202d3a4653606d7985929faca3988a7d7063574a3d32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1013141518191a1a1b1c1c1c1b1a1a1917151313100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e43505d697683909ca9b6c3cfdce3d7cbbfb4ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c555f6a707d869298a2aab2bac2cad0d8d9d1cbc5bebab4aeacaba39f9d99979695949892939a959697999c9fa3aaabadb3b9bdc4cad0d7d6cfc9c0b9b1a9a19791857b6e685d53493f33271d140a000000000000000000000000000000000000000005111d2935414c566774818e9aa7b4c1cfdad5c9beb3a9978a7e7164574b4b5865717e8b98aab4becad5c9bdb2a8978a7d7064574a3d2e2317212e3b4754616e7a8796a0acb9c5d2d3c7baaea298887c6f625549505c667683909ca9b6c3cfd7cbc0b5ab998c7f736653493f33271b0f03000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8b98a2aebac6d3ddd2c5b9ac9f92867a6d6155555555555555555555555555555555555555555555555555616e7b88959fabb8c4d1ddd2c6b9ada197897d7063554b403529160c02000000000000000000000000000000000b1824303c48535c646768686868686868686868686868686865625a50453a2e211509000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4753606d7a86929faca197897c6f6256493c31261c2328323b424a505960686d757c756d6860585049413a3228221c23303d4a5663707d8998a2ac9f92867a6d6053473a2d20140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061c2835424f5b6875828e9ba8b5c1cedbe7dcd1bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a45515d676e7c869298a3aab4bcc4ccd6dbd7cfc7c0bbb3aeaaa29f9a9992908d8a8988878685868788898a8c8f9298999ea1a9adb2babec5ced5dad5cbc2bbb2a9a19791847a6d655b50443c2f261b1106000000000000000000000000000000000000000713202d3946525d687784919daab7c4d0ddd2c6b9ada197877b6e6154484855626f7b8898a2aebac6d3cec0b3a6998d807366544a3f34281c24313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053464a546773808d9aa6b3c0cfdad1c2b5a89c8f8275655b5044372b1f12050000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7a86929facb8c5cfdad3c7bbafa3998b7e7265574d4949494949494949494949494949494949494949494e5866737f8c99a7b1bcc8d4ded1c4b8ab9e9184786c605346392f24180600000000000000000000000000000000000814202b36414a53585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6775828f9ca8a9998d807366574d42362a1e1720292f383f444f565d616b706b605d564e443f382f2920171f2b37434e586774808d9aaaa89c8f8275675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545c6060606060606060606060606060606060606060606060606060606060606060606060605d554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a606d79849198a2aab4bcc6ced6ddd5cdc5bdb5afaaa29f98928d8a8683807d7c7b7a7979797a7b7c7d7f8386898d92979ea1a8adb3bcc3cbd3dbd4cdc4bbb3a9a0968f82776c60584e41382d22170b000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2ded1c5b8ab9e928578695e53464653606c7985929fabb8c5d2cfc2b6a99c8f8376665c5044382b1f2834404a546673808d99a6b3c0ced9cfc3b6a99c908376665c50444b5764717e8a97a9b3becad6d1c5b8ab9e9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3bec9d5d7cbc0b5ab9c908376695e53463c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c47535f6a7784919daab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1d12070000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c01000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b98a7aa9d908477695f53463a2d2114171d262d333d444c525960636059524c443d332d261d1715212e3a47535f6a7884919eaba7988b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b51535353535353535353535353535353535353535353535353535353535353535353535353514b43392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c75818f96a0aab4bcc6cfd8ddd4cbc3bbb3aba39f98928c86807d7a7673716f6e6e6d666d6d6e6f707376797c80858b91969fa2a9b1b9c1c9d2dad6cdc4bbb2a89e948c7f736a5f53493f33271c12070000000000000000000000000000000000000a1724303d4a5763707d8a9aa4afbbc8d4dbcec2b5a89b8f827568574d4244505b6676838f9ca9b6c2cfd2c5b8ac9f9285796d6053463a2d202c3844515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f4855616e7b8897a1adb9c6d2d2c6b9ada297887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8a97a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c322f2f2f2f2f2f2f2f2f2f2f2f2f2f2f333f4953626f7c8895a0acb8c5d4ded1c5b8aca095887c6f62544a3f33281c0f0300000000000000000000000000000000000008131d262f363c40414141414141414141414141414141413e3d3a342d241b110600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b4854616e7b8795a0aca095887b6e6155483b2f24190b141c2228323a41464f5456544f45413a3227221b140b15222f3c4855626f7b8896a1aca095877b6e6154483b2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474745403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfdae6d9cdc0b3a69a8d8073675a4d4034271a08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202c3945525d68717e8a939ea8b2bcc5cfd8dfd4cbc2b9b1a9a299928c85807a74706d676664636261605c606162636466676d7073797f848b9297a0a7afb7c0c8d2dcd6cdc3bab0a69f92877c6e655b5044392e23180c000000000000000000000000000000000003101c28343f4a546673808d99acb6c0ccd8d7ccc0b5ab998c7f7266594c3f3f4a546673808d99a6b3c0cfd3c6baaea298887c6f6255493c2f222d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064574a3d46535f697885929eabb8c5d1d6cabeb3a9978b7e7164584b3e2f24190d010000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c3ced9d4c8bbafa49a8c7f7266584e43372b222222222222222222222222222b3744505b6573808d9aa7b1bcc8d4d8ccc0b6ac9d9184776a5f5342382d22170b00000000000000000000000000000000000000010b141d252b30333435353535353535353535353535353532312e29221b12090000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaa7988b7f7265564c4135291d110a1117202830353d44484948443d3530282017110a111d2a36414c5666727f8c99a8aa9d908377695e52463a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3bec9d5e1dbcec2b5a89b8f8275685c4f423024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7a85919ea5afbac3ced7e1d6cdc2b9b1a7a0979287807a736d6863605d555756555453515354555657555c6063676d72797e8590959ea5aeb6c0cad4ded5ccc1bbaea3999083776c60544a4034281c11060000000000000000000000000000000006121f2c3844505c6676838f9ca9b6c2d2ddd4c7bbafa499897c706356493d3d4a5764707d8a97a8b2bdc9d5cabfb4aa988b7e7265584b3f30252f3c4955626f7c8898a2aebac7d3d2c5b9aca096877a6d6154473a424d576976828f9ca9b5c2cfdbcfc1b4a79a8e817467564c4135291d110400000000000000000000000000000000000000000000000000000000000007131f2c3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9184776a5f5347382d221716161616161616161616202d394653606c7884919eabb7c3ced9d4c8bbafa49a8c7f7266584e432f261c11060000000000000000000000000000000000000000020b131a202427282828282828282828282828282828282524211d181109000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a9a99c8f8276685d5245392c201306060e161e242932383b3d3b383229241e160e060713202d3946525e687683909ca9a9998c807366574d42362a1e0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2c29231d1b150e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9c6d2dfddd0c3b6aa9d9083776a564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46525e6974808d97a1adb7c1ccd5e0d9cfc5bbb1a79f9590857d736d68615e5654514c4a4948474644464748494a4b5153555d60666d717b838e939da4aeb8c2ccd6ded7cbbfb5ab9f948b7e71665c5144382e23170b000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfd2c6b9ac9f93867a6d6054473a3b4754616e7b8796a1adb9c5d2d0c1b4a79b8e817468564c413529323f4c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e524639404d596673808c99a6b3bfcedad0c3b7aa9d908477685d5245392c20130600000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb9c5d2ddd2c7b8aca095887c6f62544a3f33281c0f09090909090909101c2834404b5563707c8996a1adb9c5d5dfd2c6b9ac9f93877b6e6154483c3221140a0000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313c4956626f7c8997a1ac9f92867a6d6054473a2e23170b00040c131921272c2f302f2c272119130c04000714212e3a4754616d7a86939faca197897c6f6256493c30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a38342f2b26201a140d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1deded2c5b8ab9f928578685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56616e7b86929fa9b3bec9d3dedcd1c7bdb3a99f9590837b706b605d56524c4745413e3c3b3b3a383a3a3b3c3d4045474b51545c60696e79818d929da6b0bac4ced8dcd1c6bdb0a69e9184796d60544a3f34281c10030000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3ddd0c3b7aa9d908477675d5145393a46525e697884919eabb8c4d1d0c4b7aa9d918477685e5246392d36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c41363d4a5763707d8a96a8b2bdc9d5d2c6b9ac9f93867a6d6054473a2d211406000000000000000000000000000000000000000000000000000000000000000c17232e384754606a7784919eaab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1f1207000000000006131f2c3845515c6774818e9aa8b2bdc9d5d7cbbfb5ab9c908376695e53463a2d21140200000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0b0905010000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a1117202d394653606c7985929eaba3998a7d7164544a3f34281c10030002080d161b20222322201b160d08020004101c2834404a5464717e8b99a4ab9e9285796c605346392d2017110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141413100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454745403937322a251f18130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfdcdfd3c6baada297877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874808d99a3aebbc4cfdbe3d7cbc0b5aba1979083796e696059524c46413a39352f302f2e2d2c2d2e2f302f34383a40454b51575f676d75808d949fa8b2bcc6d0dbd8cfc2b9aca1968b7e71665c5044382b1f12070000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcad6dacdc1b4a79a8e817467554c413536424d576875828f9ba8b5c2d2d1c5b8aca096877a6d6154473a2e3946525e687884919eabb7c4d1d6cabfb4aa988b7e7265584b3f303a4754616d7a8796a1acb9c5d2d4c8bbafa49a897d7063564a3d2d22170b0000000000000000000000000000000000000000000000000000000000000006111c2b37434e586673808c99a7b1bcc8d4d9cec3b8ab9e9184786c605346392f23180c00000000000713202d3a4653606d7985929fabb8c4cfdad3c7bbaea3998b7e7265574d42362a1e1205000000000000000000000000000000000000000000000000000000010102020202020202020202020202020200000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c2328323a44505b6674818e9ba7ab9b8e8175665c5044382b1f1206000000040b101316161613100b0400000006121f2c3844515c6675828e9baba79b8e8174665b50443a3128231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707070707070707070707070707070707070707070707070707070707070707070707070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b5153514b47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0cddae2d6cabeb3a995897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fabb4bfcdd6e1dfd4c7bbafa39992857b6e675f574f45413a36302c2924232221201f2021222323292c2f353940454d555d606d78828f96a0aab4bfcad6e1d5c9bdb2a89e9184786d6053463a2f24180d010000000000000000000000000005121e2a36424d576875828e9ba8b5c1d0dbd6cabfb4aa988b7e7165584b3e2f303f4c5966727f8c99abb5c0ccd4c8bdb2a8968a7d7063574a3d2d3b4754616e7a8796a1acb9c5d2d3c6baaea298887c6f6255493c2f3946525e687884919eabb7c4d1d8ccc0b6ac998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9ada196897c7063554b4034291c100400000004111d2935414c5664717d8a97a2adbac6d6dfd2c5b9ac9f92867a6d6154473b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f171e262e343d444c525a64717d8a97a4ab9e9285796d6053463a2d20130600000000000407090a09070400000000000713202d3a4653606d7985929faba4978a7d71645a524c433d342e261e170f0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c605c55534e46423b352f28231c140c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081926323f4c5965727f8c98a5b2bfced9e5dbd0beb1a4988b7e7165584b3e3225180900000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8c98a2aebdc6d1dfe1d5c9bdb2a89f92877d70695e554d453d352f2a25201d19161514131213141516181c1f24292e343c434b515c666d7a849198a2aebac6d1dcdacec4b9aca096897d7063554b4035291d1004000000000000000000000000000714212d3a46535e697884919eabb8c4d1ded3c6baaea298887b6f6255483c2f303d495663707c8999a4afbbc7d4cebfb3a6998c807366544a3f333d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d36414c566875828e9ba8b5c1d2ddd2c2b5a99c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000a16212d3a47535f697683909dabb5c0cbd7d5c9bdb2a89a8e8174675c5145382c1f13080000000713202c3945525d6875828f9ba9b3becad6d6cabeb3aa9b8f8275685d524639291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f565d606c717c8895a2ada297897c6f6356493c2e23170b00000000000000000000000000000000000a1623303d495663707d8998a2aea295887c716c605d564f443f3830292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c09040000000000000000000000000000000000000106090b0c13131313131313131313131313130808060200000000000000000000000000000000000000000306080913131313131313131313131313130f0e0c090400000000000006131f2c3845515c676d67625f58524d45403a342e261e1b150e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a8b2bdc9d5e1dacdc0b3a79a8d8074675a4d413025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7783909daab4bfcfd8e2dacfc5b9aca0968c7f726b60574d433b3329241e1913110d0808080706070708070c1013181d23283139404a545d686f7c86929faab4bfcbd7e0d5c9bdb2a89b8e8174675d5145392c201306000000000000000000000000000815212e3b4854616e7b8796a1adb9c5d2dfd2c5b8ac9f9285796c605346392d2d3a4754606d7a86939facb9c6d2cfc2b5a99c8f8276665b504438404a546773808d9aa6b3c0cedacfc2b6a99c8f8376665c5044382b303f4c5965727f8c98abb5c0ccd7d2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d3dacfc4b8ab9f9285796d6053473a3024190d0100000714212d3a4754606d7a86929facb9c5d0dbd3c6baaea2988a7d7164564c413529170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960686d757e86929facb3a99a8d807367544a3f34281c100300000000000000000000000000000003101c28343f4a546773808d9aaab3ac9f92867e756d686059504a423b3329241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000070d1216181920202020202020202020202020201514120e090300000000000000000000000000000000030a0f12151520202020202020202020202020201c1b18150f0902000000000714202d3a4753606d79766f6a615e57514b443f38302b262019140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dedccfc2b6a99c8f837669564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a0acbcc6d0e1e1d5c9beb3a99e9184786d60594f453b31292119130d0804010000000000000000000004070c12181f282f38424c565f6a74808d98a3aebac7d1dcd9cec4b8ac9f92857a6d6053473a2d201408000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d5dccfc2b6a99c8f8376665b5044382b2c3945515d677784909daab7c3d0d2c5b8ab9f9285796c6053463944515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f3428303d495663707c8999a4afbbc7d4d3c6baaea298887b6f6255483c2f22150800000000000000000000000000000000000000000000000000000000000000020e1a26313c4754616d7a86929facb9c5d0dbd3c6baada2978a7d7164564c4135291d11040005121e2a36424d5765717e8b98a3aebac7d7ded2c5b8ab9f9285796d6053473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606b6f7a818b9298a2aeaaa29d918477665c5044382b1f120600000000000000000000000000000006121f2b3844505c667784919ea2aaaea298928b817a6f6b605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2d2d2d2d2d2d22211e1a150e060000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201b140c030000000a1724313d4a5764707d827c746e69605d55504a423e37312a251f18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687784919eaab7c4d1ddded1c5b8ab9e928578695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5566737f8c99a7b1bcced8e2dfd2c6b9ada1978b7e72665c50473d33291f180f080100000000000000000000000000000000070d161d26303a444e58616e7b86929fabb5c0cbd7dfd3c6baaea2988a7d7164574a3e3025190d01000000000000000000000004111d2935404b556774808d9aa7b3c0cfdad9ccc0b3a6998d807366544a3f33282935414b556874818e9ba7b4c1d0d3c6baaea298887b6f6255483c4653606d7985929facb8c5d2d4c8bdb2a8968a7d7063574a3d2e232d3a4753606d7a86939facb9c6d2d6cabeb3aa988b7e7165584b3e3025190d01000000000000000000000000000000000000000000000000000000000000000915202d3946525e6875828f9caab4bfcad6d6cabeb3a99b8f8275685d5245392c201409000714202d3a46525e6976838f9caab4bfcbd7d5c9bdb2a89a8e8174675c514538281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c2328313a414550575f666d737d848e939fa2aaa69f98928b81786d6053463a2d2013070000000000000000000000000000000713202d3a4653606d78818b92989fa7aaa29f938e847d736d665f575045413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000009131b23292e313239393939393939393939393939392f2e2b2620180f0600000000000000000000000006101820262b2e2f39393939393939393939393939393534312c251e150c0200000a1724313d4a5764707d8a87817b736d67605c544f47433c363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566875818e9ba8b4c1d1dcdfd2c6b9ada297877a6e6154473b2e2114060000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6776838f9ca9b6c2cddceaded1c5b8ab9e9285796d60544a3f352b20170d0600000000000000000000000000000000000000040c141e28323c46525e6974818d99a3afbbc7d3e0d6cabfb4aa9a8d817467564c41362a1d110500000000000000000000000613202c3945515d677783909daab6c3d0ddd5c9bdb2a8978a7d7064574a3d2d22242f3f4b5865727e8b98aab4bfcad6cabeb3aa988b7e7165584b3e4956626f7c8998a2aebac7d3d2c5b8aca096877a6d6154473a2e212c3945515d677784909daab7c3d0dbd0c1b4a79b8e817468564c4135291d11050000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8a98a2aebac6d3dbd0c5b9ac9f92867a6d6054473b30251a0e020815212e3b4854616e7b87939facb9c6d1dcd2c5b9ada196897d7063554b403429160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171e262e343d434c515a61696e78808791969ea5aba39f9490857e756d665c5044382b1f120600000000000000000000000000000006121f2b3844505c666d757e8690959fa3aba59e96918780786e69615a514c433d342e261e170f0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e14090000000000000000000007111b252d343a3e3f46464646464646464646464646463b3a37312a21180e0300000000000000000000030e18222a31373a3c464646464646464646464646464642413d3730271e140900000a1724313d4a5764707d8a938e868079716d666159534e46423b352f28221c140b0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303f4c5965727f8c98abb5c0cbd7e2d6cabeb3a9968a7d7063574a3d2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5d2dfe1d4c8bdb2a8998c7f72675c5142382e23190e05000000000000000000000000000000000000000000020c16202a36424d56616e7b86929facb9c5d2dfdbd0c3b7aa9d908477685e5246392d20130700000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd2c5b9aca196877a6e6154473b2e21222f3c4955626f7c8898a2aebac7d3d0c1b4a79a8e817467564c414c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e5246392d202935404b556774818e9aa7b4c1d0dcd0c4b7aa9d918477685e5246392d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7a85929facb8c4cfdad3c7baaea3998b7e7165574d42362a1e1206121f2b37434e5865727f8c99a4afbbc7d4ded1c4b8ab9e9184786c605346392f231806000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318212930383f444e555d606c717b838c9299a1a8a8a099928c827b716c605c544a3f34281c100300000000000000000000000000000003101c28343f4a545c606c717b838c9299a1a8a8a199928c837b716c605d554e443f3830292118130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000010d18232d373f464a4c53535353535353535353535353534847423c332a201509000000000000000000000a15202a343c43474853535353535353535353535353534f4d48423930251b0f04000a1724313d4a5764707d8a9798928c857e78706b625f58524d454039332d261d1b150e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8999a3afbbc7d4e0dbcfbfb3a6998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a3aebac7d3e0ded1c5b8aca096877b6e61554b4030261c11070000000000000000000000000000000000000000000000040e1925303b46535e6976828f9ca9b5c2d0dbdfd2c6b9ac9f93867a6d6154473a2e21140700000000000000000000000a1623303d495663707c8999a3afbbc7d4ded1c4b7ab9e918478685e5246392d20202d3a4653606d7985929facb8c5d2d0c4b7aa9d918477685d52454d566875818e9ba8b4c1d0dbcec1b4a79b8e817468564c41362a1d242f3f4b5865727e8b98aab4bfcbd6d1c5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000000000000000000813202c3945515d6775818e9ba9b3bec9d5d7cbbfb4ab9c8f8376695e52463a2d20150a15212e3a47535f6a7783909dabb5c0ccd7d4c8bcb1a79a8d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d757e8590959fa3aba59d9691877f786e69615a504a42382e23170b00000000000000000000000000000000000b17232e38424a505a61696e78808791969ea5aba39f9590857e756d676058504a423b3329241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000006121e29343f49515658606060606060606060606060606055534d453c31261a0e020000000000000000030f1a26313c464e535560606060606060606060606060605b59534b42372c201509000a1724313d4a5764707d8a97a29f97918b837d766f6a615e56514b443f382f2b262019140c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdccfc2b6a99c8f8276665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcbd6e3ddd0c4b7aa9d918477685e5243392f1e140a0000000000000000000000000000000000000000000000000009141f2a36424d5766727f8c99aab4becad6e0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000030f1c28333f4a5466737f8c99abb5c0cbd7dbcec1b5a89b8e827568564c41362a1e1f2c3844505c667683909ca9b6c3cfd2c6b9ac9f93867a6d605447525e687884919eabb7c4d1d6cabeb4aa988b7e7265584b3f302519222f3c4955626f7c8898a3aebac7d3d4c8bdb2a8968a7d7063574a3d2e23170b000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c31261a0f1b27333f4953626f7b8895a0acbdc7d2ddd1c5b8aca095887c6f62544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f81818181818181818181818181817c6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606a6f7a818a92989fa7a9a19e938e847c736d665e5750443f3830261c1106000000000000000000000000000000000006111c2630383f4450575f666d737d848e939fa2a9a79f98928a817a6f6a605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1206000000000000000006121f2b37434e585f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000a1724313d4a5764707d8a97a3a9a19e95908a827c746e69605d55504a423d37312a251f18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909daab6c3d1dcded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0d0dce7dacdc1b4a79a8e817467564d4131271d0c0200000000000000000000000000000000000000000000000000020e1a25313c4956626f7c8998a2aebac6d3dfd8ccc0b6ac988b7e7265584b3f3225180c0000000000000000000006121f2b3844505b6676828f9ca9b5c2d1dcd7cbbfb5ab988c7f7265594c3f3025191c28343f4a546773808d9aa6b3c0cfd4c8bbafa49a897d7063564a54616e7a8796a1acb9c5d2d3c6baaea298887b6f6255483c2f2215202d3a4653606d7986929facb8c5d2d9cec0b3a6998d807366544a3f34281c100300000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985919eabb8c3ced9d4c8bbafa49a8c7f7265584e43372b1f121f2b3744505b6573808d99a7b1bcd0d9d8ccc0b6ac9d9084776a5f5342382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c2228313a414550575e666d737c848e939fa2aaa69f97928a81796f6a605c544d453e342e261e140a000000000000000000000000000000000000000a141e262e343e454d545c606b6f7a818a92979fa6aaa29f938e847c736d665e575045403a3128221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000b1825313e4a56626d72797979797979797979797979797976695f53473a2e21140800000000000000000815212e3a47535f6a767979797979797979797979797979756f65594d4134271b0e000a1724313d4a5764707d8a97a3b3ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808d99abb5bfcbd7dfd3c6baaea298887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdce2d6cabeb3a9978a7e7164574b3e3024150b0000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929fabb8c5d2deddd2c0b3a79a8d8074675a4d4134271a0e000000000000000000000613202d394653606c7985929fabb8c5d2ded3c7bbaea399897c6f6356493c30231617232e3e4a5764717e8a97a9b3bec9d5ccc0b6ac998c7f736653495764707d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d20131f2c3844515c667683909da9b6c3d0dccfc2b6a99c8f8376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9083776a5f53473a2e2113202d394653606c7884919eabb7c3cdded4c8bbafa49a8c7f7266584e432f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171d262d333d434b515a61696e787f8791969ea5aaa39f948f857e746d676058504a423b3328231c140c0200000000000000000000000000000000000000020c141c2328333b424a505960676d747e8590949fa3aba59e9691877f786e69615a514b433d332d261d170f0701000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986868686868686868686868686868275695c4f4236291c0f03000000000000000c1925323f4c5865727f86868686868686868686868686867b6e6255483b2f22150800000000000000000915222f3c4855626f7c86868686868686868686868686868175685b4f4235281c0f000a1724313d4a5764707d8a97a3b0b9b1aca69f99938e868079716c666059534e46413b352f28221c140b0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5663707d8999a3aebbc7d3e0d6cabeb4aa988b7e7165584b3e31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1dddfd3c6baada297877b6e6154473b2e21140800000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f9ca8b5c2cfdbdbcfc2b5a89c8f8275695c4f4236291c0f000000000000000000000915222f3c4855626f7b8897a2adbac6d3dfd2c5b9ac9f9286796d6053473a2d201415222e3b4855616e7b8897a1adb9c6d2d2c2b5a89c8f8275655b50546773808d9aa6b3c0cedacfc2b6a99c8f8276665b5044382b1f121c2834404a546774808d9aa7b3c0cfdbd2c5b8ac9f9285796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb8c5d1ddd2c7b8aca095887b6f6255483d32271c2834404a54636f7c8996a1acb9c5d2dfd2c6b9ac9f93877b6e6154483c3221140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c121821292f383f444e555d606c717b828c9299a0a8a7a098928b827a706c605d554e443f3830292117110a02000000000000000000000000000000000000000000020a1117212930383f444f555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292118120c040000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b939393939393939393939393887b6e6255483b2f22150800000000000000000915222f3c4855626f7b889393939393939393939393938e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdbcb8b0aba49f98928c847e78706b625f58524d454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdbd0c1b4a79b8e817468574d42372b1e12060000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2dfded2c5b8ab9f928578695e52463a2d20140700000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a6b3c0ccd9ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000c1825323f4b5865727e8b98a9b3becad6ddd0c3b6aa9d908377675c5145382c1f1314212d3a46535f697885929eabb8c5d1d2c5b8ab9f9285796c60535c667683909ca9b6c3cfd8ccc0b6ac998c807366544a3f33281c0f18232e3e4b5764717e8a97a9b3becad6d3c6baaea298887c6f6255493c2f2216080000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d4c8bcb1a7998d807366584e43382c1f2c3844515c6674818d9aa8b2bdc9d5d7cbbfb4ab9c8f8376695e53463a2d21140200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d747e8590949fa3aba49f9590867f776e68615a514b433d342e261e170f0600000000000000000000000000000000000000000000000000060f181e262e343d434c515a61696e787f8791969da5aba39f9490857e746d676058504a423b3329241d160d0600000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9f9f95887b6e6255483b2f22150800000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdc8c2bdb5afaaa29f97918b837d766f6a615e56514b443f382f2b262019140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677683909ca9b6c3cfdbded1c4b7ab9e918478695f53473a2e211406000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c778698a2aebac6d3e0ddd1c4b7aa9e9184776b574d42362a1e1105000000000000000000000000000000000000000000000000000000000b17232e3f4c5965727f8c98a5b2bfcbd8ddd0c4b7aa9d9184776a5e5144372b1e1100000000000000000005111e2a36414c566874818e9ba7b4c1d0dbdacdc0b3a79a8d807467554b4034291c10121e2a36424d576975828f9ca8b5c2cfd3c6baada297887b6e6255606d7986929facb8c5d2d4c8bbafa49a8a7d7063574a3d2d22170b15222e3b4855616e7b8897a2adbac6d3d6cabfb4aa988b7e7265584b3f3025190d01000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a7b1bcc7d4d9cdc3b7ab9e9184786a605448382e232d3a4653606d7985929eabb8c4cedad3c7baaea3998b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c3f393e4042424242424242424242424242423b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545b606a6f79818a92979fa6a9a19a938d837c726c655e56504540393128231c140c05000000000000000000000000000000000000000000000000000000060c151c2328313a414550575e666c727c848e939ea2a9a69f97928a81796f6a605b544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5acacacacacacacaca195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2acacacacacacacaca89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdd0d0c7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808c99a9b3becad6dfd2c5b9ada196887b6e6255483b2e23170b000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d798693aab4bfcad6e2dcd0c3b6a99d9083766a5d504330251a0e0200000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97a4b1becad7ded1c4b8ab9e9185786b5e5245382b1f120000000000000000000713202d3946525e687784919eaab7c4d1ddd6cabeb3a9978a7e7164574b3e2f23180c0e1a2631404c5966737f8c99a6b2bfced6cabeb3a9978b7e716458626f7c8998a3aebac7d3d2c6b9ac9f93867a6d6154473a2e21140613202d394653606c7985929fabb8c5d2dbd0c1b4a89b8e817568564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9aca196897c6f62544a3f342935404b5563707d8a97a1adb9c6d6dfd2c5b9ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494b46443f382f3535353535353535353535352f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c22283139404550575e666c727c848e939fa2a9a59e97918880796f6a605b534d443e352f281f17110a090909090908060300000000000000000000000000000104060709090909090a11171f282f353e454d545b606a6f79818a92979fa6a9a29f938e847c726c665e57504540393127221b140b0500000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2b9b9b9b9b9b9aea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aeb9b9b9b9b9b9b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bfc6ccd2ccc6bfbab2ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3c4956636f7c8997a2adb9c6d2dfd5c9bdb2a8988b7e7265544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dbe7dbcfc2b5a89c8f8275695c4f4236291c0900000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6ded2c5b8ab9f9285786c5f5245392c1f120000000000000000000714212e3a4754616d7a8796a0acb9c5d2ded2c6b9ada297887b6e6155483b2e221507091723303d4a5663707d8996a8b2bdc8d4cfc0b4a79a8d8174675565727f8b98aab4bfcbd6d0c4b7aa9d918477685d5246392d201307121f2b3744505b6576828f9ca9b5c2cfdcd1c4b7aa9e918477685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909dabb5c0cbd7d5c9bdb2a89a8d8074665c5044382c3945515d6775818e9ba9b3becad6d6cabeb3a99b8f8275685d524539291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54565853504a423d36302823282828282828282822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5aaa29f938f857d746d675f585049413b3229241d16151515151515151515120f0a030000000000000000000001070d1013141515151515151515161e2429333b424a505860676d747e858f949fa3aba59d9691877f786e69615a514b433c332d261d170e07010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc6c6c6c6c1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a9aeb4bbc0c7d0d0cac4beb9b1aca69f99928e867f79716c666059534e46413b352f28221c140b0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d1dcdacfc2b5a89b8f8275665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000a1724313d4a5764707d8a97a8b2bdc8d4ded1c5b8ab9e928578695f53463a2d2114070714212e3a4754616d7a8796a0acb8c5d2d0c3b7aa9d908477675d6875818e9ba8b5c1d0dccec1b4a79b8e817468564c4135291d11050f1b27333f49536673808c99a6b3bfcfdad2c5b9aca096877a6e6154473b2e21140700000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8b99a3afbbc7d3dacec4b8ab9e9285796d6053463a2f3a4753606d7a85929facb8c5cfdad3c6baada2978a7d7064564c413529170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b38434e58606265605b544f46423b342e271e1a1b1b1b1b1b1514120f090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c717b828c9299a0a8a79f98928b827a706b605c554e443f382f29222222222222222222222222211f1a150e060000000000000000040c12181d2020222222222222222222222222292f383f444e555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292018120b0300000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd2d2c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d2d2cec1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a979fa2aaafb5bdc2c8cecfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675818e9babb5bfcbd7ded2c5b8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dacdc0b3a79a8d8074675a4d4134271a0e01000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000004101c2834404b556773808d9aa6b3c0ced9dbcfc2b5a89c8f827569574d42372b1e12050713202d3946525d687784919eaab7c4d1d2c6b9ac9f93867a6d60697884919eabb7c4d1d6cabeb3a9988b7e7165584b3e3024190d010b17222d3d4a5764707d8a97a8b2bdc9d5d5c9bdb2a8978a7d7064574a3d2e23180c000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd2c6b9ada197897d7063554b4035414c5664717e8a98a2aebac6d7ded2c5b8ab9f9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000000103040404040404040404040404040404040100000000000000000000000000000815222e3b4754606a6f726c666059524d454039302b261f18130b06080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429333b424a505860676d747e858f949fa3aba39f9590867e756d686059514b433c332d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620181006000000000000040d161d24292c2d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d333d434b515a61696e787f8791969da4aba39f948f857e746d6760585049413b3229241d150d06000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000916222f3c4955626f7c858d92989fa4abb0b8bcc3c9cfcec8c2bdb5afaaa29f96918b837d756f6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717d8a99a3aebbc7d3dfd3c6baada297897c6f6256493c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000006131f2c3845515c677683909ca9b6c3cfdcd8ccc0b6ac998c7f7366594c4031261a0e0205111d2935414c566875818e9ba8b4c1d1d4c7bbafa499897c70636e7b8796a1acb9c5d2d3c6baada297887b6f6255483c2f221508000614212e3b4754616e7a8796a1adb9c5d2d9cec0b3a69a8d807367544a4034281c10040000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4bfcad6d5c9beb3a99b8e8174675d51453946525e6875828f9caab4bfcad6d5c9bdb2a89a8e8174675c514538281e130800000000000000000000000000000000000000000000000000000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000006131f2b37434e58626f7c7e786f6b615e57514b433e373129241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e454d545b606a6f79818a92979fa6a8a199928c837b716c615e564f45403c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a2218100600000000010c161f282f35393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c404550575e666c727c848d929ea1a9a69f97928a81796f6a605b534d443e352f271f17110a0200000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000815212e3b47535f6a6f7a80868e93999fa6acb1b9bdc4cad0cfc7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4754606d7a86929facb9c5d1dcd6cabeb3a9998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000713202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897d7063564a3d3023170900010d1924303f4c5865727f8b98abb4bfcbd7ccc0b5ab998c7f7266717d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d201306000714202d3946525e687884919eabb7c4d1dccfc3b6a99c908376665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664717e8a98a2aebac6d3dacfc5b8ab9f9285796d6053473a4754616d7a86929facb9c5d0dbd2c5b9ada196897c7063554b403428160c020000000000000000000000000000000000000000000000000000000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e0800000000000000030d15212e3b47535f6a75828b837d756e69605c554f47423c352f27221b140b08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22273139404550575e666c727c848e939fa2a9a59e96918780786e69625a524c48484848484848484848484848484848484848484847433c342a22180e0400000007121d2831394045474848484848484848484848484848484848484848484d545b606a6f79818a92979fa6a9a29f938e847c726c655e56504540393127221b140b05000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0006131f2b37434e585f676d737b81878f949da0a7adb2babec5cbd1cbc6bfbab2ada7a09d948f87817a736d67605b544f47433c363029241d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cabb5bfcbd7dbd0c3b7aa9d908477695f53473a2d21140800000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000091623303c4956636f7c8998a3aebac7d3dfd2c6b9ac9f93867a6d6054473a2d21140700000816232f3c4956626f7c8999a3aebac7d3d2c2b5a89b8f82756873808d99a6b3c0cedacfc2b5a99c8f8276665b5044382b1f12060005111e2a36414c566875828f9ba8b5c2d2ddd2c5b8ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929facb8c4cfdad3c6baaea2988a7d7164554c424d5765727e8b99a3aebbc7d3ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a02000000000009141f2b37424e57626f7c88949089817b726d676159534d45413a332d261d19130c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5a9a29f938e847d736d665f57555555555555555555555555555555555555555555555555534e463c342a20150a0000010d18242f39434b5153555555555555555555555555555555555555555555555555585f676d747d858f949fa3aaa59d9691877f776e69615a514b433c332d261d170e070100000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00030f1b26323c464e555d60696e747c828990959ea1a8aeb3bbc0c7cfd0cac4bdb9b1aca69e99928e867f79716c666059534e46413a352f27221b140b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565727f8b99a3aebbc7d3ded1c5b8aca095887b6e6155483b3025190d01000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000c1926323f4c5965727f8c98aab4bfcbd7ddd0c4b7aa9d918477685d5245392c20130700000713202d3a4653606d7986929facb9c5d2d1c4b7ab9e9184786775828f9ca8b5c2cfd8ccc0b6ac998c807366544a3f33281c0f0300020e1925303f4c5966727f8c99acb6c0ccd8d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b3bec9d5d6cabeb4aa9b8e8275675d5146525e697683909cabb5bfcbd7d4c8bcb1a7998d8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000040e1720272e33363737373737373737373737373737373734322f2a241c140a00000000020e1a25313a47535f6a75828e9b9d938e867f79706b625f57514b443f382f2a251e17110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c707b828c9299a0a8a8a197928a817a6f6b626262626262626262626262626262626262626262626262626262625f584e463c31261b0f030004101d2935404b555d60626262626262626262626262626262626262626262626262626262626c707a828b9298a2a9a8a099928c827b706c605d554e443f382f292018120b03000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000a15202a343c434c51575e616a6f767d838b91969fa2aaafb5bdc1c7cdcfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5cfdad4c8bcb1a7988c7f7265564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000005121e2b37424d576875828f9ba8b5c2d1dcdacec1b4a79b8e817468564c4135291d1104000006131f2c3845515c677683909da9b6c3d0d2c6b9ac9f93867a6d7784919eaab7c4d1d4c8bbafa49a897d7063564a3d2d22170b000000081623303d495663707c899aa4afbbc8d4d6cbbfb4aa988b7f7265584c3f30251a0e0200000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dbd0c5b8ac9f92867a6d60544854616e7b87939facb9c6d1dcd1c5b8aca095887c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000b15202931393f4244444444444444444444444444444444403f3b362e261c120800000005121e2a36424d57626e7b87939fa59e98928c847d756e69605d555049413c363028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429323b414950585f676d747e858f949fa3abaca19691857e756f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f584e43372b1f1206000613202c3945515d676d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f777f869297a2adaba39f948f857e746d675f585049413b3229241d150d060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000040e18222a313a41454d52585f626b70787e848c92989fa3abafb8bcc2c8cecec8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6875828f9ba9b3bec9d5d9cec3b6a99c908376685e5246392d201409000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000714212d3a46535f697885929eabb8c5d1ded6cabfb4aa988b7e7265584b3f2f24190d01000004101c2834404b556774808d9aa7b3c0d0d4c8bbafa49a887b6f7986929facb9c5d2d2c6b9ac9f93867a6d6054473a2d2114060000000714212d3a4754606d7a86939facb9c6d2dcd0c1b5a89b8e827568574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4653606d7985919eabb8c3ced9d3c7baaea3988b7e7164564d5765727f8c9aa4afbbc8d4d8ccc0b6ac9d9083776a5f5341382d22170b0000000000000000000000000000000000000000000000000000000006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000714212d3a46535e6974818e99a4afaaa29f96918a827b736d67605b534e46413a342e261e1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e444d535b606a6f79818a92979fa6aeb5ab9e91847d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c766a5f53473a2e211509000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7e85929eabb5aea69f97928a81796f6a605b534c443e352f271f17110a02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000710181f282f353b42464e535960666c71797f858d92999ea5abb1b9bdc3c9cfcfc7c0bbb4aea8a19e959089827c746d68605d555049413d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd2c6b9ac9f93867a6e6154473b31261a0e020000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000815222e3b4855616e7b8897a1adb9c6d2dfd3c6baaea298887c6f6255493c2f221608000000000c18232e3e4b5864717e8b97a9b3becad6ccc0b6ac978a7d707a8799a3aebbc7d3d0c3b7aa9d908477685d5245392c2013070000000613202c3945515d677784919daab7c4d0ddd1c4b7ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6673808d9aa8b1bdc8d4d6cbbfb4aa9c8f8275685d535f697783909dacb6c0ccd8d4c8bbafa49a8c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070005111e2a36414c56616e7b86929fabb5b4aea8a09e948f87807a716c656058524c443f38302a251f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227313940454f565e656c727c838e929ea2a9b0bbb9aca196918a8888888888888888888888888888888888888888888888888888888888888888887c6f6255483c31261a0e05111e2a36414c5665727f8888888888888888888888888888888888888888888888888888888888888888888a9297a2adb9bbb0a9a19e928e837c726c655e564f4540393127221b140b020000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000070d161e242930363c43474f545b60676d727a80878f939d9fa7acb2b9bec5cbd0cbc5bfbab2ada7a09d948f87817a736d67605b534f47423c363029231d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3ced9d4c7bbafa4998b7e7265574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000b1825313e4b5864717e8b97a9b3bec9d5dfd2c5b8ac9f9285796d6053463a2d201307000000000715222f3b4855626e7b8897a2adbac6d3d2beb2a5988b7f727c8895abb5bfcbd7cdc1b4a79a8e817467564c4135291d110400000004111d2935414c556874818e9ba7b4c1d1dcd2c5b9ada196877b6e6154483b2e2115070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c5d1dcd0c5b9ac9f92867a6d6155616e7b88959fabbec7d2ddd2c6b9ac9f93877b6e6154483c3121140a00000000000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000714202d3946525e6874808d99a3aebdbfbab2aca69e99928d857e786f6a615e56504a423d363129241d150d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333c434b515961686e777f8691959da5adb3bbc2bdb2a8a19e9695959595959595959595959595959595959595959595959595959595959595958c7f7366574d42362a1e120714202d3946525e687683909595959595959595959595959595959595959595959595959595959595959595979ea2a9b3bec2bbb3ada59d9591867f776e686159514b433c332d261d140a0000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000040c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6ccd0cac4bdb9b1aca69e99928d857f79716c656059534e46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8d4d7ccc0b5ab9c908376695f53463a2d21160a0000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000004111d2935414c566774818e9aa7b4c1cfdadccfc3b6a99c908376665c5044382c1f1206000000000613202d394653606c7985929fabb8c5d2ccbfb3a6998c80737d8a96a3b0bdd1d6cabeb3a9988b7e7165584b3e2f24190d01000000010d19242f3f4b5865727e8b98abb4bfcbd7d5c9bdb2a8978a7d7164574a3e2f23180c00000000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d3c7bbaea3998b7e71655766727f8c99a7b1bcd0d9d7cbbfb4aa9c8f8276695e52463a2d2014020000000000000000000000000000000000000000000000000000000000101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d000814212e3b4754616e7a86929faab2bac2c4bdb9b0aba39f97918b837c746d68605c544f46423b352f271f1a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f444e555d606b707a828c9299a0a8afb9bebcbcbcbab2acaba3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d908377695f53463a2d21140814212e3b4754616e7a86939fa2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a4abadb3bbbcbcbcbeb9afa8a099928c827a706b605d554e443f382f261b110600000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7d1dcd2c7b7ab9f94887b6e6155483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000613202c3945525d687784909daab7c3d0ddd9cdc0b3a69a8d807367544a3f34281c10030000000005121f2b3744505b6576828f9ca9b5c2cfcdc1b4a79a8e81747e8b98a4b1becbd3c6baada297887b6e6255483b2f22150800000000000816232f3c4956626f7c8999a3aebac7d3dacfc0b3a79a8d807467554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a6b0bcc7d3d7cbbfb5ab9c8f8276685f697783909daab7c3cdddd3c7baaea3988b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000b1825313e4b5864717e8b9298a1a8b0b8c0c9c1bdb5aea9a19e959087817a726d666059534d454039312c241a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414950585f676d747d858f949fa3abb1afafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaca095887b6e6155483b302519111d2935414c5665717e8b99a4afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafb1aba39f948f857d746d675f58504941382d22170b00000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb5bdc2c8cecdc8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c0701000000000000000000000000000000000000000000000000000000000000000000000c18232e3947545f6a7783909dabb5c0cbd7d3c7bcb0a6998c7f7366584e43382b1d130700000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000714212d3a4754606d7a86939facb9c6d2dfd5c9bdb2a8978a7d7164574a3e2e23170c0000000000030f1b27333f49536673808c99a6b3bfcecfc2b5a89c8f82757f8c99a5b2bfccd2c5b8ab9f9285796c605346392d20130600000000000713202d3a4653606d7986929facb9c5d2dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000f1b27323c4855616e7b88949fabb7c6d1dcd1c5b9ac9f92867a6d626e7b8895a0acb8c4d1dfd2c5b9ac9f92867a6d6054473b30251a0e020000000000000000000000000000000000000000000000000000000000131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f000a1724303d4956616c717e8691969fa6aebabfc5c6bfbbb3ada79f99938e857f78706b615e57514b433e362c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535b606a6f79808a92979fa6a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3acafb1a7988c7f7265564c41362a1e13202c3945525d6876828f9cabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a69f97928a80796f6a605b53493f33271b0f03000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4abb0b8bcc3c9cfcfc7c0bbb4aea8a19e959089827b746d68605c555049413d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7d3d8cdc2b7aa9e9184776a6054473a2f24180d01000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c5b9ada196877b6e6154483b2e2115060000000000000b17222d3d4a5763707d8a96a8b2bdc9d0c3b6aa9d908377808d9aa7b3c0cdcfc2b5a89c8f8275655b5044372b1f1205000000000006131f2c3845515c667683909da9b6c3d0dcd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909cabb5bfcbd7d3c7bbafa3998b7e7166737f8c99a7b1bcc8d4d6cabeb3a99b8e8275685d524539291f1409000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000815212d3945505a626c717c848f949ca4aeb4bcc3cbc4beb9b1aba49f97928b837d756e69605d5550483e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656c727c838d92969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969fa4aba99c908376685e5246392d2014212d3a4754606d7a86929facaba39f96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696928d837c726c655b5044372b1f1205000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e93999fa6acb1b9bdc4cad0cbc5bebab2ada7a09d948f87817a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616e7a86929facb9c5cfdbd2c5b9aca096897c6f62554b4035291d1104000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003101c28343f4a546673808c99acb6c0ccd8ded1c4b8ab9e918478695e52463a2d2014070000000000000614212e3a4754616d7a8796a1acb9c5d1c4b8ab9e918578818e9ba7b4c1ceccc0b5ab998c7f736653493f33271b0f03000000000004101c2834404b546774808d9aa7b3c0d0dbd3c7baaea399897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3d7cbc0b5ab9c8f8276697783909daab7c3cdd9d3c6baada2978a7d7064564c413529170d02000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f0005111d28343e48505a626a6f7a828d929fa2aab2bac1ccc9c2bdb5afa9a29f959089817b736d67615a50483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787f868989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898a9399a4ac9f93867a6e6154473b2f241c2934404b5564717e8a99a3aea399928a898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989867f786c605346392d201306000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7adb2babec5cbd0cac4bdb9b1aca69e99928d857f79716c656059534d46413a342f27221b140b03000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3becad6d4c8bdb2a89a8d8174675d5145392c20160a000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000006121f2b3844505c6676838f9ca9b6c2d2dddbcec2b5a89b8f827568574d42362a1e12050000000000000713202d3946525e687884919eabb7c4d1c5b9ac9f928679828f9ca8b5c2cfc7bbafa499897d7063564a3d2d22170b000000000000000c18232e3e4b5864717e8b97a9b3becad6d7cbbfb4ab988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd1c5b9ac9f92867a6e7b8895a0acb8c5d5ded2c5b8ab9f9285796d6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f00000c17222d363f48505860686d78808a9298a0a8afbbc0c7d0c7c0bbb3ada7a09d938e868079716c615a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a7d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d87939faca4998b7e7165554c4135291f2c3845515c6775828e9babac9f92877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7a6d6054473a2d211407000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c828990959ea1a8aeb4bbc0c7cfcfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d150d0300000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6d1d9cec3b8ab9f92857a6d6053473d32271b0f020000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000713202d3a4653606d7985929facb8c5d2dfd7cbc0b5ab988c7f7265594c3f30251a0e0200000000000005111e2a36414c566875828e9ba8b5c1d1c7baaea399867983909ca9b6c3cfc6b9ac9f93867a6d6054473a2d211406000000000000000715222f3b4855626e7b8897a2adbac6d3dcd1c2b5a89b8f827568574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4becad6d3c7bbaea3998a7e727f8c98a7b1bcc8d4d5c9bdb2a89a8e8174665c514538281e130800000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f000006101b242d363f464e565e666d737e8691969ea5afb5bdc5cdccc5bebab1aca59e98928c847e716c6155493d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707076838f9cacab9c8f8275675d5145392c202d3a4753606d7985929facac9c8f837670707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d685d5245392c201307000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d838b91969fa2aaafb5bdc1c7cdcdc8c1bdb5afaaa29f96918a837d756e69615e56514b443f382f271f150b010000000000000000000000000000000000000000000000000000000000010d1925303b4653606d7985929eabb4bfcbd7d3c6baaea2988b7e7265594f43382c1e14080000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000916222f3c4955626f7c8898a2aebac6d3dfd4c7bbafa399897c6f6356493c3023160900000000000000010d1925303f4c5965727f8c98abb5c0cbcbbfb4ab94877b84919daab7c4d0c3b7aa9d908477675d5145392c201306000000000000000613202d394653606c7985929fabb8c5d2ded1c4b8ab9e918578695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d3d7cbbfb5ab9b8e817683909ca9b6c3ced9d2c5b9aca196897c6f63544b403428160c0100000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f00000009121b242d343d444c545c606c717c848f939fa4abb3bbc3cbd0cac3bcb8afaaa29f96918a7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636365727f8b9aa4ac9f92867a6d6054473a2e28343f4a5463707d8a98a2aea49a8b7f726563636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000003090e161b1e272e343a41454d52585f626b70787e848c92989fa3abafb8bcc2c9cecfc7c0bbb3aea8a19e959089827b746d68605c555049413931271d120700000000000000000000000000000000000000000000000000000000000008141f2c3845515c6773808d99a3aebac7d2d6cabeb3aa9d9083776b6054483b3025190d0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000c1925323f4c5865727f8b98aab4bfcad6dfd2c5b9ac9f92867a6d6053473a2d2014070000000000000000081623303c4956636f7c8999a3afbbc7d1bbafa295887c85919eabb8c4cdc1b4a79a8e817467554c4135291d11040000000000000005121f2b3744505b6576828f9ca9b6c2cfdcd2c6b9ada197887b6e6155483b2e2215070000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929fabb8c4cfdad1c5b8ab9f92857a87929facb9c5d2ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f0000000009121b222b323a424a505a616a6e79818c9399a1a9b1b9c0cbd1cec8c0b6aea49d928d80736c6155493d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656616e7b87939faca3998a7e7164554b40342b3844505c6674818e9baaac9f93877b6e615656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524c443a3024190d01000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000040a0c151c23282f353b42464e535960666c71797f858d92999ea5abb1b9bdc4cacfcbc5bebab2aca79f9d938f87807a726d67605b534b43392f23180c00000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b86929fabb5c0ccd7d0c5b8aca095897c6f63564c41362a1d130700000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000005111e2a36424d576875818e9ba8b4c1d0dbddd0c3b6aa9d908377675d5145392c20130600000000000000000714202d3a4753606d7a86929facb9c5c9bcafa396897d85929facb8c5cabeb3a9978b7e7164584b3e2f24190d0100000000000000030f1b27333f49536673808d99a6b3c0cfdad5c9beb3a9978a7e7164574b3e2f24180d01000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b2bdc9d5d3c6baada2978d818d99a3afbbc7d4d4c8bcb1a7998d8073655b5044372b1f12070000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000091019202930383f4450585f676d777f8792979fa7afbabfc6c9c0b7aea49d928d80746e645a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a414547494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949525e697683909da9ab9b8e8275675c5145382d3a4653606d7985929eaba99d908376695e524949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494745413a32281e130800000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000030b12181e242930363c43474f545b60676d737a80878f939d9fa7acb2b9bec5cbd0cac4bdb9b1aba69e99928d857f79716c655c554b4034291c10040000000000000000000000000000000000000000000000000000000000000c18232e3946525e6874818e99a4afbbc7d4d4c8bcb1a79b8e8175685e52463a2f24180d00000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000714202d3a46525e697884919eabb7c4d1dedacdc0b4a79a8d817467554b4035291d1004000000000000000006131f2c3945515d677783909daab7c3cabdb0a4978a7d86939facb9c6c6b9ada197887b6e6255483b2f2215080000000000000000000b17222d3d4a5764707d8a97a9b2bdc9d5dacfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8996a1adb9c5d2d6cabeb3a99d928d929dabb5c0cbd7d1c4b8aca095887b6f6253493f33271b0f030000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000070e171e262e343e464e555d656c727d8590959da5aeb4bdc0b7aea49d928d80746e645c52483e34281d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d424d5766727f8c99a7ac9f9285796d6053463a2e3d495663707c8997a1ada7988c7f7265574d423d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3935302820160c0200000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000070c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6cccec9c3bcb8b0aba39f98928c847e776d675c5145382c1f130600000000000000000000000000000000000000000000000000000000000007121d2a36414d56626e7b87939facb9c2cdd8cec3b9ac9f92867a6e61554b4135291d1207000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000814212e3b4754616e7b8796a1acb9c5d2ded6cabeb3a9978b7e7164584b3e2f24180d01000000000000000004101d2935404b556774818e9aa7b4c1d0bfb2a6998c7f8c9aa4afbbc8c5b8ab9e928578695f53473a2e2114080000000000000000000614212e3b4754616e7b8796a1adb9c5d2ddd0c3b6aa9d908377675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eabb8c3ced9d0c5bcaea49d9a9da4aebdc7d1d7ccc0b5ab9d9083776a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000050c141c2328343c434c535b606b707b838e939fa3abb2b7afa59d928d80746e645c524a40362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303b4855616e7b8895a0aca2988a7d7063544a3f37434e586774808d9aa9aca095887b6e6155483b30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c29241e160e040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f96918a83796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000e1925303b47535f6975828f9ba6b0bbc7d3d3c7bbaea3998c8073675d5145392e23180c000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000b1724313e4a5764717d8a97a8b2bdc9d5dfd3c6baada297887b6e6255483b2f221507000000000000000000000c18242f3e4b5865717e8b98aab4bfcac5b8ab9f9285929facb6c0ccc2b5a89c8f827569574d42372b1e12060000000000000000000714202d3a46525e697885919eabb8c4d1ded2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6673808d9aa7b1bcc8d4d7cec0b6aea9a7a9aeb6c0cfd9d4c7bbafa4998c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f0000000000000000020a1117222a313a4149505960696e79818b9299a1a8afa59d938d80776c605c524a40382e241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232d3a46535f697783909daaaa9a8e8174665c50443b4754606a7884919eabaa9d908377695f53463a2d2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201d19130c04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb6bec2c8cecfc7c0bbb3aea8a19e95877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000008141f2b37424d57626f7c89949fabb7c3cdd7cbbfb5ab9f92857a6d60554b4034281c11060000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000004101d2935404b556774808d9aa7b3c0cedaded2c5b8ab9f9285796c605346392d201306000000000000000000000715222f3c4855626f7b8898a2aebac6c6baaea2989298a2aebec7cbc0b5ab998c7f7366594c4031261a0e0200000000000000000005111e2a36424d576875828f9ba8b5c2d2ddd3c7bbafa399897c706356493d30231609000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acb8c7d2ddd2c8c0b9b5b4b5b9c0c8d2dfd2c6b9ac9f93877b6e6154473c3121140a00000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f00000000000000000000060f181f282f383f444f575e676d747e8791969fa59d938e81776c655b504a40382e261c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161e2a36424d5766737f8c99a8ab9e9285796d6053463c4955626f7c8896a1ada8998c7f7366574d42362a1e1616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161413110d080200000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4acb0b8bcc3cbd1cbc5bebab2aca793877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7b1bcc8d4d1c6baada2978c7f72675c5145382e23170b0000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000006131f2c3945515d677683909da9b6c3d0dcdccfc2b5a99c8f8276655b5044372b1f1205000000000000000000000613202d394653606c7985929facb8c5cabeb4aaa29fa2aab4bed0c7bbafa399897c706356493d3023160900000000000000000000020e1a25303f4c5966727f8c99acb6c0ccd8d7cbc0b5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6a7784919dacb6c0ccd8dad2cbc5c2c0c2c5cbd2dad6cbbfb4aa9c8f8276695e52463a2d20140200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f0000000000000000000000060d161d262d333d454d555c606d727c848f949d938e81776c655b53493f382f261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0e1a26313c4855626f7b8896a0aca197897c6f635649424e576673808d99a8aca096887b6e6255483b31261a0e0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e939a9fa6acb1b9c3ced7d0cac4bdada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000915202b37434e5863707d8995a0acb8c4ced6cabeb3a99e9185796d60544a3f34281d120700000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000714202d3a4753606d7a86929facb9c5d2dfd9ccbfb3a6998c80736653493f33271b0f030000000000000000000006121f2b3844505b6676838f9ca9b6c2d0c5bcb4aeabaeb4bcc5d0c5b9ac9f92867a6d6053473a2d2014070000000000000000000000091723303d4a5663707d899aa4afbbc8d4dcd1c2b5a89c8f827569574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866727f8c9aa4afbbc8d4e0dcd6d1cecdced1d6dce0d3c7baaea3988b7e7164564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000000000000040b141b2227333b434b515b626a6f7a828d928e81786c655b534941382d261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a47535f6a7784919daaa99a8d807467584e47535f6a7784919daaaa9d9184776a5f53473a2e1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7b1bcc6d0dbd6cebaada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000030f1b27323d4855616b7783909da8b2bdc9d5cfc5b9ada1978b7e72665c5044392e23180c01000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000a1623303d495663707c8999a3afbbc7d3e0d4c8bdb2a8968a7d7063574a3d2d22170b0000000000000000000000030f1c28333f4a546673808d99a6b3c0cfcec5bebab8babec5ced0c3b6aa9d908377675d5145392c20130600000000000000000000000714212d3a4754606d7a86939facb9c6d2ded1c5b8ab9e928578695f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4854616e7b87939facb9c6d1dce7e2dddbdadbdde2e3dfd2c5b8ac9f92867a6d6054473b3025190e0200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000020a1117212931394045515860686d78808981786c665b534941382f261b140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586673808d99a8ab9e9184786a5f544855626e7b8895a0aca8998d807366584e43372b1f0e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c82899095a0aab4bfcad6d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a0acb9c4ced5c9beb3a99e9184786d60554b4034281e1308000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030f1b27333f495366727f8c99abb5c0cbd7ded2c5b9aca096877a6d6154473a2e2114060000000000000000000000000b17222d3e4a5764717d8a97a9b2bec9d5d0cac6c5c6cad0d7cdc0b4a79a8d817467554b4035291d110400000000000000000000000713202c3945525d687784919daab7c4d0ddd2c6b9ada197887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535e697683909cabb4bfcbd7d6d6d6d6d6d6d6d6d6d6cabeb3a99b8e8175675d514539291f14090000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000000000000000000060f171f272f343f464e565e666d737c786d665b544a41382f261d140a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c4955626f7c8896a1aca196887c6f62554d5766727f8c99a8aca196887c6f6255493c31261a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d839098a2aebac6d3d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000004101c27333d4653606d7884919ea8b2bdc9d5cfc4b9aca0968b7e71675c51453a2f24190d020000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000005121f2b3744505b6575828f9ca8b5c2d1dcddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000615212e3b4854616e7b8797a1adb9c6d2dbd6d3d2d3d6dbd5c9beb3a9978b7e7164584b3e2f24180d01000000000000000000000004111d2935414c566875818e9ba8b4c1d1dcd6cabeb3a9978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebac7c9c9c9c9c9c9c9c9c9c9c9c6b9ada2978a7d7064554c413529170d020000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f00000000000000000000000000000000050d151d2329343d444c545c606b706d665c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7884919eaba8998c80736657525e697683909da9ab9e9184786a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d85929facb8c5d2d3c6baada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000b161f2b3844505c66727f8b96a1acb9c3cdd5c9bdb2a89e9184796d60554c4135291e14080000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000613202d394653606c7985929eabb8c5d1d6d6cec1b4a89b8e817568564c41362a1d11050000000000000000000000000714202d3a46525e697885919eabb8c4d1d6d6d6d6d6d6d6d2c6b9ada197887b6e6155483b2e221507000000000000000000000000010d19242f3f4c5865727f8b98abb5bfcbd7dacfc0b4a79a8d817467554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a86929facb9bdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000030b1218222b323a424a50596063605c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e586773808d9aa9aa9d908477695f54616e7b87939faca99a8d807367584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a9298a2aebac6d3d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7984919ea7b1bcc8d4cec4b9aca1968b7f72675d51453b3025190b0200000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000815222f3b4855626e7b8897a2adb9c6c9c9c9cbbfb4aa988b7f7265584c3f3025190d0100000000000000000000000005121e2a36424d576875828f9ba8b5c2d2c9c9c9c9c9c9c9c9c5b8ab9e928578695f53463a2d211407000000000000000000000000000816232f3c4956626f7c8999a3aebbc7c9c9c9c3b7aa9d908477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525d6875828f9ba9b3b0b0b0b0b0b0b0b0b0b0b0b0b0b2a89a8d8174665c514438281e13080000000000000000000000000000000000000000000000000000000000000000000000000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b00000000000000000000000000000000000001071019202930383f444f545653504a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c4956636f7c8997a1aca095887b6e615665727f8b9aa4ada196897c6f6356493c32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949fa2aab4bfcad6dbc6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515c66717e8a95a0acb8c2d0d5c9bdb2a89e92857a6d60564c41362a1d140a00000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000b1825323e4b5865717e8b98a9b3bebdbdbdbdbdbaaea398897c6f6256493c2f23160800000000000000000000000000020e1a25303f4c5966727f8c99acb6c0bdbdbdbdbdbdbdbdbdbdb5a89b8f827568574d42372b1e1205000000000000000000000000000713202d3a4653606d7986929facb9bdbdbdbdbdb9ac9f93867a6d6054473a2d2114060000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717d8a97a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a196897c6f63544a403428160c010000000000000000000000000000000000000000000000000000000000000000000000000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000070e171e262e343d44484946443f3830261d140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7884919eaba7998c7f72665e6876838f9cacab9e9184786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6aeb4bcc6d0d7cfcabaada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54606c7883909da6b0bec7d2cec4b9ada1978c8073685e52463d2f261c1106000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005111d2a36414c566874818e9ba7b0b0b0b0b0b0b0b0ac9f9286796d6053463a2d2013070000000000000000000000000000091623303d495663707c899aa4afb0b0b0b0b0b0b0b0b0b0b0b5ab998c7f7266594c3f31261a0e020000000000000000000000000006131f2c3845515c677783909daab0b0b0b0b0b0b0afa499897d7063564a3d2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4753606d79859296969696969696969696969696969696969184786c605346392e231806000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d1206000000000000000000000000000000000000000000050c151c232832383b3d3a38342e261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818d9aa9a99d90837669616d7a86929faca99a8d8074655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0babfc6ced1cbc5beb9b2a093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000c18232e3944505b66707d8a949facb6c0ccd6cabeb3a99f92867a6e61584e42382d22170b020000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000713202d3946525e687784919da3a3a3a3a3a3a3a3a3a39d908376665c5145382c1f130600000000000000000000000000000714212d3a4754606d7a86939fa3a3a3a3a3a3a3a3a3a3a3a3a3a399897c706356493d30231609000000000000000000000000000004101c2834404b556774818d9aa3a3a3a3a3a3a3a3a3ab998c7f736653493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c6774818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d0100000000000000000000000000000000000000000000030a111721272c2f302d2b28231c140c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495363707d8997a1ac9f93877b6e64717e8b99a3ada197897d706353493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2cad0cfc6bfbab3ada8a093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54616b76828f9aa4afbbc5d0cfc5baaea2988e81746a60544a3f33281e14080000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212e3a4754616d7a87969696969696969696969696968d807367544b4034281c100400000000000000000000000000000613202c3945515d6777849196969696969696969696969696969692867a6d6053473a2d2014070000000000000000000000000000000c18232e3e4b5864717e8b9696969696969696969696968f8276655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000000000000000000000000060c161b202223201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eaba49a8b7e726775828f9babab9e9285796d6053463a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29e9691877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59626f7c87939fa9b3becad6cabfb4aa9f93877c6f665b50443b3025190d0400000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e2e23180c00000000000000000000000000000004111d2935414c556874818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8377675d5145392c1f13060000000000000000000000000000000715222f3b4855626e7c888a8a8a8a8a8a8a8a8a8a8a8a8a85796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e696e707070707070707070707070707070707070706d685e5241382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000010b151d252c30343535353535353535353535353535353532312e29231b1309000000000000000000000000000000000000000000000000000000040b101316161312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674818e9aaaac9c8f82766d7a86929facaa9a8e8174665c5044382b1b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb7afaba39f97928b847e71685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3e4754606a74818e97a2adbac3d0d0c6bbafa4999083786c60564c41362a20160c01000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d211407000000000000000000000000000000010d19242f3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f62554b4035291d10040000000000000000000000000000000613202d394653606c787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d575e6163636363636363636363636363636363636363615e564c412f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282828282828282828282828282828282524221d1811090100000000000000000000000000000000000000000000000000000000000407090a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5463707d8a98a2ac9f92867a717d8a98a3aea2988a7d7063544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b0aba59e99928d857f79716c61564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000a141d2b37434e58616d7a85929fa7b1bec7d2ccc0b5aba0958b7f72685e52463d32281e1308000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212d3a46535f696e7070707070707070707070707070706d685d5245392c201306000000000000000000000000000000000814212d3a46535f696e70707070707070707070707070707070706f6a5f5343392f24180c0000000000000000000000000000000006121f2b3844505b666c7070707070707070707070707070706d665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b454d52545757575757575757575757575757575757575754524c443a301d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7985929faba3998a7e75818e9baaab9f9285796d6053463a2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca69f9c938e86807a726d66615a50433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000020b1b27323c46525e68727f8b95a0acb6c0ccd2c7bdb1a79f92857a6e61594f443a2f24190e050000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005121e2a36424d575f61636363636363636363636363636363605d564c4135291d11040000000000000000000000000000000005121e2b37424d575f616363636363636363636363636363636363625f584e4331271d120700000000000000000000000000000000030f1c28333f4a545b60636363636363636363636363636363605c544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413a32291e0b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675818e9baaab9b8f827985929fabaa9b8e8175665c5145382c1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2c8cecfc6bfbab3ada8a09e949089817b736d68605c5450483e31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a36414c56606d7883909aa4afbbc4cfd0c3baada2978e81746b60564c41352920170d0200000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300020e1a26313b454d535557575757575757575757575757575754524c433a2f24190d0100000000000000000000000000000000020e1a26313c454d5355575757575757575757575757575757575755534e463c321f150b0100000000000000000000000000000000000b17222d38424a505357575757575757575757575757575753514b42392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5464717d8a98a2ac9f92867d8a97a2ada2988a7d7064544b4034281c0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29f96918a837c756e69605d56514a423e362c1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303a44505c666f7d88939fa9b2bec9d5cabeb3a99e93897d70685d52453e32291f140800000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a31281e130800000000000000000000000000000000000009141f2a333c4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a200d0300000000000000000000000000000000000006111c262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4645403930271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e303030303030303030303030303030303030302e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4753606d7986929faca2989184919ea9ac9f9286796d6053473a2e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6a615f57524c444039302c241a0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28343f4a54606b74818e97a1adb9c1cdd0c5bcafa59e91847a6d605a50443b3025191107000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c01000000000000000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e00000000000000000000000000000000000000000a141d262d3338393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242421201d19130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6775828f9babaaa0969196a0acab9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b1aba59e99928d857f79716c626058534d45413a342e271e1a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17232e38424f59606d7a84919ea5afbbc5cfcec1b9ada1968e81756c61564d41362a23190e050000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000060f181f262a2d2e3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000060f181f262b2d2e30303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000020b141c22282b2d3030303030303030303030303030302d2c28231d150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5564717e8a99a3aea8a09ea0a8aea3998a7e7164554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544e46423b353028231c150c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d45525d68707d8a939ea9b3becad5c9bdb2a89e938a7e71685e52463f352b20170c0300000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000060d141a1e212224242424242424242424242424242421201d19130c0400000000000000000000000000000000000000000000060e141a1e2122242424242424242424242424242424242422211f1b150e0700000000000000000000000000000000000000000000020a11171c1f20242424242424242424242424242424201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4754606d7a86929facb2acaaacb2ac9f92867a6d6054473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f2215060000000000000000091623303c4956636f7c8996a2afbcc9d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089817b736d68605c545047433d363129241e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935414c56616c75818e97a1adb9c0cccfc4baafa59e92857a6e615b51473d33291e150b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003090e1214151717171717171717171717171717171413110d080100000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000060b0f12131717171717171717171717171717171313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6775828f9cabb5b9b7b9b5ab9c8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232261b0f03000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d6c9bdb0a3968a7d7063574a3d2d22170b00000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69605d56514b423e38322a261f19130c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7a85929ea5afbac3cfccc1b9ada1978f82756d62594f453b30271d1207000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040100000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000306060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565717e8b99a3afbbc4bbafa3998b7e7164554c4135291d0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1f1409000000000000010e1b2834414e5b6774818e9aa7b4c1cddad8cbbeb2a5988b7f726553493f33271b0f03000000000000000b1824313e4b5764717e8a97a4b1bdcad7dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302b27201a140d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e46525e68707e8a939da8b2bdc7d1cabeb3a99e948c7f726b60574d42392e231811080000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5b9ac9f92867a6d6154473a2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776a5f54473b31251a0e04000000000005111e2a36414c566976828f9ca9b5c2cfdcdacdc1b4a79a8e8174655b5044372b1f150a000000000000000c1926333f4c5966727f8c99a5b2bfccd8dacdc1b4a79a8e8174675b4e4134281b0e000000000000040a0c151c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d45413a342e271e1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36414c56616c74818e96a0abb5c0cbcfc5bbb0a69f92877d70695e544b403428231a100700000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6876828f9cacb6c0b6ac9c8f8276685e5246392d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8aca095887c6f62574d42362a20160d03000000000713202d3946525e687885919eabb8c4d1deded1c4b8ab9e9184786c6053463c31261a1107010000000006121e2a36424d576875828e9ba8b5c1cedbd9ccc0b3a6998d8073665a4d4033271a0d0000000000070e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303b44505a606d79849199a3afbbc1cccdc1bbafa39992857b6e665c51453f352c22190f06000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b9aa4afbbafa49a8b7e7265564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8e8174695e53463d32281f150c070506080f17212e3a4754616d7a8797a1adb9c6d2dfdfd2c6b9ada197897c6f62584e43372b2318120b060606070e18212d3a46535f697884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c0000000007101820262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089827b746d68605c545048433d363129241e18120b030000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b08141e29323e45515d676f7c87929fa6b0bac4cecbc0b5aba1979083786d605a50473e342b21180e050000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9ac9f93877b6e6154473b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9cdc3b9ac9f92867b6e61594f443a31271e181311131419212a36414c5664717d8a97a9b2bec9d5e1e1d5c9beb2a99b8e81746a5f53473f3529231d1713121313182028343f4a54616e7b8896a1acb9c5d2ded7cabeb1a4978b7e7164584b3e3125180b000000071119222a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615d56514b423e38322a261f19130c07000000000000000000000000000000000000000000050b1013161617171717171717171717171717171717171717171717171717171717171717171717171717202935404b55606a727f8c939ea8b2bcc6d0c7bdb3a99f958d80746c62594f463d332a20170d0500000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3946525e687683909ca9b6a99c908376685e5246392d1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe0d3c7baaea3988e81746b60564c4339302924201d1f202429333b46525e6875828f9ca8b5c2cfdae6e6dacfc4b9ac9f93877c6f625b51473e342f2722201f1f202429323b44505c6673808c99a8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000050f19232b343c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302c27211a140d0802000000000000000000000000000000000000000000070f161c2022232424242424242424242424242424242424242424242424242424242424242424242424242424242f3a434e58606c77828f96a0aab4bfcacfc5bbb1a79d928b7e716b61584e453c322920160e05000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d5665727f8c98a7b1a7988c7f7265564d41362a1e0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe3d7cbbfb4aa9f93877d70685d554b423b352f2d292c2d2f353c454e58616d7a86929facb9c5d2dfece7e0d4c7bbafa4998f82756d635950454039332d2d2b2c2d2f353b444d57606d7884919eabb8c4cedadfd2c5b9ada196887b6e6155483b2e22150800000b16212b353d464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d46413a342e271e1b160e09030000000000000000000000000000000000000000000007111921272c2f3031313131313131313131313131313131313131313131313131313131313131313131313131313131313d44505b656d7a849198a2aebabfc9cdc2b9aea49f92877d706a60574d443b322820170e050000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b8795a0ab9f95877b6e6154483b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dcd1c6bbafa49991847a6d675c544d45403a3935383a3b41454e57606a74808d99a3afbbc7d3e0e3dcd5d1ccc0b5ab9e948c7f726b615a514b443f3b3a38383a3b40454d565f69727f8c96a1adb9c5d6e0ded1c4b7ab9e918478695f53463a2d2114070004101c27323d474f585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3f49535d686f7c86929fa4aeb7c1cbcbc0bbafa39992867c6f695f564d443a322920170f0600000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3a46535e697783909daa9d908377695e53463a2d1f1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe2d7ccc0b5aba1968f82796d665f57514b4746414547484c52585f696f7c88939fabb5c0cbd7e3dad2cac5c1c0bdb0a69f93877d716c605c5550494746444546484b51575f686e7b86929fa9b2bdc9d5e8dacec1b4a79b8e817468574d42372b1e1205000713202c38444f59606a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555048433d363129241e18120b03000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4c565f6a717e8b929ca5afb9c2cfcbc0b5aba29892857b6e685e564c443b322921180f06000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8c99a7998c7f7266574d42362a1e0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ebe2d9d2ccc7bdb2a89f948f82786e69605d5554524c515354565d606a6e7b84919aa4afbdc7d1dcdfd2c8c0b9b5b3b8baafa49992877e736d67605b53545350515354555d60696e7a839098a2aebbc4cfdadfd3c7bbb0a6978b7e7164584b3e31261a0e02000916222f3b4854606b707c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b433e38322a261f19130c07000000000000000000000000000000000000000000000000000004101c27333d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575758616c73808d939ea6b0bdc6d1c7bdb4aaa19791847a6e685e564c443b332921180c030000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4855626e7b8895a095887b6e6255483b31251a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9d0c7c0bbb9bbb0a69e948f837b726d6763615d565c606164686d737c849196a1acb6c0cfd9e1d7cdc0b6aea8a6abaeb3aba399928b8079716c656361605c5c606164676d737b849095a0aab4bfcdd6e0dcd0c3b7ab9f94877b6e6154483b2e21150900000a1623303d495663707d888f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039302c27211a140d08020000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646c77818e949fabb4bfcbcfc6bcb3a9a19690837a6d685e564d453b33291e150b0000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000914212e3a47535f697784919d908477695f53473a2e1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd2c7beb6afacafb6b0a69e9590857f7a74706d686b676d6e71757a80869196a1a8b2bec7d2e1dbcfc5bbaea49c999fa2aab3aba39f928d847e7874706e6d66676d6e71747a80869196a0a7b1bcc6d0dfdfd4c8bcb1a79c8f8276695e53463a2d21140700000a1724313d4a5764707d8a9a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e271e1b160e090300000000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717179839099a3aebac7d3cec5bbb2a8a09590837a6e685e574d453b30271d120700000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576673808c998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8ccc0b6aca49fa4acb4b0a79f98928c85817d7a7978797a7b7e81858d9298a1a8b2bac4d0d9e0d6cabeb3a99c928d9298a2aeb4aea49c96918a84817d7a797878797b7e81858c9298a0a8b1b9c3ced8e1d6cdc4b8aba095897d7063574d42362a1e120500000a1724313d4a5764707d8a97acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f46423c353028231d150c0a04000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7f86929facb9c5d2d7cdc4bab1a7a09590837a6e695f574d42392e23180c00000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4855626f7c8896887c6f6255483c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c8bbafa49a939aa2aab4b1aaa29f97928d8a8786858586878a8e92979fa3aab2bac4ccd6e1d8cec6b9ada2978d8086929fa9b2baaea8a19e96918d898786858586878a8e92979fa2aab2bac3cbd5e0d9cfc4bbb0a69d9083776b6054453b31251a0e0200000a1724313d4a5764707d8a97a3b0bdc8cecfc7c0bbb3ada8a19e959089827b746d68605c555049413d373129251e18120b03000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b9299a3aebac7d3dfd6ccc3b9b1a7a09590847b6e695f544b4034281c1004000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3b47535f6a77849184776a5f53473a2a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ac9f93869298a2aebab3aea9a19e9a96999291929894979b9fa2a9aeb4bcc4ccd6ded9cfc6bcb1a79e92857a7f8c96a1abb5bab2aca9a19e9a96999391929794979b9ea2a9aeb4bcc4ccd5ddd8d1c7bdb3a99f948a7e7164594f4433291f14090000000a1724313d4a5764707d8a97a3b0bdcdc8c1bdb5afa9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778390979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797989fa3abb4bfcbd7e3ded5cbc3b9b1a7a09691847b6e665c5145382c1f1306000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586773808d807366584e43372b180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cec1b4a79b8e8186929fa5afb9bab3adaba7aba39f9e9fa2aaa4a8abadb3babfc6cfd6dfd7d0c7bdb4aaa0958c7f7379849199a3afbbbdb9b2adaba7aba49f9e9fa2a9a4a7abadb3babfc6ced5ded7cfc6bfb5aba1978f82786c6053463d3320170d030000000a1724313d4a5764707d8a97a3b0bdc3bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a140d0802000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5acaeb4bdc6d1dce7e7ddd5cbc3b9b1a8a0969184796d6053463a2d201307000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4956626f7c897c6f6256493c31261b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c939ea7b0b8beb9b8b4b4aeacabacaeb4b1b4b8babec5cbd1d8d9d5cdc5bdb5aba3989083796d6f7d87929fa3afb6bebdb9b8b4b5afacababadb3b1b4b8b9bec5cad0d8d9d4cdc5bdb5aea39991857a6e665b5044382b1f1205000000000a1724313d4a5764707d8a97a3b0bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b9babfc6cfd8e2edefe7ddd5cbc3bab2a8a196867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7883786c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f79818f959fa6afb9bec5c0bfbab9b8b8babfbdc1c5c6cacfd7d7d4cec9c2bbb3aba39992867c6f666b727f8c919fa4acb2bbc0c4c0c0bbb9b8b8babebdc1c5c6cacfd6d7d3cec8c2bbb3aba39f92877d70685e544a3f33281c0f03000000000a1724313d4a5764707d8a97a3b0b2aca79f9d938f87807a726d67605b534f47423c353028231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbec5c7cbd1d8e1eaf4f0efe7ddd5ccc3bab2a893867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656e7b6e655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f73798390949ea5adb3babfc5c7c5c4c5c6cad0ced2d3d3d2d1cbc7c4bdb9b1a9a29992877e716a5f626d737f8b939aa1a8afb5bbc0c7c7c6c4c5c6cad0ced1d2d3d2d1cbc7c3bcb8b0a9a299928b7f726b60564c42382d22170b00000000000a1724313d4a5764707d8a97a3aea8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbd2d3d7dce2eae3e3e3e3e3e7ded5ccb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4d6d6cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d6d2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535f6a6e6a5f53493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f736d7a828e939ea1a9aeb4b8bcc1c3c5c7cbd1c9d1cbc7c5c3c0bbb9b2aca79f9792877e716c61585b636d737f8891969fa4abafb5b8bcc1c3c5c7cbd0c9d0cac6c5c4bfbab9b1aca69f9792877e726d63594f443b2f261c110600000000000a1724313d4a5764707d8a97aaa29f96918a837d756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3d0d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d3c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7c9c9c9c9c0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7c9c9c9c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414e585f625f584e41382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f73686d79818a92979fa2aaacb1b4b7b9bbc0bcbcbcbfbab9b6b5afaca8a09e9590857e716c615a50515b636d727d848e93999fa3abacb1b4b6b8babfbbbcbcbebab8b7b4aeaca7a09d9490857d716c635b51473d32291d140a0000000000000a1724313d4a5764707d8a979f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdb9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c464e5355534e463c2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f7366676d757e858d92989da0a7a8aaacafb5afafafb4aeacaaaba39f9c96918b837b706c615a504849515b626b707981878e92999da0a7a7a9acaeb4afafafb3adabaaaba39f9c95908a837c706b625a51493f352b20170b020000000000000a1724313d4a5764707d8a99928d857f79716c656059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0b0a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343c43474847433c342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f73665c606c717a80858c9095989b9d9fa3aba2a3a2aaa39f9d9a99928f8b847e786e69615a50483e4049515960676d747b81868c9095989a9d9fa3aaa2a3a2a9a29f9d9a99928f8b837d766e6a605950483f372d23190e05000000000000000a1724313d4a5764707d8a8f87807a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a3a39a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a39f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222a31373a3b3a37312a22180b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064575a61686d737a7f83888c8e90929995959695959892908e8b86827e79716d665e5750483e36373f474f555d60696e747b7f83888b8e90929894959695949792918e8a86827e78706b625f584f473f362d251c110700000000000000000a1724313d4a5764707d89827b746d68605c555049413d37312a251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a093867a6d6053473a2d201407000815212e3b4854616e7b87949696969696969696969696968d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879496969696969696969696969286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c615550565e61686d72777b7f818486878889898988878683817e7a76716d66605c544d453e362c2d353d434b51575f62696e73777b7e818385878888898987868584817d7a76716c666159534e463d352d241c130a0000000000000000000916222f3c4955626f7c7c756e69615e56514b443f382f2b261f19130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969693867a6d6053473a2d201407000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a8a8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a87796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f2122211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50444c52565d6066696e727577797a7b7c7c7c7b7a797774716d6864605c54504a423b332c23232b313a41454d53575e6166696e727476797a7b7c7c7c7b7a787774706d6764605b544f47433c332b231b120a010000000000000000000815212e3b47535f6a6f706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a867a6d6053473a2d201407000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12141514120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e41464c5254575f616568666d6e6e6f706f6e6e6d666765615e5653514a443f383029211a191f282f353c42474d5354575f616567666d6d6e6f706f6e6d676a6764605d5553504a423e37312a21191109000000000000000000000006131f2b37434e585f62636059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2c3845515d676d7070707070707070707070707070706e6a5f53473a2e211408000000000000000000000000000000000000000000000000000000000006131f2c3845515d676d7070707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e36363a4145474d535559545c6061626263626261605c545854524c46444039342e261e170f0d161d242931373b4246484d535558545c60616162636261605c555b5754514b46443f382f2b2620180f07000000000000000000000000030f1b26323c464e535556544f47423c363029231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5044382b1f12060004101d2935404b555d60636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000004101d2935404b555d6063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2a3035393c4246484c4b51535455565656555453504a4b4746413a38342e28231c140c05040c13181f262b31363a3c4246484b4a505354555556565453514b4e4a4745413a38332d261d1a150e0600000000000000000000000000000a15202a343c4347494948443d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a3f34281c100300000c18242f39434b515357575757575757575757575757575755534e463c31261a0f020000000000000000000000000000000000000000000000000000000000000c18242f39434b5153575757575757575757575757575757554f473e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221e24292c31373a3b3f4045464748494949484746443f3e3a3936302c28231c17110a02000001070d151a1f252a2d31373a3b3f3f4446474849494948474540413d3a39352f2b28221c140b0903000000000000000000000000000000040e18222a32373b3c3d3b38322b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382e23170b00000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c332a2015090000000000000000000000000000000000000000000000000000000000000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c1713191d20262b2d2e2e34383a3b3b3c3d3c3b3b3a38342e2e2d2a251f1c18120b0600000000000003090e141a1e21262b2d2e2e34383a3a3b3c3d3c3b3a38342f312d2c29241f1c17110a0200000000000000000000000000000000000007101820262b2e2f302f2c27211a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c1106000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b080d11141a1e212223282c2d2e2f2f302f2f2e2d2c282321201e1913100c070000000000000000000003090e12141a1e212223282b2d2e2e2f302f2e2d2c29232421201d18130f0b06000000000000000000000000000000000000000000070e151b1f21222322201b160e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a0000000000030d151d24292c2d3030303030303030303030303030302f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d3030303030303030303030303030302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000104090e121415181c1f2021222323232221201f1c171413110d080400000000000000000000000000000205090e121415171c1f20212222232321201f1c18171413110d0703000000000000000000000000000000000000000000000000040a0f131516161613100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28231c140c02000000000000030b12181d1f2024242424242424242424242424242422211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f2024242424242424242424242424242423201c1610080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000020507070c101313141516161615141312100c0607050100000000000000000000000000000000000000020507060b1012131415161616151413100c070706040100000000000000000000000000000000000000000000000000000000030608090a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a02000000000000000001070c1013141717171717171717171717171717171514120f09030000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141717171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a09080807060300000000000000000000000000000000000000000000000000000000000306070708090a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100b06000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 diff --git a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset index b8c5a10d8..4afe9f96f 100644 --- a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset +++ b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset @@ -370,6 +370,10 @@ MonoBehaviour: m_LigatureGlyphID: 9817 - m_ComponentGlyphIDs: 19000000100000001a000000 m_LigatureGlyphID: 9805 + - m_ComponentGlyphIDs: e8030000ef030000c4030000ae030000ef030000 + m_LigatureGlyphID: 11956 + - m_ComponentGlyphIDs: e8030000dc030000 + m_LigatureGlyphID: 11955 m_GlyphPairAdjustmentRecords: - m_FirstAdjustmentRecord: m_GlyphIndex: 79 @@ -7571,6 +7575,261 @@ MonoBehaviour: m_XAdvance: 0 m_YAdvance: 0 m_FeatureLookupFlags: 1334653216 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -14.400001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -14.400001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.7 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 928 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 939 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 955 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 970 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 981 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 982 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 999 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 944 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 966 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -140 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 diff --git a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset index 3e7a629cc..9c9552f07 100644 --- a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset +++ b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset @@ -132,6 +132,12 @@ MonoBehaviour: m_LigatureGlyphID: 11868 - m_ComponentGlyphIDs: 4f00000054000000 m_LigatureGlyphID: 8029 + - m_ComponentGlyphIDs: e8030000ef030000c4030000ae030000ef030000 + m_LigatureGlyphID: 11956 + - m_ComponentGlyphIDs: e8030000dc030000 + m_LigatureGlyphID: 11955 + - m_ComponentGlyphIDs: cb030000a0030000c0030000 + m_LigatureGlyphID: 8052 m_GlyphPairAdjustmentRecords: - m_FirstAdjustmentRecord: m_GlyphIndex: 79 @@ -208,6 +214,1281 @@ MonoBehaviour: m_XAdvance: 0 m_YAdvance: 0 m_FeatureLookupFlags: -1702022880 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 928 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 939 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 955 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 970 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 999 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 944 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 966 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -100 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -120 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7891 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 847 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 851 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 852 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 862 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 872 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 873 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 878 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 879 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 880 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 909 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 926 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 959 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 879 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 880 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 926 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 930 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 937 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 953 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 960 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 961 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 963 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 977 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 978 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 986 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 997 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 878 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 879 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 880 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 909 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 858 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 859 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 868 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 894 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 905 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 920 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 934 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 930 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 957 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -100 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7891 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 858 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 859 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 894 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 diff --git a/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat b/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat index 00360dede..1ab266b1a 100644 --- a/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat +++ b/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat @@ -87,6 +87,6 @@ Material: - _ZWrite: 1 m_Colors: - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 0.9921569, g: 0.7686275, b: 0.9921569, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat b/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat index eb9f6802b..3d8ebdba2 100644 --- a/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat +++ b/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat @@ -65,7 +65,7 @@ Material: - _MainTex: m_Texture: {fileID: 2800000, guid: 42ac679b050de8c4288fbafb9d353498, type: 3} m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + m_Offset: {x: 0, y: -0.013172884} - _MetallicGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta b/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta index 3dd473ce2..2ca71d5b8 100644 --- a/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta +++ b/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 53060b147886931488ba4a4b3c5eb9f3 +guid: c8acac2b02dd6fe4e9f6b17af06b1032 NativeFormatImporter: externalObjects: {} mainObjectFileID: 2100000 diff --git a/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat b/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat index 817dd5d1f..d9ea34793 100644 --- a/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat +++ b/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat @@ -83,6 +83,6 @@ Material: - _ZWrite: 1 m_Colors: - _AddColor: {r: 0, g: 0, b: 0, a: 1} - - _Color: {r: 0.9528302, g: 0.87130237, b: 0.7775454, a: 1} + - _Color: {r: 0.9529412, g: 0.87058824, b: 0.7764706, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat b/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat index bf05f2fb4..0b2c7525a 100644 --- a/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat +++ b/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat @@ -87,6 +87,6 @@ Material: - _Color: {r: 1, g: 1, b: 1, a: 1} - _ColorAlpha: {r: 1, g: 1, b: 1, a: 1} - _ColorBravo: {r: 1, g: 1, b: 1, a: 1} - - _ColorDelta: {r: 0.03921569, g: 0.0627451, b: 0.2352941, a: 1} + - _ColorDelta: {r: 0.039215688, g: 0.0627451, b: 0.23529412, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Scripts/Games/Airboarder/Airboarder.cs b/Assets/Scripts/Games/Airboarder/Airboarder.cs index 91e4a1651..58adebfdb 100644 --- a/Assets/Scripts/Games/Airboarder/Airboarder.cs +++ b/Assets/Scripts/Games/Airboarder/Airboarder.cs @@ -500,9 +500,9 @@ namespace HeavenStudio.Games newArch.appearBeat = beat; newArch.gameObject.SetActive(true); if (crouch) { - archBasic.CueCrouch(beat); + archBasic.CueCrouch(beat+25); } else { - newArch.CueDuck(beat); + newArch.CueDuck(beat+25); } } @@ -511,7 +511,7 @@ namespace HeavenStudio.Games Wall newWall = Instantiate(wallBasic, transform); newWall.appearBeat = beat; newWall.gameObject.SetActive(true); - newWall.CueJump(beat); + newWall.CueJump(beat+25); } diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index c2f74d7db..bda685143 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -1096,6 +1096,7 @@ namespace HeavenStudio }), } }, + new GameAction("colorGrading", "Color Grading") { resizable = true, @@ -1128,6 +1129,124 @@ namespace HeavenStudio }), } }, + + new GameAction("gaussBlur", "Gaussian Blur") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 5f, 0f), "Start Intensity", "Set the intensity at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 5f, 1f), "End Intensity", "Set the intensity at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Linear, new string[] { "intenStart" }) + }), + } + }, + + new GameAction("retroTv", "Retro TV") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Distortion", "Set the distortion at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.2f), "End Distortion", "Set the distortion at the end of the event."), + + new("rgbStart", new EntityTypes.Float(0f, 1f, 1f), "Start RGB Blend", "Set the RGB blend at the start of the event."), + new("rgbEnd", new EntityTypes.Float(0f, 1f, 1f), "End RGB Blend", "Set the RGB blend at the end of the event."), + + new("bottomStart", new EntityTypes.Float(0f, 1f, 0f), "Start Bottom Collapse", "Set the bottom collapse at the start of the event."), + new("bottomEnd", new EntityTypes.Float(0f, 1f, 0.02f), "End Bottom Collapse", "Set the bottom collapse at the end of the event."), + + new("noiseStart", new EntityTypes.Float(0f, 1f, 0f), "Start Noise", "Set the noise at the start of the event."), + new("noiseEnd", new EntityTypes.Float(0f, 1f, 0.3f), "End Noise", "Set the noise knee at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "rgbStart", "bottomStart", "noiseStart"}) + }), + } + }, + + new GameAction("scanJitter", "Scan Line Jitter") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Intensity", "Set the intensity at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.1f), "End Intensity", "Set the intensity at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart" }) + }), + } + }, + + new GameAction("analogNoise", "Analog Noise") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Speed", "Set the speed at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.5f), "End Speed", "Set the speed at the end of the event."), + + new("fadingStart", new EntityTypes.Float(0f, 1f, 0f), "Start Fading", "Set the fading at the start of the event."), + new("fadingEnd", new EntityTypes.Float(0f, 1f, 0.1f), "End Fading", "Set the fading at the end of the event."), + + new("thresholdStart", new EntityTypes.Float(0f, 1f, 0f), "Start Threshold", "Set the threshold at the start of the event."), + new("thresholdEnd", new EntityTypes.Float(0f, 1f, 0.8f), "End Threshold", "Set the threshold at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "fadingStart", "thresholdStart"}) + }), + } + }, + + new GameAction("screenJump", "Screen Jump") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Intensity", "Set the intensity at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.01f), "End Intensity", "Set the intensity at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart" }) + }), + } + }, + + new GameAction("sobelNeon", "Neon") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0.1f, 1f, 0.1f), "Start Intensity", "Set the edge fade at the start of the event."), + new("intenEnd", new EntityTypes.Float(0.1f, 1f, 1f), "End Intensity", "Set the edge fade at the end of the event."), + + new("edgeWidthStart", new EntityTypes.Float(0.05f, 5f, 0.05f), "Start Edge Width", "Set the edge width at the start of the event."), + new("edgeWidthEnd", new EntityTypes.Float(0.05f, 5f, 2f), "End Edge Width", "Set the edge width at the end of the event."), + + new("bgFadeStart", new EntityTypes.Float(0f, 1f, 0f), "Start Background Presence", "Set the background presence at the start of the event."), + new("bgFadeEnd", new EntityTypes.Float(0f, 1f, 0f), "End Background Presence", "Set the background presence at the end of the event."), + + + new("brightnessStart", new EntityTypes.Float(0f, 2f, 0f), "Start Brightness", "Set the brightness at the start of the event."), + new("brightnessEnd", new EntityTypes.Float(0f, 2f, 1f), "End Brightness", "Set the brightness at the end of the event."), + + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "edgeWidthStart", "bgFadeStart", "brightnessStart" }) + }), + } + }, + + new GameAction("screenTiling", "Tile Screen") { resizable = true, @@ -1159,7 +1278,9 @@ namespace HeavenStudio new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "xScrollStart", "yScrollStart" }) }), } - } + }, + + }), new Minigame("advanced", "Advanced", "", false, true, new List() diff --git a/Assets/Scripts/PostProcessingVFX.cs b/Assets/Scripts/PostProcessingVFX.cs index 09d75aad9..69a45e4b4 100644 --- a/Assets/Scripts/PostProcessingVFX.cs +++ b/Assets/Scripts/PostProcessingVFX.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.PostProcessing; +using XPostProcessing; namespace HeavenStudio { @@ -17,10 +18,19 @@ namespace HeavenStudio private List _lensDs = new(); private List _grains = new(); private List _colorGradings = new(); - + private List _retroTvs = new(); + private List _scanJitters = new(); + private List _gaussBlurs = new(); + private List _analogNoises = new(); + private List _screenJumps = new(); + private List _sobelNeons = new(); private void Awake() { _volume = GetComponent(); + UpdateRetroTV(); + UpdateAnalogNoise(); + UpdateSobelNeons(); + } private void Start() @@ -36,6 +46,12 @@ namespace HeavenStudio _lensDs = EventCaller.GetAllInGameManagerList("vfx", new string[] { "lensD" }); _grains = EventCaller.GetAllInGameManagerList("vfx", new string[] { "grain" }); _colorGradings = EventCaller.GetAllInGameManagerList("vfx", new string[] { "colorGrading" }); + _retroTvs = EventCaller.GetAllInGameManagerList("vfx", new string[] { "retroTv" }); + _scanJitters = EventCaller.GetAllInGameManagerList("vfx", new string[] {"scanJitter"}); + _gaussBlurs = EventCaller.GetAllInGameManagerList("vfx", new string[] {"gaussBlur"}); + _analogNoises = EventCaller.GetAllInGameManagerList("vfx", new string[] {"analogNoise"}); + _screenJumps = EventCaller.GetAllInGameManagerList("vfx", new string[] {"screenJump"}); + _sobelNeons = EventCaller.GetAllInGameManagerList("vfx", new string[] {"sobelNeon"}); UpdateVignette(); UpdateChromaticAbberations(); @@ -43,6 +59,13 @@ namespace HeavenStudio UpdateLensDistortions(); UpdateGrain(); UpdateColorGrading(); + UpdateRetroTV(); + UpdateScanJitter(); + UpdateGaussBlur(); + UpdateAnalogNoise(); + UpdateScreenJumps(); + UpdateSobelNeons(); + } private void Update() @@ -53,6 +76,13 @@ namespace HeavenStudio UpdateLensDistortions(); UpdateGrain(); UpdateColorGrading(); + UpdateRetroTV(); + UpdateScanJitter(); + UpdateGaussBlur(); + UpdateAnalogNoise(); + UpdateScreenJumps(); + UpdateSobelNeons(); + } private void UpdateVignette() @@ -223,6 +253,145 @@ namespace HeavenStudio } } + private void UpdateRetroTV() + { + if (!_volume.profile.TryGetSettings(out var t)) return; + t.enabled.Override(false); + foreach (var e in _retroTvs) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + t.enabled.Override(newIntensity != 0); + if (!t.enabled) continue; + t.distort.Override(newIntensity); + + float newRGBBlend = func(e["rgbStart"], e["rgbEnd"], clampNormal); + t.RGBBlend.Override(newRGBBlend); + + float newBottomCollapse = func(e["bottomStart"], e["bottomEnd"], clampNormal); + t.BottomCollapse.Override(newBottomCollapse); + + float newNoiseAmount = func(e["noiseStart"], e["noiseEnd"], clampNormal); + t.NoiseAmount.Override(newNoiseAmount); + } + } + + private void UpdateScanJitter() + { + if (!_volume.profile.TryGetSettings(out var j)) return; + j.enabled.Override(false); + foreach (var e in _scanJitters) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + j.enabled.Override(newIntensity != 0); + if (!j.enabled) continue; + j.JitterIndensity.Override(newIntensity); + } + } + + private void UpdateGaussBlur() + { + if (!_volume.profile.TryGetSettings(out var g)) return; + g.enabled.Override(false); + foreach (var e in _gaussBlurs) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + g.enabled.Override(newIntensity != 0); + if (!g.enabled) continue; + g.BlurRadius.Override(newIntensity); + } + } + + private void UpdateAnalogNoise() + { + if (!_volume.profile.TryGetSettings(out var n)) return; + n.enabled.Override(false); + foreach (var e in _analogNoises) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + n.enabled.Override(newIntensity != 0); + if (!n.enabled) continue; + n.NoiseSpeed.Override(newIntensity); + + float newFading = func(e["fadingStart"], e["fadingEnd"], clampNormal); + n.NoiseFading.Override(newFading); + + float newThreshold = func(e["thresholdStart"], e["thresholdEnd"], clampNormal); + n.LuminanceJitterThreshold.Override(newThreshold); + } + } + + private void UpdateScreenJumps() + { + if (!_volume.profile.TryGetSettings(out var sj)) return; + sj.enabled.Override(false); + foreach (var e in _screenJumps) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + sj.enabled.Override(newIntensity != 0); + if (!sj.enabled) continue; + sj.ScreenJumpIndensity.Override(newIntensity); + } + } + + private void UpdateSobelNeons() + { + if (!_volume.profile.TryGetSettings(out var sn)) return; + sn.enabled.Override(false); + foreach (var e in _sobelNeons) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + sn.enabled.Override(newIntensity != 0.1); + if (!sn.enabled) continue; + sn.EdgeNeonFade.Override(newIntensity); + + float newEdgeWidth = func(e["edgeWidthStart"], e["edgeWidthEnd"], clampNormal); + sn.EdgeWidth.Override(newEdgeWidth); + + float newBgFade = func(e["bgFadeStart"], e["bgFadeEnd"], clampNormal); + sn.BackgroundFade.Override(newBgFade); + + float newBrightness = func(e["brightnessStart"], e["brightnessEnd"], clampNormal); + sn.Brigtness.Override(newBrightness); + } + + } + private Color ColorEase(Color start, Color end, float time, Util.EasingFunction.Function func) { float newR = func(start.r, end.r, time); diff --git a/Assets/Shaders/OilPainting.meta b/Assets/Shaders/OilPainting.meta new file mode 100644 index 000000000..2d63a299b --- /dev/null +++ b/Assets/Shaders/OilPainting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 46904ac8a616d4b418176835de20e8d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts.meta new file mode 100644 index 000000000..ec125496a --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 736fda2f215269048bb5447cbbcc7c86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs new file mode 100644 index 000000000..aef1b9085 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class BackgroundManager : MonoBehaviour +{ + public ScreenCaptureManager screenCaptureManager; + public ImageEffectController imageEffectController; + public RawImage backgroundImage; + public void CaptureAndSetBackground() + { + Texture2D capturedScreen = screenCaptureManager.CaptureScreen(); + RenderTexture rt = RenderTexture.GetTemporary(capturedScreen.width, + capturedScreen.height); + Graphics.Blit(capturedScreen, rt, imageEffectController.effectMaterial); + Texture2D processedTexture = new Texture2D(capturedScreen.width, + capturedScreen.height, TextureFormat.RGB24, false); + RenderTexture.active = rt; + processedTexture.ReadPixels(new Rect(0, 0, capturedScreen.width, + capturedScreen.height), 0, 0); + processedTexture.Apply(); + RenderTexture.active = null; + backgroundImage.texture = processedTexture; + RenderTexture.ReleaseTemporary(rt); + } +} + diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta new file mode 100644 index 000000000..edc85fc4c --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a1dd29b02afef1245986a3dbd0977bfb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs new file mode 100644 index 000000000..33148a914 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class EffectSettingsUI : MonoBehaviour +{ + public ImageEffectController imageEffectController; + public BackgroundManager backgroundManager; + public Slider impastoSlider; + public Slider impastoSlider2; + public Slider blurSlider; + public Slider vignetteSlider; + public Slider vignetteSlider2; + public Button captureBtn; + private void Start() + { + impastoSlider.onValueChanged.AddListener(UpdateImpastoIntensity); + impastoSlider2.onValueChanged.AddListener(UpdateImpastoNormalIntensity); + vignetteSlider2.onValueChanged.AddListener(UpdateVignetteSmoothness); + blurSlider.onValueChanged.AddListener(UpdateBlurIntensity); + vignetteSlider.onValueChanged.AddListener(UpdateVignetteIntensity); + captureBtn.onClick.AddListener(() => backgroundManager.CaptureAndSetBackground()); + } + private void UpdateImpastoIntensity(float value) + { + imageEffectController.impastoIntensity = value; + } + private void UpdateImpastoNormalIntensity(float value) + { + imageEffectController.normalInfluence = value; + } + private void UpdateVignetteSmoothness(float value) + { + imageEffectController.vignetteSmoothness = value; + } + private void UpdateBlurIntensity(float value) + { + imageEffectController.blurIntensity = value; + } + private void UpdateVignetteIntensity(float value) + { + imageEffectController.vignetteIntensity = value; + } +} + diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta new file mode 100644 index 000000000..3182a7e45 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1b38bdbccb5df874aaa03fe2009647f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs new file mode 100644 index 000000000..5ac10d6bb --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ImageEffectController : MonoBehaviour +{ + public ScreenCaptureManager screenCaptureManager; + public Material effectMaterial; + public float impastoIntensity; + public float normalInfluence; + public float blurIntensity; + public float vignetteIntensity = 0.1357143f; + public float vignetteSmoothness = 0.3328571f; +#if UNITY_EDITOR + private void Awake() + { + Application.targetFrameRate = 60; + } +#endif + + private void OnRenderImage(RenderTexture source, RenderTexture destination) + { + effectMaterial.SetFloat("_Radius", impastoIntensity); + effectMaterial.SetFloat("_NormalWeight", normalInfluence); + effectMaterial.SetFloat("_BlurSize", blurIntensity); + effectMaterial.SetFloat("_VignetteIntensity", vignetteIntensity); + effectMaterial.SetFloat("_VignetteSmoothness", vignetteSmoothness); + Graphics.Blit(source, destination, effectMaterial); + } +} \ No newline at end of file diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta new file mode 100644 index 000000000..6c9921867 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 818e57f7710a6244195e20cf7a12f0d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs new file mode 100644 index 000000000..16d5a5242 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ScreenCaptureManager : MonoBehaviour +{ + public Texture2D CaptureScreen() + { + RenderTexture rt = new RenderTexture(Screen.width, Screen.height, 24); + Camera.main.targetTexture = rt; + Camera.main.Render(); + Camera.main.targetTexture = null; + Texture2D screenShot = new Texture2D(Screen.width, Screen.height, + TextureFormat.RGB24, false); + RenderTexture.active = rt; + screenShot.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0); + screenShot.Apply(); + RenderTexture.active = null; + Destroy(rt); + return screenShot; + } +} + diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta new file mode 100644 index 000000000..fc625b7bd --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 05997ac2fa6a91345b94f9cff4ee83fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/LICENSE b/Assets/Shaders/OilPainting/LICENSE new file mode 100644 index 000000000..947468075 --- /dev/null +++ b/Assets/Shaders/OilPainting/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Vladislav Sobolev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/Shaders/OilPainting/LICENSE.meta b/Assets/Shaders/OilPainting/LICENSE.meta new file mode 100644 index 000000000..83e9340f8 --- /dev/null +++ b/Assets/Shaders/OilPainting/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7763088423ea1d4fa1e66a9f8cde3d1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/OilPainting.shader b/Assets/Shaders/OilPainting/OilPainting.shader new file mode 100644 index 000000000..9b2a5068c --- /dev/null +++ b/Assets/Shaders/OilPainting/OilPainting.shader @@ -0,0 +1,193 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +Shader "Unlit/Oil Painting" +{ + Properties + { + _MainTex("Texture", 2D) = "white" {} + _NormalMap ("Normal Map", 2D) = "bump" {} + _NormalWeight ("Normal Weight", Range(0, 10)) = 0.5 + _Radius ("Radius", Range(0, 10)) = 0 + [KeywordEnum(Low, Medium, High)] _Samples ("Sample amount", Float) = 0 + _BlurSize("Blur Size", Range(0, 0.1)) = 0 + _StandardDeviation("Standard Deviation", Range(0, 0.1)) = 0.02 + _VignetteIntensity("Vignette Intensity", Range(0, 1)) = 0.5 + _VignetteSmoothness("Vignette Smoothness", Range(0, 1)) = 0.2 + } + SubShader + { + Blend SrcAlpha OneMinusSrcAlpha + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 3.0 + #include "UnityCG.cginc" + #define PI 3.14159265359 + #define E 2.71828182846 + #pragma multi_compile _SAMPLES_LOW _SAMPLES_MEDIUM _SAMPLES_HIGH + float _BlurSize; + float _StandardDeviation; + float _VignetteIntensity; + float _VignetteSmoothness; + float _NormalWeight; + #if _SAMPLES_LOW + #define SAMPLES 10 + #elif _SAMPLES_MEDIUM + #define SAMPLES 30 + #else + #define SAMPLES 100 + #endif + + struct v2f + { + float4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + sampler2D _NormalMap; + float4 _MainTex_ST; + + + float vignette(float2 uv, float intensity, float smoothness) + { + float2 position = uv - 0.5; + float distance = length(position); + float vignette = smoothstep(smoothness, smoothness - intensity, distance); + return vignette; + } + + v2f vert(appdata_base v) + { + v2f o; + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + int _Radius; + float4 _MainTex_TexelSize; + + float4 frag(v2f i) : SV_Target + { + float3 normal = UnpackNormal(tex2D(_NormalMap, i.uv)); + half2 uv = i.uv; + float3 col; + float4 color = tex2D(_MainTex, uv); + + //kuwahara with normal influence + float3 mean[4] = { + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0} + }; + + float3 sigma[4] = { + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0} + }; + + float2 start[4] = {{-_Radius, -_Radius}, {-_Radius, 0}, {0, -_Radius}, {0, 0}}; + + float2 pos; + float normalInfluence; + for (int k = 0; k < 4; k++) + { + for (int i = 0; i <= _Radius; i++) + { + for (int j = 0; j <= _Radius; j++) + { + float2 kernelDirection = float2(i - 1, j - 1); + kernelDirection = normalize(kernelDirection); + normalInfluence = dot(normal, kernelDirection); + //float weightedVariance = variance + normalInfluence * _NormalWeight; + pos = float2(i, j) + start[k]; + col = tex2Dlod(_MainTex, float4( + uv + float2(pos.x * _MainTex_TexelSize.x, pos.y * _MainTex_TexelSize.y), + 0., 0.)).rgb; + mean[k] += col; + sigma[k] += col * col; + } + } + } + + float sigma2; + + float n = pow(_Radius + 1, 2); + float min = 1; + + for (int l = 0; l < 4; l++) + { + mean[l] /= n; + sigma[l] = abs(sigma[l] / n - mean[l] * mean[l]); + sigma2 = sigma[l].r + sigma[l].g + sigma[l].b; + + if (sigma2 < min + normalInfluence * _NormalWeight) + { + min = sigma2; + color.rgb = mean[l].rgb; + } + } + + // blur + + //failsafe so we can use turn off the blur by setting the deviation to 0 + if (_StandardDeviation != 0) + { + float invAspect = _ScreenParams.y / _ScreenParams.x; + float sum = SAMPLES; + float sum2 = SAMPLES; + float3 col2; + //iterate over blur samples + for (float index = 0; index < SAMPLES; index++) + { + //get the offset of the sample + float offset = (index / (SAMPLES - 1) - 0.5) * _BlurSize; + //get uv coordinate of sample + float2 uv = i.uv + float2(0, offset); + //calculate the result of the gaussian function + float stDevSquared = _StandardDeviation * _StandardDeviation; + float gauss = (1 / sqrt(2 * PI * stDevSquared)) * pow( + E, -((offset * offset) / (2 * stDevSquared))); + //add result to sum + sum += gauss; + //multiply color with influence from gaussian function and add it to sum color + col += tex2D(_MainTex, uv) * gauss; + } + //divide the sum of values by the amount of samples + color.rgb = lerp(color.rgb, col / sum, 0.5); + + for (float index = 0; index < SAMPLES; index++) + { + //get the offset of the sample + float offset = (index / (SAMPLES - 1) - 0.5) * _BlurSize * invAspect; + //get uv coordinate of sample + float2 uv = i.uv + float2(offset, 0); + //calculate the result of the gaussian function + float stDevSquared = _StandardDeviation * _StandardDeviation; + float gauss = (1 / sqrt(2 * PI * stDevSquared)) * pow( + E, -((offset * offset) / (2 * stDevSquared))); + //add result to sum + sum2 += gauss; + //multiply color with influence from gaussian function and add it to sum color + col2 += tex2D(_MainTex, uv) * gauss; + } + //divide the sum of values by the amount of samples + color.rgb = lerp(color.rgb , col2 / sum2, 0.5); + } + + + float vignetteEffect = vignette(i.uv, _VignetteIntensity, _VignetteSmoothness); + color.rgb = color.rgb * vignetteEffect; + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/OilPainting/OilPainting.shader.meta b/Assets/Shaders/OilPainting/OilPainting.shader.meta new file mode 100644 index 000000000..ac9f15d4f --- /dev/null +++ b/Assets/Shaders/OilPainting/OilPainting.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 92fecb803ac20af4aab71465faad523f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/README.md b/Assets/Shaders/OilPainting/README.md new file mode 100644 index 000000000..c57c07635 --- /dev/null +++ b/Assets/Shaders/OilPainting/README.md @@ -0,0 +1,2 @@ +# OilPainting + Oil painting post processing unity shader for built in and URP diff --git a/Assets/Shaders/OilPainting/README.md.meta b/Assets/Shaders/OilPainting/README.md.meta new file mode 100644 index 000000000..f871e0270 --- /dev/null +++ b/Assets/Shaders/OilPainting/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3cc2a2e4309376448ba607644d18d916 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat new file mode 100644 index 000000000..f1d8a4a76 --- /dev/null +++ b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Unlit_Oil Painting + m_Shader: {fileID: 4800000, guid: 92fecb803ac20af4aab71465faad523f, type: 3} + m_ValidKeywords: + - _SAMPLES_HIGH + m_InvalidKeywords: + - GAUSS + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 023c8550f7a88674fb7be5f5e728fb63, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BlurSize: 0.021428572 + - _Gauss: 1 + - _NormalWeight: 10 + - _Radius: 10 + - _Samples: 2 + - _StandardDeviation: 0.0323 + - _VignetteIntensity: 0.24285714 + - _VignetteSmoothness: 0.72571427 + m_Colors: [] + m_BuildTextureStacks: [] diff --git a/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta new file mode 100644 index 000000000..c87d7db46 --- /dev/null +++ b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b70e4fc141adae1499fe1f5678ad1315 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg new file mode 100644 index 000000000..23bf32e00 Binary files /dev/null and b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg differ diff --git a/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta new file mode 100644 index 000000000..770fa6d42 --- /dev/null +++ b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta @@ -0,0 +1,135 @@ +fileFormatVersion: 2 +guid: 023c8550f7a88674fb7be5f5e728fb63 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing.meta b/Assets/X-PostProcessing.meta new file mode 100644 index 000000000..0f48e0c95 --- /dev/null +++ b/Assets/X-PostProcessing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c90e5575e949ac4bad5aa996e48d18e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Editor.meta b/Assets/X-PostProcessing/Editor.meta new file mode 100644 index 000000000..e158928ca --- /dev/null +++ b/Assets/X-PostProcessing/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 132b2459e0d85954bb19c420721c4e82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs new file mode 100644 index 000000000..62ceb93b0 --- /dev/null +++ b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs @@ -0,0 +1,70 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEditor.Rendering.PostProcessing; +using UnityEngine; + +public class XPostProcessingEditorUtility : Editor +{ + + #region Collape Hierarchy相关工具函数 + + + public static void Collapse(GameObject go, bool collapse) + { + if (go == null || go.transform == null) + { + return; + } + // bail out immediately if the go doesn't have children + if (go.transform.childCount == 0) return; + // get a reference to the hierarchy window + var hierarchy = GetFocusedWindow("Hierarchy"); + // select our go + SelectObject(go); + // create a new key event (RightArrow for collapsing, LeftArrow for folding) + var key = new Event { keyCode = collapse ? KeyCode.RightArrow : KeyCode.LeftArrow, type = EventType.KeyDown }; + // finally, send the window the event + hierarchy.SendEvent(key); + } + + public static void SelectObject(Object obj) + { + Selection.activeObject = obj; + } + public static EditorWindow GetFocusedWindow(string window) + { + FocusOnWindow(window); + return EditorWindow.focusedWindow; + } + public static void FocusOnWindow(string window) + { + EditorApplication.ExecuteMenuItem("Window/" + window); + } + + #endregion + + + + + public static readonly string DISPLAY_TITLE_PREFIX = "X-" ; + + public static string GetEnumName(SerializedParameterOverride prop) + { + return " (" + prop.value.enumDisplayNames[prop.value.intValue] + ")"; + } + + public static string GetEnumNameEX(SerializedParameterOverride prop) + { + return ((prop.overrideState.boolValue) ? " (" + prop.value.enumDisplayNames[prop.value.intValue] + ")" : string.Empty); + } + + [MenuItem("Windows/OpenFrameDebugger %F")] + public static void OpenFrameDebugger() + { + EditorApplication.ExecuteMenuItem("Window/Frame Debugger"); + } + + + +} diff --git a/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta new file mode 100644 index 000000000..518151b4c --- /dev/null +++ b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ab4b523203ae7f94cbbf28a7029bcdda +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects.meta b/Assets/X-PostProcessing/Effects.meta new file mode 100644 index 000000000..47b12b328 --- /dev/null +++ b/Assets/X-PostProcessing/Effects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 460d47eae60aad142a39f314b948b344 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette.meta b/Assets/X-PostProcessing/Effects/AuroraVignette.meta new file mode 100644 index 000000000..0f213acdb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a8f91fb3d4cd4364e9a5b53e585c9155 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs new file mode 100644 index 000000000..1308c724e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs @@ -0,0 +1,103 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(AuroraVignetteRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/AuroraVignette")] + public class AuroraVignette : PostProcessEffectSettings + { + [Range(0.0f, 1.0f)] + public FloatParameter vignetteArea = new FloatParameter { value = 0.8f }; + + [Range(0.0f, 1.0f)] + public FloatParameter vignetteSmothness = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter vignetteFading = new FloatParameter { value = 1f }; + + [Range(0.1f, 1f)] + public FloatParameter colorChange = new FloatParameter { value = 0.1f }; + + + [Range(0.0f, 2.0f)] + public FloatParameter colorFactorR = new FloatParameter { value = 1.0f }; + + [Range(0.0f, 2.0f)] + public FloatParameter colorFactorG = new FloatParameter { value = 1.0f }; + + [Range(0.0f, 2.0f)] + public FloatParameter colorFactorB = new FloatParameter { value = 1.0f }; + + [Range(-2.0f, 2.0f)] + public FloatParameter flowSpeed = new FloatParameter { value = 1.0f }; + + + + } + + public sealed class AuroraVignetteRenderer : PostProcessEffectRenderer + { + private Shader shader; + private float TimeX = 1.0f; + private const string PROFILER_TAG = "X-AuroraVignette"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/AuroraVignette"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int vignetteArea = Shader.PropertyToID("_VignetteArea"); + internal static readonly int vignetteSmothness = Shader.PropertyToID("_VignetteSmothness"); + internal static readonly int colorChange = Shader.PropertyToID("_ColorChange"); + internal static readonly int colorFactor = Shader.PropertyToID("_ColorFactor"); + internal static readonly int TimeX = Shader.PropertyToID("_TimeX"); + internal static readonly int vignetteFading = Shader.PropertyToID("_Fading"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetFloat(ShaderIDs.vignetteArea, settings.vignetteArea); + sheet.properties.SetFloat(ShaderIDs.vignetteSmothness, settings.vignetteSmothness); + sheet.properties.SetFloat(ShaderIDs.colorChange, settings.colorChange * 10f); + sheet.properties.SetVector(ShaderIDs.colorFactor, new Vector3(settings.colorFactorR, settings.colorFactorG, settings.colorFactorB)); + sheet.properties.SetFloat(ShaderIDs.TimeX, TimeX * settings.flowSpeed); + sheet.properties.SetFloat(ShaderIDs.vignetteFading, settings.vignetteFading); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta new file mode 100644 index 000000000..6bad2da93 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5af098a6abaa43e41a2a97a9351f5957 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta new file mode 100644 index 000000000..f7725936c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2adfefa1549f2d747bd0ccbddad303b6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs new file mode 100644 index 000000000..967abb788 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs @@ -0,0 +1,71 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(AuroraVignette))] + public sealed class AuroraVignetteEditor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteArea; + SerializedParameterOverride vignetteSmothness; + SerializedParameterOverride vignetteFading; + SerializedParameterOverride colorChange; + SerializedParameterOverride colorFactorR; + SerializedParameterOverride colorFactorG; + SerializedParameterOverride colorFactorB; + SerializedParameterOverride flowSpeed; + + + public override void OnEnable() + { + vignetteArea = FindParameterOverride(x => x.vignetteArea); + vignetteSmothness = FindParameterOverride(x => x.vignetteSmothness); + vignetteFading = FindParameterOverride(x => x.vignetteFading); + colorChange = FindParameterOverride(x => x.colorChange); + colorFactorR = FindParameterOverride(x => x.colorFactorR); + colorFactorG = FindParameterOverride(x => x.colorFactorG); + colorFactorB = FindParameterOverride(x => x.colorFactorB); + flowSpeed = FindParameterOverride(x => x.flowSpeed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Vignette"); + PropertyField(vignetteFading); + PropertyField(vignetteArea); + PropertyField(vignetteSmothness); + + EditorUtilities.DrawHeaderLabel("Speed"); + PropertyField(flowSpeed); + + EditorUtilities.DrawHeaderLabel("Color Adjustment"); + PropertyField(colorChange); + PropertyField(colorFactorR); + PropertyField(colorFactorG); + PropertyField(colorFactorB); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta new file mode 100644 index 000000000..59515a2ec --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97c9a4be14619274cbd2468d65e0b1d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/README.md b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md new file mode 100644 index 000000000..35670ec08 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md @@ -0,0 +1,16 @@ + +# AuroraVignette + +## Source Code List +- [Shader Code](Shader/AuroraVignette.shader) +- [C# Code](AuroraVignette.cs) +- [Editor Code](Editor/AuroraVignetteEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/AuroraVignette/AuroraVignetteProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/AuroraVignette/AuroraVignette.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/AuroraVignette/AuroraVignette.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta new file mode 100644 index 000000000..27ba2f7e2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b1760853c4cb0f44688c7129e00140c3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta new file mode 100644 index 000000000..c2fc947f9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4419eb66e407464397106198c0e714c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader new file mode 100644 index 000000000..bf36f8fef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader @@ -0,0 +1,62 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/AuroraVignette" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _VignetteArea; + uniform half _VignetteSmothness; + uniform half _ColorChange; + uniform half4 _Color; + uniform half _TimeX; + uniform half3 _ColorFactor; + uniform half _Fading; + + half4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord; + float2 uv0 = uv - float2(0.5 + 0.5 * sin(1.4 * 6.28 * uv.x + 2.8 * _TimeX), 0.5); + float3 wave = float3(0.5 * (cos(sqrt(dot(uv0, uv0)) * 5.6) + 1.0), cos(4.62 * dot(uv, uv) + _TimeX), cos(distance(uv, float2(1.6 * cos(_TimeX * 2.0), 1.0 * sin(_TimeX * 1.7))) * 1.3)); + half waveFactor = dot(wave, _ColorFactor) / _ColorChange; + half vignetteIndensity = 1.0 - smoothstep(_VignetteArea, _VignetteArea - 0.05 - _VignetteSmothness, length(float2(0.5, 0.5) - uv)); + half3 AuroraColor = half3 + ( + _ColorFactor.r * 0.5 * (sin(1.28 * waveFactor + _TimeX * 3.45) + 1.0), + _ColorFactor.g * 0.5 * (sin(1.28 * waveFactor + _TimeX * 3.15) + 1.0), + _ColorFactor.b * 0.4 * (sin(1.28 * waveFactor + _TimeX * 1.26) + 1.0) + ); + half3 finalColor = lerp(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv).rgb, AuroraColor, vignetteIndensity * _Fading); + return half4(finalColor, 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta new file mode 100644 index 000000000..6cf0bc63f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7de134a73c0f46849a4590aa389fcab2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur.meta b/Assets/X-PostProcessing/Effects/BokehBlur.meta new file mode 100644 index 000000000..c27b3af1a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8fbdcb05f0ba11245914dc13d01ef05d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs new file mode 100644 index 000000000..dfe344ad8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs @@ -0,0 +1,87 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(BokehBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/BokehBlur")] + public class BokehBlur : PostProcessEffectSettings + { + [Range(0f, 3f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(8, 128)] + public IntParameter Iteration = new IntParameter { value = 32 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + + } + + public sealed class BokehBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-BokehBlur"; + private Shader shader; + private Vector4 mGoldenRot = new Vector4(); + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/BokehBlur"); + + // Precompute rotations + float c = Mathf.Cos(2.39996323f); + float s = Mathf.Sin(2.39996323f); + mGoldenRot.Set(c, s, -s, c); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int GoldenRot = Shader.PropertyToID("_GoldenRot"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + sheet.properties.SetVector(ShaderIDs.GoldenRot, mGoldenRot); + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Iteration, settings.BlurRadius, 1f / context.width, 1f / context.height)); + + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 0); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta new file mode 100644 index 000000000..cb2e5326c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 84ae5393ade3f4847ab851805bcf1777 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta new file mode 100644 index 000000000..c9cc7b32e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c950f1c0d9478f44a4e2fa94c2a01e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs new file mode 100644 index 000000000..b67f37f47 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(BokehBlur))] + public sealed class BokehBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta new file mode 100644 index 000000000..2b25c047d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3863883dc6dbf9f43a8c8cfe23b33ba4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/README.md b/Assets/X-PostProcessing/Effects/BokehBlur/README.md new file mode 100644 index 000000000..fc7007768 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/README.md @@ -0,0 +1,15 @@ + +# Bokeh Blur + +## Source Code List +- [Shader Code](Shader/BokehBlur.shader) +- [C# Code](BokehBlur.cs) +- [Editor Code](Editor/BokehBlurEditor.cs) + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BokehBlur/BokehBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BokehBlur/BokehBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BokehBlur/BokehBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta b/Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta new file mode 100644 index 000000000..426c57286 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 574ee3dc98fb922468f659240a7f45fc +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta new file mode 100644 index 000000000..7887971a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7b572c0a276b454a966f54b6343e8e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader new file mode 100644 index 000000000..bd86a1f75 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader @@ -0,0 +1,71 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +// reference : https://www.shadertoy.com/view/4d2Xzw + +Shader "Hidden/X-PostProcessing/BokehBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _GoldenRot; + half4 _Params; + + #define _Iteration _Params.x + #define _Radius _Params.y + #define _PixelSize _Params.zw + + half4 BokehBlur(VaryingsDefault i) + { + half2x2 rot = half2x2(_GoldenRot); + half4 accumulator = 0.0; + half4 divisor = 0.0; + + half r = 1.0; + half2 angle = half2(0.0, _Radius); + + for (int j = 0; j < _Iteration; j++) + { + r += 1.0 / r; + angle = mul(rot, angle); + half4 bokeh = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord + _PixelSize * (r - 1.0) * angle)); + accumulator += bokeh * bokeh; + divisor += bokeh; + } + return accumulator / divisor; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return BokehBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta new file mode 100644 index 000000000..a73102968 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9800d8b6c0e16c34d9b7b55758a26141 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur.meta b/Assets/X-PostProcessing/Effects/BoxBlur.meta new file mode 100644 index 000000000..8b00139df --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65833bbdfbd307448a2c235bdac8fd33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs new file mode 100644 index 000000000..ebfb20d74 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(BoxBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/BoxBlur")] + public class BoxBlur : PostProcessEffectSettings + { + [Range(0f, 5f)] + public FloatParameter BlurRadius = new FloatParameter { value = 3f }; + + [Range(1, 20)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class BoxBlurRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-BoxBlur"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/BoxBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurRadius = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int) (context.screenWidth / settings.RTDownScaling); + int RTHeight = (int) (context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + for (int i = 0; i < settings.Iteration; i++) + { + if (settings.Iteration > 20) + { + return; + } + + Vector4 BlurRadius = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + // RT1 -> RT2 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT1, ShaderIDs.BufferRT2, sheet, 0); + + // RT2 -> RT1 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT2, ShaderIDs.BufferRT1, sheet, 0); + } + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 1); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta new file mode 100644 index 000000000..ac44a01f2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0ad87ed76c4e75846a28e3a301084ed7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta new file mode 100644 index 000000000..e33e86329 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c2753ddd19315da46bc8ee29381bf046 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs new file mode 100644 index 000000000..8040e828c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(BoxBlur))] + public sealed class BoxBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta new file mode 100644 index 000000000..fa011a77c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 92805384c671b88469299e1fecc6ec49 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/README.md b/Assets/X-PostProcessing/Effects/BoxBlur/README.md new file mode 100644 index 000000000..abca52c3b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/README.md @@ -0,0 +1,16 @@ + +# Box Blur + +## Source Code List +- [Shader Code](Shader/BoxBlur.shader) +- [C# Code](BoxBlur.cs) +- [Editor Code](Editor/BoxBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BoxBlur/BoxBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BoxBlur/BoxBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BoxBlur/BoxBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta b/Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta new file mode 100644 index 000000000..db08d01bc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 07f92ac6ceb9f52428797c8d5e3763ab +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta new file mode 100644 index 000000000..51bc94db0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e0ac6666a22b374cb3bf0370eaabe14 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader new file mode 100644 index 000000000..3a5ac0769 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader @@ -0,0 +1,74 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/BoxBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + half4 BoxFilter_4Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); + + half4 s = 0; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy) * 0.25h; // 1 MUL + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 0.25h; // 1 MAD + + return s; + } + + + float4 FragBoxBlur(VaryingsDefault i): SV_Target + { + return BoxFilter_4Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBoxBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta new file mode 100644 index 000000000..1617ce06f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8aa214df2a97e0849925b069cedda597 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta new file mode 100644 index 000000000..70355f64c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a722036b2f742e34aba6d68f784066aa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs new file mode 100644 index 000000000..6c0d1b8db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs @@ -0,0 +1,64 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentBleachBypassRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/BleachBypass")] + public class ColorAdjustmentBleachBypass : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Indensity = new FloatParameter { value = 0.5f }; + + } + + public sealed class ColorAdjustmentBleachBypassRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentBleachBypass"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/BleachBypass"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Indensity = Shader.PropertyToID("_Indensity"); + } + + public override void Render(PostProcessRenderContext context) + { + context.command.BeginSample(PROFILER_TAG); + PropertySheet sheet = context.propertySheets.Get(shader); + + + sheet.properties.SetFloat(ShaderIDs.Indensity, settings.Indensity); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + context.command.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta new file mode 100644 index 000000000..fc4692977 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2638595d43b44334d88d398c2ff5a6ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta new file mode 100644 index 000000000..7342ac8ac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b094988c3490b184d81f36b9a9c6f650 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs new file mode 100644 index 000000000..f2d6da9b1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentBleachBypass))] + public sealed class ColorAdjustmentBleachBypassEditor : PostProcessEffectEditor + { + + SerializedParameterOverride Indensity; + + + public override void OnEnable() + { + Indensity = FindParameterOverride(x => x.Indensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Indensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta new file mode 100644 index 000000000..78ae0acc2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 88278f3ae9f415b4aa38c9097dafee28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md new file mode 100644 index 000000000..5e41c25fa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentBleachBypass + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentBleachBypass.shader) +- [C# Code](ColorAdjustmentBleachBypass.cs) +- [Editor Code](Editor/ColorAdjustmentBleachBypassEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypassProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta new file mode 100644 index 000000000..ff82af614 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b335087f30a281342936cc1b98c88907 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta new file mode 100644 index 000000000..2d37af67e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7038e813b5a0c74c81334e1824bced3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader new file mode 100644 index 000000000..1a9717bd8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader @@ -0,0 +1,58 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/BleachBypass" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Indensity; + + half luminance(half3 color) + { + return dot(color, half3(0.222, 0.707, 0.071)); + } + + //reference : https://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html + half4 Frag(VaryingsDefault i): SV_Target + { + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half lum = luminance(color.rgb); + half3 blend = half3(lum, lum, lum); + half L = min(1.0, max(0.0, 10.0 * (lum - 0.45))); + half3 result1 = 2.0 * color.rgb * blend; + half3 result2 = 1.0 - 2.0 * (1.0 - blend) * (1.0 - color.rgb); + half3 newColor = lerp(result1, result2, L); + + return lerp(color, half4(newColor, color.a), _Indensity); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta new file mode 100644 index 000000000..a4ab55454 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbafedd278d3c9d4fb9d0d5a83ee1ccd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta new file mode 100644 index 000000000..996a4871c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8188b11e914929748ae65b9d47a46aab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs new file mode 100644 index 000000000..b6f3cc41a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs @@ -0,0 +1,62 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentBrightnessRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Brightness")] + public class ColorAdjustmentBrightness : PostProcessEffectSettings + { + [Range(-0.9f ,1f)] + public FloatParameter brightness = new FloatParameter { value = 0f }; + } + + public sealed class ColorAdjustmentBrightnessRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentBrightness"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Brightness"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int brightness = Shader.PropertyToID("_Brightness"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.brightness, settings.brightness + 1f); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta new file mode 100644 index 000000000..e8f356735 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ccd02f4c3282cc343bb7d404d538e601 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta new file mode 100644 index 000000000..0bc9593e1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 482859c18c1521e4eb64d886bde30472 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs new file mode 100644 index 000000000..d4b7d8514 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentBrightness))] + public sealed class ColorAdjustmentBrightnessEditor : PostProcessEffectEditor + { + + SerializedParameterOverride brightness; + + + public override void OnEnable() + { + brightness = FindParameterOverride(x => x.brightness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(brightness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta new file mode 100644 index 000000000..548bcc5b1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 020cd58b993afe444a5c0256e9fac0c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md new file mode 100644 index 000000000..49a36b9eb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentBrightness + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentBrightness.shader) +- [C# Code](ColorAdjustmentBrightness.cs) +- [Editor Code](Editor/ColorAdjustmentBrightnessEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBrightness/ColorAdjustmentBrightnessProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBrightness/ColorAdjustmentBrightness.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBrightness/ColorAdjustmentBrightness.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta new file mode 100644 index 000000000..47318c9eb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8ec6fed4122724a49a28933868454742 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta new file mode 100644 index 000000000..cd192a8d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e75acac72dae804baa6d6b827bde3ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader new file mode 100644 index 000000000..9d4a467c9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader @@ -0,0 +1,41 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Brightness" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Brightness; + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half3 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).rgb; + return half4(sceneColor * _Brightness, 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta new file mode 100644 index 000000000..9e3adb3f0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 72af43b5091ce9848bd00bede713710a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta new file mode 100644 index 000000000..da7dfff16 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5ea544ae25ed1646aa49d8b269196d0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs new file mode 100644 index 000000000..3fd534931 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentContrastRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Contrast")] + public class ColorAdjustmentContrast : PostProcessEffectSettings + { + + [Range(-1.0f, 2.0f)] + public FloatParameter contrast = new FloatParameter { value = 0.2f }; + + } + + public sealed class ColorAdjustmentContrastRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentContrast"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Contrast"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Contrast", settings.contrast + 1); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta new file mode 100644 index 000000000..d7c90e227 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a053027361353e04db3a200d1a0eb315 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta new file mode 100644 index 000000000..487ee599b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba7a9f7f5e6cd3d41b90fa84db84ce05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs new file mode 100644 index 000000000..5486bd2df --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs @@ -0,0 +1,46 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentContrast))] + public sealed class ColorAdjustmentContrastEditor : PostProcessEffectEditor + { + + SerializedParameterOverride contrast; + + + public override void OnEnable() + { + contrast = FindParameterOverride(x => x.contrast); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(contrast); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta new file mode 100644 index 000000000..e7639211d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 705035905280deb4f85779897b91cc2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md new file mode 100644 index 000000000..dededfde5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentContrast + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentContrast.shader) +- [C# Code](ColorAdjustmentContrast.cs) +- [Editor Code](Editor/ColorAdjustmentContrastEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrast/ColorAdjustmentContrastProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrast/ColorAdjustmentContrast.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrast/ColorAdjustmentContrast.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta new file mode 100644 index 000000000..be873dcf0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b04971144e3e1b64e990c00081da3571 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta new file mode 100644 index 000000000..ab8161d5f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 278b4bee710370248b36817a27e2e372 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader new file mode 100644 index 000000000..eaea9bb5b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader @@ -0,0 +1,53 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Contrast" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half _Contrast; + + + half3 ColorAdjustment_Contrast(half3 In, half Contrast) + { + half midpoint = 0.21763h;//pow(0.5, 2.2); + half3 Out = (In - midpoint) * Contrast + midpoint; + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + finalColor.rgb = ColorAdjustment_Contrast(finalColor.rgb , _Contrast); + + return finalColor; + + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta new file mode 100644 index 000000000..3a8f87371 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dcad391fdc4ec1c4ca95088ca579f19a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta new file mode 100644 index 000000000..55d9de7b2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 130768225b8332546abf36bbcc642352 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs new file mode 100644 index 000000000..c42cc344c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentContrastV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ContrastV2")] + public class ColorAdjustmentContrastV2 : PostProcessEffectSettings + { + + [Range(-1.0f, 5.0f)] + public FloatParameter Contrast = new FloatParameter { value = 0.2f }; + + [Range(-1.0f, 1.0f)] + public FloatParameter ContrastFactorR = new FloatParameter { value = 0.0f }; + + [Range(-1.0f, 1.0f)] + public FloatParameter ContrastFactorG = new FloatParameter { value = 0.0f }; + + [Range(-1.0f, 1.0f)] + public FloatParameter ContrastFactorB = new FloatParameter { value = 0.0f }; + + } + + public sealed class ColorAdjustmentContrastV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentContrastV2"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/ContrastV2"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Contrast", settings.Contrast + 1); + sheet.properties.SetVector("_ContrastFactorRGB", new Vector3(settings.ContrastFactorR, settings.ContrastFactorG , settings.ContrastFactorB)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta new file mode 100644 index 000000000..42e7aff2a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 104ed5ad0e6ca124fab5c8515b49855d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta new file mode 100644 index 000000000..4f1c19109 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbf32e87d53725849b516b33b324f922 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs new file mode 100644 index 000000000..4e3db176f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentContrastV2))] + public sealed class ColorAdjustmentContrastV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Contrast; + SerializedParameterOverride ContrastFactorR; + SerializedParameterOverride ContrastFactorG; + SerializedParameterOverride ContrastFactorB; + + + public override void OnEnable() + { + + Contrast = FindParameterOverride(x => x.Contrast); + ContrastFactorR = FindParameterOverride(x => x.ContrastFactorR); + ContrastFactorG = FindParameterOverride(x => x.ContrastFactorG); + ContrastFactorB = FindParameterOverride(x => x.ContrastFactorB); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Contrast); + + EditorUtilities.DrawHeaderLabel("RGB Channel"); + + PropertyField(ContrastFactorR); + PropertyField(ContrastFactorG); + PropertyField(ContrastFactorB); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta new file mode 100644 index 000000000..5b1f57140 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aee52c2d6a502e0469af691adaee766f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md new file mode 100644 index 000000000..14390abe8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentContrastV2 + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentContrastV2.shader) +- [C# Code](ColorAdjustmentContrastV2.cs) +- [Editor Code](Editor/ColorAdjustmentContrastV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta new file mode 100644 index 000000000..a4455f49d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c3cc72efd61563a45b743bfe2742edf1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta new file mode 100644 index 000000000..b36a7765d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d70343f88a6557f4894708cc80d76797 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader new file mode 100644 index 000000000..7214cdecd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/ContrastV2" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half _Contrast; + uniform half3 _ContrastFactorRGB; + + half3 ColorAdjustment_Contrast_V2(float3 In, half3 ContrastFactor, float Contrast) + { + half3 Out = (In - ContrastFactor) * Contrast + ContrastFactor; + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + finalColor.rgb = ColorAdjustment_Contrast_V2(finalColor.rgb , _ContrastFactorRGB,_Contrast); + + return finalColor; + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta new file mode 100644 index 000000000..eacc28be3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4927ffb2887aa1f4f903af98e6c634e2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta new file mode 100644 index 000000000..e5b8866fb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9900223ed74486748be34917b69043ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs new file mode 100644 index 000000000..548d19ac7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentContrastV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ContrastV3")] + public class ColorAdjustmentContrastV3 : PostProcessEffectSettings + { + + + [DisplayName("Contrast Wheel"),ColorWheel(ColorWheelAttribute.Mode.Contrast)] + public Vector4Parameter contrast = new Vector4Parameter { value = new Vector4(1f, 1f, 1f, -0.1f) }; + } + + public sealed class ColorAdjustmentContrastV3Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-ColorAdjustmentContrastV3"; + + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/ContrastV3"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + sheet.properties.SetVector("_Contrast", settings.contrast); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta new file mode 100644 index 000000000..ae0c6008b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5d3b86966fb6624497fe2c2495da9a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta new file mode 100644 index 000000000..39c273ffd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 06bd6cdd028cdec4aa6bb7e4037d12e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs new file mode 100644 index 000000000..47f7a0ff1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentContrastV3))] + public sealed class ColorAdjustmentContrastV3Editor : PostProcessEffectEditor + { + + SerializedParameterOverride contrast; + + + public override void OnEnable() + { + contrast = FindParameterOverride(x => x.contrast); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + using (new EditorGUILayout.HorizontalScope()) + { + //GUILayout.Space(100f); + PropertyField(contrast); + GUILayout.Space(100f); + } + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta new file mode 100644 index 000000000..902403ace --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2667bce5bcaac074899d5c8b7e0720ce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md new file mode 100644 index 000000000..361a71bbf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentContrastV3 + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentContrastV3.shader) +- [C# Code](ColorAdjustmentContrastV3.cs) +- [Editor Code](Editor/ColorAdjustmentContrastV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta new file mode 100644 index 000000000..f254a244e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b5d25855fa2984c4ab6ec023bd87703b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta new file mode 100644 index 000000000..1b71d9f50 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b48a79b95216a647b6f97775177eb98 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader new file mode 100644 index 000000000..f916b7f45 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/ContrastV3" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half4 _Contrast; + + half3 ColorAdjustment_Contrast_V3(float3 In, half3 ContrastFactor, float Contrast) + { + half3 Out = (In - ContrastFactor) * Contrast + ContrastFactor; + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + finalColor.rgb = ColorAdjustment_Contrast_V3(finalColor.rgb , half3(_Contrast.x, _Contrast.y, _Contrast.z),1- (_Contrast.w )); + return finalColor; + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta new file mode 100644 index 000000000..50654d98e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c066218fdb9bbdc4aa87233e51731ed4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta new file mode 100644 index 000000000..7eb5b5c5c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e75cf712d693331479a21b7364750771 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs new file mode 100644 index 000000000..858650ba7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentHueRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Hue")] + public class ColorAdjustmentHue : PostProcessEffectSettings + { + + [Range(-180.0f, 180.0f)] + public FloatParameter HueDegree = new FloatParameter { value = 20f }; + } + + public sealed class ColorAdjustmentHueRenderer : PostProcessEffectRenderer + { + private Shader shader; + + private const string PROFILER_TAG = "X-ColorAdjustmentHue"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Hue"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_HueDegree", settings.HueDegree); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta new file mode 100644 index 000000000..bad9d7561 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 323a24a5eeee79d4a8bc92be48fd79bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta new file mode 100644 index 000000000..e7c9c8524 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7b6dbf9b22a3704ea99d049ea2d46ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs new file mode 100644 index 000000000..9b8912701 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentHue))] + public sealed class ColorAdjustmentHueEditor : PostProcessEffectEditor + { + + SerializedParameterOverride HueDegree; + + + public override void OnEnable() + { + HueDegree = FindParameterOverride(x => x.HueDegree); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(HueDegree); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta new file mode 100644 index 000000000..c306b57c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d96de24c28de9b64abe757c040133f4a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md new file mode 100644 index 000000000..da1066c97 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentHue + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentHue.shader) +- [C# Code](ColorAdjustmentHue.cs) +- [Editor Code](Editor/ColorAdjustmentHueEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentHue/ColorAdjustmentHueProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentHue/ColorAdjustmentHue.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentHue/ColorAdjustmentHue.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta new file mode 100644 index 000000000..cc2edeba3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d2b4c42a398b8514d9255bd19a9d5ca0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta new file mode 100644 index 000000000..6237578df --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b290ca852a9b1044e855ada67a94cb95 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader new file mode 100644 index 000000000..87b0adc73 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader @@ -0,0 +1,74 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Hue" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + uniform half _HueDegree; + + + half3 Hue_Degree(float3 In, float Offset) + { + float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + float4 P = lerp(float4(In.bg, K.wz), float4(In.gb, K.xy), step(In.b, In.g)); + float4 Q = lerp(float4(P.xyw, In.r), float4(In.r, P.yzx), step(P.x, In.r)); + float D = Q.x - min(Q.w, Q.y); + float E = 1e-10; + float3 hsv = float3(abs(Q.z + (Q.w - Q.y) / (6.0 * D + E)), D / (Q.x + E), Q.x); + + float hue = hsv.x + Offset / 360; + hsv.x = (hue < 0) + ? hue + 1 + : (hue > 1) + ? hue - 1 + : hue; + + float4 K2 = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 P2 = abs(frac(hsv.xxx + K2.xyz) * 6.0 - K2.www); + half3 Out = hsv.z * lerp(K2.xxx, saturate(P2 - K2.xxx), hsv.y); + + return Out; + } + + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + //half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + float3(0, 2, 4)); + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + //half3 finalColor = lerp(sceneColor.rgb, col, _Float1 *0.1); + + return half4(Hue_Degree(sceneColor, _HueDegree), 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta new file mode 100644 index 000000000..36f1087cc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd123a4d4b19bc44387f5cd7a964b09b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta new file mode 100644 index 000000000..64e786b70 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c53f9c30b8594940b51a504243d5eb4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs new file mode 100644 index 000000000..ddf43affe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentLensFilterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/LensFilter")] + public class ColorAdjustmentLensFilter : PostProcessEffectSettings + { + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter LensColor = new ColorParameter { value = new Color(1.0f, 1.0f, 0.1f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter Indensity = new FloatParameter { value = 0.5f }; + } + + public sealed class ColorAdjustmentLensFilterRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentLensFilter"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/LensFilter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int LensColor = Shader.PropertyToID("_LensColor"); + internal static readonly int Indensity = Shader.PropertyToID("_Indensity"); + } + + public override void Render(PostProcessRenderContext context) + { + context.command.BeginSample(PROFILER_TAG); + PropertySheet sheet = context.propertySheets.Get(shader); + + sheet.properties.SetFloat(ShaderIDs.Indensity, settings.Indensity); + sheet.properties.SetColor(ShaderIDs.LensColor, settings.LensColor); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + context.command.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta new file mode 100644 index 000000000..86b5a170e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efb9c856103a46543a82133472d02472 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta new file mode 100644 index 000000000..7147b8f19 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4940611dccabb04bae4af41f9951202 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs new file mode 100644 index 000000000..0d612c88f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentLensFilter))] + public sealed class ColorAdjustmentLensFilterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride LensColor; + SerializedParameterOverride Indensity; + + + public override void OnEnable() + { + LensColor = FindParameterOverride(x => x.LensColor); + Indensity = FindParameterOverride(x => x.Indensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(LensColor); + PropertyField(Indensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta new file mode 100644 index 000000000..80c250f4b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e4bbd8ebf5c3d4479818144ad7fabdb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md new file mode 100644 index 000000000..bd2858f6a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentLensFilter + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentLensFilter.shader) +- [C# Code](ColorAdjustmentLensFilter.cs) +- [Editor Code](Editor/ColorAdjustmentLensFilterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentLensFilter/ColorAdjustmentLensFilterProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta new file mode 100644 index 000000000..05fdf5cbd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1445ff22b1601684493a9b64b34e9513 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta new file mode 100644 index 000000000..2c00ca9b5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c31040d30fa01004696194f332f942f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader new file mode 100644 index 000000000..756c8eb60 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader @@ -0,0 +1,63 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/LensFilter" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Indensity; + uniform half4 _LensColor; + + half luminance(half3 color) + { + return dot(color, half3(0.222, 0.707, 0.071)); + } + + half4 Frag(VaryingsDefault i): SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half lum = luminance(sceneColor.rgb); + + // Interpolate with half4(0.0, 0.0, 0.0, 0.0) based on luminance + half4 filterColor = lerp(half4(0.0, 0.0, 0.0, 0.0), _LensColor, saturate(lum * 2.0)); + + // Interpolate withhalf4(1.0, 1.0, 1.0, 1.0) based on luminance + filterColor = lerp(filterColor, half4(1.0, 1.0, 1.0, 1.0), saturate(lum - 0.5) * 2.0); + + filterColor = lerp(sceneColor, filterColor, saturate(lum * _Indensity)); + + return half4(filterColor.rgb, sceneColor.a); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta new file mode 100644 index 000000000..f4db7b1db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2fd843077c088384a8683b1d6132efb4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta new file mode 100644 index 000000000..9fa52ec0c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e959f698c1e84864da0772aec7c58cfd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs new file mode 100644 index 000000000..b5295e48a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentSaturationRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Saturation")] + public class ColorAdjustmentSaturation : PostProcessEffectSettings + { + + [Range(0.0f, 2.0f)] + public FloatParameter saturation = new FloatParameter { value = 1f }; + + } + + public sealed class ColorAdjustmentSaturationRenderer : PostProcessEffectRenderer + { + private Shader shader; + + private const string PROFILER_TAG = "X-ColorAdjustmentSaturation"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Saturation"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Saturation", settings.saturation); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta new file mode 100644 index 000000000..4e708d8c2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b5ed3169e7d36b4cadb5c5feaf040ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta new file mode 100644 index 000000000..364f3659d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 10fe08a7a4d14fc4fb506e3feb963023 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs new file mode 100644 index 000000000..8d925ad81 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs @@ -0,0 +1,46 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentSaturation))] + public sealed class ColorAdjustmentSaturationEditor : PostProcessEffectEditor + { + + SerializedParameterOverride saturation; + + + + public override void OnEnable() + { + saturation = FindParameterOverride(x => x.saturation); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(saturation); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta new file mode 100644 index 000000000..a4d5b1ce7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 89360992b9d293b4bb4b7b26f5df495a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md new file mode 100644 index 000000000..dfb2effd3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentSaturation + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentSaturation.shader) +- [C# Code](ColorAdjustmentSaturation.cs) +- [Editor Code](Editor/ColorAdjustmentSaturationEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentSaturation/ColorAdjustmentSaturationProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentSaturation/ColorAdjustmentSaturation.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentSaturation/ColorAdjustmentSaturation.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta new file mode 100644 index 000000000..c1e7ad99f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4867b2d8644d3d141b476e4b027b8aec +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta new file mode 100644 index 000000000..224685c9b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ce3444e08b2298449e79b7cf7329d22 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader new file mode 100644 index 000000000..b830f5730 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Saturation" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half _Saturation; + + half3 Saturation(half3 In, half Saturation) + { + half luma = dot(In, half3(0.2126729, 0.7151522, 0.0721750)); + half3 Out = luma.xxx + Saturation.xxx * (In - luma.xxx); + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + half3(0, 2, 4)); + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + return half4(Saturation(sceneColor.rgb, _Saturation), 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta new file mode 100644 index 000000000..cc41f052a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e88e1de64bb4c02499a002994ede4c5f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta new file mode 100644 index 000000000..ac626d7db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2d20470a8abec243aadeac6e0031e97 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs new file mode 100644 index 000000000..35371fc8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs @@ -0,0 +1,81 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentTechnicolorRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Technicolor")] + public class ColorAdjustmentTechnicolor : PostProcessEffectSettings + { + + [Range(0.0f, 8.0f)] + public FloatParameter exposure = new FloatParameter { value = 4.0f }; + + [Range(0.0f, 1.0f)] + public FloatParameter colorBalanceR = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter colorBalanceG = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter colorBalanceB = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter indensity = new FloatParameter { value = 0.5f }; + + } + + public sealed class ColorAdjustmentTechnicolorRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentTechnicolor"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Technicolor"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int exposure = Shader.PropertyToID("_Exposure"); + internal static readonly int colorBalance = Shader.PropertyToID("_ColorBalance"); + internal static readonly int indensity = Shader.PropertyToID("_Indensity"); + } + + public override void Render(PostProcessRenderContext context) + { + context.command.BeginSample(PROFILER_TAG); + PropertySheet sheet = context.propertySheets.Get(shader); + + + sheet.properties.SetFloat(ShaderIDs.exposure, 8f- settings.exposure); + sheet.properties.SetVector(ShaderIDs.colorBalance, Vector3.one - new Vector3(settings.colorBalanceR, settings.colorBalanceG, settings.colorBalanceB)); + sheet.properties.SetFloat(ShaderIDs.indensity, settings.indensity); + + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + context.command.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta new file mode 100644 index 000000000..98a1fc2b1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d95eb445bcce3174c9cbe04cd4300d2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta new file mode 100644 index 000000000..ed0f85c0b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 88fcb5098859f6c4a83ea093fd356bda +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs new file mode 100644 index 000000000..bfe81c2cf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentTechnicolor))] + public sealed class ColorAdjustmentTechnicolorEditor : PostProcessEffectEditor + { + + SerializedParameterOverride exposure; + SerializedParameterOverride colorBalanceR; + SerializedParameterOverride colorBalanceG; + SerializedParameterOverride colorBalanceB; + SerializedParameterOverride indensity; + + + public override void OnEnable() + { + exposure = FindParameterOverride(x => x.exposure); + colorBalanceR = FindParameterOverride(x => x.colorBalanceR); + colorBalanceG = FindParameterOverride(x => x.colorBalanceG); + colorBalanceB = FindParameterOverride(x => x.colorBalanceB); + indensity = FindParameterOverride(x => x.indensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(exposure); + PropertyField(indensity); + EditorUtilities.DrawHeaderLabel("Color Balance"); + PropertyField(colorBalanceR); + PropertyField(colorBalanceG); + PropertyField(colorBalanceB); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta new file mode 100644 index 000000000..a87b156f5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a279eb70fcf0aee42956e7b9b0a8d2a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md new file mode 100644 index 000000000..8f55ecf96 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentTechnicolor + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentTechnicolor.shader) +- [C# Code](ColorAdjustmentTechnicolor.cs) +- [Editor Code](Editor/ColorAdjustmentTechnicolorEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolorProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta new file mode 100644 index 000000000..240919c05 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 911dfa0e951d7ab458dacacfda3b763f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta new file mode 100644 index 000000000..d5ceacb23 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 780d2073fbe298647b714310468538d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader new file mode 100644 index 000000000..b330d5347 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Technicolor" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half _Exposure; + half3 _ColorBalance; + half _Indensity; + + + // reference : https://github.com/crosire/reshade-shaders/blob/master/Shaders/Technicolor.fx + half4 Frag(VaryingsDefault i): SV_Target + { + const half3 cyanfilter = float3(0.0, 1.30, 1.0); + const half3 magentafilter = float3(1.0, 0.0, 1.05); + const half3 yellowfilter = float3(1.6, 1.6, 0.05); + const half2 redorangefilter = float2(1.05, 0.620); // RG_ + const half2 greenfilter = float2(0.30, 1.0); // RG_ + const half2 magentafilter2 = magentafilter.rb; // R_B + + + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 balance = 1.0 / (_ColorBalance.rgb * _Exposure); + + half negative_mul_r = dot(redorangefilter, color.rg * balance.rr); + half negative_mul_g = dot(greenfilter, color.rg * balance.gg); + half negative_mul_b = dot(magentafilter2, color.rb * balance.bb); + + half3 output_r = negative_mul_r.rrr + cyanfilter; + half3 output_g = negative_mul_g .rrr + magentafilter; + half3 output_b = negative_mul_b.rrr + yellowfilter; + + half3 result = output_r * output_g * output_b; + return half4(lerp(color.rgb, result.rgb, _Indensity), 1.0); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta new file mode 100644 index 000000000..ddb27bd01 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd1a75133e88ed345932f8ad8fa815e9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta new file mode 100644 index 000000000..60943ddb3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 548cc646fd45c63408e7ef01c32c6090 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs new file mode 100644 index 000000000..592608e75 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentTintRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Tint")] + public class ColorAdjustmentTint : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter indensity = new FloatParameter { value = 0.1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter colorTint = new ColorParameter { value = new Color(0.9f, 1.0f, 0.0f, 1) }; + } + + public sealed class ColorAdjustmentTintRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentTint"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Tint"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetColor("_ColorTint", settings.colorTint); + sheet.properties.SetFloat("_Indensity", settings.indensity); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta new file mode 100644 index 000000000..dd302b6c8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1a4bf4ee979e22245b6f52e341d976bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta new file mode 100644 index 000000000..d78ef4c94 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58add7011dd5da443aa667bf87362a94 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs new file mode 100644 index 000000000..ec2727f93 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentTint))] + public sealed class ColorAdjustmentTintEditor : PostProcessEffectEditor + { + + SerializedParameterOverride indensity; + SerializedParameterOverride colorTint; + + + public override void OnEnable() + { + indensity = FindParameterOverride(x => x.indensity); + colorTint = FindParameterOverride(x => x.colorTint); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(indensity); + PropertyField(colorTint); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta new file mode 100644 index 000000000..4f1b417cc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90c9485511d18364fba1fbc8715c49f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md new file mode 100644 index 000000000..9167d61cc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentTint + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentTint.shader) +- [C# Code](ColorAdjustmentTint.cs) +- [Editor Code](Editor/ColorAdjustmentTintEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTint/ColorAdjustmentTintProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTint/ColorAdjustmentTint.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTint/ColorAdjustmentTint.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta new file mode 100644 index 000000000..55f5e4cda --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a643fd2047d3e9b4ca87c243f9309669 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta new file mode 100644 index 000000000..b896ee194 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 719b6b1983544b04a943158f5c28eb25 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader new file mode 100644 index 000000000..2dab7f289 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader @@ -0,0 +1,50 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Tint" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Indensity; + uniform half4 _ColorTint; + + half4 Frag(VaryingsDefault i): SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = lerp(sceneColor.rgb, sceneColor.rgb * _ColorTint.rgb, _Indensity); + + return half4(finalColor, 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta new file mode 100644 index 000000000..696794078 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7459eee18da8b344ba6df8bcad02276c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta new file mode 100644 index 000000000..375c9bea1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 487fbcf00b30be44e8d3db8d9ec26365 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs new file mode 100644 index 000000000..0895cb743 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentWhiteBalanceRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/WhiteBalance")] + public class ColorAdjustmentWhiteBalance : PostProcessEffectSettings + { + + /// + /// custom color temperature. + /// + [Range(-1f, 1f)] + public FloatParameter temperature = new FloatParameter { value = 0f }; + + /// + /// for a green or magenta tint. + /// + [Range(-1f, 1f)] + public FloatParameter tint = new FloatParameter { value = 0f }; + + } + + public sealed class ColorAdjustmentWhiteBalanceRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentWhiteBalance"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/WhiteBalance"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Temperature", settings.temperature); + sheet.properties.SetFloat("_Tint", settings.tint); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta new file mode 100644 index 000000000..092211a7d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f771e798c3582df458ffed78248242ce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta new file mode 100644 index 000000000..69a63d136 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ea046fd6017289448296d1cf539465a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs new file mode 100644 index 000000000..1b42138e8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentWhiteBalance))] + public sealed class ColorAdjustmentWhiteBalanceEditor : PostProcessEffectEditor + { + + + + SerializedParameterOverride temperature; + SerializedParameterOverride tint; + + + public override void OnEnable() + { + temperature = FindParameterOverride(x => x.temperature); + tint = FindParameterOverride(x => x.tint); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(temperature); + PropertyField(tint); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta new file mode 100644 index 000000000..695b75e6b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3363db9801d911e46906d150566945b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md new file mode 100644 index 000000000..d5f1b1915 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentWhiteBalance + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentWhiteBalance.shader) +- [C# Code](ColorAdjustmentWhiteBalance.cs) +- [Editor Code](Editor/ColorAdjustmentWhiteBalanceEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalanceProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta new file mode 100644 index 000000000..671328760 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 432c447480049144ebfc38b8f52f03ee +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta new file mode 100644 index 000000000..d93795960 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4ebf69c5b54c4a42ba1f0942b4f10d4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader new file mode 100644 index 000000000..caee0f874 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader @@ -0,0 +1,93 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/WhiteBalance" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + uniform half _Temperature; + uniform half _Tint; + + + float3 WhiteBalance(float3 In, float Temperature, float Tint) + { + // Range ~[-1.67;1.67] works best + float t1 = Temperature * 10 / 6; + float t2 = Tint * 10 / 6; + + // Get the CIE xy chromaticity of the reference white point. + // Note: 0.31271 = x value on the D65 white point + float x = 0.31271 - t1 * (t1 < 0 ? 0.1 : 0.05); + float standardIlluminantY = 2.87 * x - 3 * x * x - 0.27509507; + float y = standardIlluminantY + t2 * 0.05; + + // Calculate the coefficients in the LMS space. + float3 w1 = float3(0.949237, 1.03542, 1.08728); // D65 white point + + // CIExyToLMS + float Y = 1; + float X = Y * x / y; + float Z = Y * (1 - x - y) / y; + float L = 0.7328 * X + 0.4296 * Y - 0.1624 * Z; + float M = -0.7036 * X + 1.6975 * Y + 0.0061 * Z; + float S = 0.0030 * X + 0.0136 * Y + 0.9834 * Z; + float3 w2 = float3(L, M, S); + + float3 balance = float3(w1.x / w2.x, w1.y / w2.y, w1.z / w2.z); + + float3x3 LIN_2_LMS_MAT = { + 3.90405e-1, 5.49941e-1, 8.92632e-3, + 7.08416e-2, 9.63172e-1, 1.35775e-3, + 2.31082e-2, 1.28021e-1, 9.36245e-1 + }; + + float3x3 LMS_2_LIN_MAT = { + 2.85847e+0, -1.62879e+0, -2.48910e-2, + -2.10182e-1, 1.15820e+0, 3.24281e-4, + -4.18120e-2, -1.18169e-1, 1.06867e+0 + }; + + float3 lms = mul(LIN_2_LMS_MAT, In); + lms *= balance; + float3 Out = mul(LMS_2_LIN_MAT, lms); + return Out; + } + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + float3(0, 2, 4)); + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = WhiteBalance(sceneColor.rgb, _Temperature, _Tint); + return half4(finalColor, 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta new file mode 100644 index 000000000..bf0c083a4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b578f15267ec4314faed156d65fc41a7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace.meta b/Assets/X-PostProcessing/Effects/ColorReplace.meta new file mode 100644 index 000000000..977362cdc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3eb65558e06c57d4a9623d8228ad1b7e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs new file mode 100644 index 000000000..d2852c52e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs @@ -0,0 +1,70 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorReplaceRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ColorReplace")] + public class ColorReplace : PostProcessEffectSettings + { + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter FromColor = new ColorParameter { value = new Color(0.8f, 0.0f, 0.0f, 1) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter ToColor = new ColorParameter { value = new Color(0.0f, 0.8f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter Range = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Fuzziness = new FloatParameter { value = 0.5f }; + + } + + public sealed class ColorReplaceRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorReplace"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorReplace"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetColor("_FromColor", settings.FromColor); + sheet.properties.SetColor("_ToColor", settings.ToColor); + sheet.properties.SetFloat("_Range", settings.Range); + sheet.properties.SetFloat("_Fuzziness", settings.Fuzziness); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta new file mode 100644 index 000000000..7c4a72a07 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0e84cf76f41f4f7459de554628a5a26b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta new file mode 100644 index 000000000..4a6f8cdbb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8a1bcf1c30c63d4b8b10a54368ed6fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs new file mode 100644 index 000000000..2348e6d4c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorReplace))] + public sealed class ColorReplaceEditor : PostProcessEffectEditor + { + + SerializedParameterOverride FromColor; + SerializedParameterOverride ToColor; + SerializedParameterOverride Range; + SerializedParameterOverride Fuzziness; + + + public override void OnEnable() + { + FromColor = FindParameterOverride(x => x.FromColor); + ToColor = FindParameterOverride(x => x.ToColor); + Range = FindParameterOverride(x => x.Range); + Fuzziness = FindParameterOverride(x => x.Fuzziness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("From-To Color"); + PropertyField(FromColor); + PropertyField(ToColor); + + EditorUtilities.DrawHeaderLabel("Color Precision"); + PropertyField(Range); + PropertyField(Fuzziness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta new file mode 100644 index 000000000..bbe86a454 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7437b54099c02c49985ed9ce3d68bb1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/README.md b/Assets/X-PostProcessing/Effects/ColorReplace/README.md new file mode 100644 index 000000000..f7a57bf1b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/README.md @@ -0,0 +1,16 @@ + +# ColorReplace + +## Source Code List +- [Shader Code](Shader/ColorReplace.shader) +- [C# Code](ColorReplace.cs) +- [Editor Code](Editor/ColorReplaceEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplace/ColorReplaceProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplace/ColorReplace.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplace/ColorReplace.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta b/Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta new file mode 100644 index 000000000..594e56b65 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 58629502ed73910429469f4b0f0112bd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta new file mode 100644 index 000000000..b1da3f107 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 626f40453ce247e44bdd4b5bced185d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader new file mode 100644 index 000000000..ea1c51f0f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader @@ -0,0 +1,54 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorReplace" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _FromColor; + uniform half4 _ToColor; + uniform half _Range; + uniform half _Fuzziness; + + half3 ColorReplace(half3 In, half3 From, half3 To, half Range, half Fuzziness) + { + half Distance = distance(From, In); + half3 Out = lerp(To, In, saturate((Distance - Range) / max(Fuzziness, 0.1))); + return Out; + } + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = ColorReplace(sceneColor.rgb, _FromColor.rgb , _ToColor.rgb , _Range, _Fuzziness); + + return half4(finalColor, 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta new file mode 100644 index 000000000..4ed4c405f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52ec611d145649549be039b5a656b4c8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2.meta new file mode 100644 index 000000000..a967a6d68 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ae135b9d50a7ac459052d47c8626ee7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs new file mode 100644 index 000000000..10942a084 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs @@ -0,0 +1,94 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorReplaceV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ColorReplaceV2")] + public class ColorReplaceV2 : PostProcessEffectSettings + { + + + public GradientParameter FromGradientColor = new GradientParameter { value = null }; + + public GradientParameter ToGradientColor = new GradientParameter { value = null }; + + + [Range(0.0f, 100.0f)] + public FloatParameter gridentSpeed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Range = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Fuzziness = new FloatParameter { value = 0.5f }; + } + + public sealed class ColorReplaceV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private float TimeX = 1.0f; + private const string PROFILER_TAG = "X-ColorReplaceV2"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorReplaceV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int FromColor = Shader.PropertyToID("_FromColor"); + internal static readonly int ToColor = Shader.PropertyToID("_ToColor"); + internal static readonly int Range = Shader.PropertyToID("_Range"); + internal static readonly int Fuzziness = Shader.PropertyToID("_Fuzziness"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += (Time.deltaTime * settings.gridentSpeed); + if (TimeX > 100) + { + TimeX = 0; + } + if (settings.FromGradientColor.value != null) + { + sheet.properties.SetColor(ShaderIDs.FromColor, settings.FromGradientColor.value.Evaluate(TimeX * 0.01f)); + } + + if (settings.ToGradientColor.value != null) + { + sheet.properties.SetColor(ShaderIDs.ToColor, settings.ToGradientColor.value.Evaluate(TimeX * 0.01f)); + } + + sheet.properties.SetFloat(ShaderIDs.Range, settings.Range); + sheet.properties.SetFloat(ShaderIDs.Fuzziness, settings.Fuzziness); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta new file mode 100644 index 000000000..c72ddf20e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1b513c82ad9e224db6ba48112ec5d48 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta new file mode 100644 index 000000000..162ac3d51 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17df0c432414ccf4aa3218a946a69d77 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs new file mode 100644 index 000000000..b86173dd1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorReplaceV2))] + public sealed class ColorReplaceV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride FromGradientColor; + SerializedParameterOverride ToGradientColor; + SerializedParameterOverride gridentSpeed; + SerializedParameterOverride Range; + SerializedParameterOverride Fuzziness; + + + public override void OnEnable() + { + FromGradientColor = FindParameterOverride(x => x.FromGradientColor); + ToGradientColor = FindParameterOverride(x => x.ToGradientColor); + gridentSpeed = FindParameterOverride(x => x.gridentSpeed); + Range = FindParameterOverride(x => x.Range); + Fuzziness = FindParameterOverride(x => x.Fuzziness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("From-To Color"); + PropertyField(FromGradientColor); + PropertyField(ToGradientColor); + PropertyField(gridentSpeed); + + EditorUtilities.DrawHeaderLabel("Color Precision"); + PropertyField(Range); + PropertyField(Fuzziness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta new file mode 100644 index 000000000..11957958c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8ea63d307d77b1a43876b56431cfa97c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md new file mode 100644 index 000000000..ce473f4fd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md @@ -0,0 +1,16 @@ + +# ColorReplaceV2 + +## Source Code List +- [Shader Code](Shader/ColorReplaceV2.shader) +- [C# Code](ColorReplaceV2.cs) +- [Editor Code](Editor/ColorReplaceV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplaceV2/ColorReplaceV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplaceV2/ColorReplaceV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplaceV2/ColorReplaceV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta new file mode 100644 index 000000000..b249c5740 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4112d3fbea5939047aa70274408d8f42 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta new file mode 100644 index 000000000..0793bae39 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 163003945f18ea549b977ef4e178045a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader new file mode 100644 index 000000000..5aa7d8cdf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorReplaceV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _FromColor; + uniform half4 _ToColor; + uniform half _Range; + uniform half _Fuzziness; + + half3 ColorReplace(half3 In, half3 From, half3 To, half Range, half Fuzziness) + { + half Distance = distance(From, In); + half3 Out = lerp(To, In, saturate((Distance - Range) / max(Fuzziness, 0.1))); + return Out; + } + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = ColorReplace(sceneColor.rgb, _FromColor.rgb , _ToColor.rgb , _Range, _Fuzziness); + + return half4(finalColor, 1.0); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta new file mode 100644 index 000000000..dba749595 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40c698a9f5661574eb8fef9b70315bf3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur.meta new file mode 100644 index 000000000..0a2aac564 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be1b8f657a7298f41af9467addb57e55 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs new file mode 100644 index 000000000..e650c4121 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs @@ -0,0 +1,98 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DirectionalBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DirectionalBlur")] + public class DirectionalBlur : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(1, 30)] + public IntParameter Iteration = new IntParameter { value = 12 }; + + [Range(0.0f, 6.0f)] + public FloatParameter Angle = new FloatParameter { value = 0.5f }; + + [Range(1.0f, 10.0f)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1.0f }; + + } + + public sealed class DirectionalBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DirectionalBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DirectionalBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BufferRT = Shader.PropertyToID("_BufferRT"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + if (settings.RTDownScaling > 1) + { + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT, RTWidth, RTHeight, 0, FilterMode.Bilinear); + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT); + } + + float sinVal = (Mathf.Sin(settings.Angle) * settings.BlurRadius * 0.05f) / settings.Iteration; + float cosVal = (Mathf.Cos(settings.Angle) * settings.BlurRadius * 0.05f) / settings.Iteration; + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.Iteration, sinVal, cosVal)); + + if (settings.RTDownScaling > 1) + { + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT, context.destination, sheet, 0); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta new file mode 100644 index 000000000..35ab53305 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13b499c0ad495f64b96022d11dce284a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta new file mode 100644 index 000000000..9b9131018 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b5c47af6317cc84c8a7db51cda5fc9f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs new file mode 100644 index 000000000..95413b358 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs @@ -0,0 +1,54 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DirectionalBlur))] + public sealed class DirectionalBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride Angle; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + Angle = FindParameterOverride(x => x.Angle); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(Angle); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta new file mode 100644 index 000000000..b1e1e98c1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61a609feeacd234418699cc0df079c7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md new file mode 100644 index 000000000..118a3d760 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md @@ -0,0 +1,18 @@ + +# Directional Blur + +## Source Code List +- [Shader Code](Shader/DirectionalBlur.shader) +- [C# Code](DirectionalBlur.cs) +- [Editor Code](Editor/DirectionalBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlur-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlur-2.gif) diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta new file mode 100644 index 000000000..355c20d4f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d999739f9969606409ceaeb5ba062fae +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta new file mode 100644 index 000000000..5eb56937d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4983fcdd46cc4844b516d420734a32a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader new file mode 100644 index 000000000..c1795f2a3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DirectionalBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half3 _Params; + + #define _Iteration _Params.x + #define _Direction _Params.yz + + half4 DirectionalBlur(VaryingsDefault i) + { + half4 color = half4(0.0, 0.0, 0.0, 0.0); + + for (int k = -_Iteration; k < _Iteration; k++) + { + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - _Direction * k); + } + half4 finalColor = color / (_Iteration * 2.0); + + return finalColor; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return DirectionalBlur(i); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta new file mode 100644 index 000000000..181f5ee89 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f17140f396318f044b32aa86a3d283a6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur.meta new file mode 100644 index 000000000..c1e308266 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbab6c25950200640a9cafc7b2c6e911 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs new file mode 100644 index 000000000..2e00bc724 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs @@ -0,0 +1,137 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualBoxBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualBoxBlur")] + public class DualBoxBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 8.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualBoxBlurRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-DualBoxBlur"; + + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualBoxBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down = Shader.PropertyToID("_BlurMipDown" + i), + up = Shader.PropertyToID("_BlurMipUp" + i) + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurOffset = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + struct Level + { + internal int down; + internal int up; + } + + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + Vector4 BlurOffset = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + sheet.properties.SetVector(ShaderIDs.BlurOffset, BlurOffset); + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDown = m_Pyramid[i].down; + int mipUp = m_Pyramid[i].up; + context.GetScreenSpaceTemporaryRT(cmd, mipDown, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUp, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + cmd.BlitFullscreenTriangle(lastDown, mipDown, sheet, 0); + + lastDown = mipDown; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + int mipUp = m_Pyramid[i].up; + cmd.BlitFullscreenTriangle(lastUp, mipUp, sheet, 0); + lastUp = mipUp; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down); + if (m_Pyramid[i].up != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up); + } + + + cmd.EndSample(PROFILER_TAG); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta new file mode 100644 index 000000000..14397044a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2bf005b482b98af43a87fe0829922e70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta new file mode 100644 index 000000000..3bbcca37f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d388c340d2243a4bb5873644cf4927d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs new file mode 100644 index 000000000..7ea495548 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualBoxBlur))] + public sealed class DualBoxBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta new file mode 100644 index 000000000..7f46fe63b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cd758fb3d13a34847ac8a120cc516cf8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md new file mode 100644 index 000000000..17f5ace08 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Box Blur + +## Source Code List +- [Shader Code](Shader/DualBoxBlur.shader) +- [C# Code](DualBoxBlur.cs) +- [Editor Code](Editor/DualBoxBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualBoxBlur/DualBoxBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualBoxBlur/DualBoxBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualBoxBlur/DualBoxBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta new file mode 100644 index 000000000..398dbc97a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d489e1f531e67f7469f444e8c655b765 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta new file mode 100644 index 000000000..b882c0daa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08a6f8dd8492bc0449801308610811d3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader new file mode 100644 index 000000000..4be91b6ec --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualBoxBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + half4 BoxFilter_4Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); + + half4 s = 0; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy) * 0.25h; // 1 MUL + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 0.25h; // 1 MAD + + return s; + } + + + float4 FragBoxBlur(VaryingsDefault i): SV_Target + { + return BoxFilter_4Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBoxBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta new file mode 100644 index 000000000..0f14bba28 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62bec766fb9f11f428d8a5e2e11a61eb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur.meta new file mode 100644 index 000000000..2e1c0fea8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de5c44f6095a15b49991e4d9b1989213 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs new file mode 100644 index 000000000..ae3b5e562 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs @@ -0,0 +1,166 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualGaussianBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualGaussianBlur")] + public class DualGaussianBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 8.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualGaussianBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DualGaussianBlur"; + private Shader shader; + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualGaussianBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down_vertical = Shader.PropertyToID("_BlurMipDownV" + i), + down_horizontal = Shader.PropertyToID("_BlurMipDownH" + i), + up_vertical = Shader.PropertyToID("_BlurMipUpV" + i), + up_horizontal = Shader.PropertyToID("_BlurMipUpH" + i), + + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurOffset = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + struct Level + { + internal int down_vertical; + internal int down_horizontal; + internal int up_horizontal; + internal int up_vertical; + } + + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + Vector4 BlurOffset = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + sheet.properties.SetVector(ShaderIDs.BlurOffset, BlurOffset); + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDownV = m_Pyramid[i].down_vertical; + int mipDowH = m_Pyramid[i].down_horizontal; + int mipUpV = m_Pyramid[i].up_vertical; + int mipUpH = m_Pyramid[i].up_horizontal; + + context.GetScreenSpaceTemporaryRT(cmd, mipDownV, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipDowH, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUpV, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUpH, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + + // horizontal blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(settings.BlurRadius / context.screenWidth, 0, 0, 0)); + context.command.BlitFullscreenTriangle(lastDown, mipDowH, sheet, 0); + + // vertical blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(0, settings.BlurRadius / context.screenHeight, 0, 0)); + context.command.BlitFullscreenTriangle(mipDowH, mipDownV, sheet, 0); + + lastDown = mipDownV; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down_vertical; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + + int mipUpV = m_Pyramid[i].up_vertical; + int mipUpH = m_Pyramid[i].up_horizontal; + + // horizontal blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(settings.BlurRadius / context.screenWidth, 0, 0, 0)); + context.command.BlitFullscreenTriangle(lastUp, mipUpH, sheet, 0); + + // vertical blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(0, settings.BlurRadius / context.screenHeight, 0, 0)); + context.command.BlitFullscreenTriangle(mipUpH, mipUpV, sheet, 0); + + lastUp = mipUpV; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down_vertical != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down_vertical); + if (m_Pyramid[i].down_horizontal != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down_horizontal); + if (m_Pyramid[i].up_horizontal != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up_horizontal); + if (m_Pyramid[i].up_vertical != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up_vertical); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta new file mode 100644 index 000000000..fb9c8faa6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 078dd948866cdbc45847016fec126b10 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta new file mode 100644 index 000000000..fe68c045f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ec2bace935b92e49962a6effe509596 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs new file mode 100644 index 000000000..84b5fe8e9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualGaussianBlur))] + public sealed class DualGaussianBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta new file mode 100644 index 000000000..913190eab --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e30d10625ce46764e9cf0999ebd71500 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md new file mode 100644 index 000000000..14a8d82c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Gaussian Blur + +## Source Code List +- [Shader Code](Shader/DualGaussianBlur.shader) +- [C# Code](DualGaussianBlur.cs) +- [Editor Code](Editor/DualGaussianBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualGaussianBlur/DualGaussianBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualGaussianBlur/DualGaussianBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualGaussianBlur/DualGaussianBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta new file mode 100644 index 000000000..795f6915f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: be4b9c53970bb9147894e1f72b079bd5 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta new file mode 100644 index 000000000..d157cc7b4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d58b12754ed050c45bc559890c94c19f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader new file mode 100644 index 000000000..708b5fdac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader @@ -0,0 +1,102 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualGaussianBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + struct v2f + { + float4 pos: POSITION; + float2 uv: TEXCOORD0; + + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; + }; + + v2f VertGaussianBlur(AttributesDefault v) + { + v2f o; + o.pos = float4(v.vertex.xy, 0, 1); + + o.uv.xy = TransformTriangleVertexToUV(o.pos.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.uv = o.uv * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + //UNITY_SINGLE_PASS_STEREO + o.uv = TransformStereoScreenSpaceTex(o.uv, 1.0); + + o.uv01 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1); + o.uv23 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 2.0; + o.uv45 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 6.0; + + return o; + } + + float4 FragGaussianBlur(v2f i): SV_Target + { + half4 color = float4(0, 0, 0, 0); + + color += 0.40 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw); + + return color; + } + + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertGaussianBlur + #pragma fragment FragGaussianBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta new file mode 100644 index 000000000..3de00b43b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81884ca36274a004b987ac7b461f8896 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur.meta new file mode 100644 index 000000000..5c427af8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: abdab93f171c0e34daed89a5d1bf530f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs new file mode 100644 index 000000000..fdcf8c7fa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs @@ -0,0 +1,137 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualKawaseBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualKawaseBlur")] + public class DualKawaseBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 10.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualKawaseBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DualKawaseBlur"; + private Shader shader; + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualKawaseBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down = Shader.PropertyToID("_BlurMipDown" + i), + up = Shader.PropertyToID("_BlurMipUp" + i) + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int BlurOffset = Shader.PropertyToID("_Offset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + struct Level + { + internal int down; + internal int up; + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + sheet.properties.SetFloat(ShaderIDs.BlurOffset, settings.BlurRadius); + + + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDown = m_Pyramid[i].down; + int mipUp = m_Pyramid[i].up; + context.GetScreenSpaceTemporaryRT(cmd, mipDown, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUp, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + cmd.BlitFullscreenTriangle(lastDown, mipDown, sheet, 0); + + lastDown = mipDown; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + int mipUp = m_Pyramid[i].up; + + cmd.BlitFullscreenTriangle(lastUp, mipUp, sheet, 1); + lastUp = mipUp; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down); + if (m_Pyramid[i].up != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta new file mode 100644 index 000000000..c3f272148 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cdb8901486ed154489954ac45ed02d02 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta new file mode 100644 index 000000000..a51747ed3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a6c8da29cd24aa42880e314d61b769c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs new file mode 100644 index 000000000..677c26c3a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs @@ -0,0 +1,52 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualKawaseBlur))] + public sealed class DualKawaseBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta new file mode 100644 index 000000000..9d6e307cd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cced5a375979eba4286d110ad72f47fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md new file mode 100644 index 000000000..7e45d9b1d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Kawase Blur + +## Source Code List +- [Shader Code](Shader/DualKawaseBlur.shader) +- [C# Code](DualKawaseBlur.cs) +- [Editor Code](Editor/DualKawaseBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualKawaseBlur/DualKawaseBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualKawaseBlur/DualKawaseBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualKawaseBlur/DualKawaseBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta new file mode 100644 index 000000000..46b1ebcdd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df4092ec40782fa4ab06af8716d949a7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta new file mode 100644 index 000000000..c6d06f0a4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c83ccc1f3fa109468cfc2bff5a6c7f4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader new file mode 100644 index 000000000..388da65d4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader @@ -0,0 +1,147 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualKawaseBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform float4 _MainTex_ST; + uniform half _Offset; + + + struct v2f_DownSample + { + float4 vertex: SV_POSITION; + float2 texcoord: TEXCOORD0; + float2 uv: TEXCOORD1; + float4 uv01: TEXCOORD2; + float4 uv23: TEXCOORD3; + }; + + + struct v2f_UpSample + { + float4 vertex: SV_POSITION; + float2 texcoord: TEXCOORD0; + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; + float4 uv67: TEXCOORD4; + }; + + + v2f_DownSample Vert_DownSample(AttributesDefault v) + { + v2f_DownSample o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + float2 uv = TRANSFORM_TEX(o.texcoord, _MainTex); + + _MainTex_TexelSize *= 0.5; + o.uv = uv; + o.uv01.xy = uv - _MainTex_TexelSize * float2(1 + _Offset, 1 + _Offset);//top right + o.uv01.zw = uv + _MainTex_TexelSize * float2(1 + _Offset, 1 + _Offset);//bottom left + o.uv23.xy = uv - float2(_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * float2(1 + _Offset, 1 + _Offset);//top left + o.uv23.zw = uv + float2(_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * float2(1 + _Offset, 1 + _Offset);//bottom right + + return o; + } + + half4 Frag_DownSample(v2f_DownSample i): SV_Target + { + half4 sum = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv) * 4; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + + return sum * 0.125; + } + + + v2f_UpSample Vert_UpSample(AttributesDefault v) + { + v2f_UpSample o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + float2 uv = TRANSFORM_TEX(o.texcoord, _MainTex); + + _MainTex_TexelSize *= 0.5; + _Offset = float2(1 + _Offset, 1 + _Offset); + + o.uv01.xy = uv + float2(-_MainTex_TexelSize.x * 2, 0) * _Offset; + o.uv01.zw = uv + float2(-_MainTex_TexelSize.x, _MainTex_TexelSize.y) * _Offset; + o.uv23.xy = uv + float2(0, _MainTex_TexelSize.y * 2) * _Offset; + o.uv23.zw = uv + _MainTex_TexelSize * _Offset; + o.uv45.xy = uv + float2(_MainTex_TexelSize.x * 2, 0) * _Offset; + o.uv45.zw = uv + float2(_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * _Offset; + o.uv67.xy = uv + float2(0, -_MainTex_TexelSize.y * 2) * _Offset; + o.uv67.zw = uv - _MainTex_TexelSize * _Offset; + + return o; + } + + half4 Frag_UpSample(v2f_UpSample i): SV_Target + { + half4 sum = 0; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw) * 2; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw) * 2; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw) * 2; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv67.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv67.zw) * 2; + + return sum * 0.0833; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert_DownSample + #pragma fragment Frag_DownSample + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert_UpSample + #pragma fragment Frag_UpSample + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta new file mode 100644 index 000000000..4ebb4445c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df1bc5f7812c2f34a888048481602b57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur.meta b/Assets/X-PostProcessing/Effects/DualTentBlur.meta new file mode 100644 index 000000000..bdaf4b20c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3923d54b280ee644e994d434e46b8fad +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs new file mode 100644 index 000000000..be4314ead --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs @@ -0,0 +1,132 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualTentBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualTentBlur")] + public class DualTentBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 8.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualTentBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DualTentBlur"; + private Shader shader; + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualTentBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down = Shader.PropertyToID("_BlurMipDown" + i), + up = Shader.PropertyToID("_BlurMipUp" + i) + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurOffset = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + struct Level + { + internal int down; + internal int up; + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + Vector4 BlurOffset = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + sheet.properties.SetVector(ShaderIDs.BlurOffset, BlurOffset); + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDown = m_Pyramid[i].down; + int mipUp = m_Pyramid[i].up; + context.GetScreenSpaceTemporaryRT(cmd, mipDown, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUp, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + cmd.BlitFullscreenTriangle(lastDown, mipDown, sheet, 0); + + lastDown = mipDown; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + int mipUp = m_Pyramid[i].up; + cmd.BlitFullscreenTriangle(lastUp, mipUp, sheet, 0); + lastUp = mipUp; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down); + if (m_Pyramid[i].up != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta new file mode 100644 index 000000000..9ebde2bcc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bdf4265fe7bedca49b8bd2f386b8b7f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta new file mode 100644 index 000000000..9098753fb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bf12dd0198a56e34c8f89bcf2339cddb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs new file mode 100644 index 000000000..b8f51d306 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualTentBlur))] + public sealed class DualTentBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta new file mode 100644 index 000000000..8f441f66e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6667893e8ee195b429eeb0b5e3af0de2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/README.md b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md new file mode 100644 index 000000000..409754c56 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Tent Blur + +## Source Code List +- [Shader Code](Shader/DualTentBlur.shader) +- [C# Code](DualTentBlur.cs) +- [Editor Code](Editor/DualTentBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualTentBlur/DualTentBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualTentBlur/DualTentBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualTentBlur/DualTentBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta new file mode 100644 index 000000000..7d43bca79 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cc94477ea075b4e4882d47abf464201c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta new file mode 100644 index 000000000..aac4721db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfc271bb8ee38d04f8393cfd6b51aa2c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader new file mode 100644 index 000000000..aa280a630 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader @@ -0,0 +1,81 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualTentBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + // 9-tap tent filter + half4 TentFilter_9Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0); + + half4 s; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.xy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.zy); // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv) * 4.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 2.0; // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy); + + return s * (1.0 / 16.0); + } + + float4 FragTentBlur(VaryingsDefault i): SV_Target + { + return TentFilter_9Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTentBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta new file mode 100644 index 000000000..049594451 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1f24dc1f4f530c44abd12d5e2a4a5c79 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta new file mode 100644 index 000000000..f9080ca37 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f63baee9ccbe024983a22cdd60c8b7c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs new file mode 100644 index 000000000..cb9942a4b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs @@ -0,0 +1,79 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionRobertsRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionRoberts")] + public class EdgeDetectionRoberts : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter edgeWidth = new FloatParameter { value = 0.3f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter edgeColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter backgroundFade = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter backgroundColor = new ColorParameter { value = new Color(1.0f, 1.0f, 1.0f, 1) }; + } + + public sealed class EdgeDetectionRobertsRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionRoberts"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionRoberts"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int EdgeColor = Shader.PropertyToID("_EdgeColor"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.edgeWidth, settings.backgroundFade)); + sheet.properties.SetColor(ShaderIDs.EdgeColor, settings.edgeColor); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.backgroundColor); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta new file mode 100644 index 000000000..c168cc214 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2f2bae125e8b72241b38b94373f3c521 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta new file mode 100644 index 000000000..43b92ea3e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f7f79c17cb05354299a5212692cbf40 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs new file mode 100644 index 000000000..9979cbdfe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionRoberts))] + public sealed class EdgeDetectionRobertsEditor : PostProcessEffectEditor + { + + SerializedParameterOverride edgeWidth; + SerializedParameterOverride backgroundFade; + SerializedParameterOverride edgeColor; + SerializedParameterOverride backgroundColor; + + + public override void OnEnable() + { + edgeWidth = FindParameterOverride(x => x.edgeWidth); + backgroundFade = FindParameterOverride(x => x.backgroundFade); + edgeColor = FindParameterOverride(x => x.edgeColor); + backgroundColor = FindParameterOverride(x => x.backgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(edgeWidth); + PropertyField(edgeColor, new GUIContent("Edge Color")); + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(backgroundFade); + PropertyField(backgroundColor); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta new file mode 100644 index 000000000..9f53f2582 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3c23eb17650b5a04fbfa22af4d124dc3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md new file mode 100644 index 000000000..a5f03b312 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md @@ -0,0 +1,20 @@ + +# Edge Detection Roberts + +## Source Code List +- [Shader Code](Shader/EdgeDetectionRoberts.shader) +- [C# Code](EdgeDetectionRoberts.cs) +- [Editor Code](Editor/EdgeDetectionRobertsEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRobertsProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts1.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts2.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta new file mode 100644 index 000000000..3d9fd1a64 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2e91a5e8cb0e98e47bfc1ae0f66565aa +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta new file mode 100644 index 000000000..49823184f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd37fad31c0692144ae95dbf78f1a7c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader new file mode 100644 index 000000000..fdb0cfeb8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader @@ -0,0 +1,210 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionRoberts" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half2 _Params; + half4 _EdgeColor; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _BackgroundFade _Params.y + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Roberts Operator + //X = -1 0 Y = 0 -1 + // 0 1 1 0 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = -1.0 * topLeft + 1.0 * bottomRight; + + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -1.0 * topRight + 1.0 * bottomLeft; + + + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i): SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y, i.texcoord); + + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, _EdgeColor.rgb, sobelGradient); + + return float4(edgeColor, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } + + + + + + + + + + + + + + + + + + + + //HLSLINCLUDE + // + //#include "../../../Shaders/StdLib.hlsl" + //#include "../../../Shaders/XPostProcessing.hlsl" + // + // + // + //half _Float1; + //half _Float2; + //half _Float3; + //half4 _Color1; + // + + //struct v2f + //{ + // float2 uvRoberts[5] : TEXCOORD0; + + // float4 vertex : SV_POSITION; + //}; + + + //v2f vert_Roberts(appdata v) + //{ + // v2f o; + // o.vertex = UnityObjectToClipPos(v.vertex); + // o.uvRoberts[0] = v.uv + float2(-1, -1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[1] = v.uv + float2(1, -1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[2] = v.uv + float2(-1, 1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[3] = v.uv + float2(1, 1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[4] = v.uv; + // return o; + //} + + //float Roberts(v2f i) + //{ + // const float Gx[4] = + // { + // -1, 0, + // 0, 1 + // }; + + // const float Gy[4] = + // { + // 0, -1, + // 1, 0 + // }; + + // float edgex, edgey; + // for (int j = 0; j < 4; j++) + // { + // fixed4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uvRoberts[j]); + // float lum = Luminance(col.rgb); + + // edgex += lum * Gx[j]; + // edgey += lum * Gy[j]; + // } + // return 1 - abs(edgex) - abs(edgey); + //} + + //fixed4 frag_Roberts(v2f i) : SV_Target + //{ + // fixed4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uvRoberts[4]); + // float g = Roberts(i); + // g = pow(g, _EdgePower); + // col.rgb = lerp(_EdgeColor, _NonEdgeColor, g); + + // return col; + //} + + + ////half4 Frag(VaryingsDefault i): SV_Target + ////{ + //// + //// half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + //// half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + float3(0, 2, 4)); + //// + //// half3 finalColor = lerp(sceneColor.rgb, col, _Float1 * 0.1); + //// + //// return half4(finalColor, 1.0); + ////} + //// + //ENDHLSL + // + + //SubShader + //{ + // Cull Off ZWrite Off ZTest Always + // + // Pass + // { + // HLSLPROGRAM + // + // #pragma vertex vert_Roberts + // #pragma fragment frag_Roberts + // + // ENDHLSL + // + // } + //} + } + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta new file mode 100644 index 000000000..b0734da00 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5e8504f7bef17d4fa9f7af959b51afb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta new file mode 100644 index 000000000..744d8971d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbd464fdaa6428c429225cc0121b9a3b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs new file mode 100644 index 000000000..9359dc1e9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs @@ -0,0 +1,76 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionRobertsNeonRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionRobertsNeon")] + public class EdgeDetectionRobertsNeon : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 1f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + } + + public sealed class EdgeDetectionRobertsNeonRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionRobertsNeon"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionRobertsNeon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.EdgeWidth, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta new file mode 100644 index 000000000..d64b0efc0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f28a4ba68df41f489a36a1e97ec64f9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta new file mode 100644 index 000000000..b90f26b50 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: faf7fd857b06b47428fe8e394b6f8d1e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs new file mode 100644 index 000000000..eb0deb1f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionRobertsNeon))] + public sealed class EdgeDetectionRobertsNeonEditor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Brigtness"); + PropertyField(Brigtness); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta new file mode 100644 index 000000000..6a757eef4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a7236d484cd3ef4382f0d954479c0a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md new file mode 100644 index 000000000..7bbd0b369 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md @@ -0,0 +1,17 @@ + +# Edge Detection Roberts Neon + +## Source Code List +- [Shader Code](Shader/EdgeDetectionRobertsNeon.shader) +- [C# Code](EdgeDetectionRobertsNeon.cs) +- [Editor Code](Editor/EdgeDetectionRobertsNeonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta new file mode 100644 index 000000000..d3cf7e029 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d1c0cf02685e9b14bb8faff51c549ada +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta new file mode 100644 index 000000000..91014ab8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a480d9d6d5185a947880e04241337aba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader new file mode 100644 index 000000000..5ba79da4e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader @@ -0,0 +1,95 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionRobertsNeon" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _Brigtness _Params.y + #define _BackgroundFade _Params.z + + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Roberts Operator + //X = -1 0 Y = 0 -1 + // 0 1 1 0 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = -1.0 * topLeft + 1.0 * bottomRight; + + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -1.0 * topRight + 1.0 * bottomLeft; + + + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //BackgroundFading + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sceneColor.rgb, sobelGradient); + + return float4(edgeColor * _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta new file mode 100644 index 000000000..d5f6b53b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a5d5269f77f7f145bbb707f3d6d8cc5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta new file mode 100644 index 000000000..7ca61eff4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9898160e12d249d408ad10bcddbefac6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs new file mode 100644 index 000000000..a400d99b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionRobertsNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionRobertsNeonV2")] + public class EdgeDetectionRobertsNeonV2 : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.1f, 1.0f)] + public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 0f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionRobertsNeonV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionRobertsNeonV2"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionRobertsNeonV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.EdgeWidth, settings.EdgeNeonFade, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta new file mode 100644 index 000000000..28548959e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc726aec1b9e74b4497f36ba436761d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta new file mode 100644 index 000000000..b62a6825a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a2549a1b84c3b245925d84556be899c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs new file mode 100644 index 000000000..d28fc9010 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionRobertsNeonV2))] + public sealed class EdgeDetectionRobertsNeonV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride EdgeNeonFade; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + EdgeNeonFade = FindParameterOverride(x => x.EdgeNeonFade); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + PropertyField(EdgeNeonFade); + + EditorUtilities.DrawHeaderLabel("Background Property( For Edge Neon Fade <1 )"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(Brigtness); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta new file mode 100644 index 000000000..78e87e274 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ceb3cd2ad2e76684499fa76ade51c5e4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md new file mode 100644 index 000000000..4045c61e1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md @@ -0,0 +1,17 @@ + +# Edge Detection Roberts Neon V2 + +## Source Code List +- [Shader Code](Shader/EdgeDetectionRobertsNeonV2.shader) +- [C# Code](EdgeDetectionRobertsNeonV2.cs) +- [Editor Code](Editor/EdgeDetectionRobertsNeonV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2Property.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta new file mode 100644 index 000000000..85ae19f7b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 858e352abdea1bc4e826be07cc475887 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta new file mode 100644 index 000000000..14c98d25f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4462cb0422d578d4cb4b981cbf736f27 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader new file mode 100644 index 000000000..0bf15c200 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader @@ -0,0 +1,87 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionRobertsNeonV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _EdgeNeonFade _Params.y + #define _Brigtness _Params.z + #define _BackgroundFade _Params.w + + + float3 sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float3 topLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy)).rgb; + float3 bottomLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy)).rgb; + float3 topRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy)).rgb; + float3 bottomRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy)).rgb; + + // Roberts Operator + //X = -1 0 Y = 0 -1 + // 0 1 1 0 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float3 Gx = -1.0 * topLeft + 1.0 * bottomRight; + + // Gy = sum(kernelY[i][j]*image[i][j]); + float3 Gy = -1.0 * topRight + 1.0 * bottomLeft; + + + float3 sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + half4 Frag(VaryingsDefault i): SV_Target + { + + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float3 sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y, i.texcoord); + + half3 backgroundColor = lerp(_BackgroundColor.rgb, sceneColor.rgb, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sobelGradient.rgb, _EdgeNeonFade); + + return float4(edgeColor * _Brigtness, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta new file mode 100644 index 000000000..5a2708543 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6808ec2892f65624cb11c847e877ca0b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta new file mode 100644 index 000000000..3852653f2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7acf5e6616ee46649a47b755bc673651 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs new file mode 100644 index 000000000..ab828b41e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionScharrRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionScharr")] + public class EdgeDetectionScharr : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter edgeWidth = new FloatParameter { value = 0.3f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter edgeColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter backgroundFade = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter backgroundColor = new ColorParameter { value = new Color(1.0f, 1.0f, 1.0f, 1) }; + } + + public sealed class EdgeDetectionScharrRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionScharr"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionScharr"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int EdgeColor = Shader.PropertyToID("_EdgeColor"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.edgeWidth, settings.backgroundFade)); + sheet.properties.SetColor(ShaderIDs.EdgeColor, settings.edgeColor); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.backgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta new file mode 100644 index 000000000..a35ca0972 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 429cea4139dc31045991cc87717ec0b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta new file mode 100644 index 000000000..848930fb4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b28aafa91c09bb45be1fdd9ab82147f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs new file mode 100644 index 000000000..9d38702d3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs @@ -0,0 +1,58 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionScharr))] + public sealed class EdgeDetectionScharrEditor : PostProcessEffectEditor + { + + + SerializedParameterOverride edgeWidth; + SerializedParameterOverride backgroundFade; + SerializedParameterOverride edgeColor; + SerializedParameterOverride backgroundColor; + + + public override void OnEnable() + { + edgeWidth = FindParameterOverride(x => x.edgeWidth); + backgroundFade = FindParameterOverride(x => x.backgroundFade); + edgeColor = FindParameterOverride(x => x.edgeColor); + backgroundColor = FindParameterOverride(x => x.backgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(edgeWidth); + PropertyField(edgeColor, new GUIContent("Edge Color")); + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(backgroundFade); + PropertyField(backgroundColor); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta new file mode 100644 index 000000000..9b6a2a7e1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 531492c49c21bae4c9cb9c4388ce9352 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md new file mode 100644 index 000000000..943ad6813 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md @@ -0,0 +1,20 @@ + +# Edge Detection Scharr + +## Source Code List +- [Shader Code](Shader/EdgeDetectionScharr.shader) +- [C# Code](EdgeDetectionScharr.cs) +- [Editor Code](Editor/EdgeDetectionScharrEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharrProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr1.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr2.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta new file mode 100644 index 000000000..42421e4e8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 02c0a845af146594a8775e270c6ebce6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta new file mode 100644 index 000000000..65b5f8ea1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8dd7a1a865c5ab4aa3e152265746ca6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader new file mode 100644 index 000000000..6ffce4982 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader @@ -0,0 +1,98 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionScharr" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half2 _Params; + half4 _EdgeColor; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _BackgroundFade _Params.y + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float scharr(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // scharr masks ( http://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators) + // 3 0 -3 3 10 3 + // X = 10 0 -10 Y = 0 0 0 + // 3 0 -3 -3 -10 -3 + + // Gx = sum(kernelX[i][j]*image[i][j]); + float Gx = 3.0* topLeft + 10.0 * midLeft + 3.0 * bottomLeft -3.0* topRight - 10.0 * midRight - 3.0* bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = 3.0 * topLeft + 10.0 * midTop + 3.0 * topRight -3.0* bottomLeft - 10.0 * midBottom -3.0* bottomRight; + + float scharrGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return scharrGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float scharrGradient = scharr(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //return sceneColor * scharrGradient; + //BackgroundFading + sceneColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(sceneColor.rgb, _EdgeColor.rgb, scharrGradient); + + return float4(edgeColor, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta new file mode 100644 index 000000000..79689b58a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4feb65ad6bee994c8a288a4151b1039 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta new file mode 100644 index 000000000..f23834453 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81dfb9ae3483ae246be83ea78246e000 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs new file mode 100644 index 000000000..5b8f3006f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs @@ -0,0 +1,75 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionScharrNeonRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionScharrNeon")] + public class EdgeDetectionScharrNeon : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 1f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionScharrNeonRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionScharrNeon"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionScharrNeon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.EdgeWidth, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta new file mode 100644 index 000000000..0654d3e66 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 002da35f1bafacb498a4f9a7e955d871 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta new file mode 100644 index 000000000..8c419dd13 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e275608d1778724487001ad6ea4f27e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs new file mode 100644 index 000000000..ce5ce2af3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionScharrNeon))] + public sealed class EdgeDetectionScharrNeonEditor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Brigtness"); + PropertyField(Brigtness); + + } + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta new file mode 100644 index 000000000..03d2659d4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4ac46c57d95c3dd44bdf8287762717f0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md new file mode 100644 index 000000000..c91f01274 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md @@ -0,0 +1,17 @@ + +# EdgeDetectionScharrNeon + +## Source Code List +- [Shader Code](Shader/EdgeDetectionScharrNeon.shader) +- [C# Code](EdgeDetectionScharrNeon.cs) +- [Editor Code](Editor/EdgeDetectionScharrNeonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeon/EdgeDetectionScharrNeonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta new file mode 100644 index 000000000..fb2d388fa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4036f4e689d7bd04ba1cf276fa0199e6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta new file mode 100644 index 000000000..966796148 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a1d4313b902ba84dbaa110f8562a765 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader new file mode 100644 index 000000000..d319db472 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader @@ -0,0 +1,97 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionScharrNeon" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _Brigtness _Params.y + #define _BackgroundFade _Params.z + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float scharr(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // scharr masks ( http://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators) + // 3 0 -3 3 10 3 + // X = 10 0 -10 Y = 0 0 0 + // 3 0 -3 -3 -10 -3 + + // Gx = sum(kernelX[i][j]*image[i][j]); + float Gx = 3.0 * topLeft + 10.0 * midLeft + 3.0 * bottomLeft - 3.0 * topRight - 10.0 * midRight - 3.0 * bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = 3.0 * topLeft + 10.0 * midTop + 3.0 * topRight - 3.0 * bottomLeft - 10.0 * midBottom - 3.0 * bottomRight; + + float scharrGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return scharrGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float scharrGradient = scharr(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //BackgroundFading + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sceneColor.rgb, scharrGradient); + + return float4(edgeColor * _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta new file mode 100644 index 000000000..7f715dda0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e3bbc6f303acc045b917f42310f52da +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta new file mode 100644 index 000000000..166851631 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e008d514a6a08664e8d8216dda1e503d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs new file mode 100644 index 000000000..21faa7c85 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs @@ -0,0 +1,77 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionScharrNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionScharrNeonV2")] + public class EdgeDetectionScharrNeonV2 : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.1f, 1.0f)] + public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 0f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionScharrNeonV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionScharrNeonV2"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionScharrNeonV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.EdgeWidth, settings.EdgeNeonFade, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta new file mode 100644 index 000000000..05abdb2df --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97b9164b45b8da14983ece4a6836bc65 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta new file mode 100644 index 000000000..b535e8f94 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5c99f77b82d71d41add499733e73022 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs new file mode 100644 index 000000000..7ebc25892 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionScharrNeonV2))] + public sealed class EdgeDetectionScharrNeonV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride EdgeNeonFade; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + EdgeNeonFade = FindParameterOverride(x => x.EdgeNeonFade); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + PropertyField(EdgeNeonFade); + + EditorUtilities.DrawHeaderLabel("Background Property( For Edge Neon Fade <1 )"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(Brigtness); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta new file mode 100644 index 000000000..82086396f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 00c7d98c5ad7798498e3d5bb16a2758c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md new file mode 100644 index 000000000..cd89a79fc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md @@ -0,0 +1,17 @@ + +# Edge Detection Scharr Neon V2 + +## Source Code List +- [Shader Code](Shader/EdgeDetectionScharrNeonV2.shader) +- [C# Code](EdgeDetectionScharrNeonV2.cs) +- [Editor Code](Editor/EdgeDetectionScharrNeonV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2Property.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta new file mode 100644 index 000000000..ae95345b9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a480346b1ef061f498bc8de796759271 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta new file mode 100644 index 000000000..1a0bd9edb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be4a1475885bf9f40a712f94842a006c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader new file mode 100644 index 000000000..399900276 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader @@ -0,0 +1,88 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionScharrNeonV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _EdgeNeonFade _Params.y + #define _Brigtness _Params.z + #define _BackgroundFade _Params.w + + + float3 scharr(float stepx, float stepy, float2 center) + { + // get samples around pixel + float3 topLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy)).rgb; + float3 midLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0)).rgb; + float3 bottomLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy)).rgb; + float3 midTop = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy)).rgb; + float3 midBottom = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy)).rgb; + float3 topRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy)).rgb; + float3 midRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0)).rgb; + float3 bottomRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy)).rgb; + + + // scharr masks ( http://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators) + // 3 0 -3 3 10 3 + // X = 10 0 -10 Y = 0 0 0 + // 3 0 -3 -3 -10 -3 + + // Gx = sum(kernelX[i][j]*image[i][j]); + float3 Gx = 3.0 * topLeft + 10.0 * midLeft + 3.0 * bottomLeft - 3.0 * topRight - 10.0 * midRight - 3.0 * bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float3 Gy = 3.0 * topLeft + 10.0 * midTop + 3.0 * topRight - 3.0 * bottomLeft - 10.0 * midBottom - 3.0 * bottomRight; + + float3 scharrGradient = sqrt((Gx * Gx) + (Gy * Gy)).rgb; + return scharrGradient; + } + + + + half4 Frag(VaryingsDefault i): SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float3 scharrGradient = scharr(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y, i.texcoord); + + half3 backgroundColor = lerp(_BackgroundColor.rgb, sceneColor.rgb, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, scharrGradient.rgb, _EdgeNeonFade); + + return float4(edgeColor * _Brigtness, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta new file mode 100644 index 000000000..ac7ab40ca --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2f754b5f4df0b042b66aac36fd2a8c6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta new file mode 100644 index 000000000..13307168e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 31da48c5400a8c74997c998f7bf0404e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs new file mode 100644 index 000000000..d5ef16218 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionSobelRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobel")] + public class EdgeDetectionSobel : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter edgeWidth = new FloatParameter { value = 0.3f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter edgeColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter backgroundFade = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter backgroundColor = new ColorParameter { value = new Color(1.0f, 1.0f, 1.0f, 1) }; + } + + public sealed class EdgeDetectionSobelRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionSobel"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionSobel"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int EdgeColor = Shader.PropertyToID("_EdgeColor"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.edgeWidth, settings.backgroundFade)); + sheet.properties.SetColor(ShaderIDs.EdgeColor, settings.edgeColor); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.backgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta new file mode 100644 index 000000000..73a0b5615 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86f11867526af01438f100677cd3633d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta new file mode 100644 index 000000000..46320a997 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ed69829fb23d5e418cdfd5a4f48f528 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs new file mode 100644 index 000000000..7f83c9540 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionSobel))] + public sealed class EdgeDetectionSobelEditor : PostProcessEffectEditor + { + + SerializedParameterOverride edgeWidth; + SerializedParameterOverride backgroundFade; + SerializedParameterOverride edgeColor; + SerializedParameterOverride backgroundColor; + + + public override void OnEnable() + { + edgeWidth = FindParameterOverride(x => x.edgeWidth); + backgroundFade = FindParameterOverride(x => x.backgroundFade); + edgeColor = FindParameterOverride(x => x.edgeColor); + backgroundColor = FindParameterOverride(x => x.backgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(edgeWidth); + PropertyField(edgeColor,new GUIContent("Edge Color")); + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(backgroundFade); + PropertyField(backgroundColor); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta new file mode 100644 index 000000000..562f94697 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f66931180a1810c40b4e06089498fd20 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md new file mode 100644 index 000000000..6b9327203 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md @@ -0,0 +1,20 @@ + +# Edge Detection Sobel + +## Source Code List +- [Shader Code](Shader/EdgeDetectionSobel.shader) +- [C# Code](EdgeDetectionSobel.cs) +- [Editor Code](Editor/EdgeDetectionSobelEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobelProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel1.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel2.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta new file mode 100644 index 000000000..433ce1b58 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f6cbbf87a3f3004d88842023184f0a1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta new file mode 100644 index 000000000..387e5db32 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e4ae8fccb71bb14ab0a71004d938998 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader new file mode 100644 index 000000000..2dbaaf8aa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader @@ -0,0 +1,95 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- +// reference: https://www.shadertoy.com/view/Xdf3Rf +// https://en.wikipedia.org/wiki/Sobel_operator + +Shader "Hidden/X-PostProcessing/EdgeDetectionSobel" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half2 _Params; + half4 _EdgeColor; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _BackgroundFade _Params.y + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Sobel masks (see http://en.wikipedia.org/wiki/Sobel_operator) + // 1 0 -1 -1 -2 -1 + // X = 2 0 -2 Y = 0 0 0 + // 1 0 -1 1 2 1 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = topLeft + 2.0 * midLeft + bottomLeft - topRight - 2.0 * midRight - bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -topLeft - 2.0 * midTop - topRight + bottomLeft + 2.0 * midBottom + bottomRight; + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i): SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient= sobel(_EdgeWidth /_ScreenParams.x, _EdgeWidth /_ScreenParams.y , i.texcoord); + + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, _EdgeColor.rgb, sobelGradient); + + return float4(edgeColor, 1); + + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta new file mode 100644 index 000000000..20418fb97 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9baa77a78785b1f4d9760258a6227eb1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta new file mode 100644 index 000000000..7a126a71f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c0828f5d8916fa439379a36a18744f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs new file mode 100644 index 000000000..ea1bca1ff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs @@ -0,0 +1,75 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionSobelNeonRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobelNeon")] + public class EdgeDetectionSobelNeon : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 1f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionSobelNeonRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionSobelNeon"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionSobelNeon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.EdgeWidth, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta new file mode 100644 index 000000000..a24176d6f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c632c6b870c3ab44daa5a6a8161b9e00 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta new file mode 100644 index 000000000..0105e9eb8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea4309477fbd6c840a99139f73c599f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs new file mode 100644 index 000000000..e619aa814 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionSobelNeon))] + public sealed class EdgeDetectionSobelNeonEditor : PostProcessEffectEditor + { + + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Brigtness"); + PropertyField(Brigtness); + + } + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta new file mode 100644 index 000000000..2a174701b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c0ee6e8a7907424ba00f4e6f2772b5a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md new file mode 100644 index 000000000..44dd2e21d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md @@ -0,0 +1,17 @@ + +# EdgeDetectionSobelNeon + +## Source Code List +- [Shader Code](Shader/EdgeDetectionSobelNeon.shader) +- [C# Code](EdgeDetectionSobelNeon.cs) +- [Editor Code](Editor/EdgeDetectionSobelNeonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeon/EdgeDetectionSobelNeonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta new file mode 100644 index 000000000..7921bbcf9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7db3864f288845844b3ef7f0d90b488e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta new file mode 100644 index 000000000..21dccbad3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1343bd06c26a9304f925dea31ecc437e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader new file mode 100644 index 000000000..3b7c92243 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader @@ -0,0 +1,96 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionSobelNeon" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _Brigtness _Params.y + #define _BackgroundFade _Params.z + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Sobel masks (see http://en.wikipedia.org/wiki/Sobel_operator) + // 1 0 -1 -1 -2 -1 + // X = 2 0 -2 Y = 0 0 0 + // 1 0 -1 1 2 1 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = topLeft + 2.0 * midLeft + bottomLeft - topRight - 2.0 * midRight - bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -topLeft - 2.0 * midTop - topRight + bottomLeft + 2.0 * midBottom + bottomRight; + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //BackgroundFading + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sceneColor.rgb, sobelGradient); + + return float4(edgeColor* _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta new file mode 100644 index 000000000..0eb8ede42 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50e6479c568f8f443b0618e7ada659d5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta new file mode 100644 index 000000000..5f73aac11 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: faa9c47fd467e304eb704c00ceec3233 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs new file mode 100644 index 000000000..328d32c86 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionSobelNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobelNeonV2")] + public class EdgeDetectionSobelNeonV2 : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.1f, 1.0f)] + public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 0f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionSobelNeonV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionSobelNeonV2"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionSobelNeonV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.EdgeWidth, settings.EdgeNeonFade, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta new file mode 100644 index 000000000..fad21eba7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efbb636e5cc391347869277957d9c319 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta new file mode 100644 index 000000000..8998c0887 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bc5eceeb5da297b4e9e1b884af5cb493 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs new file mode 100644 index 000000000..2bfa3f4f3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs @@ -0,0 +1,62 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionSobelNeonV2))] + public sealed class EdgeDetectionSobelNeonV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride EdgeNeonFade; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + EdgeNeonFade = FindParameterOverride(x => x.EdgeNeonFade); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + PropertyField(EdgeNeonFade); + + + EditorUtilities.DrawHeaderLabel("Background Property( For Edge Neon Fade <1 )"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(Brigtness); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta new file mode 100644 index 000000000..ff7d62da3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ce1cb6b1f506c5341b20235976dceae5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md new file mode 100644 index 000000000..1b135f309 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md @@ -0,0 +1,18 @@ + +# EdgeDetectionSobelNeonV2 + +## Source Code List +- [Shader Code](Shader/EdgeDetectionSobelNeonV2.shader) +- [C# Code](EdgeDetectionSobelNeonV2.cs) +- [Editor Code](Editor/EdgeDetectionSobelNeonV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2Property.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.gif) + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta new file mode 100644 index 000000000..8272557ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5728ae5348a413f4a9854a174a64ec14 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta new file mode 100644 index 000000000..1e930d8e6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 063613e3c9953ca468c7d36f2cfaea05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader new file mode 100644 index 000000000..ce5c8dc35 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader @@ -0,0 +1,93 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionSobelNeonV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _EdgeNeonFade _Params.y + #define _Brigtness _Params.z + #define _BackgroundFade _Params.w + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float3 sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float3 topLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy)).rgb; + float3 midLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0)).rgb; + float3 bottomLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy)).rgb; + float3 midTop = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy)).rgb; + float3 midBottom = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy)).rgb; + float3 topRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy)).rgb; + float3 midRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0)).rgb; + float3 bottomRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy)).rgb; + + // Sobel masks (see http://en.wikipedia.org/wiki/Sobel_operator) + // 1 0 -1 -1 -2 -1 + // X = 2 0 -2 Y = 0 0 0 + // 1 0 -1 1 2 1 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float3 Gx = topLeft + 2.0 * midLeft + bottomLeft - topRight - 2.0 * midRight - bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float3 Gy = -topLeft - 2.0 * midTop - topRight + bottomLeft + 2.0 * midBottom + bottomRight; + float3 sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float3 sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + half3 backgroundColor = lerp(_BackgroundColor.rgb, sceneColor.rgb, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, sobelGradient.rgb, _EdgeNeonFade); + + return float4(edgeColor * _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta new file mode 100644 index 000000000..051861c52 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 12a023182120c1c468339f082d0c7bad +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur.meta b/Assets/X-PostProcessing/Effects/GaussianBlur.meta new file mode 100644 index 000000000..85a99bcf1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9281904b0cde1c94bacde83b537267dd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta new file mode 100644 index 000000000..f942c1f3e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca15f25ca80bde14098338a8203e2e72 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs new file mode 100644 index 000000000..0ff900d95 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GaussianBlur))] + public sealed class GaussianBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta new file mode 100644 index 000000000..81f30407e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b159a1518c6da843a48d31874c8a78a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs new file mode 100644 index 000000000..79fd4308a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs @@ -0,0 +1,98 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GaussianBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/GaussianBlur")] + public class GaussianBlur : PostProcessEffectSettings + { + + [Range(0f, 5f)] + public FloatParameter BlurRadius = new FloatParameter { value = 3f }; + + [Range(1, 15)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2f }; + } + + public sealed class GaussianBlurRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-GaussianBlur"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/GaussianBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int BlurRadius = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + for (int i = 0; i < settings.Iteration; i++) + { + // horizontal blur + sheet.properties.SetVector(ShaderIDs.BlurRadius, new Vector4(settings.BlurRadius / context.screenWidth, 0, 0, 0)); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT1, ShaderIDs.BufferRT2, sheet, 0); + + // vertical blur + sheet.properties.SetVector(ShaderIDs.BlurRadius, new Vector4(0, settings.BlurRadius / context.screenHeight, 0, 0)); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT2, ShaderIDs.BufferRT1, sheet, 0); + } + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 1); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta new file mode 100644 index 000000000..2cb249992 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 824ef16946450f94186364308f3d1eaf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/README.md b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md new file mode 100644 index 000000000..9b29af71c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md @@ -0,0 +1,16 @@ + +# Gaussian Blur + +## Source Code List +- [Shader Code](Shader/GaussianBlur.shader) +- [C# Code](GaussianBlur.cs) +- [Editor Code](Editor/GaussianBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GaussianBlur/GaussianBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GaussianBlur/GaussianBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GaussianBlur/GaussianBlur.gif) diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta new file mode 100644 index 000000000..dbd92758f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9ebda7e3a0bcd7c4b8c77597c386d337 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta new file mode 100644 index 000000000..1978649de --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0db1f80be22037d48b08fe55d254fd6e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader new file mode 100644 index 000000000..35cb2bf85 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader @@ -0,0 +1,100 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/GaussianBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + struct v2f + { + float4 pos: POSITION; + float2 uv: TEXCOORD0; + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; + }; + + v2f VertGaussianBlur(AttributesDefault v) + { + v2f o; + o.pos = float4(v.vertex.xy, 0, 1); + + o.uv.xy = TransformTriangleVertexToUV(o.pos.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.uv = o.uv * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + o.uv = TransformStereoScreenSpaceTex(o.uv, 1.0); + + o.uv01 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1); + o.uv23 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 2.0; + o.uv45 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 6.0; + + return o; + } + + float4 FragGaussianBlur(v2f i): SV_Target + { + half4 color = float4(0, 0, 0, 0); + + color += 0.40 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw); + + return color; + } + + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertGaussianBlur + #pragma fragment FragGaussianBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta new file mode 100644 index 000000000..357489f29 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b0680d06d5673e438e41b4af0775d1e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta new file mode 100644 index 000000000..b711f11b1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 222239416aa63dc41b9ef35f7c5f1ba8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta new file mode 100644 index 000000000..22718ee57 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fdb86813f07c4ee4d8f1d5d64fad69b1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs new file mode 100644 index 000000000..2a29f43d8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs @@ -0,0 +1,52 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchAnalogNoise))] + public sealed class GlitchAnalogNoiseEditor : PostProcessEffectEditor + { + + SerializedParameterOverride NoiseSpeed; + SerializedParameterOverride NoiseFading; + SerializedParameterOverride LuminanceJitterThreshold; + + + public override void OnEnable() + { + NoiseSpeed = FindParameterOverride(x => x.NoiseSpeed); + NoiseFading = FindParameterOverride(x => x.NoiseFading); + LuminanceJitterThreshold = FindParameterOverride(x => x.LuminanceJitterThreshold); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(NoiseSpeed); + PropertyField(NoiseFading); + PropertyField(LuminanceJitterThreshold); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta new file mode 100644 index 000000000..281b1b119 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8ecb03fef57c331449d5a7ac904bb842 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs new file mode 100644 index 000000000..09e3068a8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs @@ -0,0 +1,79 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchAnalogNoiseRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/AnalogNoise")] + public class GlitchAnalogNoise : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter NoiseSpeed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter NoiseFading = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter LuminanceJitterThreshold = new FloatParameter { value = 0.8f }; + + } + + public sealed class GlitchAnalogNoiseRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchAnalogNoise"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/AnalogNoise"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.NoiseSpeed, settings.NoiseFading, settings.LuminanceJitterThreshold, TimeX)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta new file mode 100644 index 000000000..d33ed5b43 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 292a5d75bad86324881ba9dbb87cb997 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md new file mode 100644 index 000000000..9bff5acc5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md @@ -0,0 +1,17 @@ + +# GlitchAnalogNoise + +## Source Code List +- [Shader Code](Shader/GlitchAnalogNoise.shader) +- [C# Code](GlitchAnalogNoise.cs) +- [Editor Code](Editor/GlitchAnalogNoiseEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchAnalogNoise/GlitchAnalogNoise.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchAnalogNoise/GlitchAnalogNoise1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchAnalogNoise/GlitchAnalogNoise.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta new file mode 100644 index 000000000..5b450a753 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dbe7dc3e631deb340b13ebc90c6c7288 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta new file mode 100644 index 000000000..80c196d0f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4920d9c8b6c601b439f2ccb85a0bc893 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader new file mode 100644 index 000000000..9f970e18c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/AnalogNoise" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half4 _Params; + #define _Speed _Params.x + #define _Fading _Params.y + #define _LuminanceJitterThreshold _Params.z + #define _TimeX _Params.w + + + //uniform half _Fading; + //uniform half _TimeX; + //uniform half _LuminanceJitterThreshold; + + float randomNoise(float2 c) + { + return frac(sin(dot(c.xy, float2(12.9898, 78.233))) * 43758.5453); + } + + half4 Frag(VaryingsDefault i): SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 noiseColor = sceneColor; + + half luminance = dot(noiseColor.rgb, fixed3(0.22, 0.707, 0.071)); + if (randomNoise(float2(_TimeX * _Speed, _TimeX * _Speed)) > _LuminanceJitterThreshold) + { + noiseColor = float4(luminance, luminance, luminance, luminance); + } + + float noiseX = randomNoise(_TimeX * _Speed + i.texcoord / float2(-213, 5.53)); + float noiseY = randomNoise(_TimeX * _Speed - i.texcoord / float2(213, -5.53)); + float noiseZ = randomNoise(_TimeX * _Speed + i.texcoord / float2(213, 5.53)); + + noiseColor.rgb += 0.25 * float3(noiseX,noiseY,noiseZ) - 0.125; + + noiseColor = lerp(sceneColor, noiseColor, _Fading); + + return noiseColor; + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta new file mode 100644 index 000000000..dee2a22e1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 970b4207e98f9cd49a3b7dd771a02c23 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta new file mode 100644 index 000000000..796f12e3e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c029d66d59a4a9b4aabe8463edda59aa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta new file mode 100644 index 000000000..275c44db8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb432df036e3c1449904366e718482fc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs new file mode 100644 index 000000000..3b3eedcf7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchDigitalStripe))] + public sealed class GlitchDigitalStripeEditor : PostProcessEffectEditor + { + + SerializedParameterOverride intensity; + SerializedParameterOverride frequncy; + SerializedParameterOverride stripeLength; + SerializedParameterOverride noiseTextureWidth; + SerializedParameterOverride noiseTextureHeight; + SerializedParameterOverride needStripColorAdjust; + SerializedParameterOverride StripColorAdjustIndensity; + SerializedParameterOverride StripColorAdjustColor; + + + + + public override void OnEnable() + { + intensity = FindParameterOverride(x => x.intensity); + frequncy = FindParameterOverride(x => x.frequncy); + stripeLength = FindParameterOverride(x => x.stripeLength); + noiseTextureHeight = FindParameterOverride(x => x.noiseTextureHeight); + noiseTextureWidth = FindParameterOverride(x => x.noiseTextureWidth); + needStripColorAdjust = FindParameterOverride(x => x.needStripColorAdjust); + StripColorAdjustIndensity = FindParameterOverride(x => x.StripColorAdjustIndensity); + StripColorAdjustColor = FindParameterOverride(x => x.StripColorAdjustColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(intensity); + PropertyField(frequncy); + + + EditorUtilities.DrawHeaderLabel("Stripe Generate"); + PropertyField(stripeLength); + + EditorUtilities.DrawHeaderLabel("Noise Texture Size"); + PropertyField(noiseTextureWidth); + PropertyField(noiseTextureHeight); + + EditorUtilities.DrawHeaderLabel("Strip Color Adjust"); + PropertyField(needStripColorAdjust); + PropertyField(StripColorAdjustIndensity); + PropertyField(StripColorAdjustColor); + + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta new file mode 100644 index 000000000..d23a01fe1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f70e60fef271f8a4b912a0f952d34fa9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs new file mode 100644 index 000000000..fcee9370e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs @@ -0,0 +1,151 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : https://github.com/keijiro/KinoGlitch + +using System; +using System.IO; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [Serializable] + [PostProcess(typeof(GlitchDigitalStripeRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/DigitalStripe")] + public class GlitchDigitalStripe : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter intensity = new FloatParameter { value = 0.25f }; + + [Range(1, 10)] + public IntParameter frequncy = new IntParameter { value = 3 }; + + [Range(0f, 0.99f)] + public FloatParameter stripeLength = new FloatParameter { value = 0.89f }; + + [Range(8, 256)] + public IntParameter noiseTextureWidth = new IntParameter { value = 20 }; + + [Range(8, 256)] + public IntParameter noiseTextureHeight = new IntParameter { value = 20 }; + + public BoolParameter needStripColorAdjust = new BoolParameter { value = false }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter StripColorAdjustColor = new ColorParameter { value = new Color(0.1f, 0.1f, 0.1f) }; + + [Range(0, 10)] + public FloatParameter StripColorAdjustIndensity = new FloatParameter { value = 2f }; + + } + + public sealed class GlitchDigitalStripeRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-GlitchDigitalStripe"; + private Shader shader; + Texture2D _noiseTexture; + RenderTexture _trashFrame1; + RenderTexture _trashFrame2; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/DigitalStripe"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int indensity = Shader.PropertyToID("_Indensity"); + internal static readonly int noiseTex = Shader.PropertyToID("_NoiseTex"); + internal static readonly int StripColorAdjustColor = Shader.PropertyToID("_StripColorAdjustColor"); + internal static readonly int StripColorAdjustIndensity = Shader.PropertyToID("_StripColorAdjustIndensity"); + } + + + + void UpdateNoiseTexture(int frame, int noiseTextureWidth, int noiseTextureHeight, float stripLength) + { + int frameCount = Time.frameCount; + if (frameCount % frame != 0) + { + return; + } + + _noiseTexture = new Texture2D(noiseTextureWidth, noiseTextureHeight, TextureFormat.ARGB32, false); + _noiseTexture.wrapMode = TextureWrapMode.Clamp; + _noiseTexture.filterMode = FilterMode.Point; + + _trashFrame1 = new RenderTexture(Screen.width, Screen.height, 0); + _trashFrame2 = new RenderTexture(Screen.width, Screen.height, 0); + _trashFrame1.hideFlags = HideFlags.DontSave; + _trashFrame2.hideFlags = HideFlags.DontSave; + + Color32 color = XPostProcessingUtility.RandomColor(); + + for (int y = 0; y < _noiseTexture.height; y++) + { + for (int x = 0; x < _noiseTexture.width; x++) + { + //随机值若大于给定strip随机阈值,重新随机颜色 + if (UnityEngine.Random.value > stripLength) + { + color = XPostProcessingUtility.RandomColor(); + } + //设置贴图像素值 + _noiseTexture.SetPixel(x, y, color); + } + } + + _noiseTexture.Apply(); + + var bytes = _noiseTexture.EncodeToPNG(); + } + + + + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateNoiseTexture(settings.frequncy, settings.noiseTextureWidth,settings.noiseTextureHeight, settings.stripeLength); + + sheet.properties.SetFloat(ShaderIDs.indensity, settings.intensity); + + if (_noiseTexture != null) + { + sheet.properties.SetTexture(ShaderIDs.noiseTex, _noiseTexture); + } + + if (settings.needStripColorAdjust == true) + { + sheet.EnableKeyword("NEED_TRASH_FRAME"); + sheet.properties.SetColor(ShaderIDs.StripColorAdjustColor, settings.StripColorAdjustColor); + sheet.properties.SetFloat(ShaderIDs.StripColorAdjustIndensity, settings.StripColorAdjustIndensity); + } + else + { + sheet.DisableKeyword("NEED_TRASH_FRAME"); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta new file mode 100644 index 000000000..daa233dea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b63d2b442ad53ae42b8343f3a6602000 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md new file mode 100644 index 000000000..99782975e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md @@ -0,0 +1,19 @@ + +# GlitchDigitalStripe + +## Source Code List +- [Shader Code](Shader/GlitchDigitalStripe.shader) +- [C# Code](GlitchDigitalStripe.cs) +- [Editor Code](Editor/GlitchDigitalStripeEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/GlitchDigitalStripe.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/GlitchDigitalStripe1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/DigitalStripeGlitch2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/GlitchDigitalStripe.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta new file mode 100644 index 000000000..6d1fd93a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f74c3328bbd27624080f1bf812e57100 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta new file mode 100644 index 000000000..42262e3ce --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c4294135ae080841be53df7ad399a8c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader new file mode 100644 index 000000000..658470e70 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader @@ -0,0 +1,70 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : https://github.com/keijiro/KinoGlitch + +Shader "Hidden/X-PostProcessing/Glitch/DigitalStripe" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature NEED_TRASH_FRAME + + TEXTURE2D_SAMPLER2D(_NoiseTex, sampler_NoiseTex); + + uniform half _Indensity; + uniform half4 _StripColorAdjustColor; + uniform half _StripColorAdjustIndensity; + + + half4 Frag(VaryingsDefault i): SV_Target + { + // 基础数据准备 + half4 stripNoise = SAMPLE_TEXTURE2D(_NoiseTex, sampler_NoiseTex, i.texcoord); + half threshold = 1.001 - _Indensity * 1.001; + + // uv偏移 + half uvShift = step(threshold, pow(abs(stripNoise.x), 3)); + float2 uv = frac(i.texcoord + stripNoise.yz * uvShift); + half4 source = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + +#ifndef NEED_TRASH_FRAME + return source; +#endif + + // 基于废弃帧插值 + half stripIndensity = step(threshold, pow(abs(stripNoise.w), 3)) * _StripColorAdjustIndensity; + half3 color = lerp(source, _StripColorAdjustColor, stripIndensity).rgb; + return float4(color, source.a); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta new file mode 100644 index 000000000..2f080669d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0fe849c32d182f4fa20a6ab085a5d53 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock.meta new file mode 100644 index 000000000..16ab2c0bc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8c4505c6e6d7334c877f5ed4605e7e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta new file mode 100644 index 000000000..173d13700 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4896f57762c3a9f439fe1832ae200426 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs new file mode 100644 index 000000000..9043fbd0c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs @@ -0,0 +1,92 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlock))] + public sealed class GlitchImageBlockEditor : PostProcessEffectEditor + { + + + SerializedParameterOverride Fade; + SerializedParameterOverride Speed; + SerializedParameterOverride Amount; + SerializedParameterOverride BlockLayer1_U; + SerializedParameterOverride BlockLayer1_V; + SerializedParameterOverride BlockLayer2_U; + SerializedParameterOverride BlockLayer2_V; + SerializedParameterOverride BlockLayer1_Indensity; + SerializedParameterOverride BlockLayer2_Indensity; + SerializedParameterOverride RGBSplitIndensity; + SerializedParameterOverride BlockVisualizeDebug; + + + + //[Range(0.0f, 50.0f)] + //public FloatParameter BlockLayer1_Indensity = new FloatParameter { value = 8f }; + + //[Range(0.0f, 50.0f)] + //public FloatParameter BlockLayer2_Indensity = new FloatParameter { value = 4f }; + + public override void OnEnable() + { + Fade = FindParameterOverride(x => x.Fade); + Speed = FindParameterOverride(x => x.Speed); + Amount = FindParameterOverride(x => x.Amount); + BlockLayer1_U = FindParameterOverride(x => x.BlockLayer1_U); + BlockLayer1_V = FindParameterOverride(x => x.BlockLayer1_V); + BlockLayer2_U = FindParameterOverride(x => x.BlockLayer2_U); + BlockLayer2_V = FindParameterOverride(x => x.BlockLayer2_V); + BlockLayer1_Indensity = FindParameterOverride(x => x.BlockLayer1_Indensity); + BlockLayer2_Indensity = FindParameterOverride(x => x.BlockLayer2_Indensity); + RGBSplitIndensity = FindParameterOverride(x => x.RGBSplitIndensity); + BlockVisualizeDebug = FindParameterOverride(x => x.BlockVisualizeDebug); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Fade); + PropertyField(Speed); + PropertyField(Amount); + EditorUtilities.DrawHeaderLabel("Block Noise Size"); + PropertyField(BlockLayer1_U); + PropertyField(BlockLayer1_V); + + EditorGUILayout.Space(); + PropertyField(BlockLayer2_U); + PropertyField(BlockLayer2_V); + EditorUtilities.DrawHeaderLabel("Block Indensity"); + PropertyField(BlockLayer1_Indensity); + PropertyField(BlockLayer2_Indensity); + PropertyField(RGBSplitIndensity); + + + EditorUtilities.DrawHeaderLabel("Block Visualize Debug"); + PropertyField(BlockVisualizeDebug); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta new file mode 100644 index 000000000..4bac19ebf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e3a28515d63341f4cb38c94a23baa806 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs new file mode 100644 index 000000000..a968b73b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs @@ -0,0 +1,116 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlock")] + public class GlitchImageBlock : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Fade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Speed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 10.0f)] + public FloatParameter Amount = new FloatParameter { value = 1f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_U = new FloatParameter { value = 9f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_V = new FloatParameter { value = 9f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer2_U = new FloatParameter { value = 5f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer2_V = new FloatParameter { value = 5f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_Indensity = new FloatParameter { value = 8f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer2_Indensity = new FloatParameter { value = 4f }; + + [Range(0.0f, 50.0f)] + public FloatParameter RGBSplitIndensity = new FloatParameter { value = 0.5f }; + + + public BoolParameter BlockVisualizeDebug = new BoolParameter { value = false }; +} + + public sealed class GlitchImageBlockRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlock"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlock"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + internal static readonly int Params3 = Shader.PropertyToID("_Params3"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(TimeX * settings.Speed, settings.Amount, settings.Fade)); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector4(settings.BlockLayer1_U, settings.BlockLayer1_V, settings.BlockLayer2_U, settings.BlockLayer2_V)); + sheet.properties.SetVector(ShaderIDs.Params3, new Vector3(settings.RGBSplitIndensity, settings.BlockLayer1_Indensity, settings.BlockLayer2_Indensity)); + + if (settings.BlockVisualizeDebug) + { + //debug + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 1); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta new file mode 100644 index 000000000..3d8e38c4f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 943c09b621e7d8e489394b2b0b0dc2c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md new file mode 100644 index 000000000..f4cea2ea4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md @@ -0,0 +1,17 @@ + +# GlitchImageBlock + +## Source Code List +- [Shader Code](Shader/GlitchImageBlock.shader) +- [C# Code](GlitchImageBlock.cs) +- [Editor Code](Editor/GlitchImageBlockEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlock/GlitchImageBlock.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlock/GlitchImageBlock-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlock/GlitchImageBlock.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta new file mode 100644 index 000000000..c5d95bcba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 36ffdc7a49bf6344983a91644c2acf38 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta new file mode 100644 index 000000000..8dfc22efe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17663423a0a267948b36fc78ef3466ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader new file mode 100644 index 000000000..699db8ba5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader @@ -0,0 +1,118 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlock" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half3 _Params; + uniform half4 _Params2; + uniform half3 _Params3; + + #define _TimeX _Params.x + #define _Offset _Params.y + #define _Fade _Params.z + + #define _BlockLayer1_U _Params2.w + #define _BlockLayer1_V _Params2.x + #define _BlockLayer2_U _Params2.y + #define _BlockLayer2_V _Params2.z + + #define _RGBSplit_Indensity _Params3.x + #define _BlockLayer1_Indensity _Params3.y + #define _BlockLayer2_Indensity _Params3.z + + + float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_TimeX * 30.0), float2(127.1, 311.7))) * 43758.5453123); + } + + float randomNoise(float seed) + { + return randomNoise(float2(seed, 1.0)); + } + + float4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + //求解第一层blockLayer + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + float2 blockLayer2 = floor(uv * float2(_BlockLayer2_U, _BlockLayer2_V)); + + //return float4(blockLayer1, blockLayer2); + + float lineNoise1 = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity); + float lineNoise2 = pow(randomNoise(blockLayer2), _BlockLayer2_Indensity); + float RGBSplitNoise = pow(randomNoise(5.1379), 7.1) * _RGBSplit_Indensity; + float lineNoise = lineNoise1 * lineNoise2 * _Offset - RGBSplitNoise; + + float4 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + float4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv + float2(lineNoise * 0.05 * randomNoise(7.0), 0)); + float4 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv - float2(lineNoise * 0.05 * randomNoise(23.0), 0)); + + float4 result = float4(float3(colorR.x, colorG.y, colorB.z), colorR.a + colorG.a + colorB.a); + result = lerp(colorR, result, _Fade); + + return result; + } + + + float4 Frag_Debug(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + float2 blockLayer2 = floor(uv * float2(_BlockLayer2_U, _BlockLayer2_V)); + + float lineNoise1 = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity); + float lineNoise2 = pow(randomNoise(blockLayer2), _BlockLayer2_Indensity); + float RGBSplitNoise = pow(randomNoise(5.1379), 7.1) * _RGBSplit_Indensity; + float lineNoise = lineNoise1 * lineNoise2 * _Offset - RGBSplitNoise; + + return float4(lineNoise, lineNoise, lineNoise, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Debug + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta new file mode 100644 index 000000000..131504369 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dbaf1986db2e3db46a001805b0e2d40f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta new file mode 100644 index 000000000..c0c9f7806 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a18f3bbbdbf178f4d9aa077c42ba08c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta new file mode 100644 index 000000000..b71238f8d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c86126edf3a903438d09f6a32dbc7cd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs new file mode 100644 index 000000000..7b2b63b61 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlockV2))] + public sealed class GlitchImageBlockV2Editor : PostProcessEffectEditor + { + + + SerializedParameterOverride Fade; + SerializedParameterOverride Speed; + SerializedParameterOverride Amount; + SerializedParameterOverride BlockLayer1_U; + SerializedParameterOverride BlockLayer1_V; + SerializedParameterOverride BlockLayer1_Indensity; + SerializedParameterOverride RGBSplitIndensity; + SerializedParameterOverride BlockVisualizeDebug; + + + public override void OnEnable() + { + Fade = FindParameterOverride(x => x.Fade); + Speed = FindParameterOverride(x => x.Speed); + Amount = FindParameterOverride(x => x.Amount); + BlockLayer1_U = FindParameterOverride(x => x.BlockLayer1_U); + BlockLayer1_V = FindParameterOverride(x => x.BlockLayer1_V); + BlockLayer1_Indensity = FindParameterOverride(x => x.BlockLayer1_Indensity); + RGBSplitIndensity = FindParameterOverride(x => x.RGBSplitIndensity); + BlockVisualizeDebug = FindParameterOverride(x => x.BlockVisualizeDebug); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Fade); + PropertyField(Speed); + PropertyField(Amount); + EditorUtilities.DrawHeaderLabel("Block Noise Size"); + PropertyField(BlockLayer1_U); + PropertyField(BlockLayer1_V); + EditorUtilities.DrawHeaderLabel("Block Indensity"); + PropertyField(BlockLayer1_Indensity); + PropertyField(RGBSplitIndensity); + EditorUtilities.DrawHeaderLabel("Block Visualize Debug"); + PropertyField(BlockVisualizeDebug); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta new file mode 100644 index 000000000..98f1854f6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42586718201acaa47b8a83dceb61e604 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs new file mode 100644 index 000000000..a4ced98a1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs @@ -0,0 +1,116 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlockV2")] + public class GlitchImageBlockV2 : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Fade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Speed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 10.0f)] + public FloatParameter Amount = new FloatParameter { value = 1f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_U = new FloatParameter { value = 2f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_V = new FloatParameter { value = 16f }; + + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_Indensity = new FloatParameter { value = 8f }; + + [Range(0.0f, 50.0f)] + public FloatParameter RGBSplitIndensity = new FloatParameter { value = 2f }; + + public BoolParameter BlockVisualizeDebug = new BoolParameter { value = false }; + } + + public sealed class GlitchImageBlockV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlockV2"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlockV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); +} + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(TimeX * settings.Speed, settings.Amount, settings.Fade)); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector4(settings.BlockLayer1_U, settings.BlockLayer1_V, settings.BlockLayer1_Indensity, settings.RGBSplitIndensity)); + + sheet.properties.SetFloat("_TimeX", TimeX * settings.Speed); + sheet.properties.SetFloat("_Offset", settings.Amount); + sheet.properties.SetFloat("_Fade", settings.Fade); + + sheet.properties.SetFloat("_BlockLayer1_U", settings.BlockLayer1_U); + sheet.properties.SetFloat("_BlockLayer1_V", settings.BlockLayer1_V); + sheet.properties.SetFloat("_BlockLayer1_Indensity", settings.BlockLayer1_Indensity); + sheet.properties.SetFloat("_RGBSplit_Indensity", settings.RGBSplitIndensity); + + + if (settings.BlockVisualizeDebug) + { + //debug + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 1); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta new file mode 100644 index 000000000..882e3144d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2263e6ecd318999478fee0f26de0895c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md new file mode 100644 index 000000000..613e32271 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md @@ -0,0 +1,15 @@ + +# GlitchImageBlockV2 + +## Source Code List +- [Shader Code](Shader/GlitchImageBlockV2.shader) +- [C# Code](GlitchImageBlockV2.cs) +- [Editor Code](Editor/GlitchImageBlockV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV2/GlitchImageBlockV2.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV2/GlitchImageBlockV2.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta new file mode 100644 index 000000000..e073907ee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 97ddddc9b38c4bd48839ef8e81482b16 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta new file mode 100644 index 000000000..e38b73ae6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2381a4389d17a3439d7f8f99b8f6bf1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader new file mode 100644 index 000000000..6449b11c8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlockV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half3 _Params; + uniform half4 _Params2; + + #define _TimeX _Params.x + #define _Offset _Params.y + #define _Fade _Params.z + #define _BlockLayer1_U _Params2.x + #define _BlockLayer1_V _Params2.y + #define _BlockLayer1_Indensity _Params2.z + #define _RGBSplit_Indensity _Params2.w + + + float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_TimeX * 30.0), float2(127.1, 311.7))) * 43758.5453123); + } + + float randomNoise(float seed) + { + return randomNoise(float2(seed, 1.0)); + } + + float4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + + float lineNoise = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity) * _Offset - pow(randomNoise(5.1379), 7.1) * _RGBSplit_Indensity; + + float4 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + float4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv + float2(lineNoise * 0.05 * randomNoise(5.0), 0)); + float4 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv - float2(lineNoise * 0.05 * randomNoise(31.0), 0)); + + float4 result = float4(float3(colorR.r, colorG.g, colorB.b), colorR.a + colorG.a + colorB.a); + result = lerp(colorR, result, _Fade); + + return result; + } + + + float4 Frag_Debug(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + + float lineNoise = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity) * _Offset; + + return float4(lineNoise, lineNoise, lineNoise, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Debug + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta new file mode 100644 index 000000000..1a1db1600 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df4ee131460b39440b639403867c8c3f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta new file mode 100644 index 000000000..573b37071 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a020845264d90924db9476a751944814 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta new file mode 100644 index 000000000..dcfb5b5f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fa3ac206c46f9ac4eb710444d4bc9dfc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs new file mode 100644 index 000000000..0237894cb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlockV3))] + public sealed class GlitchImageBlockV3Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Speed; + SerializedParameterOverride BlockSize; + + + public override void OnEnable() + { + Speed = FindParameterOverride(x => x.Speed); + BlockSize = FindParameterOverride(x => x.BlockSize); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Speed); + PropertyField(BlockSize); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta new file mode 100644 index 000000000..b83813f36 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cb0c091dd7691964fb6cd1cb218e13c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs new file mode 100644 index 000000000..097fc6b46 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlockV3")] + public class GlitchImageBlockV3 : PostProcessEffectSettings + { + + [Range(0.0f, 50.0f)] + public FloatParameter Speed = new FloatParameter { value = 10f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockSize = new FloatParameter { value = 8f }; + + } + + public sealed class GlitchImageBlockV3Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlockV3"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlockV3"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.Speed, settings.BlockSize)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta new file mode 100644 index 000000000..3a8f37415 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9acc76ac9d8d4e4a8d7294a5bd00c85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md new file mode 100644 index 000000000..53a2f7e88 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md @@ -0,0 +1,15 @@ + +# GlitchImageBlockV3 + +## Source Code List +- [Shader Code](Shader/GlitchImageBlockV3.shader) +- [C# Code](GlitchImageBlockV3.cs) +- [Editor Code](Editor/GlitchImageBlockV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV3/GlitchImageBlockV3.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV3/GlitchImageBlockV3.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta new file mode 100644 index 000000000..809eaad94 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 26c1dc0cf60d52049937f08ace70249e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta new file mode 100644 index 000000000..19e24fe98 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5fa71682a7d47b745a538fdbba90d05c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader new file mode 100644 index 000000000..7eab45554 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader @@ -0,0 +1,66 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlockV3" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half3 _Params; + + #define _Speed _Params.x + #define _BlockSize _Params.y + + inline float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_Time.y * _Speed), float2(17.13, 3.71))) * 43758.5453123); + } + + inline float randomNoise(float seed) + { + return rand(float2(seed, 1.0)); + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + float2 block = randomNoise(floor(i.texcoord * _BlockSize)); + float displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0); + + half ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).r; + half ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + float2(displaceNoise * 0.05 * randomNoise(7.0), 0.0)).g; + half ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - float2(displaceNoise * 0.05 * randomNoise(13.0), 0.0)).b; + + return half4(ColorR, ColorG, ColorB, 1.0); + + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta new file mode 100644 index 000000000..812ca60a8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1123c475f6cef32418a95e7ce980818a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta new file mode 100644 index 000000000..be331deeb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 477cacaffd8cf2649a4e056d198c45ac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta new file mode 100644 index 000000000..c3eddb436 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91e87b99d1d156243a58249d5c72f2e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs new file mode 100644 index 000000000..0476255c6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs @@ -0,0 +1,58 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlockV4))] + public sealed class GlitchImageBlockV4Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Speed; + SerializedParameterOverride BlockSize; + SerializedParameterOverride MaxRGBSplitX; + SerializedParameterOverride MaxRGBSplitY; + + + + public override void OnEnable() + { + Speed = FindParameterOverride(x => x.Speed); + BlockSize = FindParameterOverride(x => x.BlockSize); + MaxRGBSplitX = FindParameterOverride(x => x.MaxRGBSplitX); + MaxRGBSplitY = FindParameterOverride(x => x.MaxRGBSplitY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Speed); + PropertyField(BlockSize); + + EditorUtilities.DrawHeaderLabel("RGB Split"); + PropertyField(MaxRGBSplitX); + PropertyField(MaxRGBSplitY); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta new file mode 100644 index 000000000..02c64a1b9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f56ce9e77be3e648996b7894a6b8aab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs new file mode 100644 index 000000000..9d893e5b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs @@ -0,0 +1,75 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockV4Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlockV4")] + public class GlitchImageBlockV4 : PostProcessEffectSettings + { + [Range(0f, 50f)] + public FloatParameter Speed = new FloatParameter { value = 10f }; + + [Range(0f, 50f)] + public FloatParameter BlockSize = new FloatParameter { value = 8f }; + + [Range(0f, 25f)] + public FloatParameter MaxRGBSplitX = new FloatParameter { value = 1f }; + + [Range(0f, 25f)] + public FloatParameter MaxRGBSplitY = new FloatParameter { value = 1f }; + } + + public sealed class GlitchImageBlockV4Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlockV4"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlockV4"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); +} + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Speed, settings.BlockSize, settings.MaxRGBSplitX, settings.MaxRGBSplitY)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta new file mode 100644 index 000000000..a9cc8cf2f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4ec8e4c840c12a84f9cbb49d82780b09 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md new file mode 100644 index 000000000..86448db85 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md @@ -0,0 +1,15 @@ + +# GlitchImageBlockV4 + +## Source Code List +- [Shader Code](Shader/GlitchImageBlockV4.shader) +- [C# Code](GlitchImageBlockV4.cs) +- [Editor Code](Editor/GlitchImageBlockV4Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV4/GlitchImageBlockV4.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV4/GlitchImageBlockV4.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta new file mode 100644 index 000000000..3b8d3f687 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 67633245a2c267c4ba96ad73a06ca028 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta new file mode 100644 index 000000000..6b9a98fcf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee161cd9d91cb134489c4a1211aaf7b0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader new file mode 100644 index 000000000..4ab25cdb3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlockV4" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _Params; + #define _Speed _Params.x + #define _BlockSize _Params.y + #define _MaxRGBSplitX _Params.z + #define _MaxRGBSplitY _Params.w + + + inline float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_Time.y * _Speed), float2(17.13, 3.71))) * 43758.5453123); + } + + inline float randomNoise(float seed) + { + return randomNoise(float2(seed, 1.0)); + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + half2 block = randomNoise(floor(i.texcoord * _BlockSize)); + + float displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0); + float splitRGBNoise = pow(randomNoise(7.2341), 17.0); + float offsetX = displaceNoise - splitRGBNoise * _MaxRGBSplitX; + float offsetY = displaceNoise - splitRGBNoise * _MaxRGBSplitY; + + float noiseX = 0.05 * randomNoise(13.0); + float noiseY = 0.05 * randomNoise(7.0); + float2 offset = float2(offsetX * noiseX, offsetY* noiseY); + + half4 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + offset); + half4 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - offset); + + return half4(colorR.r , colorG.g, colorB.z, (colorR.a + colorG.a + colorB.a)); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta new file mode 100644 index 000000000..80b511580 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d90b34efa60fe034ca1e1c43af1013d7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock.meta new file mode 100644 index 000000000..f165c6aa4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be5409520f154074d95d04f90d72927c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta new file mode 100644 index 000000000..47e0e2d8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74ca834756ab1ba478ff0698b4ad4b85 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs new file mode 100644 index 000000000..834319e72 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs @@ -0,0 +1,74 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchLineBlock))] + public sealed class GlitchLineBlockEditor : PostProcessEffectEditor + { + SerializedParameterOverride blockDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + SerializedParameterOverride Amount; + SerializedParameterOverride LinesWidth; + SerializedParameterOverride Speed; + SerializedParameterOverride Offset; + SerializedParameterOverride Alpha; + + + public override void OnEnable() + { + blockDirection = FindParameterOverride(x => x.blockDirection); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + Amount = FindParameterOverride(x => x.Amount); + LinesWidth = FindParameterOverride(x => x.LinesWidth); + Speed = FindParameterOverride(x => x.Speed); + Offset = FindParameterOverride(x => x.Offset); + Alpha = FindParameterOverride(x => x.Alpha); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Block Direction"); + PropertyField(blockDirection); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(frequency); + } + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(LinesWidth); + PropertyField(Speed); + PropertyField(Offset); + PropertyField(Alpha); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta new file mode 100644 index 000000000..28f4ed793 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b2826544cb5809a44aab0df13efda888 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs new file mode 100644 index 000000000..23923def1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs @@ -0,0 +1,126 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class IntervalTypeParameter : ParameterOverride { }; + + [Serializable] + [PostProcess(typeof(GlitchLineBlockRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/LineBlock")] + public class GlitchLineBlock : PostProcessEffectSettings + { + + public DirectionParameter blockDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 25f)] + public FloatParameter frequency = new FloatParameter { value = 1f }; + + [Range(0f, 1f)] + public FloatParameter Amount = new FloatParameter { value = 0.5f }; + + [Range(0.1f, 10f)] + public FloatParameter LinesWidth = new FloatParameter { value = 1f }; + + [Range(0f, 1f)] + public FloatParameter Speed = new FloatParameter { value = 0.8f }; + + [Range(0f, 13f)] + public FloatParameter Offset = new FloatParameter { value = 1f }; + + [Range(0f, 1f)] + public FloatParameter Alpha = new FloatParameter { value = 1f }; + + } + + public sealed class GlitchLineBlockRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchLineBlock"; + private Shader shader; + private float TimeX = 1.0f; + private float randomFrequency; + private int frameCount = 0; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/LineBlock"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3( + settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency, + TimeX * settings.Speed * 0.2f , settings.Amount)); + + sheet.properties.SetVector(ShaderIDs.Params2, new Vector3(settings.Offset, 1 / settings.LinesWidth, settings.Alpha)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.blockDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + if (frameCount > settings.frequency) + { + + frameCount = 0; + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + frameCount++; + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta new file mode 100644 index 000000000..0348fdaa6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c1b4be796ebe4f841a791ce91720f612 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md new file mode 100644 index 000000000..171747eb4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md @@ -0,0 +1,19 @@ + +# GlitchLineBlock + +## Source Code List +- [Shader Code](Shader/GlitchLineBlock.shader) +- [C# Code](GlitchLineBlock.cs) +- [Editor Code](Editor/GlitchLineBlockEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock-3.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta new file mode 100644 index 000000000..fc08b156e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e25fe862bed87c43a8e86a8e7e9a941 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta new file mode 100644 index 000000000..41ba57137 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 92a6d42f54d01d44f9c3d4d4b4d4dce2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader new file mode 100644 index 000000000..48fef038c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader @@ -0,0 +1,185 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/LineBlock" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature USING_FREQUENCY_INFINITE + + uniform half4 _Params; + uniform half4 _Params2; + + #define _Frequency _Params.x + #define _TimeX _Params.y + #define _Amount _Params.z + #define _Offset _Params2.x + #define _LinesWidth _Params2.y + #define _Alpha _Params2.z + + float randomNoise(float2 c) + { + return frac(sin(dot(c.xy, float2(12.9898, 78.233))) * 43758.5453); + } + + float trunc(float x, float num_levels) + { + return floor(x * num_levels) / num_levels; + } + + float2 trunc(float2 x, float2 num_levels) + { + return floor(x * num_levels) / num_levels; + } + + float3 rgb2yuv(float3 rgb) + { + float3 yuv; + yuv.x = dot(rgb, float3(0.299, 0.587, 0.114)); + yuv.y = dot(rgb, float3(-0.14713, -0.28886, 0.436)); + yuv.z = dot(rgb, float3(0.615, -0.51499, -0.10001)); + return yuv; + } + + float3 yuv2rgb(float3 yuv) + { + float3 rgb; + rgb.r = yuv.x + yuv.z * 1.13983; + rgb.g = yuv.x + dot(float2(-0.39465, -0.58060), yuv.yz); + rgb.b = yuv.x + yuv.y * 2.03211; + return rgb; + } + + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord; + + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 10; + #else + strength = 0.5 + 0.5 * cos(_TimeX * _Frequency); + #endif + + _TimeX *= strength; + + // [1] 生成随机强度梯度线条 + float truncTime = trunc(_TimeX, 4.0); + float uv_trunc = randomNoise(trunc(uv.yy, float2(8, 8)) + 100.0 * truncTime); + float uv_randomTrunc = 6.0 * trunc(_TimeX, 24.0 * uv_trunc); + + // [2] 生成随机非均匀宽度线条 + float blockLine_random = 0.5 * randomNoise(trunc(uv.yy + uv_randomTrunc, float2(8 * _LinesWidth, 8 * _LinesWidth))); + blockLine_random += 0.5 * randomNoise(trunc(uv.yy + uv_randomTrunc, float2(7, 7))); + blockLine_random = blockLine_random * 2.0 - 1.0; + blockLine_random = sign(blockLine_random) * saturate((abs(blockLine_random) - _Amount) / (0.4)); + blockLine_random = lerp(0, blockLine_random, _Offset); + + + // [3] 生成源色调的blockLine Glitch + float2 uv_blockLine = uv; + uv_blockLine = saturate(uv_blockLine + float2(0.1 * blockLine_random, 0)); + float4 blockLineColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, abs(uv_blockLine)); + + // [4] 将RGB转到YUV空间,并做色调偏移 + // RGB -> YUV + float3 blockLineColor_yuv = rgb2yuv(blockLineColor.rgb); + // adjust Chrominance | 色度 + blockLineColor_yuv.y /= 1.0 - 3.0 * abs(blockLine_random) * saturate(0.5 - blockLine_random); + // adjust Chroma | 浓度 + blockLineColor_yuv.z += 0.125 * blockLine_random * saturate(blockLine_random - 0.5); + float3 blockLineColor_rgb = yuv2rgb(blockLineColor_yuv); + + + // [5] 与源场景图进行混合 + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + return lerp(sceneColor, float4(blockLineColor_rgb, blockLineColor.a), _Alpha); + } + + float4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord; + + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 10; + #else + strength = 0.5 + 0.5 * cos(_TimeX * _Frequency); + #endif + + _TimeX *= strength; + + // [1] 生成随机均匀宽度线条 + float truncTime = trunc(_TimeX, 4.0); + float uv_trunc = randomNoise(trunc(uv.xx, float2(8, 8)) + 100.0 * truncTime); + float uv_randomTrunc = 6.0 * trunc(_TimeX, 24.0 * uv_trunc); + + // [2] 生成随机非均匀宽度线条 | Generate Random inhomogeneous Block Line + float blockLine_random = 0.5 * randomNoise(trunc(uv.xx + uv_randomTrunc, float2(8 * _LinesWidth, 8 * _LinesWidth))); + blockLine_random += 0.5 * randomNoise(trunc(uv.xx + uv_randomTrunc, float2(7, 7))); + blockLine_random = blockLine_random * 2.0 - 1.0; + blockLine_random = sign(blockLine_random) * saturate((abs(blockLine_random) - _Amount) / (0.4)); + blockLine_random = lerp(0, blockLine_random, _Offset); + + // [3] 生成源色调的blockLine Glitch + float2 uv_blockLine = uv; + uv_blockLine = saturate(uv_blockLine + float2(0, 0.1 * blockLine_random)); + float4 blockLineColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, abs(uv_blockLine)); + + // [4] 将RGB转到YUV空间,并做色调偏移 + // RGB -> YUV + float3 blockLineColor_yuv = rgb2yuv(blockLineColor.rgb); + // adjust Chrominance | 色度 + blockLineColor_yuv.y /= 1.0 - 3.0 * abs(blockLine_random) * saturate(0.5 - blockLine_random); + // adjust Chroma | 浓度 + blockLineColor_yuv.z += 0.125 * blockLine_random * saturate(blockLine_random - 0.5); + float3 blockLineColor_rgb = yuv2rgb(blockLineColor_yuv); + + // [5] 与源场景图进行混合 + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + return lerp(sceneColor, float4(blockLineColor_rgb, blockLineColor.a), _Alpha); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta new file mode 100644 index 000000000..87efd0d0d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c56b2bb17417b604e8da933958ebf31b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta new file mode 100644 index 000000000..98dceb0e2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c49ebce4d4def504887d2c7287afc5ba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta new file mode 100644 index 000000000..850e6896a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1df89a4175f998548bc0889f7fd8c6d5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs new file mode 100644 index 000000000..26e9eab09 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplit))] + public sealed class GlitchRGBSplitEditor : PostProcessEffectEditor + { + + SerializedParameterOverride SplitDirection; + SerializedParameterOverride Fading; + SerializedParameterOverride Amount; + SerializedParameterOverride Speed; + SerializedParameterOverride AmountR; + SerializedParameterOverride AmountB; + SerializedParameterOverride CenterFading; + + + public override void OnEnable() + { + SplitDirection = FindParameterOverride(x => x.SplitDirection); + Fading = FindParameterOverride(x => x.Fading); + Amount = FindParameterOverride(x => x.Amount); + Speed = FindParameterOverride(x => x.Speed); + AmountR = FindParameterOverride(x => x.AmountR); + AmountB = FindParameterOverride(x => x.AmountB); + CenterFading = FindParameterOverride(x => x.CenterFading); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Split Direction"); + PropertyField(SplitDirection); + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(Speed); + PropertyField(Fading); + PropertyField(CenterFading); + + EditorUtilities.DrawHeaderLabel("RGB Channel Amount"); + PropertyField(AmountR); + PropertyField(AmountB); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta new file mode 100644 index 000000000..9d84af5f0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 31db0512619009048b1ced5553fcb7de +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs new file mode 100644 index 000000000..d4c078952 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs @@ -0,0 +1,95 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class GlitchRGBSplitDirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplit")] + public class GlitchRGBSplit : PostProcessEffectSettings + { + public GlitchRGBSplitDirectionParameter SplitDirection = new GlitchRGBSplitDirectionParameter { value = DirectionEX.Horizontal }; + + [Range(0.0f, 1.0f)] + public FloatParameter Fading = new FloatParameter { value = 1f }; + + [Range(0.0f, 5.0f)] + public FloatParameter Amount = new FloatParameter { value = 1f }; + + [Range(0.0f, 10.0f)] + public FloatParameter Speed = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter CenterFading = new FloatParameter { value = 1f }; + + [Range(0.0f, 5.0f)] + public FloatParameter AmountR = new FloatParameter { value = 1f }; + + [Range(0.0f, 5.0f)] + public FloatParameter AmountB = new FloatParameter { value = 1f }; + + } + + public sealed class GlitchRGBSplitRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplit"; + private Shader shader; + private float TimeX = 1.0f; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplit"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Fading, settings.Amount, settings.Speed, settings.CenterFading)); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector3(TimeX, settings.AmountR, settings.AmountB)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.SplitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta new file mode 100644 index 000000000..b7ce19c17 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2454d8719de212d4095611b98a288e0a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md new file mode 100644 index 000000000..523bf57a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplit + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplit.shader) +- [C# Code](GlitchRGBSplit.cs) +- [Editor Code](Editor/GlitchRGBSplitEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplit/GlitchRGBSplit.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplit/GlitchRGBSplit.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplit/GlitchRGBSplit-1.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta new file mode 100644 index 000000000..718f69d2d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a97a86c90d8f41f40b4053ef9b71813e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta new file mode 100644 index 000000000..2b340df6e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20084c46dc05acc4cbcaddc5727d5199 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader new file mode 100644 index 000000000..8532c99ae --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader @@ -0,0 +1,148 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplit" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half4 _Params; + uniform half3 _Params2; + + #define _Fading _Params.x + #define _Amount _Params.y + #define _Speed _Params.z + #define _CenterFading _Params.w + #define _TimeX _Params2.x + #define _AmountR _Params2.y + #define _AmountB _Params2.z + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord.xy; + half time = _TimeX * 6 * _Speed; + half splitAmount = (1.0 + sin(time)) * 0.5; + splitAmount *= 1.0 + sin(time * 2) * 0.5; + splitAmount = pow(splitAmount, 3.0); + splitAmount *= 0.05; + float distance = length(uv - float2(0.5, 0.5)); + splitAmount *= _Fading * _Amount; + splitAmount *= lerp(1, distance, _CenterFading); + + half3 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmount * _AmountR, uv.y)).rgb; + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + half3 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x - splitAmount * _AmountB, uv.y)).rgb; + + half3 splitColor = half3(colorR.r, sceneColor.g, colorB.b); + half3 finalColor = lerp(sceneColor.rgb, splitColor, _Fading); + + return half4(finalColor, 1.0); + + } + + half4 Frag_Vertical(VaryingsDefault i) : SV_Target + { + + float2 uv = i.texcoord.xy; + half time = _TimeX * 6 * _Speed; + half splitAmount = (1.0 + sin(time)) * 0.5; + splitAmount *= 1.0 + sin(time * 2) * 0.5; + splitAmount = pow(splitAmount, 3.0); + splitAmount *= 0.05; + float distance = length(uv - float2(0.5, 0.5)); + splitAmount *= _Fading * _Amount; + splitAmount *= _Fading * _Amount; + + half3 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x , uv.y + splitAmount * _AmountR)).rgb; + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + half3 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, uv.y - splitAmount * _AmountB)).rgb; + + half3 splitColor = half3(colorR.r, sceneColor.g, colorB.b); + half3 finalColor = lerp(sceneColor.rgb, splitColor, _Fading); + + return half4(finalColor, 1.0); + + } + + half4 Frag_Horizontal_Vertical(VaryingsDefault i) : SV_Target + { + + float2 uv = i.texcoord.xy; + half time = _TimeX * 6 * _Speed; + half splitAmount = (1.0 + sin(time)) * 0.5; + splitAmount *= 1.0 + sin(time * 2) * 0.5; + splitAmount = pow(splitAmount, 3.0); + splitAmount *= 0.05; + float distance = length(uv - float2(0.5, 0.5)); + splitAmount *= _Fading * _Amount; + splitAmount *= _Fading * _Amount; + + float splitAmountR = splitAmount * _AmountR; + float splitAmountB = splitAmount * _AmountB; + + half3 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmountR, uv.y + splitAmountR)).rgb; + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + half3 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x - splitAmountB, uv.y - splitAmountB)).rgb; + + half3 splitColor = half3(colorR.r, sceneColor.g, colorB.b); + half3 finalColor = lerp(sceneColor.rgb, splitColor, _Fading); + + return half4(finalColor, 1.0); + + } + + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta new file mode 100644 index 000000000..6c308575a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4f11d361f9ff474e9dae943e23b19f2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta new file mode 100644 index 000000000..b4a76f2d7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eed911b660cfef047919ac5f48a173b7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta new file mode 100644 index 000000000..d61a67464 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3add0b65c3d5f2843a5353891bb28d42 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs new file mode 100644 index 000000000..b01373c2f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV2))] + public sealed class GlitchRGBSplitV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride SplitDirection; + SerializedParameterOverride Amount; + SerializedParameterOverride Amplitude; + SerializedParameterOverride Speed; + + + public override void OnEnable() + { + Amount = FindParameterOverride(x => x.Amount); + SplitDirection = FindParameterOverride(x => x.SplitDirection); + Amplitude = FindParameterOverride(x => x.Amplitude); + Speed = FindParameterOverride(x => x.Speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Split Direction"); + PropertyField(SplitDirection); + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(Amplitude); + PropertyField(Speed); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta new file mode 100644 index 000000000..d1f9b530a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 49738173328c8f541a40e234213d2483 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs new file mode 100644 index 000000000..d7b18d276 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs @@ -0,0 +1,81 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV2")] + public class GlitchRGBSplitV2 : PostProcessEffectSettings + { + public GlitchRGBSplitDirectionParameter SplitDirection = new GlitchRGBSplitDirectionParameter { value = DirectionEX.Horizontal }; + + [Range(0.0f, 1.0f)] + public FloatParameter Amount = new FloatParameter { value = 0.5f }; + + [Range(1.0f, 6.0f)] + public FloatParameter Amplitude = new FloatParameter { value = 3.0f }; + + [Range(0.0f, 2.0f)] + public FloatParameter Speed = new FloatParameter { value = 1f }; + + } + + public sealed class GlitchRGBSplitV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplitV2"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(TimeX * settings.Speed, settings.Amount, settings.Amplitude )); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.SplitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta new file mode 100644 index 000000000..c88db8561 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c43c449d260f2ae4ab6bf0023581726e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md new file mode 100644 index 000000000..1c6c43439 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV2 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV2.shader) +- [C# Code](GlitchRGBSplitV2.cs) +- [Editor Code](Editor/GlitchRGBSplitV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV2/GlitchRGBSplitV2.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV2/GlitchRGBSplitV2-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV2/GlitchRGBSplitV2.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta new file mode 100644 index 000000000..85a181fb2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 993cd8506877ba64ba0fd99a8d9afe6e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta new file mode 100644 index 000000000..3af025908 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1cfbf10c6834194e9aff8906d37f30a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader new file mode 100644 index 000000000..f5e9517f8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader @@ -0,0 +1,123 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half3 _Params; + + #define _TimeX _Params.x + #define _Amount _Params.y + #define _Amplitude _Params.z + + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float splitAmout = (1.0 + sin(_TimeX * 6.0)) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 16.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 19.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 27.0) * 0.5; + splitAmout = pow(splitAmout, _Amplitude); + splitAmout *= (0.05 * _Amount); + + half3 finalColor; + finalColor.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x + splitAmout, i.texcoord.y)).r; + finalColor.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).g; + finalColor.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x - splitAmout, i.texcoord.y)).b; + + finalColor *= (1.0 - splitAmout * 0.5); + + return half4(finalColor, 1.0); + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float splitAmout = (1.0 + sin(_TimeX * 6.0)) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 16.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 19.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 27.0) * 0.5; + splitAmout = pow(splitAmout, _Amplitude); + splitAmout *= (0.05 * _Amount); + + half3 finalColor; + finalColor.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x , i.texcoord.y +splitAmout)).r; + finalColor.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).g; + finalColor.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x, i.texcoord.y - splitAmout)).b; + + finalColor *= (1.0 - splitAmout * 0.5); + + return half4(finalColor, 1.0); + } + + half4 Frag_Vertical_Horizontal(VaryingsDefault i) : SV_Target + { + float splitAmout = (1.0 + sin(_TimeX * 6.0)) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 16.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 19.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 27.0) * 0.5; + splitAmout = pow(splitAmout, _Amplitude); + splitAmout *= (0.05 * _Amount); + + half3 finalColor; + finalColor.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x+splitAmout, i.texcoord.y + splitAmout)).r; + finalColor.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).g; + finalColor.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x - splitAmout, i.texcoord.y + splitAmout)).b; + + finalColor *= (1.0 - splitAmout * 0.5); + + return half4(finalColor, 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical_Horizontal + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta new file mode 100644 index 000000000..432ee1eac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6972fcd385182cb428f8ce05b3e13299 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta new file mode 100644 index 000000000..ec721fc4c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 654ff46888067634ebfb666fb2c0ea88 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta new file mode 100644 index 000000000..07571a63b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddb3405cc2accfa42bb51acd8b4b38c3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs new file mode 100644 index 000000000..8970392e4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV3))] + public sealed class GlitchRGBSplitV3Editor : PostProcessEffectEditor + { + + SerializedParameterOverride SplitDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride Frequency; + SerializedParameterOverride Amount; + SerializedParameterOverride Speed; + + + public override void OnEnable() + { + SplitDirection = FindParameterOverride(x => x.SplitDirection); + intervalType = FindParameterOverride(x => x.intervalType); + Frequency = FindParameterOverride(x => x.Frequency); + Amount = FindParameterOverride(x => x.Amount); + Speed = FindParameterOverride(x => x.Speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + EditorUtilities.DrawHeaderLabel("split Direction"); + PropertyField(SplitDirection); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(Frequency); + } + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(Speed); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta new file mode 100644 index 000000000..a8475032c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 678a646a249e8f4458d72584171cfe23 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs new file mode 100644 index 000000000..2555af061 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs @@ -0,0 +1,106 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + public sealed class DirectionEXParameter : ParameterOverride { } + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV3")] + public class GlitchRGBSplitV3 : PostProcessEffectSettings + { + public DirectionEXParameter SplitDirection = new DirectionEXParameter { value = DirectionEX.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0.1f, 25f)] + public FloatParameter Frequency = new FloatParameter { value = 3f }; + + + [Range(0f, 200f)] + public FloatParameter Amount = new FloatParameter { value = 30f }; + + [Range(0f, 15f)] + public FloatParameter Speed = new FloatParameter { value = 20f }; + } + + public sealed class GlitchRGBSplitV3Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplitV3"; + private Shader shader; + private float randomFrequency; + private int frameCount = 0; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV3"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + UpdateFrequency(sheet); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.Frequency + , settings.Amount, settings.Speed)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.SplitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + if (frameCount > settings.Frequency) + { + + frameCount = 0; + randomFrequency = UnityEngine.Random.Range(0, settings.Frequency); + } + frameCount++; + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_Frequency_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_Frequency_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta new file mode 100644 index 000000000..676732be9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c09d3e32bcc8eaa44b4f64de81d15ed3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md new file mode 100644 index 000000000..e6483e6f5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV3 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV3.shader) +- [C# Code](GlitchRGBSplitV3.cs) +- [Editor Code](Editor/GlitchRGBSplitV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV3/GlitchRGBSplitV3.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV3/GlitchRGBSplitV3-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV3/GlitchRGBSplitV3.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta new file mode 100644 index 000000000..b9ea8f36b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: de6132695222f52409cc41600546093b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta new file mode 100644 index 000000000..7867fe3d6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a53361aa5fe8e464fbd8b1b3a2ffaef3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader new file mode 100644 index 000000000..c036d43fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader @@ -0,0 +1,154 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV3" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + #pragma shader_feature USING_Frequency_INFINITE + + half3 _Params; + #define _Frequency _Params.x + #define _Amount _Params.y + #define _Speed _Params.z + + + float4 RGBSplit_Horizontal(float2 uv, float Amount, float time) + { + Amount *= 0.001; + float3 splitAmountX = float3(uv.x, uv.x, uv.x); + splitAmountX.r += sin(time * 0.2) * Amount; + splitAmountX.g += sin(time * 0.1) * Amount; + half4 splitColor = half4(0.0, 0.0, 0.0, 0.0); + splitColor.r = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(splitAmountX.r, uv.y)).rgb).x; + splitColor.g = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(splitAmountX.g, uv.y)).rgb).y; + splitColor.b = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(splitAmountX.b, uv.y)).rgb).z; + splitColor.a = 1; + return splitColor; + } + + float4 RGBSplit_Vertical(float2 uv, float Amount, float time) + { + Amount *= 0.001; + float3 splitAmountY = float3(uv.y, uv.y, uv.y); + splitAmountY.r += sin(time * 0.2) * Amount; + splitAmountY.g += sin(time * 0.1) * Amount; + half4 splitColor = half4(0.0, 0.0, 0.0, 0.0); + splitColor.r = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, splitAmountY.r)).rgb).x; + splitColor.g = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, splitAmountY.g)).rgb).y; + splitColor.b = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, splitAmountY.b)).rgb).z; + splitColor.a = 1; + return splitColor; + } + + float4 RGBSplit_Horizontal_Vertical(float2 uv, float Amount, float time) + { + Amount *= 0.001; + //float3 splitAmount = float3(uv.y, uv.y, uv.y); + float splitAmountR= sin(time * 0.2) * Amount; + float splitAmountG= sin(time * 0.1) * Amount; + half4 splitColor = half4(0.0, 0.0, 0.0, 0.0); + splitColor.r = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmountR,uv.y +splitAmountR)).rgb).x; + splitColor.g = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x , uv.y)).rgb).y; + splitColor.b = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmountG, uv.y + splitAmountG)).rgb).z; + splitColor.a = 1; + return splitColor; + } + + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + half strength = 0; + #if USING_Frequency_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + half3 color = RGBSplit_Horizontal(i.texcoord.xy, _Amount * strength, _Time.y * _Speed).rgb; + + return half4(color, 1); + } + + float4 Frag_Vertical(VaryingsDefault i): SV_Target + { + + half strength = 0; + #if USING_Frequency_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + half3 color = RGBSplit_Vertical(i.texcoord.xy, _Amount * strength, _Time.y * _Speed).rgb; + + return half4(color, 1); + + } + + float4 Frag_Horizontal_Vertical(VaryingsDefault i) : SV_Target + { + + half strength = 0; + #if USING_Frequency_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + half3 color = RGBSplit_Horizontal_Vertical(i.texcoord.xy, _Amount * strength, _Time.y * _Speed).rgb; + + return half4(color, 1); + + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta new file mode 100644 index 000000000..9de2e74f4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14b9c4fe8ceed5c4bbdcbbaffe934f3e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta new file mode 100644 index 000000000..d21be1f6b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 79e42a3e1c745f34490d732b265d7237 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta new file mode 100644 index 000000000..81c96c058 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 57b73f905717d1944ae12f22c4bf2574 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs new file mode 100644 index 000000000..ac9ad4722 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs @@ -0,0 +1,52 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV4))] + public sealed class GlitchRGBSplitV4Editor : PostProcessEffectEditor + { + SerializedParameterOverride splitDirection; + SerializedParameterOverride indensity; + SerializedParameterOverride speed; + + + public override void OnEnable() + { + splitDirection = FindParameterOverride(x => x.splitDirection); + indensity = FindParameterOverride(x => x.indensity); + speed = FindParameterOverride(x => x.speed); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Split Direction"); + PropertyField(splitDirection); + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(indensity); + PropertyField(speed); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta new file mode 100644 index 000000000..0e5d19652 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f7c3cfaffff4bd348b8dd6bb52f855d7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs new file mode 100644 index 000000000..3f1bed5dd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs @@ -0,0 +1,80 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV4Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV4")] + public class GlitchRGBSplitV4 : PostProcessEffectSettings + { + + public GlitchRGBSplitDirectionParameter splitDirection = new GlitchRGBSplitDirectionParameter { value = DirectionEX.Horizontal }; + + [Range(-1.0f, 1.0f)] + public FloatParameter indensity = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 100.0f)] + public FloatParameter speed = new FloatParameter { value = 10.0f }; + + } + + public sealed class GlitchRGBSplitV4Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-GlitchRGBSplitV4"; + private Shader shader; + private float randomFrequency; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV4"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.indensity * 0.1f, Mathf.Floor(TimeX * settings.speed))); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.splitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta new file mode 100644 index 000000000..d8d6413a2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d0a9d798787c2946a11f9117f197196 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md new file mode 100644 index 000000000..d8263d31b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV4 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV4.shader) +- [C# Code](GlitchRGBSplitV4.cs) +- [Editor Code](Editor/GlitchRGBSplitV4Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV4/GlitchRGBSplitV4.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV4/GlitchRGBSplitV4-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV4/GlitchRGBSplitV4.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta new file mode 100644 index 000000000..b0ec6602d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f35dd290ab25a4741aed947fec02554a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta new file mode 100644 index 000000000..7ffb74efc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2464704f7ce906746a04ac744ee3d1b4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader new file mode 100644 index 000000000..9910e328c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader @@ -0,0 +1,106 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV4" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + + + uniform half2 _Params; + + #define _Indensity _Params.x + #define _TimeX _Params.y + + float randomNoise(float x, float y) + { + return frac(sin(dot(float2(x, y), float2(12.9898, 78.233))) * 43758.5453); + } + + half4 Frag_Horizontal(VaryingsDefault i) : SV_Target + { + float splitAmount = _Indensity * randomNoise(_TimeX, 2); + + half4 ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x + splitAmount, i.texcoord.y)); + half4 ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x - splitAmount, i.texcoord.y)); + + return half4(ColorR.r, ColorG.g, ColorB.b, 1); + } + + half4 Frag_Vertical(VaryingsDefault i) : SV_Target + { + + float splitAmount = _Indensity * randomNoise(_TimeX, 2); + + half4 ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, i.texcoord.y + splitAmount)); + half4 ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, i.texcoord.y - splitAmount)); + + return half4(ColorR.r, ColorG.g, ColorB.b, 1); + } + + half4 Frag_Horizontal_Vertical(VaryingsDefault i) : SV_Target + { + + float splitAmount = _Indensity * randomNoise(_TimeX, 2); + + half4 ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x + splitAmount, i.texcoord.y + splitAmount)); + half4 ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x - splitAmount, i.texcoord.y - splitAmount)); + + return half4(ColorR.r, ColorG.g, ColorB.b, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta new file mode 100644 index 000000000..6ac6d78dd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc619b27bade60c43afd6998c42c3c8e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta new file mode 100644 index 000000000..574a4682c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f178c01485e87d43abf103a4c6385f2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta new file mode 100644 index 000000000..cab3d0ad8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d3b2522f9f3261042b90039857ee1909 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs new file mode 100644 index 000000000..4856fe626 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV5))] + public sealed class GlitchRGBSplitV5Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Amplitude; + SerializedParameterOverride Speed; + + + public override void OnEnable() + { + Amplitude = FindParameterOverride(x => x.Amplitude); + Speed = FindParameterOverride(x => x.Speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amplitude); + PropertyField(Speed); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta new file mode 100644 index 000000000..5d926e909 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b2e255fe0a994c84b8971c48d19acd69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs new file mode 100644 index 000000000..4f1ee5489 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs @@ -0,0 +1,77 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV5Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV5")] + public class GlitchRGBSplitV5 : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter Amplitude = new FloatParameter { value = 3f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Speed = new FloatParameter { value = 0.1f }; + + } + + public sealed class GlitchRGBSplitV5Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplitV5"; + private Shader shader; + private Texture2D NoiseTex; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV5"); + NoiseTex = Resources.Load("X-Noise256") as Texture2D; + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int NoiseTex = Shader.PropertyToID("_NoiseTex"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.Amplitude, settings.Speed)); + if (NoiseTex != null) + { + sheet.properties.SetTexture(ShaderIDs.NoiseTex, NoiseTex); + } + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta new file mode 100644 index 000000000..949778e04 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e9ef3f5264488414c87b632cd2509b40 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md new file mode 100644 index 000000000..a5ff9c8b7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV5 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV5.shader) +- [C# Code](GlitchRGBSplitV5.cs) +- [Editor Code](Editor/GlitchRGBSplitV5Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV5/GlitchRGBSplitV5.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV5/GlitchRGBSplitV5-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV5/GlitchRGBSplitV5.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta new file mode 100644 index 000000000..c04095acc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e05d13143c2bafa46baaf2e3c7acc598 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta new file mode 100644 index 000000000..25535605c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f35d20eb88d4cff4a9bc7cb84988f593 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader new file mode 100644 index 000000000..b222b88ef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader @@ -0,0 +1,70 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV5" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + + TEXTURE2D_SAMPLER2D(_NoiseTex, sampler_NoiseTex); + + uniform half2 _Params; + #define _Amplitude _Params.x + #define _Speed _Params.y + + + inline float4 Pow4(float4 v, float p) + { + return float4(pow(v.x, p), pow(v.y, p), pow(v.z, p), v.w); + } + + inline float4 Noise(float2 p) + { + return SAMPLE_TEXTURE2D(_NoiseTex, sampler_NoiseTex, p); + } + + half4 Frag(VaryingsDefault i): SV_Target + { + float4 splitAmount = Pow4(Noise(float2(_Speed * _Time.y, 2.0 * _Speed * _Time.y / 25.0)), 8.0) * float4(_Amplitude, _Amplitude, _Amplitude, 1.0); + + splitAmount *= 2.0 * splitAmount.w - 1.0; + + half colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, (i.texcoord.xy + float2(splitAmount.x, -splitAmount.y))).r; + half colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, (i.texcoord.xy + float2(splitAmount.y, -splitAmount.z))).g; + half colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, (i.texcoord.xy + float2(splitAmount.z, -splitAmount.x))).b; + + half3 finalColor = half3(colorR, colorG, colorB); + return half4(finalColor,1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta new file mode 100644 index 000000000..720dee35f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec29beb5e4727fe499df642d9702c960 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta new file mode 100644 index 000000000..3e3fe0bed --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56b001821ed4798449bcbc59f94be24c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta new file mode 100644 index 000000000..aa6b90c39 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29499fae3e315cd409cc3c9aa4c33401 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs new file mode 100644 index 000000000..5a6c1eefc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs @@ -0,0 +1,56 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchScanLineJitter))] + public sealed class GlitchScanLineJitterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride JitterDirection; + SerializedParameterOverride JitterIndensity; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + + public override void OnEnable() + { + JitterDirection = FindParameterOverride(x => x.JitterDirection); + JitterIndensity = FindParameterOverride(x => x.JitterIndensity); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Jitter Direction"); + PropertyField(JitterDirection); + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + PropertyField(frequency); + EditorUtilities.DrawHeaderLabel("Jitter Property"); + PropertyField(JitterIndensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta new file mode 100644 index 000000000..8dd9dcc55 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 71ebef5cf15b6e34a8ac6bf872edb64c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs new file mode 100644 index 000000000..a910f46aa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + public sealed class DirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchScanLineJitterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ScanLineJitter")] + public class GlitchScanLineJitter : PostProcessEffectSettings + { + + public DirectionParameter JitterDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 25f)] + public FloatParameter frequency = new FloatParameter { value = 1f }; + + + [Range(0.0f, 1.0f)] + public FloatParameter JitterIndensity = new FloatParameter { value = 0.1f }; + + } + + public sealed class GlitchScanLineJitterRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-GlitchScanLineJitter"; + private Shader shader; + private float randomFrequency; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ScanLineJitter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int JitterIndensity = Shader.PropertyToID("_ScanLineJitter"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + float displacement = 0.005f + Mathf.Pow(settings.JitterIndensity, 3) * 0.1f; + float threshold = Mathf.Clamp01(1.0f - settings.JitterIndensity * 1.2f); + + //sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.amount, settings.speed, ); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(displacement, threshold, settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency)); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.JitterDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta new file mode 100644 index 000000000..a49eacc6c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 29f414c45c95c4c4fab1fba6f7db9a44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md new file mode 100644 index 000000000..c935e06f9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md @@ -0,0 +1,18 @@ + +# GlitchScanLineJitter + +## Source Code List +- [Shader Code](Shader/GlitchScanLineJitter.shader) +- [C# Code](GlitchScanLineJitter.cs) +- [Editor Code](Editor/GlitchScanLineJitterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScanLineJitter/GlitchScanLineJitter.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScanLineJitter/GlitchScanLineJitter.gif) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScanLineJitter/GlitchScanLineJitter-2.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta new file mode 100644 index 000000000..653fa96b2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 80b10ff4622ed0743a9d83e239a4e27b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta new file mode 100644 index 000000000..ea9232380 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f4dc2f5731d75242983e84a76139633 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader new file mode 100644 index 000000000..e508fa85e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader @@ -0,0 +1,99 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ScanLineJitter" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature USING_FREQUENCY_INFINITE + + uniform half3 _Params; + #define _Amount _Params.x + #define _Threshold _Params.y + #define _Frequency _Params.z + + + + + float randomNoise(float x, float y) + { + return frac(sin(dot(float2(x, y), float2(12.9898, 78.233))) * 43758.5453); + } + + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + + + float jitter = randomNoise(i.texcoord.y, _Time.x) * 2 - 1; + jitter *= step(_Threshold, abs(jitter)) * _Amount * strength; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(i.texcoord + float2(jitter, 0))); + + return sceneColor; + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + + float jitter = randomNoise(i.texcoord.x, _Time.x) * 2 - 1; + jitter *= step(_Threshold, abs(jitter)) * _Amount * strength; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(i.texcoord + float2(0, jitter))); + + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta new file mode 100644 index 000000000..f094d36de --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39df4d97db7425a48b5273e099477a66 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump.meta new file mode 100644 index 000000000..1f1924ccf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bb013d662849c64e8381103cf4f7bc1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta new file mode 100644 index 000000000..5ac8ec3cd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d4b9c3314393073438ebeda100d107b5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs new file mode 100644 index 000000000..725634e93 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchScreenJump))] + public sealed class GlitchScreenJumpEditor : PostProcessEffectEditor + { + + SerializedParameterOverride ScreenJumpDirection; + SerializedParameterOverride ScreenJumpIndensity; + + + public override void OnEnable() + { + ScreenJumpDirection = FindParameterOverride(x => x.ScreenJumpDirection); + ScreenJumpIndensity = FindParameterOverride(x => x.ScreenJumpIndensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(ScreenJumpDirection); + PropertyField(ScreenJumpIndensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta new file mode 100644 index 000000000..b91697446 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f70205e5e284de241a91ed41ebbff3c5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs new file mode 100644 index 000000000..ca6e958c1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class GlitchScreenJumpDirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchScreenJumpRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ScreenJump", false)] + public class GlitchScreenJump : PostProcessEffectSettings + { + public GlitchScreenJumpDirectionParameter ScreenJumpDirection = new GlitchScreenJumpDirectionParameter { value = Direction.Vertical }; + + [Range(0.0f, 1.0f)] + public FloatParameter ScreenJumpIndensity= new FloatParameter { value = 0.35f }; + + + } + + public sealed class GlitchScreenJumpRenderer : PostProcessEffectRenderer + { + private Shader shader; + + float ScreenJumpTime; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ScreenJump"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + PropertySheet sheet = context.propertySheets.Get(shader); + + ScreenJumpTime += Time.deltaTime * settings.ScreenJumpIndensity * 9.8f; + + Vector2 ScreenJumpVector = new Vector2(settings.ScreenJumpIndensity, ScreenJumpTime); + + sheet.properties.SetVector(ShaderIDs.Params, ScreenJumpVector); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.ScreenJumpDirection.value); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta new file mode 100644 index 000000000..2be417c09 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2116fb4751a1a3046a3bae7177ecc731 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md new file mode 100644 index 000000000..ff2819f7f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md @@ -0,0 +1,19 @@ + +# GlitchScreenJump + +## Source Code List +- [Shader Code](Shader/GlitchScreenJump.shader) +- [C# Code](GlitchScreenJump.cs) +- [Editor Code](Editor/GlitchScreenJumpEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta new file mode 100644 index 000000000..a4f50dad9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4cd866748c212c3488fffd46c8cfab27 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta new file mode 100644 index 000000000..25c2718c1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3aa348dbef64ba641ba81df10b0c3d33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader new file mode 100644 index 000000000..da77d3567 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader @@ -0,0 +1,67 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ScreenJump" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half2 _Params; // x: indensity , y : time + #define _JumpIndensity _Params.x + #define _JumpTime _Params.y + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float jump = lerp(i.texcoord.x, frac(i.texcoord.x + _JumpTime), _JumpIndensity); + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(jump, i.texcoord.y))); + return sceneColor; + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float jump = lerp(i.texcoord.y, frac(i.texcoord.y + _JumpTime), _JumpIndensity); + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(i.texcoord.x, jump))); + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta new file mode 100644 index 000000000..f854dc4a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d20ddbcdba6cbc499aef6869b23b9f9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake.meta new file mode 100644 index 000000000..45120ae51 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbb31158a8732e14880d4dc8690ad3a3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta new file mode 100644 index 000000000..6150d5d5a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 53d267350d3c5c147adb7d17f3e2ab71 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs new file mode 100644 index 000000000..216378810 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchScreenShake))] + public sealed class GlitchScreenShakeEditor : PostProcessEffectEditor + { + + SerializedParameterOverride ScreenShakeDirection; + SerializedParameterOverride ScreenShakeIndensity; + + + public override void OnEnable() + { + ScreenShakeDirection = FindParameterOverride(x => x.ScreenShakeDirection); + ScreenShakeIndensity = FindParameterOverride(x => x.ScreenShakeIndensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(ScreenShakeDirection); + PropertyField(ScreenShakeIndensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta new file mode 100644 index 000000000..cd0d87c5c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a03266d409455a42896fe7585bf1630 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs new file mode 100644 index 000000000..feb7b0b35 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class GlitchScreenShakeDirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchScreenShakeRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ScreenShake")] + public class GlitchScreenShake : PostProcessEffectSettings + { + public GlitchScreenShakeDirectionParameter ScreenShakeDirection = new GlitchScreenShakeDirectionParameter { value = Direction.Horizontal }; + + [Range(0.0f, 1.0f)] + public FloatParameter ScreenShakeIndensity = new FloatParameter { value = 0.5f }; + } + + public sealed class GlitchScreenShakeRenderer : PostProcessEffectRenderer + { + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ScreenShake"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int ScreenShakeIndensity = Shader.PropertyToID("_ScreenShake"); + } + + public override void Render(PostProcessRenderContext context) + { + PropertySheet sheet = context.propertySheets.Get(shader); + + sheet.properties.SetFloat(ShaderIDs.ScreenShakeIndensity, settings.ScreenShakeIndensity * 0.25f); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.ScreenShakeDirection.value); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta new file mode 100644 index 000000000..11b1acb7b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 123fa084c891c3641894d7fdb6b461ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md new file mode 100644 index 000000000..0c1b8801d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md @@ -0,0 +1,19 @@ + +# GlitchScreenShake + +## Source Code List +- [Shader Code](Shader/GlitchScreenShake.shader) +- [C# Code](GlitchScreenShake.cs) +- [Editor Code](Editor/GlitchScreenShakeEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta new file mode 100644 index 000000000..3dbfcf2c6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bfc8da7f7a5e08b4f9230c3494aa22de +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta new file mode 100644 index 000000000..7f7d1a448 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66b6af034a26dde4aac67310bfdce3bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader new file mode 100644 index 000000000..cfe52f4ee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader @@ -0,0 +1,77 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ScreenShake" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _ScreenShake; + + + float randomNoise(float x, float y) + { + return frac(sin(dot(float2(x, y), float2(127.1, 311.7))) * 43758.5453); + } + + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float shake = (randomNoise(_Time.x, 2) - 0.5) * _ScreenShake; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(i.texcoord.x + shake, i.texcoord.y))); + + return sceneColor; + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + + float shake = (randomNoise(_Time.x, 2) - 0.5) * _ScreenShake; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(i.texcoord.x, i.texcoord.y + shake))); + + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta new file mode 100644 index 000000000..0b283be6b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97b10aaa5b0db094da3089877e97b62f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter.meta new file mode 100644 index 000000000..2ea321917 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0853328ff4c6c9418030567eef23075 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta new file mode 100644 index 000000000..c07c35d25 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26bc7f19edee99d46ab6e3e4a8cb1bfa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs new file mode 100644 index 000000000..92cd5b9f6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchTileJitter))] + public sealed class GlitchTileJitterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride jitterDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + SerializedParameterOverride splittingDirection; + SerializedParameterOverride splittingNumber; + SerializedParameterOverride amount; + SerializedParameterOverride speed; + + public override void OnEnable() + { + + jitterDirection = FindParameterOverride(x => x.jitterDirection); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + splittingNumber = FindParameterOverride(x => x.splittingNumber); + splittingDirection = FindParameterOverride(x => x.splittingDirection); + amount = FindParameterOverride(x => x.amount); + speed = FindParameterOverride(x => x.speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Splitting Property"); + PropertyField(splittingDirection); + PropertyField(splittingNumber); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(frequency); + } + + EditorUtilities.DrawHeaderLabel("Jitter Property"); + PropertyField(jitterDirection); + PropertyField(amount); + PropertyField(speed); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta new file mode 100644 index 000000000..4495b30d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4a886ec2591827042a92ef7c79d81da8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs new file mode 100644 index 000000000..fd6df9420 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs @@ -0,0 +1,111 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchTileJitterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/TileJitter")] + public class GlitchTileJitter : PostProcessEffectSettings + { + + public DirectionParameter jitterDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 25f)] + public FloatParameter frequency = new FloatParameter { value = 1f }; + + public DirectionParameter splittingDirection = new DirectionParameter { value = Direction.Vertical }; + + [Range(0f, 50f)] + public FloatParameter splittingNumber = new FloatParameter { value = 5f }; + + [Range(0f, 100f)] + public FloatParameter amount = new FloatParameter { value = 10f }; + + [Range(0f, 1f)] + public FloatParameter speed = new FloatParameter { value = 0.35f }; + } + + public sealed class GlitchTileJitterRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchTileJitter"; + private Shader shader; + private float randomFrequency; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/TileJitter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + if (settings.jitterDirection.value == Direction.Horizontal) + { + sheet.EnableKeyword("JITTER_DIRECTION_HORIZONTAL"); + } + else + { + sheet.DisableKeyword("JITTER_DIRECTION_HORIZONTAL"); + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.splittingNumber, settings.amount, settings.speed * 100f, + settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, settings.splittingDirection.value == Direction.Horizontal ? 0 : 1); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta new file mode 100644 index 000000000..ae85b50b2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b051772227976074286eb77ae478e460 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md new file mode 100644 index 000000000..df976f759 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md @@ -0,0 +1,23 @@ + +# GlitchTileJitter + +## Source Code List +- [Shader Code](Shader/GlitchTileJitter.shader) +- [C# Code](GlitchTileJitter.cs) +- [Editor Code](Editor/GlitchTileJitterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-3.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-4.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta new file mode 100644 index 000000000..55b76bbff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6456b609535b7314aad02b011cda7c4a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta new file mode 100644 index 000000000..e8794b66e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9cf0fe55a14bfc84a991dc80010b1180 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader new file mode 100644 index 000000000..69527f722 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader @@ -0,0 +1,118 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/TileJitter" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature JITTER_DIRECTION_HORIZONTAL + #pragma shader_feature USING_FREQUENCY_INFINITE + + + uniform half4 _Params; + + #define _SplittingNumber _Params.x + #define _JitterAmount _Params.y + #define _JitterSpeed _Params.z + #define _Frequency _Params.w + + + float randomNoise(float2 c) + { + return frac(sin(dot(c.xy, float2(12.9898, 78.233))) * 43758.5453); + } + + float4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + half strength = 1.0; + half pixelSizeX = 1.0 / _ScreenParams.x; + + // --------------------------------Prepare Jitter UV-------------------------------- + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + + if (fmod(uv.x * _SplittingNumber, 2) < 1.0) + { + #if JITTER_DIRECTION_HORIZONTAL + uv.x += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #else + uv.y += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #endif + } + + // -------------------------------Final Sample------------------------------ + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + return sceneColor; + } + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + half strength = 1.0; + half pixelSizeX = 1.0 / _ScreenParams.x; + + // --------------------------------Prepare Jitter UV-------------------------------- + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + if(fmod(uv.y * _SplittingNumber, 2) < 1.0) + { + #if JITTER_DIRECTION_HORIZONTAL + uv.x += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #else + uv.y += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #endif + } + + // -------------------------------Final Sample------------------------------ + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta new file mode 100644 index 000000000..ddf5d450c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec4930f48d49c714e9564c7ab8bbdafd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta new file mode 100644 index 000000000..96ee58c8d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a2d8244333bbe5e4ebcabca1ae310a06 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta new file mode 100644 index 000000000..7a885862c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7278af6254ae46543be71a02d1c74fca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs new file mode 100644 index 000000000..c58670d1e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs @@ -0,0 +1,80 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchWaveJitter))] + public sealed class GlitchWaveJitterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride jitterDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + SerializedParameterOverride RGBSplit; + SerializedParameterOverride speed; + SerializedParameterOverride amount; + SerializedParameterOverride customResolution; + SerializedParameterOverride resolution; + + + public override void OnEnable() + { + jitterDirection = FindParameterOverride(x => x.jitterDirection); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + RGBSplit = FindParameterOverride(x => x.RGBSplit); + speed = FindParameterOverride(x => x.speed); + amount = FindParameterOverride(x => x.amount); + customResolution = FindParameterOverride(x => x.customResolution); + resolution = FindParameterOverride(x => x.resolution); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + EditorUtilities.DrawHeaderLabel("Jitter Direction"); + PropertyField(jitterDirection); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(frequency); + } + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(RGBSplit); + PropertyField(speed); + PropertyField(amount); + + EditorUtilities.DrawHeaderLabel("Custom Jitter Resolution"); + PropertyField(customResolution); + PropertyField(resolution); + + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta new file mode 100644 index 000000000..1390cc5e2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 761468cf43b9a3b4a928aa67400fc8ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs new file mode 100644 index 000000000..0ed43a1b9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs @@ -0,0 +1,108 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchWaveJitterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/WaveJitter")] + public class GlitchWaveJitter : PostProcessEffectSettings + { + + public DirectionParameter jitterDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 50f)] + public FloatParameter frequency = new FloatParameter { value = 5f }; + + [Range(0f, 50f)] + public FloatParameter RGBSplit = new FloatParameter { value = 20f }; + + [Range(0f, 1f)] + public FloatParameter speed = new FloatParameter { value = 0.25f }; + + [Range(0f, 2f)] + public FloatParameter amount = new FloatParameter { value = 1f }; + + public BoolParameter customResolution = new BoolParameter { value = false }; + + public Vector2Parameter resolution = new Vector2Parameter { value = new Vector2(640f, 480f) }; + } + + public sealed class GlitchWaveJitterRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchWaveJitter"; + private Shader shader; + private float randomFrequency; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/WaveJitter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Resolution = Shader.PropertyToID("_Resolution"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency + , settings.RGBSplit, settings.speed, settings.amount)); + sheet.properties.SetVector(ShaderIDs.Resolution, settings.customResolution ? settings.resolution : new Vector2(Screen.width, Screen.height)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.jitterDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta new file mode 100644 index 000000000..911f387ff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 437ed09078437c940ba8a7c1c241cbfc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md new file mode 100644 index 000000000..f7a8ed258 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md @@ -0,0 +1,19 @@ + +# GlitchWaveJitter + +## Source Code List +- [Shader Code](Shader/GlitchWaveJitter.shader) +- [C# Code](GlitchWaveJitter.cs) +- [Editor Code](Editor/GlitchWaveJitterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter-3.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta new file mode 100644 index 000000000..f88871893 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dad715cd6cfd63b43863b4e9f7c5a411 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta new file mode 100644 index 000000000..05a60adc3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 121934a5cdb58ed4194e89d676e834f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader new file mode 100644 index 000000000..43b61d360 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader @@ -0,0 +1,109 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/WaveJitter" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + #include "../../../Shaders/XNoiseLibrary.hlsl" + + #pragma shader_feature USING_FREQUENCY_INFINITE + + uniform half4 _Params; + half2 _Resolution; + + #define _Frequency _Params.x + #define _RGBSplit _Params.y + #define _Speed _Params.z + #define _Amount _Params.w + + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + half strength = 0.0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + + // Prepare UV + float uv_y = i.texcoord.y * _Resolution.y; + float noise_wave_1 = snoise(float2(uv_y * 0.01, _Time.y * _Speed * 20)) * (strength * _Amount * 32.0); + float noise_wave_2 = snoise(float2(uv_y * 0.02, _Time.y * _Speed * 10)) * (strength * _Amount * 4.0); + float noise_wave_x = noise_wave_1 * noise_wave_2 / _Resolution.x; + float uv_x = i.texcoord.x + noise_wave_x; + + float rgbSplit_uv_x = (_RGBSplit * 50 + (20.0 * strength + 1.0)) * noise_wave_x / _Resolution.x; + + // Sample RGB Color- + half4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv_x, i.texcoord.y)); + half4 colorRB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv_x + rgbSplit_uv_x, i.texcoord.y)); + + return half4(colorRB.r, colorG.g, colorRB.b, colorRB.a + colorG.a); + } + + float4 Frag_Vertical(VaryingsDefault i) : SV_Target + { + half strength = 0.0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + + // Prepare UV + float uv_x = i.texcoord.x * _Resolution.x; + float noise_wave_1 = snoise(float2(uv_x * 0.01, _Time.y * _Speed * 20)) * (strength * _Amount * 32.0); + float noise_wave_2 = snoise(float2(uv_x * 0.02, _Time.y * _Speed * 10)) * (strength * _Amount * 4.0); + float noise_wave_y = noise_wave_1 * noise_wave_2 / _Resolution.x; + float uv_y = i.texcoord.y + noise_wave_y; + + float rgbSplit_uv_y = (_RGBSplit * 50 + (20.0 * strength + 1.0)) * noise_wave_y / _Resolution.y; + + // Sample RGB Color + half4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, uv_y)); + half4 colorRB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, uv_y + rgbSplit_uv_y)); + + return half4(colorRB.r, colorG.g, colorRB.b, colorRB.a + colorG.a); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta new file mode 100644 index 000000000..e24034ced --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90f6ed23485fdc84a876a48d3ac9dc57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur.meta b/Assets/X-PostProcessing/Effects/GrainyBlur.meta new file mode 100644 index 000000000..50b79d3a3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 916caff2cb1b2f744b403efe229914e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta new file mode 100644 index 000000000..3c0b02fd3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4701f9b1019a4a74386780f52784d926 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs new file mode 100644 index 000000000..5d5ebd07c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GrainyBlur))] + public sealed class GrainyBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta new file mode 100644 index 000000000..324ab21a8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d842428233057cf4f8435fb83b5e2ee3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs new file mode 100644 index 000000000..e0aa4a029 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs @@ -0,0 +1,88 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GrainyBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/GrainyBlur")] + public class GrainyBlur : PostProcessEffectSettings + { + + [Range(0.0f, 50.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1, 8)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1 }; + } + + public sealed class GrainyBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GrainyBlur"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/GrainyBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BufferRT = Shader.PropertyToID("_BufferRT"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + if (settings.RTDownScaling > 1) + { + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT, RTWidth, RTHeight, 0, FilterMode.Bilinear); + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT); + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.BlurRadius / context.height, settings.Iteration)); + + if (settings.RTDownScaling > 1) + { + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT, context.destination, sheet, 0); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT); + cmd.EndSample(PROFILER_TAG); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta new file mode 100644 index 000000000..a5e3f6ef7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 172b63b63bfdad04dbe149542c33a495 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/README.md b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md new file mode 100644 index 000000000..55e3fdc05 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md @@ -0,0 +1,16 @@ + +# Grainy Blur + +## Source Code List +- [Shader Code](Shader/GrainyBlur.shader) +- [C# Code](GrainyBlur.cs) +- [Editor Code](Editor/GrainyBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GrainyBlur/GrainyBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GrainyBlur/GrainyBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GrainyBlur/GrainyBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta new file mode 100644 index 000000000..5d0274956 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 686239f4d5235574d9646dae7b5af651 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta new file mode 100644 index 000000000..4e0a83645 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ce358db33e83ad468cd68146f16fb7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader new file mode 100644 index 000000000..b3ea11192 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/GrainyBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half2 _Params; + half _MainTex_ST; + + #define _BlurRadius _Params.x + #define _Iteration _Params.y + + + float Rand(float2 n) + { + return sin(dot(n, half2(1233.224, 1743.335))); + } + + half4 GrainyBlur(VaryingsDefault i) + { + half2 randomOffset = float2(0.0, 0.0); + half4 finalColor = half4(0.0, 0.0, 0.0, 0.0); + float random = Rand(i.texcoord); + + for (int k = 0; k < int(_Iteration); k ++) + { + random = frac(43758.5453 * random + 0.61432);; + randomOffset.x = (random - 0.5) * 2.0; + random = frac(43758.5453 * random + 0.61432); + randomOffset.y = (random - 0.5) * 2.0; + + finalColor += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, half2(i.texcoord + randomOffset * _BlurRadius)); + } + return finalColor / _Iteration; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return GrainyBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta new file mode 100644 index 000000000..92b62ebac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddb77bd8cf7841c41b5104969f71ff8b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur.meta b/Assets/X-PostProcessing/Effects/IrisBlur.meta new file mode 100644 index 000000000..c7b007595 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c78c1ac533429f441bcf9d3a4c8c3ea2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta new file mode 100644 index 000000000..29ab18ae4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7431864dcaeb79498767dbcff54b4ee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs new file mode 100644 index 000000000..39f6f6dd2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs @@ -0,0 +1,56 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(IrisBlur))] + public sealed class IrisBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride QualityLevel; + SerializedParameterOverride AreaSize; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + QualityLevel = FindParameterOverride(x => x.QualityLevel); + AreaSize = FindParameterOverride(x => x.AreaSize); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(QualityLevel); + PropertyField(AreaSize); + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta new file mode 100644 index 000000000..0408918cb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2d1c0fde13a736d4ea203bcb850da633 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs new file mode 100644 index 000000000..37168417e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs @@ -0,0 +1,158 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + public enum IrisBlurQualityLevel + { + High_Quality = 0, + Normal_Quality = 1, + } + + [Serializable] + public sealed class IrisBlurQualityLevelParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(IrisBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/IrisBlur/IrisBlurV1")] + public class IrisBlur : PostProcessEffectSettings + { + public IrisBlurQualityLevelParameter QualityLevel = new IrisBlurQualityLevelParameter { value = IrisBlurQualityLevel.High_Quality }; + + [Range(0.0f, 1.0f)] + public FloatParameter AreaSize = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1.0f }; + + [Range(1,8)] + public IntParameter Iteration = new IntParameter { value = 2 }; + + [Range(1, 2)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1.0f }; + } + + public sealed class IrisBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-IrisBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/IrisBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BlurredTex = Shader.PropertyToID("_BlurredTex"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + if (settings.Iteration ==1) + { + HandleOneBlitBlur(context, cmd, sheet); + } + else + { + HandleMultipleIterationBlur(context, cmd, sheet, settings.Iteration); + } + + cmd.EndSample(PROFILER_TAG); + } + + void HandleOneBlitBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.AreaSize, settings.BlurRadius)); + + // Do Blit + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1, sheet, (int)settings.QualityLevel.value); + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, ShaderIDs.BufferRT1); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + } + + + void HandleMultipleIterationBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet, int Iteration) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params,new Vector2(settings.AreaSize, settings.BlurRadius)); + + RenderTargetIdentifier finalBlurID = ShaderIDs.BufferRT1; + RenderTargetIdentifier firstID = context.source; + RenderTargetIdentifier secondID = ShaderIDs.BufferRT1; + for (int i = 0; i < Iteration; i++) + { + // Do Blit + context.command.BlitFullscreenTriangle(firstID, secondID, sheet, (int)settings.QualityLevel.value); + + finalBlurID = secondID; + firstID = secondID; + secondID = (secondID == ShaderIDs.BufferRT1) ? ShaderIDs.BufferRT2 : ShaderIDs.BufferRT1; + } + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, finalBlurID); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta new file mode 100644 index 000000000..ab3dd6e3e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 28d1f2b869b5fb34fb422a9774832bf6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/README.md b/Assets/X-PostProcessing/Effects/IrisBlur/README.md new file mode 100644 index 000000000..313b17725 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/README.md @@ -0,0 +1,15 @@ +# Iris Blur + +## Source Code List +- [Shader Code](Shader/IrisBlur.shader) +- [C# Code](IrisBlur.cs) +- [Editor Code](Editor/IrisBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlur/IrisBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlur/IrisBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlur/IrisBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta b/Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta new file mode 100644 index 000000000..de0c525c9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 56196ad4f49958e488f6e88c8e524a86 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta new file mode 100644 index 000000000..54d98f03e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fe775c5c0612374b92b5f59ddd19c9e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader new file mode 100644 index 000000000..4ece061ec --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader @@ -0,0 +1,183 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference :https://docs.unity3d.com/550/Documentation/Manual/script-TiltShiftHdr.html + +Shader "Hidden/X-PostProcessing/IrisBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + TEXTURE2D_SAMPLER2D(_BlurredTex, sampler_BlurredTex); + + float4 _BlurredTex_TexelSize; + half2 _Params; + + #define _BluSize _Params.x + #define _BlurRadius _Params.y + + + static const int DiscKernelSampleNum_LQ = 12; + static const float2 DiscKernel_LQ[DiscKernelSampleNum_LQ] = + { + float2(-0.326212, -0.40581), + float2(-0.840144, -0.07358), + float2(-0.695914, 0.457137), + float2(-0.203345, 0.620716), + float2(0.96234, -0.194983), + float2(0.473434, -0.480026), + float2(0.519456, 0.767022), + float2(0.185461, -0.893124), + float2(0.507431, 0.064425), + float2(0.89642, 0.412458), + float2(-0.32194, -0.932615), + float2(-0.791559, -0.59771) + }; + + static const int DiscKernelSampleNum_HQ = 28; + static const float3 DiscKernel_HQ[DiscKernelSampleNum_HQ] = + { + float3(0.62463, 0.54337, 0.82790), + float3(-0.13414, -0.94488, 0.95435), + float3(0.38772, -0.43475, 0.58253), + float3(0.12126, -0.19282, 0.22778), + float3(-0.20388, 0.11133, 0.23230), + float3(0.83114, -0.29218, 0.88100), + float3(0.10759, -0.57839, 0.58831), + float3(0.28285, 0.79036, 0.83945), + float3(-0.36622, 0.39516, 0.53876), + float3(0.75591, 0.21916, 0.78704), + float3(-0.52610, 0.02386, 0.52664), + float3(-0.88216, -0.24471, 0.91547), + float3(-0.48888, -0.29330, 0.57011), + float3(0.44014, -0.08558, 0.44838), + float3(0.21179, 0.51373, 0.55567), + float3(0.05483, 0.95701, 0.95858), + float3(-0.59001, -0.70509, 0.91938), + float3(-0.80065, 0.24631, 0.83768), + float3(-0.19424, -0.18402, 0.26757), + float3(-0.43667, 0.76751, 0.88304), + float3(0.21666, 0.11602, 0.24577), + float3(0.15696, -0.85600, 0.87027), + float3(-0.75821, 0.58363, 0.95682), + float3(0.99284, -0.02904, 0.99327), + float3(-0.22234, -0.57907, 0.62029), + float3(0.55052, -0.66984, 0.86704), + float3(0.46431, 0.28115, 0.54280), + float3(-0.07214, 0.60554, 0.60982), + }; + + + float IrisMask(float2 uv) + { + float2 center = uv * 2 - 1; + return dot(center, center) * (_BluSize * 0.001); + } + + float4 FragIrisLQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = IrisMask(i.texcoord.xy); + + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_LQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_LQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_LQ), mask); + } + + float4 FragIrisHQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = IrisMask(i.texcoord.xy); + + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_HQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_HQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_HQ), mask); + } + + float4 FragBlend(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float4 blurredColor = SAMPLE_TEXTURE2D(_BlurredTex, sampler_BlurredTex, i.texcoord); + + float3 result = lerp(blurredColor.rgb, screenColor.rgb, saturate(blurredColor.a)); + + return float4(result.rgb, screenColor.a); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + //Pass 0 - Iris Blur High Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragIrisHQ + + ENDHLSL + + } + + //Pass 1 - Iris Blur Low Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragIrisLQ + + ENDHLSL + + } + + //Pass 2 - Blend + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBlend + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta new file mode 100644 index 000000000..8f316143e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b65e66274f5ed784abb0a1fede226fab +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2.meta new file mode 100644 index 000000000..58f981922 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c98de5f680885ae4aa282da6a358ed11 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta new file mode 100644 index 000000000..d66944b2c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb167be4afee1ad45849e333fd0d7b65 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs new file mode 100644 index 000000000..ff9d8e23e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs @@ -0,0 +1,65 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(IrisBlurV2))] + public sealed class IrisBlurV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride centerOffsetX; + SerializedParameterOverride centerOffsetY; + SerializedParameterOverride AreaSize; + SerializedParameterOverride Iteration; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride showPreview; + + + public override void OnEnable() + { + showPreview = FindParameterOverride(x => x.showPreview); + centerOffsetX = FindParameterOverride(x => x.centerOffsetX); + centerOffsetY = FindParameterOverride(x => x.centerOffsetY); + AreaSize = FindParameterOverride(x => x.AreaSize); + Iteration = FindParameterOverride(x => x.Iteration); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Blur Property"); + PropertyField(BlurRadius); + PropertyField(Iteration); + + EditorUtilities.DrawHeaderLabel("Area Property"); + PropertyField(AreaSize); + PropertyField(centerOffsetX); + PropertyField(centerOffsetY); + + EditorUtilities.DrawHeaderLabel("Debug"); + PropertyField(showPreview); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta new file mode 100644 index 000000000..7504ec556 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: de347b80e10fa5c4c8913b90c6b3182d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs new file mode 100644 index 000000000..86df19598 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs @@ -0,0 +1,88 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(IrisBlurV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/IrisBlur/IrisBlurV2")] + public class IrisBlurV2 : PostProcessEffectSettings + { + + [Range(0f, 3f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(8, 128)] + public IntParameter Iteration = new IntParameter { value = 60 }; + + [Range(-1f, 1f)] + public FloatParameter centerOffsetX = new FloatParameter { value = 0f }; + + [Range(-1f, 1f)] + public FloatParameter centerOffsetY = new FloatParameter { value = 0f }; + + [Range(0f, 50f)] + public FloatParameter AreaSize = new FloatParameter { value = 8f }; + + public BoolParameter showPreview = new BoolParameter { value = false }; + + } + + public sealed class IrisBlurV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-IrisBlurV2"; + private Shader shader; + private Vector4 mGoldenRot = new Vector4(); + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/IrisBlurV2"); + + // Precompute rotations + float c = Mathf.Cos(2.39996323f); + float s = Mathf.Sin(2.39996323f); + mGoldenRot.Set(c, s, -s, c); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int GoldenRot = Shader.PropertyToID("_GoldenRot"); + internal static readonly int Gradient = Shader.PropertyToID("_Gradient"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.GoldenRot, mGoldenRot); + sheet.properties.SetVector(ShaderIDs.Gradient, new Vector3(settings.centerOffsetX, settings.centerOffsetY, settings.AreaSize * 0.1f)); + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Iteration, settings.BlurRadius, 1f / context.width, 1f / context.height)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, settings.showPreview ? 1 : 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta new file mode 100644 index 000000000..2c0e23f59 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b3bbc5404f2acf4a9963784dd2159af +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md new file mode 100644 index 000000000..87202a018 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md @@ -0,0 +1,18 @@ + +# Iris Blur V2 + +## Source Code List +- [Shader Code](Shader/IrisBlurV2.shader) +- [C# Code](IrisBlurV2.cs) +- [Editor Code](Editor/IrisBlurV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2-1.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta new file mode 100644 index 000000000..601e2e490 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1b75baf9ca4850f4b995ceb86eebbc7e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta new file mode 100644 index 000000000..f988d29b7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c06de418ed3387842835e62b231639e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader new file mode 100644 index 000000000..9ef918f13 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +// reference : https://www.shadertoy.com/view/4d2Xzw + +Shader "Hidden/X-PostProcessing/IrisBlurV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + half3 _Gradient; + half4 _GoldenRot; + half4 _Params; + + #define _Offset _Gradient.xy + #define _AreaSize _Gradient.z + #define _Iteration _Params.x + #define _Radius _Params.y + #define _PixelSize _Params.zw + + + float IrisMask(float2 uv) + { + float2 center = uv * 2.0 - 1.0 + _Offset; // [0,1] -> [-1,1] + return dot(center, center) * _AreaSize; + } + + half4 FragPreview(VaryingsDefault i): SV_Target + { + return IrisMask(i.texcoord); + } + + half4 IrisBlur(VaryingsDefault i) + { + half2x2 rot = half2x2(_GoldenRot); + half4 accumulator = 0.0; + half4 divisor = 0.0; + + half r = 1.0; + half2 angle = half2(0.0, _Radius * saturate(IrisMask(i.texcoord))); + + for (int j = 0; j < _Iteration; j ++) + { + r += 1.0 / r; + angle = mul(rot, angle); + half4 bokeh = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord + _PixelSize * (r - 1.0) * angle)); + accumulator += bokeh * bokeh; + divisor += bokeh; + } + return accumulator / divisor; + } + + + half4 Frag(VaryingsDefault i): SV_Target + { + return IrisBlur(i); + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + // Pass 0 - IrisBlur + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + // Pass 1 - Preview + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragPreview + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta new file mode 100644 index 000000000..cbddd1aa8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb135929960fc10489137e1562cdcb5c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur.meta b/Assets/X-PostProcessing/Effects/KawaseBlur.meta new file mode 100644 index 000000000..79edcba78 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e0c6fe4d65eb7949aa1b7d9987fc933 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta new file mode 100644 index 000000000..c53cf659c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 384007f753feabe4ca02c57268e13e20 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs new file mode 100644 index 000000000..c9a1572a7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(KawaseBlur))] + public sealed class KawaseBlurEditor : PostProcessEffectEditor + { + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta new file mode 100644 index 000000000..f17426852 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e7d17b682c783d4ca5be5eddc63b8b2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs new file mode 100644 index 000000000..c4281dd46 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs @@ -0,0 +1,99 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(KawaseBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/KawaseBlur")] + public class KawaseBlur : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 0.5f }; + + [Range(1, 10)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + + } + + public sealed class KawaseBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-KawaseBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/KawaseBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurRadius = Shader.PropertyToID("_Offset"); + + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + bool needSwitch = true; + for (int i = 0; i < settings.Iteration; i++) + { + sheet.properties.SetFloat(ShaderIDs.BlurRadius, i / settings.RTDownScaling + settings.BlurRadius); + context.command.BlitFullscreenTriangle(needSwitch ? ShaderIDs.BufferRT1 : ShaderIDs.BufferRT2, needSwitch ? ShaderIDs.BufferRT2 : ShaderIDs.BufferRT1, sheet, 0); + needSwitch = !needSwitch; + } + + + sheet.properties.SetFloat(ShaderIDs.BlurRadius, settings.Iteration / settings.RTDownScaling + settings.BlurRadius); + cmd.BlitFullscreenTriangle(needSwitch ? ShaderIDs.BufferRT1 : ShaderIDs.BufferRT2, context.destination, sheet, 0); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta new file mode 100644 index 000000000..4a2b410eb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9c7f2d10840ecbc439518593ab7683c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/README.md b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md new file mode 100644 index 000000000..81a4dd14d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md @@ -0,0 +1,16 @@ + +# Kawase Blur + +## Source Code List +- [Shader Code](Shader/KawaseBlur.shader) +- [C# Code](KawaseBlur.cs) +- [Editor Code](Editor/KawaseBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/KawaseBlur/KawaseBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/KawaseBlur/KawaseBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/KawaseBlur/KawaseBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta new file mode 100644 index 000000000..62195cc74 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c7a76c93bdb6efa4eb07280a35c825a7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta new file mode 100644 index 000000000..4f8063abf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f835c61189ae7584687117da35ef131c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader new file mode 100644 index 000000000..f1651f6ff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/KawaseBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Offset; + + + half4 KawaseBlur(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize, half pixelOffset) + { + half4 o = 0; + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(pixelOffset +0.5, pixelOffset +0.5) * texelSize); + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(-pixelOffset -0.5, pixelOffset +0.5) * texelSize); + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(-pixelOffset -0.5, -pixelOffset -0.5) * texelSize); + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(pixelOffset +0.5, -pixelOffset -0.5) * texelSize); + return o * 0.25; + } + + + half4 Frag(VaryingsDefault i): SV_Target + { + return KawaseBlur(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord.xy, _MainTex_TexelSize.xy, _Offset); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta new file mode 100644 index 000000000..18e880385 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dffb1cb344557b642a54c6329431555c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle.meta new file mode 100644 index 000000000..0de75805d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 298527a2f52f3204cb19f89631e116a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta new file mode 100644 index 000000000..fb2767d03 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81216249fdfa80f4e8b5a5cd1ac7a050 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs new file mode 100644 index 000000000..ebd22a04a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs @@ -0,0 +1,57 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeCircle))] + public sealed class PixelizeCircleEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride circleRadius; + SerializedParameterOverride pixelIntervalX; + SerializedParameterOverride pixelIntervalY; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + circleRadius = FindParameterOverride(x => x.circleRadius); + pixelIntervalX = FindParameterOverride(x => x.pixelIntervalX); + pixelIntervalY = FindParameterOverride(x => x.pixelIntervalY); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(circleRadius); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Pixel Interval"); + PropertyField(pixelIntervalX); + PropertyField(pixelIntervalY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta new file mode 100644 index 000000000..fbff3344a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e2aacc7cdca0ce4e84311f44051f692 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs new file mode 100644 index 000000000..0cc7c2e18 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs @@ -0,0 +1,76 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeCircleRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeCircle")] + public class PixelizeCircle : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.8f }; + [Range(0.01f, 1.0f)] + public FloatParameter circleRadius = new FloatParameter { value = 0.45f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval X")] + public FloatParameter pixelIntervalX = new FloatParameter { value = 1f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval Y")] + public FloatParameter pixelIntervalY = new FloatParameter { value = 1f }; + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f) }; + + } + + public sealed class PixelizeCircleRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeCircle"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeCircle"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 300f; + Vector4 parameters = new Vector4(size, ((context.screenWidth * 2 / context.screenHeight) * size / Mathf.Sqrt(3f)), settings.circleRadius, 0f); + + sheet.properties.SetVector(ShaderIDs.Params, parameters); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector2(settings.pixelIntervalX, settings.pixelIntervalY)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta new file mode 100644 index 000000000..c65a23eee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2c41764e784e0e241b81d2a327bcca17 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md new file mode 100644 index 000000000..75b8f4fac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md @@ -0,0 +1,16 @@ + +# Pixelize Circle + +## Source Code List +- [Shader Code](Shader/PixelizeCircle.shader) +- [C# Code](PixelizeCircle.cs) +- [Editor Code](Editor/PixelizeCircleEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeCircle/PixelizeCircleProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeCircle/PixelizeCircle.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeCircle/PixelizeCircle.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta new file mode 100644 index 000000000..f8777768e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9d062af13e053a440ad7b27efcd600e7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta new file mode 100644 index 000000000..b5872a8ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b00e75c973863bf488b2103f4dfb88ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader new file mode 100644 index 000000000..a89aacc21 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader @@ -0,0 +1,75 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeCircle" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + half4 _Params; + half2 _Params2; + half4 _BackgroundColor; + + #define _PixelIntervalX _Params2.x + #define _PixelIntervalY _Params2.y + + + float4 CirclePixelize(float2 uv) + { + float pixelScale = 1.0 / _Params.x; + + float ratio = _ScreenParams.y / _ScreenParams.x; + uv.x = uv.x / ratio; + + //x和y坐标分别除以缩放系数,在用floor向下取整,再乘以缩放系数,得到分段UV + float2 coord = half2(_PixelIntervalX * floor(uv.x / (pixelScale * _PixelIntervalX)), (_PixelIntervalY)* floor(uv.y / (pixelScale * _PixelIntervalY))); + + //求解圆心坐标 + float2 circleCenter = coord * pixelScale + pixelScale * 0.5; + + //计算当前uv值隔圆心的距离,并乘以缩放系数 + float dist = length(uv - circleCenter) * _Params.x; + //圆心坐标乘以缩放系数 + circleCenter.x *= ratio; + + //采样 + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, circleCenter); + + //对于距离大于半径的像素,替换为背景色 + if (dist > _Params.z) screenColor = _BackgroundColor; + + return screenColor; + } + + + + float4 Frag(VaryingsDefault i): SV_Target + { + + return CirclePixelize(i.texcoord); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta new file mode 100644 index 000000000..e607cfe0e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ee664b3c0ceb0e4eb4bf4e0d84145ef +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond.meta new file mode 100644 index 000000000..a1a8a7d8e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c6dc35c08bb6b84caf9401280acdf1c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta new file mode 100644 index 000000000..6ef7797a2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c152c3b30f2b59949a25e4ed7fcb245e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs new file mode 100644 index 000000000..19593d6fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs @@ -0,0 +1,43 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeDiamond))] + public sealed class PixelizeDiamondEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(pixelSize); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta new file mode 100644 index 000000000..9fee2bacf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9bc4a094a2185c544bfafe89f5556293 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs new file mode 100644 index 000000000..edd5dd475 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs @@ -0,0 +1,61 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeDiamondRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeDiamond")] + public class PixelizeDiamond : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.2f }; + + } + + public sealed class PixelizeDiamondRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeDiamond"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeDiamond"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int PixelSize = Shader.PropertyToID("_PixelSize"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.PixelSize, settings.pixelSize); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta new file mode 100644 index 000000000..ef7e9fd6b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4955bbbf16fdcd7478664ab91ba45501 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md new file mode 100644 index 000000000..d45919359 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md @@ -0,0 +1,16 @@ + +# Pixelize Diamond + +## Source Code List +- [Shader Code](Shader/PixelizeDiamond.shader) +- [C# Code](PixelizeDiamond.cs) +- [Editor Code](Editor/PixelizeDiamondEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeDiamond/PixelizeDiamondProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeDiamond/PixelizeDiamond.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeDiamond/PixelizeDiamond.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta new file mode 100644 index 000000000..c48d4e4f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d0a2179acc8f42943bc20e9d1bd1e95c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta new file mode 100644 index 000000000..59d1d91a0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 70e4f25febe689e42bd9043da866f5e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader new file mode 100644 index 000000000..a93d50d70 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader @@ -0,0 +1,68 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeDiamond" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + float _PixelSize; + + + float2 DiamondPixelizeUV(float2 uv) + { + half2 pixelSize = 10 / _PixelSize; + + half2 coord = uv * pixelSize; + + //计算当前Diamond的朝向 + int direction = int(dot(frac(coord), half2(1, 1)) >= 1.0) + 2 * int(dot(frac(coord), half2(1, -1)) >= 0.0); + + //进行向下取整 + coord = floor(coord); + + //处理Diamond的四个方向 + if (direction == 0) coord += half2(0, 0.5); + if(direction == 1) coord += half2(0.5, 1); + if(direction == 2) coord += half2(0.5, 0); + if(direction == 3) coord += half2(1, 0.5); + + //最终缩放uv + coord /= pixelSize; + + return coord; + } + + + + float4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = DiamondPixelizeUV(i.texcoord); + + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta new file mode 100644 index 000000000..f58d4f0f3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d39d378f84f6e84ea6bf673958a4d8e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon.meta new file mode 100644 index 000000000..42371224a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: baf125f52dcc80d49b18261b84fb8925 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta new file mode 100644 index 000000000..ecfc28830 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef04f6e4512c404409ae0fa6f04fe336 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs new file mode 100644 index 000000000..a3314eedd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs @@ -0,0 +1,61 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeHexagon))] + public sealed class PixelizeHexagonEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta new file mode 100644 index 000000000..d75dce244 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a291b1f4900314549945700bc336a226 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs new file mode 100644 index 000000000..130c4a424 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs @@ -0,0 +1,94 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeHexagonRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeHexagon")] + public class PixelizeHexagon : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.05f }; + + [Range(0.01f, 5.0f)] + public FloatParameter gridWidth = new FloatParameter { value = 1.0f }; + + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = false }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + + } + + public sealed class PixelizeHexagonRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeHexagon"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeHexagon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = settings.pixelSize * 0.2f; + sheet.properties.SetFloat("_PixelSize", size); + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX, settings.pixelScaleY)); + + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta new file mode 100644 index 000000000..b22f6da07 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6563b9b9059173a4c827a1ec5284646f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md new file mode 100644 index 000000000..d324eb5fa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md @@ -0,0 +1,16 @@ + +# Pixelize Hexagon + +## Source Code List +- [Shader Code](Shader/PixelizeHexagon.shader) +- [C# Code](PixelizeHexagon.cs) +- [Editor Code](Editor/PixelizeHexagonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagon/PixelizeHexagonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagon/PixelizeHexagon.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagon/PixelizeHexagon.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta new file mode 100644 index 000000000..6c6c7a172 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1f217d01f34a991439d5419bfde1d6c9 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta new file mode 100644 index 000000000..be929087d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd059144f13c88c489054bc3e92bf4e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader new file mode 100644 index 000000000..7e1c65717 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader @@ -0,0 +1,158 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : +// 1. https://www.shadertoy.com/view/ls23Dc +// 2. http://coding-experiments.blogspot.nl/2010/06/pixelation.html + +Shader "Hidden/X-PostProcessing/PixelizeHexagon" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + + float HexDist(float2 a, float2 b) + { + float2 p = abs(b - a); + float s = 0.5; + float c = 0.8660254; + + float diagDist = s * p.x + c * p.y; + return max(diagDist, p.x) / c; + } + + float2 NearestHex(float s, float2 st) + { + float h = 0.5 * s; + float r = 0.8660254 * s; + float b = s + 2.0 * h; + float a = 2.0 * r; + float m = h / r; + + float2 sect = st / float2(2.0 * r, h + s); + float2 sectPxl = fmod(st, float2(2.0 * r, h + s)); + + float aSection = fmod(floor(sect.y), 2.0); + + float2 coord = floor(sect); + if (aSection > 0.0) + { + if(sectPxl.y < (h - sectPxl.x * m)) + { + coord -= 1.0; + } + else if(sectPxl.y < (-h + sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.x > r) + { + if(sectPxl.y < (2.0 * h - sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.y < (sectPxl.x * m)) + { + coord.y -= 1.0; + } + else + { + coord.x -= 1.0; + } + } + } + + float xoff = fmod(coord.y, 2.0) * r; + return float2(coord.x * 2.0 * r - xoff, coord.y * (h + s)) + float2(r * 2.0, s); + } + + + float4 FragHex(VaryingsDefault i): SV_Target + { + float2 ratio = float2(_PixelRatio * _PixelScaleX, _PixelScaleY); + float2 nearest = NearestHex(_PixelSize, i.texcoord * ratio); + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, nearest / ratio); + return finalColor; + } + + + + float2 HexPixelizeUV(float2 hexIndex) + { + int i = hexIndex.x; + int j = hexIndex.y; + float2 r; + r.x = i * _Params.x; + r.y = j * _Params.y + (i % 2.0) * _Params.y / 2.0; + return r; + } + + //Solve index + float2 HexIndex(float2 uv, float size) + { + float2 r; + + int it = int(floor(uv.x / size)); + float yts = uv.y - float(it % 2.0) * _Params.y / 2.0; + int jt = int(floor((1.0 / _Params.y) * yts)); + float xt = uv.x - it * size; + float yt = yts - jt * _Params.y; + int deltaj = (yt > _Params.y / 2.0) ? 1 : 0; + float fcond = size * (2.0 / 3.0) * abs(0.5 - yt / _Params.y); + + if (xt > fcond) + { + r.x = it; + r.y = jt; + } + else + { + r.x = it - 1; + r.y = jt - (r.x % 2) + deltaj; + } + + return r; + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragHex + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta new file mode 100644 index 000000000..9d88469b3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 37db12b6dec3e8049b8a0f5e86c9bf83 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta new file mode 100644 index 000000000..713e1fdee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b3f599f24df95044bce5266911c95c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta new file mode 100644 index 000000000..a7655fbff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2360a902648b9a14b85a54db256230c9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs new file mode 100644 index 000000000..b8f9e3c72 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs @@ -0,0 +1,57 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeHexagonGrid))] + public sealed class PixelizeHexagonGridEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + SerializedParameterOverride gridWidth; + + + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + gridWidth = FindParameterOverride(x => x.gridWidth); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(gridWidth); + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta new file mode 100644 index 000000000..fb46307d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aeb6352172cc6354c85a7138e6135332 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs new file mode 100644 index 000000000..fbb22e907 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs @@ -0,0 +1,78 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(PixelizeHexagonGridRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeHexagonGrid")] + public class PixelizeHexagonGrid : PostProcessEffectSettings + { + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.05f }; + + [Range(0.01f, 5.0f)] + public FloatParameter gridWidth = new FloatParameter { value = 1.0f }; + + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = false }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + + } + + public sealed class PixelizeHexagonGridRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeHexagonGrid"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeHexagonGrid"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.pixelSize, settings.gridWidth)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta new file mode 100644 index 000000000..b000afdd7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 37ad219a3382cad49910c03773fe214e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md new file mode 100644 index 000000000..1fdad2699 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md @@ -0,0 +1,18 @@ + +# Pixelize Hexagon Grid + +## Source Code List +- [Shader Code](Shader/PixelizeHexagonGrid.shader) +- [C# Code](PixelizeHexagonGrid.cs) +- [Editor Code](Editor/PixelizeHexagonGridEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGridProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGrid.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGrid.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGrid-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta new file mode 100644 index 000000000..03cb29464 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 31cf9fd3d5ba1f241961987c998b8e56 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta new file mode 100644 index 000000000..9e07ac0cf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77eee2aed40b72242a1e04a43715f451 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader new file mode 100644 index 000000000..ad1723db3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader @@ -0,0 +1,165 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : +// 1. https://www.shadertoy.com/view/ls23Dc +// 2. http://coding-experiments.blogspot.nl/2010/06/pixelation.html + +Shader "Hidden/X-PostProcessing/PixelizeHexagonGrid" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half2 _Params; + #define _PixelSize _Params.x + #define _GridWidth _Params.y + + + float HexDist(float2 a, float2 b) + { + float2 p = abs(b - a); + float s = 0.5; + float c = 0.8660254; + + float diagDist = s * p.x + c * p.y; + return max(diagDist, p.x) / c; + } + + float2 NearestHex(float s, float2 st) + { + float h = 0.5 * s; + float r = 0.8660254 * s; + float b = s + 2.0 * h; + float a = 2.0 * r; + float m = h / r; + + float2 sect = st / float2(2.0 * r, h + s); + float2 sectPxl = fmod(st, float2(2.0 * r, h + s)); + + float aSection = fmod(floor(sect.y), 2.0); + + float2 coord = floor(sect); + if (aSection > 0.0) + { + if(sectPxl.y < (h - sectPxl.x * m)) + { + coord -= 1.0; + } + else if(sectPxl.y < (-h + sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.x > r) + { + if(sectPxl.y < (2.0 * h - sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.y < (sectPxl.x * m)) + { + coord.y -= 1.0; + } + else + { + coord.x -= 1.0; + } + } + } + + float xoff = fmod(coord.y, 2.0) * r; + return float2(coord.x * 2.0 * r - xoff, coord.y * (h + s)) + float2(r * 2.0, s); + } + + + + + float4 FragHexGrid(VaryingsDefault i) : SV_Target + { + //cal hexagon uv + float pixelSize = _PixelSize * _ScreenParams.x * 0.2; + float2 nearest = NearestHex(pixelSize, i.texcoord * _ScreenParams.xy); + + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, nearest / _ScreenParams.xy); + + float dist = HexDist(i.texcoord * _ScreenParams.xy, nearest); + + float interiorSize = pixelSize; + float interior = 1.0 - smoothstep(interiorSize - 0.8, interiorSize, dist * _GridWidth); + + return float4(finalColor.rgb * interior, 1.0); + + } + + float2 HexPixelizeUV(float2 hexIndex) + { + int i = hexIndex.x; + int j = hexIndex.y; + float2 r; + r.x = i * _Params.x; + r.y = j * _Params.y + (i % 2.0) * _Params.y / 2.0; + return r; + } + + //Solve index + float2 HexIndex(float2 uv, float size) + { + float2 r; + + int it = int(floor(uv.x / size)); + float yts = uv.y - float(it % 2.0) * _Params.y / 2.0; + int jt = int(floor((1.0 / _Params.y) * yts)); + float xt = uv.x - it * size; + float yt = yts - jt * _Params.y; + int deltaj = (yt > _Params.y / 2.0) ? 1 : 0; + float fcond = size * (2.0 / 3.0) * abs(0.5 - yt / _Params.y); + + if (xt > fcond) + { + r.x = it; + r.y = jt; + } + else + { + r.x = it - 1; + r.y = jt - (r.x % 2) + deltaj; + } + + return r; + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragHexGrid + + ENDHLSL + + } + + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta new file mode 100644 index 000000000..4ff2500fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9de4d6f0879c1284f97c91683cafac76 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf.meta new file mode 100644 index 000000000..ebcc013e2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11dac843b5064b34e9f6a53360dcbaee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta new file mode 100644 index 000000000..2b7f5ed88 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb405c9d1a00c024ba4ce56e93b8fbab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs new file mode 100644 index 000000000..57bfa6d93 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs @@ -0,0 +1,62 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeLeaf))] + public sealed class PixelizeLeafEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta new file mode 100644 index 000000000..58ffe93ad --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 702cd3917e516f54791ff31781a12305 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs new file mode 100644 index 000000000..8da577044 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs @@ -0,0 +1,83 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeLeafRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeLeaf")] + public class PixelizeLeaf : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.8f }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + } + + public sealed class PixelizeLeafRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeLeaf"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeLeaf"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 10f; + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX * 20, settings.pixelScaleY * 20)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta new file mode 100644 index 000000000..d754615f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cdbf6ce8969839844a49e4fdbeea62d5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md new file mode 100644 index 000000000..39f00da5b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md @@ -0,0 +1,18 @@ + +# Pixelize Leaf + +## Source Code List +- [Shader Code](Shader/PixelizeLeaf.shader) +- [C# Code](PixelizeLeaf.cs) +- [Editor Code](Editor/PixelizeLeafEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeafProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeaf.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeaf.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeaf-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta new file mode 100644 index 000000000..6f5afd320 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bc1fcec49571fee4ea073f638ed0c98c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta new file mode 100644 index 000000000..dd38fac5f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 457d6ede96a3c2e479eb36ee6a0de33f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader new file mode 100644 index 000000000..9bff6257c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader @@ -0,0 +1,64 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeLeaf" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + + float2 TrianglePixelizeUV(float2 uv) + { + float2 pixelScale = _PixelSize * float2(_PixelScaleX, _PixelScaleY / _PixelRatio); + + //乘以缩放,向下取整,再除以缩放,得到分段UV + float2 coord = floor(uv * pixelScale) / pixelScale; + + uv -= coord; + uv *= pixelScale; + + //进行像素偏移处理 + coord += + float2(step(1.0 - uv.y, uv.x) / (pixelScale.x), // Leaf X + step(uv.x, uv.y) / (pixelScale.y)//Leaf Y + ); + + return coord; + } + + + float4 Frag(VaryingsDefault i) : SV_Target + { + float2 uv = TrianglePixelizeUV(i.texcoord); + + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta new file mode 100644 index 000000000..0bbae925c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 342f021e0fcd56446b9bfde7d8e582d7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed.meta b/Assets/X-PostProcessing/Effects/PixelizeLed.meta new file mode 100644 index 000000000..f16f0d76d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a39d8071c7899e4c9a7d14dbaaaa4e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta new file mode 100644 index 000000000..1fe6e3396 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b44794f1979005e499326ad8e8533fec +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs new file mode 100644 index 000000000..59c654bfe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs @@ -0,0 +1,64 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeLed))] + public sealed class PixelizeLedEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride BackgroundColor; + SerializedParameterOverride ledRadius; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + ledRadius = FindParameterOverride(x => x.ledRadius); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(ledRadius); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(BackgroundColor); + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta new file mode 100644 index 000000000..e8b8decb5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d4fa712c4832014f9a252bbd4db3d28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs new file mode 100644 index 000000000..ac6c4d0f5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs @@ -0,0 +1,89 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeLedV2Renderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeLed")] + public class PixelizeLed : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.5f }; + + [Range(0.01f, 1.0f)] + public FloatParameter ledRadius = new FloatParameter { value = 1.0f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f) }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + } + + public sealed class PixelizeLedV2Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeLed"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeLed"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + float size = (1.01f - settings.pixelSize) * 300f; + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.ledRadius)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta new file mode 100644 index 000000000..1033e003c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2adfd539c4f87f148b8c618d20355086 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/README.md b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md new file mode 100644 index 000000000..a054a96a0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md @@ -0,0 +1,18 @@ + +# Pixelize Led + +## Source Code List +- [Shader Code](Shader/PixelizeLed.shader) +- [C# Code](PixelizeLed.cs) +- [Editor Code](Editor/PixelizeLedEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLedProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLed.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLed.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLed-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta new file mode 100644 index 000000000..02e0a2bd8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7331d9f4bd07aaf469b63bb59586b339 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta new file mode 100644 index 000000000..4290522c2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae86fa31b61720f41b28d627a2625ab6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader new file mode 100644 index 000000000..b15d6bec7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader @@ -0,0 +1,75 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeLed" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _LedRadius _Params.z + + float2 RectPixelizeUV(half2 uv) + { + float pixelScale = 1.0 / _PixelSize; + //除以缩放系数,在向上取整,再乘以缩放系数,得到分段UV + float2 coord = half2(pixelScale * floor(uv.x / (pixelScale)), (pixelScale * _PixelRatio ) * floor(uv.y / (pixelScale *_PixelRatio))); + + return coord; + } + + + + float4 Frag(VaryingsDefault i) : SV_Target + { + + // 实现矩形像素效果 + float2 uv = RectPixelizeUV(i.texcoord); + float4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + + // 计算矩形像素坐标 + half2 coord = i.texcoord * half2(_PixelSize, _PixelSize / _PixelRatio); + + // 横纵坐标强度渐变 + half ledX = abs(sin(coord.x * 3.1415)) * 1.5; + half ledY = abs(sin(coord.y * 3.1415)) * 1.5; + // 求解LedValue + half ledValue = ledX * ledY; + // led半径校正 + half radius = step(ledValue, _LedRadius); + + //最终颜色 = 基础led颜色 + 渐变led颜色 + 背景颜色 + color = ((1 - radius) * color) + ((color * ledValue) * radius) + radius * (1- ledValue)* _BackgroundColor; + + + return color; + + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta new file mode 100644 index 000000000..35afe6139 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0dc17d4fd928ef542a78cc17742d29d0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad.meta new file mode 100644 index 000000000..065a317ee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1bfb7db3e42092f4c92b84d9c575dba0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta new file mode 100644 index 000000000..7560282ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61c4768d0351ad24495a1202309c164d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs new file mode 100644 index 000000000..500771559 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs @@ -0,0 +1,63 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeQuad))] + public sealed class PixelizeQuadEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta new file mode 100644 index 000000000..ea8b41650 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93b7ec932becebd4398f80d2b1e2164f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs new file mode 100644 index 000000000..b0da22d67 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs @@ -0,0 +1,86 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeQuadRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeQuad")] + public class PixelizeQuad : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.5f }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + } + + public sealed class PixelizeQuadRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeQuad"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeQuad"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 200f; + sheet.properties.SetFloat("_PixelSize", size); + + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height) ; + if (ratio==0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX, settings.pixelScaleY)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta new file mode 100644 index 000000000..fed87ae85 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bcc23458a58ff384c82bd27e09aa0cc6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md new file mode 100644 index 000000000..feca070e7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md @@ -0,0 +1,16 @@ + +# Pixelize Quad + +## Source Code List +- [Shader Code](Shader/PixelizeQuad.shader) +- [C# Code](PixelizeQuad.cs) +- [Editor Code](Editor/PixelizeQuadEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeQuad/PixelizeQuadProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeQuad/PixelizeQuad.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeQuad/PixelizeQuad.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta new file mode 100644 index 000000000..d8a1784c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b213252f58037e84c9426babd7dae6ef +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta new file mode 100644 index 000000000..274a478c4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19176c3e8e0acdb47963975981b96378 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader new file mode 100644 index 000000000..5840b08c2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader @@ -0,0 +1,59 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +Shader "Hidden/X-PostProcessing/PixelizeQuad" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + float2 RectPixelizeUV( half2 uv) + { + float pixelScale = 1.0 / _PixelSize; + // Divide by the scaling factor, round up, and multiply by the scaling factor to get the segmented UV + float2 coord = half2(pixelScale * _PixelScaleX * floor(uv.x / (pixelScale *_PixelScaleX)), (pixelScale * _PixelRatio *_PixelScaleY) * floor(uv.y / (pixelScale *_PixelRatio * _PixelScaleY))); + + return coord; + } + + + + float4 Frag(VaryingsDefault i) : SV_Target + { + + float2 uv = RectPixelizeUV(i.texcoord); + + float4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + + return color; + + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta new file mode 100644 index 000000000..04679ab7f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c378672ba36c664cb86ab729efb01da +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector.meta b/Assets/X-PostProcessing/Effects/PixelizeSector.meta new file mode 100644 index 000000000..b817d3e2c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9121a2267ef5544681ca5cc199d2ad7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta new file mode 100644 index 000000000..c1f5467d4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51d9f4cb6a261b04c9254c8dd98a0e56 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs new file mode 100644 index 000000000..1d658eb2c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs @@ -0,0 +1,57 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeSector))] + public sealed class PixelizeSectorEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride circleRadius; + SerializedParameterOverride pixelIntervalX; + SerializedParameterOverride pixelIntervalY; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + circleRadius = FindParameterOverride(x => x.circleRadius); + pixelIntervalX = FindParameterOverride(x => x.pixelIntervalX); + pixelIntervalY = FindParameterOverride(x => x.pixelIntervalY); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(circleRadius); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Pixel Interval"); + PropertyField(pixelIntervalX); + PropertyField(pixelIntervalY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta new file mode 100644 index 000000000..03abed280 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b18c821150f20845b8700a8b66357fd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs new file mode 100644 index 000000000..30fe340be --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs @@ -0,0 +1,75 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeSectorRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeSector")] + public class PixelizeSector : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.8f }; + [Range(0.01f, 1.0f)] + public FloatParameter circleRadius = new FloatParameter { value = 0.8f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval X")] + public FloatParameter pixelIntervalX = new FloatParameter { value = 1f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval Y")] + public FloatParameter pixelIntervalY = new FloatParameter { value = 1f }; + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f) }; + } + + public sealed class PixelizeSectorRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeSector"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeSector"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 300f; + Vector4 parameters = new Vector4(size, ((context.screenWidth * 2 / context.screenHeight) * size / Mathf.Sqrt(3f)), settings.circleRadius, 0f); + + sheet.properties.SetVector(ShaderIDs.Params, parameters); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector2(settings.pixelIntervalX, settings.pixelIntervalY)); + sheet.properties.SetColor("_BackgroundColor", settings.BackgroundColor); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta new file mode 100644 index 000000000..3c581951d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 428057b2b0564de46885aacb59570a8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/README.md b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md new file mode 100644 index 000000000..4f893e416 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md @@ -0,0 +1,16 @@ + +# Pixelize Sector + +## Source Code List +- [Shader Code](Shader/PixelizeSector.shader) +- [C# Code](PixelizeSector.cs) +- [Editor Code](Editor/PixelizeSectorEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeSector/PixelizeSectorProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeSector/PixelizeSector.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeSector/PixelizeSector.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta new file mode 100644 index 000000000..6b0fc37ea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 63478e932c43e904182265205f8473be +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta new file mode 100644 index 000000000..6527de7d9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f62d8a1048c82a499908a4d752c61b3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader new file mode 100644 index 000000000..bed6751bb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader @@ -0,0 +1,74 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeSector" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + float4 _Params; + float2 _Params2; + half4 _BackgroundColor; + + #define _PixelIntervalX _Params2.x + #define _PixelIntervalY _Params2.y + + + float4 SectorPixelize(float2 uv) + { + float pixelScale = 1.0 / _Params.x; + + float ratio = _ScreenParams.y / _ScreenParams.x; + uv.x = uv.x / ratio; + + //x和y坐标分别除以缩放系数,在用floor向下取整,再乘以缩放系数,得到分段UV + float2 coord = half2(_PixelIntervalX * floor(uv.x / (pixelScale * _PixelIntervalX)), (_PixelIntervalY)* floor(uv.y / (pixelScale * _PixelIntervalY))); + + //设定扇形坐标 + float2 circleCenter = coord * pixelScale; + + //计算当前uv值隔圆心的距离,并乘以缩放系数 + float dist = length(uv - circleCenter) * _Params.x; + //圆心坐标乘以缩放系数 + circleCenter.x *= ratio; + + //采样 + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, circleCenter); + + //对于距离大于半径的像素,替换为背景色 + if (dist > _Params.z) screenColor = _BackgroundColor; + + return screenColor; + } + + + + float4 Frag(VaryingsDefault i): SV_Target + { + return SectorPixelize(i.texcoord); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta new file mode 100644 index 000000000..db88b57ed --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0aea813750348874496f2226f14e3c8f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle.meta new file mode 100644 index 000000000..42d7c5ba6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6d267a8718639e4da4b5d1747fb2629 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta new file mode 100644 index 000000000..2f02d3de4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 21264627d2fae7c4b828bf590dc8b339 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs new file mode 100644 index 000000000..5f98f8654 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs @@ -0,0 +1,62 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeTriangle))] + public sealed class PixelizeTriangleEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta new file mode 100644 index 000000000..b9dd1f20b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 622651988ba58b34593a2b7b5fbac510 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs new file mode 100644 index 000000000..a780bac32 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs @@ -0,0 +1,83 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeTriangleRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeTriangle")] + public class PixelizeTriangle : PostProcessEffectSettings + { + + [Range(0.001f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.5f }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + } + + public sealed class PixelizeTriangleRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeTriangle"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeTriangle"); + } + + public override void Release() + { + base.Release(); + } + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 5f; + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX * 20, settings.pixelScaleY * 20)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta new file mode 100644 index 000000000..cce9cb234 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8f16b9d0f71b51e49a275377bb97af33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md new file mode 100644 index 000000000..91192540f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md @@ -0,0 +1,16 @@ + +# Pixelize Triangle + +## Source Code List +- [Shader Code](Shader/PixelizeTriangle.shader) +- [C# Code](PixelizeTriangle.cs) +- [Editor Code](Editor/PixelizeTriangleEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeTriangle/PixelizeTriangleProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeTriangle/PixelizeTriangle.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeTriangle/PixelizeTriangle.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta new file mode 100644 index 000000000..0f81b44e4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7d5909bb027dfb4fad8dbeef4730f2b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta new file mode 100644 index 000000000..dff2e61c0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4325d1cefbcc0149bad0d16a62df751 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader new file mode 100644 index 000000000..5dd51d60f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader @@ -0,0 +1,66 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +Shader "Hidden/X-PostProcessing/PixelizeTriangle" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + + float2 TrianglePixelizeUV(float2 uv) + { + + float2 pixelScale = _PixelSize * float2(_PixelScaleX, _PixelScaleY / _PixelRatio); + + //乘以缩放,向下取整,再除以缩放,得到分段UV + float2 coord = floor(uv * pixelScale) / pixelScale; + + uv -= coord; + uv *= pixelScale; + + //进行三角形像素偏移处理 + coord += + float2(step(1.0 - uv.y, uv.x) / (2.0 * pixelScale.x),//X + step(uv.x, uv.y) / (2.0 * pixelScale.y)//Y + ); + + return coord; + } + + + float4 Frag(VaryingsDefault i) : SV_Target + { + float2 uv = TrianglePixelizeUV(i.texcoord); + + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta new file mode 100644 index 000000000..45aad2791 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc554d80b140c10418ee0426552b9494 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur.meta b/Assets/X-PostProcessing/Effects/RadialBlur.meta new file mode 100644 index 000000000..5b602685b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00038b76eaee4a34da642bb71f5b1fba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta new file mode 100644 index 000000000..fb72c136a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d0dc6c5372ecf140928fa89a8856964 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs new file mode 100644 index 000000000..a036eb4a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RadialBlur))] + public sealed class RadialBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RadialCenterX; + SerializedParameterOverride RadialCenterY; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RadialCenterX = FindParameterOverride(x => x.RadialCenterX); + RadialCenterY = FindParameterOverride(x => x.RadialCenterY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(BlurRadius); + PropertyField(Iteration); + + EditorUtilities.DrawHeaderLabel("Radial Center"); + PropertyField(RadialCenterX); + PropertyField(RadialCenterY); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta new file mode 100644 index 000000000..482352ec3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 99b2c92a68066e14f9f14ce2cea8fa58 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/README.md b/Assets/X-PostProcessing/Effects/RadialBlur/README.md new file mode 100644 index 000000000..f1b57a93f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/README.md @@ -0,0 +1,16 @@ + +# Radial Blur + +## Source Code List +- [Shader Code](Shader/RadialBlur.shader) +- [C# Code](RadialBlur.cs) +- [Editor Code](Editor/RadialBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlur/RadialBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlur/RadialBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlur/RadialBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta b/Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta new file mode 100644 index 000000000..a9b5c3af1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 911a11c8c45e5ad4aba0946436e44288 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs new file mode 100644 index 000000000..325923356 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs @@ -0,0 +1,70 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(RadialBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/RadialBlur/RadialBlurV1")] + public class RadialBlur : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 0.6f }; + + [Range(2,30)] + public IntParameter Iteration = new IntParameter { value = 10 }; + + [Range(0f, 1.0f)] + public FloatParameter RadialCenterX = new FloatParameter { value = 0.5f }; + [Range(0f, 1.0f)] + public FloatParameter RadialCenterY = new FloatParameter { value = 0.5f }; + + } + + public sealed class RadialBlurRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-RadialBlurV1"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RadialBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params , new Vector4(settings.BlurRadius * 0.02f, settings.Iteration, settings.RadialCenterX, settings.RadialCenterY)); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta new file mode 100644 index 000000000..a032a5685 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97486e7d527f76744850f3ba7d1c523d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta new file mode 100644 index 000000000..3c97c28ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66ac14b8847a63d428dac2165a46bcb3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader new file mode 100644 index 000000000..f2126a2d6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader @@ -0,0 +1,63 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RadialBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _Params; + + #define _BlurRadius _Params.x + #define _Iteration _Params.y + #define _RadialCenter _Params.zw + + + half4 RadialBlur(VaryingsDefault i) + { + float2 blurVector = (_RadialCenter - i.texcoord.xy) * _BlurRadius; + + half4 acumulateColor = half4(0, 0, 0, 0); + + [unroll(30)] + for (int j = 0; j < _Iteration; j ++) + { + acumulateColor += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + i.texcoord.xy += blurVector; + } + + return acumulateColor / _Iteration; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return RadialBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta new file mode 100644 index 000000000..5386901d3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ab9633e0ef5825a4ba7994ec78ded80c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2.meta new file mode 100644 index 000000000..946f58929 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e4cd40a0ef729b4f9bde25c401a1e6c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta new file mode 100644 index 000000000..4ddc1b4ae --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c11c04df97f3774ea65f0fe0168bdae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs new file mode 100644 index 000000000..e030bb752 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RadialBlurV2))] + public sealed class RadialBlurV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride QualityLevel; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride RadialCenterX; + SerializedParameterOverride RadialCenterY; + + + + public override void OnEnable() + { + QualityLevel = FindParameterOverride(x => x.QualityLevel); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + RadialCenterX = FindParameterOverride(x => x.RadialCenterX); + RadialCenterY = FindParameterOverride(x => x.RadialCenterY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(QualityLevel); + PropertyField(BlurRadius); + + EditorUtilities.DrawHeaderLabel("Radial Center"); + PropertyField(RadialCenterX); + PropertyField(RadialCenterY); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta new file mode 100644 index 000000000..32cdc0c77 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a9486f384e2b9c469cf5aea7f5d7b65 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md new file mode 100644 index 000000000..92b2d70a4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md @@ -0,0 +1,16 @@ + +# Radial BlurV2 + +## Source Code List +- [Shader Code](Shader/RadialBlurV2.shader) +- [C# Code](RadialBlurV2.cs) +- [Editor Code](Editor/RadialBlurV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlurV2/RadialBlurV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlurV2/RadialBlurV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlurV2/RadialBlurV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta new file mode 100644 index 000000000..f5a1d5f6b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e018597f050e91c4ab54bfe33705722b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs new file mode 100644 index 000000000..4d4c773d2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs @@ -0,0 +1,83 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + public enum RadialBlurQuality + { + RadialBlur_4Tap_Fatest = 0, + RadialBlur_6Tap = 1, + RadialBlur_8Tap_Balance = 2, + RadialBlur_10Tap = 3, + RadialBlur_12Tap = 4, + RadialBlur_20Tap_Quality = 5, + RadialBlur_30Tap_Extreme = 6, + } + + [Serializable] + public sealed class RadialBlurQualityParameter : ParameterOverride { } + + + [Serializable] + [PostProcess(typeof(RadialBlurV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/RadialBlur/RadialBlurV2")] + public class RadialBlurV2 : PostProcessEffectSettings + { + public RadialBlurQualityParameter QualityLevel = new RadialBlurQualityParameter { value = RadialBlurQuality.RadialBlur_8Tap_Balance }; + + [Range(-1.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 0.6f }; + + [Range(0f, 1.0f)] + public FloatParameter RadialCenterX = new FloatParameter { value = 0.5f }; + + [Range(0f, 1.0f)] + public FloatParameter RadialCenterY = new FloatParameter { value = 0.5f }; + } + + public sealed class RadialBlurV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-RadialBlurV2"; + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RadialBlurV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.BlurRadius * 0.02f, settings.RadialCenterX, settings.RadialCenterY)); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.QualityLevel.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta new file mode 100644 index 000000000..3dd952b9d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7beddb12133c6146b209dd857b93793 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta new file mode 100644 index 000000000..a6c8bda51 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0db038cec6c781948af7f8ae3d2395e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader new file mode 100644 index 000000000..32b56807b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader @@ -0,0 +1,458 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RadialBlurV2" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half3 _Params; + + #define _BlurRadius _Params.x + #define _RadialCenter _Params.yz + + half4 Frag_4Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.25f; // 1/4 + + return color; + } + + + half4 Frag_6Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + + color *= 0.1667f; // 1/6 + + return color; + } + + + half4 Frag_8Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.125f; // 1/8 + + return color; + } + + half4 Frag_10Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.1f; // 1/10 + + return color; + } + + + + half4 Frag_12Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 10 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 11 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.0833f; // 1/12 + + return color; + } + + half4 Frag_20Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 10 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 11 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 12 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 13 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 14 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 15 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 16 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 17 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 18 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 19 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + + color *= 0.05f; // 1/20 + + return color; + } + + + half4 Frag_30Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 10 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 11 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 12 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 13 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 14 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 15 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 16 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 17 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 18 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 19 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 20 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 21 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 22 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 23 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 24 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 25 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 26 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 27 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 28 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 29 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.0333f; // 1/30 + + return color; + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_4Tap + + ENDHLSL + + } + + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_6Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_8Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_10Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_12Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_20Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_30Tap + + ENDHLSL + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta new file mode 100644 index 000000000..06c647a6f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50e1a3f09e6a43d4f892004ba2c9fdc3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta new file mode 100644 index 000000000..dc7f06179 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd7f04f16639257419700f58b73fd4c7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta new file mode 100644 index 000000000..44be0880e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 496d949333b3bab4189e2fb58864f7ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs new file mode 100644 index 000000000..587bab8fa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs @@ -0,0 +1,47 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidOldTVVignette))] + public sealed class RapidOldTVVignetteEditor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteIndensity; + SerializedParameterOverride vignetteCenter; + SerializedParameterOverride vignetteColor; + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteIndensity = FindParameterOverride(x => x.vignetteIndensity); + vignetteCenter = FindParameterOverride(x => x.vignetteCenter); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(vignetteType); + PropertyField(vignetteIndensity); + PropertyField(vignetteCenter); + + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta new file mode 100644 index 000000000..427e64fbd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0f191e973536c2246ab02e9b25270963 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md new file mode 100644 index 000000000..41ad7fbfa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md @@ -0,0 +1,16 @@ + +# RapidOldTVVignette + +## Source Code List +- [Shader Code](Shader/RapidOldTVVignette.shader) +- [C# Code](RapidOldTVVignette.cs) +- [Editor Code](Editor/RapidOldTVVignetteEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignette/RapidOldTVVignetteProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignette/RapidOldTVVignette.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignette/RapidOldTVVignette.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta new file mode 100644 index 000000000..5627ea40a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1990143f89aef3d47a79ea724cba459e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs new file mode 100644 index 000000000..c93840914 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs @@ -0,0 +1,59 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(RapidOldTVVignetteRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidOldTVVignette")] + public class RapidOldTVVignette : PostProcessEffectSettings + { + + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(0.0f, 5.0f)] + public FloatParameter vignetteIndensity = new FloatParameter { value = 1f }; + + public Vector2Parameter vignetteCenter = new Vector2Parameter { value = new Vector2(0.5f, 0.5f) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + } + + public sealed class RapidOldTVVignetteRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-RapidOldTVVignette"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidOldTVVignette"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteIndensity", settings.vignetteIndensity); + sheet.properties.SetVector("_VignetteCenter", settings.vignetteCenter); + + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetVector("_VignetteColor", settings.vignetteColor); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta new file mode 100644 index 000000000..548883c17 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c14abea3a10d5af48bbe07ae95ded857 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta new file mode 100644 index 000000000..929d158cf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5f5c6382d4120942bf4018510cc0f92 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader new file mode 100644 index 000000000..b9ddcab86 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader @@ -0,0 +1,98 @@ +Shader "Hidden/X-PostProcessing/RapidOldTVVignette" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float4 texcoord: TEXCOORD0; + }; + + half _VignetteIndensity; + half2 _VignetteCenter; + half4 _VignetteColor; + + + VertexOutput Vert(AttributesDefault v) + { + VertexOutput o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord.xy = TransformTriangleVertexToUV(v.vertex.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord.xy = o.texcoord.xy * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + + // uv [0, 1] ->[-0.5, 0.5] + o.texcoord.zw = o.texcoord.xy - _VignetteCenter; + + return o; + } + + float4 Frag(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //普通vignette曲线 -> Old TV曲线 + i.texcoord.zw *= i.texcoord.zw; + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity * 20); + + return vignetteIndensity * finalColor; + } + + + float4 Frag_ColorAdjust(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //普通vignette曲线 -> Old TV曲线 + i.texcoord.zw *= i.texcoord.zw; + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity * 20); + + //基于vignette强度,插值VignetteColor颜色和场景颜色 + finalColor.rgb = lerp(_VignetteColor.rgb, finalColor.rgb, vignetteIndensity); + + return half4(finalColor.rgb, _VignetteColor.a); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag_ColorAdjust + + ENDHLSL + + } + } +} + + + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta new file mode 100644 index 000000000..cce3a7dd7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4c490902fc87fc46ac5061c75d44bc3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta new file mode 100644 index 000000000..c2c2ea523 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb4da3502a797ea4593fe11df29616f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta new file mode 100644 index 000000000..4c2ec5267 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7822fa7a1406c8f4198369875808c3b7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs new file mode 100644 index 000000000..a46856db6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs @@ -0,0 +1,55 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidOldTVVignetteV2))] + public sealed class RapidOldTVVignetteV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteSize; + SerializedParameterOverride sizeOffset; + SerializedParameterOverride vignetteColor; + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteSize = FindParameterOverride(x => x.vignetteSize); + sizeOffset = FindParameterOverride(x => x.sizeOffset); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(vignetteType); + PropertyField(vignetteSize); + PropertyField(sizeOffset); + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta new file mode 100644 index 000000000..ed260a57a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 648835b00b9b694479252a2cbe5d13f4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md new file mode 100644 index 000000000..402b6eb20 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md @@ -0,0 +1,16 @@ + +# RapidOldTVVignetteV2 + +## Source Code List +- [Shader Code](Shader/RapidOldTVVignetteV2.shader) +- [C# Code](RapidOldTVVignetteV2.cs) +- [Editor Code](Editor/RapidOldTVVignetteV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignetteV2/RapidOldTVVignetteV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignetteV2/RapidOldTVVignetteV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignetteV2/RapidOldTVVignetteV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta new file mode 100644 index 000000000..0dade7382 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 84e2733e2762ed64e9691cc77c3103ab +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs new file mode 100644 index 000000000..461e6534c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs @@ -0,0 +1,69 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(RapidOldTVVignetteV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidOldTVVignetteV2")] + public class RapidOldTVVignetteV2 : PostProcessEffectSettings + { + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(1.0f, 5000.0f)] + public FloatParameter vignetteSize = new FloatParameter { value = 20f }; + + [Range(0.0f, 1.0f)] + public FloatParameter sizeOffset = new FloatParameter { value = 0.2f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + } + + public sealed class RapidOldTVVignetteV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-GlitchLineBlock"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidOldTVVignetteV2"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteSize", settings.vignetteSize); + sheet.properties.SetFloat("_SizeOffset", settings.sizeOffset); + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetColor("_VignetteColor", settings.vignetteColor); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta new file mode 100644 index 000000000..fe4acf206 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a9cf47ac2961034bac04fad4a99a572 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta new file mode 100644 index 000000000..f1e13e1a8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3683eaa498b09348a7402c28cb24967 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader new file mode 100644 index 000000000..f0873eebb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader @@ -0,0 +1,70 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RapidOldTVVignetteV2" +{ + + HLSLINCLUDE + + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _VignetteSize; + uniform half _SizeOffset; + uniform half4 _VignetteColor; + + + float4 Frag(VaryingsDefault i): SV_Target + { + half2 uv = -i.texcoord * i.texcoord + i.texcoord; //MAD + half VignetteIndensity = saturate(uv.x * uv.y * _VignetteSize + _SizeOffset); + return VignetteIndensity * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + } + + float4 Frag_ColorAdjust(VaryingsDefault i): SV_Target + { + half2 uv = -i.texcoord * i.texcoord + i.texcoord; //MAD + half VignetteIndensity = saturate(uv.x * uv.y * _VignetteSize + _SizeOffset); + + return lerp(_VignetteColor, SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord), VignetteIndensity); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_ColorAdjust + + ENDHLSL + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta new file mode 100644 index 000000000..e4ee4ed7d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: edabfde6da796eb4891b0231d09590f7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette.meta b/Assets/X-PostProcessing/Effects/RapidVignette.meta new file mode 100644 index 000000000..cde4571b5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 134bef9b00b6a8f4fb015ed8eaef0771 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta new file mode 100644 index 000000000..76e2dbb7e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86bcc55eef39d1544bd172308495afb9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs new file mode 100644 index 000000000..4d3d9e5fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidVignette))] + public sealed class RapidVignetteEditor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteIndensity; + SerializedParameterOverride vignetteCenter; + SerializedParameterOverride vignetteColor; + + + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteIndensity = FindParameterOverride(x => x.vignetteIndensity); + vignetteCenter = FindParameterOverride(x => x.vignetteCenter); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(vignetteType); + PropertyField(vignetteIndensity); + PropertyField(vignetteCenter); + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta new file mode 100644 index 000000000..938ae6107 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1675f5210afe2a44ab7c3c92b90ec83f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/README.md b/Assets/X-PostProcessing/Effects/RapidVignette/README.md new file mode 100644 index 000000000..8a22c8d5b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/README.md @@ -0,0 +1,16 @@ + +# RapidVignette + +## Source Code List +- [Shader Code](Shader/RapidVignette.shader) +- [C# Code](RapidVignette.cs) +- [Editor Code](Editor/RapidVignetteEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignette/RapidVignetteProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignette/RapidVignette.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignette/RapidVignette.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta b/Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta new file mode 100644 index 000000000..54b84bcb9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c66b962bf62fb8546afa888ec9987845 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs new file mode 100644 index 000000000..2b52865ff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs @@ -0,0 +1,82 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + public enum VignetteType + { + ClassicMode = 0, + ColorMode = 1, + } + + [Serializable] + public sealed class VignetteTypeParameter : ParameterOverride { } + + + + [Serializable] + [PostProcess(typeof(RapidVignetteRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidVignette")] + public class RapidVignette : PostProcessEffectSettings + { + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(0.0f, 5.0f)] + public FloatParameter vignetteIndensity = new FloatParameter { value = 1f }; + + public Vector2Parameter vignetteCenter = new Vector2Parameter { value = new Vector2(0.5f, 0.5f) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + } + + public sealed class RapidVignetteRenderer : PostProcessEffectRenderer + { + private Shader shader; + + private const string PROFILER_TAG = "X-RapidVignette"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidVignette"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteIndensity", settings.vignetteIndensity); + sheet.properties.SetVector("_VignetteCenter", settings.vignetteCenter); + + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetColor("_VignetteColor", settings.vignetteColor); + } + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta new file mode 100644 index 000000000..fcc1ebaa5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b24348132ef15346be9ae6f5fe6e94e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta new file mode 100644 index 000000000..52a12387f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 682097f7a37c9d74eab25dcbb1647977 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader new file mode 100644 index 000000000..ee3c394f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader @@ -0,0 +1,97 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RapidVignette" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float4 texcoord: TEXCOORD0; + }; + + half _VignetteIndensity; + half2 _VignetteCenter; + half4 _VignetteColor; + + + VertexOutput Vert(AttributesDefault v) + { + VertexOutput o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord.xy = TransformTriangleVertexToUV(v.vertex.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord.xy = o.texcoord.xy * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + + // uv [0, 1] ->[-0.5, 0.5] + o.texcoord.zw = o.texcoord.xy - _VignetteCenter; + + return o; + } + + float4 Frag(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity); + + return vignetteIndensity * finalColor; + } + + + float4 Frag_ColorAdjust(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity); + + //基于vignette强度,插值VignetteColor颜色和场景颜色 + finalColor.rgb = lerp(_VignetteColor.rgb, finalColor.rgb, vignetteIndensity); + + return half4(finalColor.rgb, _VignetteColor.a); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag_ColorAdjust + ENDHLSL + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta new file mode 100644 index 000000000..7a26967a2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdc1050498183344cb753ab4d67a789d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2.meta new file mode 100644 index 000000000..8023a0cf4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c25408169bf94cc4487a6e2d4caf34a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta new file mode 100644 index 000000000..c592fcda3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5cf0aecd74c24a479f5df13ee208720 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs new file mode 100644 index 000000000..d2c97e94c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidVignetteV2))] + public sealed class RapidVignetteV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteIndensity; + SerializedParameterOverride vignetteSharpness; + SerializedParameterOverride vignetteCenter; + SerializedParameterOverride vignetteColor; + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteIndensity = FindParameterOverride(x => x.vignetteIndensity); + vignetteSharpness = FindParameterOverride(x => x.vignetteSharpness); + vignetteCenter = FindParameterOverride(x => x.vignetteCenter); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(vignetteType); + PropertyField(vignetteIndensity); + PropertyField(vignetteSharpness); + PropertyField(vignetteCenter); + + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + + + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta new file mode 100644 index 000000000..fa6bccb30 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b96371ea701576b4abfa247cae48db78 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md new file mode 100644 index 000000000..f8dd0413d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md @@ -0,0 +1,16 @@ + +# RapidVignetteV2 + +## Source Code List +- [Shader Code](Shader/RapidVignetteV2.shader) +- [C# Code](RapidVignetteV2.cs) +- [Editor Code](Editor/RapidVignetteV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignetteV2/RapidVignetteV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignetteV2/RapidVignetteV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignetteV2/RapidVignetteV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta new file mode 100644 index 000000000..d3ad67849 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: db25e92966848b44bbce2c21bb85bd3e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs new file mode 100644 index 000000000..767bdd659 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs @@ -0,0 +1,77 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; +using XPostProcessing; + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(RapidVignetteV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidVignetteV2")] + public class RapidVignetteV2 : PostProcessEffectSettings + { + + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(0.0f, 5.0f)] + public FloatParameter vignetteIndensity = new FloatParameter { value = 0.2f }; + + [Range(-1f, 1f)] + public FloatParameter vignetteSharpness = new FloatParameter { value = 0.1f }; + + public Vector2Parameter vignetteCenter = new Vector2Parameter { value = new Vector2(0.5f, 0.5f) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + + + public GradientParameter grident1 = new GradientParameter { value = null }; + + } + + public sealed class RapidVignetteV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-RapidVignetteV2"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidVignetteV2"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteIndensity", settings.vignetteIndensity); + sheet.properties.SetFloat("_VignetteSharpness", settings.vignetteSharpness); + sheet.properties.SetVector("_VignetteCenter", settings.vignetteCenter); + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetColor("_VignetteColor", settings.vignetteColor); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta new file mode 100644 index 000000000..dce23a6e3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b11b76e24651ad49a03923536ac0a3b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta new file mode 100644 index 000000000..c69d302a3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8adf39993e333794595cf34e6e21af7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader new file mode 100644 index 000000000..9abcf07dd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader @@ -0,0 +1,85 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RapidVignetteV2" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float4 texcoord: TEXCOORD0; + }; + + half _VignetteIndensity; + half _VignetteSharpness; + half2 _VignetteCenter; + half4 _VignetteColor; + + + float4 Frag(VertexOutput i): SV_Target + { + + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + half indensity = distance(i.texcoord.xy, _VignetteCenter.xy); + indensity = smoothstep(0.8, _VignetteSharpness * 0.799, indensity * (_VignetteIndensity + _VignetteSharpness)); + return sceneColor * indensity; + } + + + float4 Frag_ColorAdjust(VertexOutput i): SV_Target + { + + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + half indensity = distance(i.texcoord.xy, _VignetteCenter.xy); + indensity = smoothstep(0.8, _VignetteSharpness * 0.799, indensity * (_VignetteIndensity + _VignetteSharpness)); + + half3 finalColor = lerp(_VignetteColor.rgb, sceneColor.rgb, indensity); + + return float4(finalColor.rgb, _VignetteColor.a); + + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_ColorAdjust + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta new file mode 100644 index 000000000..3f8b2fd9b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 052086f9d833d2f499c27cf7f9fcdb3a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1.meta b/Assets/X-PostProcessing/Effects/SharpenV1.meta new file mode 100644 index 000000000..1a7fa642c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86c222e65e3e5d54fa30bf80304dd1fb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta new file mode 100644 index 000000000..f2840d72d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c4451d569f395444a107ceba42407c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs new file mode 100644 index 000000000..feea2d27d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(SharpenV1))] + public sealed class SharpenV1Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Strength; + SerializedParameterOverride Threshold; + + + public override void OnEnable() + { + Strength = FindParameterOverride(x => x.Strength); + Threshold = FindParameterOverride(x => x.Threshold); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Strength); + PropertyField(Threshold); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta new file mode 100644 index 000000000..cdcf06e77 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 78f28227c00d3e440a3ff59c534cbfe8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/README.md b/Assets/X-PostProcessing/Effects/SharpenV1/README.md new file mode 100644 index 000000000..c0d73f175 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/README.md @@ -0,0 +1,16 @@ + +# SharpenV1 + +## Source Code List +- [Shader Code](Shader/SharpenV1.shader) +- [C# Code](SharpenV1.cs) +- [Editor Code](Editor/SharpenV1Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV1/SharpenV1Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV1/SharpenV1.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV1/SharpenV1.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta b/Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta new file mode 100644 index 000000000..601c20db7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5468c2d6d39d5a5448e0a6e8ac634026 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta new file mode 100644 index 000000000..b8c7a1afe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e2c6dd33dc4222f40958da71a7f16074 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader new file mode 100644 index 000000000..5d228ab8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/SharpenV1" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Strength; + uniform half _Threshold; + + half4 Frag(VaryingsDefault i): SV_Target + { + + half2 pixelSize = float2(1 / _ScreenParams.x, 1 / _ScreenParams.y); + half2 halfPixelSize = pixelSize * 0.5; + + half4 blur = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(halfPixelSize.x, -pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-pixelSize.x, -halfPixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(pixelSize.x, halfPixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-halfPixelSize.x, pixelSize.y)); + blur *= 0.25; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 lumaStrength = half4(0.222, 0.707, 0.071, 0.0) * _Strength; + half4 sharp = sceneColor - blur; + + sceneColor += clamp(dot(sharp, lumaStrength), -_Threshold, _Threshold); + + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta new file mode 100644 index 000000000..56d891756 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b4c7ede900f2c643a25255204e2f9ab +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs new file mode 100644 index 000000000..0de6a9651 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(SharpenV1Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ImageProcessing/SharpenV1")] + public class SharpenV1 : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter Strength = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Threshold = new FloatParameter { value = 0.1f }; + } + + public sealed class SharpenV1Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-SharpenV1"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/SharpenV1"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Strength = Shader.PropertyToID("_Strength"); + internal static readonly int Threshold = Shader.PropertyToID("_Threshold"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.Strength, settings.Strength); + sheet.properties.SetFloat(ShaderIDs.Threshold, settings.Threshold); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta new file mode 100644 index 000000000..8440033c7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40377b0e5485242428bcad064971c398 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2.meta b/Assets/X-PostProcessing/Effects/SharpenV2.meta new file mode 100644 index 000000000..2c03f001e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f3ab52d3d62b43448fcab32ca5bd32a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta new file mode 100644 index 000000000..b6a6787f3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5442da4251e538745b87b19b78d8556f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs new file mode 100644 index 000000000..846a1031c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(SharpenV2))] + public sealed class SharpenV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Sharpness; + + + public override void OnEnable() + { + Sharpness = FindParameterOverride(x => x.Sharpness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Sharpness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta new file mode 100644 index 000000000..a0cc7eb5a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2ec3a8fa5714d0a488b8d29f54a38ea5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/README.md b/Assets/X-PostProcessing/Effects/SharpenV2/README.md new file mode 100644 index 000000000..533c28d8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/README.md @@ -0,0 +1,17 @@ + +# SharpenV2 + +## Source Code List +- [Shader Code](Shader/SharpenV2.shader) +- [C# Code](SharpenV2.cs) +- [Editor Code](Editor/SharpenV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV2/SharpenV2Property.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV2/SharpenV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV2/SharpenV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta b/Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta new file mode 100644 index 000000000..587f5189c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6eee732ee144ee43bfdedc7a074c2e2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta new file mode 100644 index 000000000..758361bc2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c4d3c77699e7e54d81561bcf7edd913 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader new file mode 100644 index 000000000..c225ac9ac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/SharpenV2" +{ + HLSLINCLUDE + +#include "../../../Shaders/StdLib.hlsl" +#include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Sharpness; + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half2 pixelSize = float2(1 / _ScreenParams.x, 1 / _ScreenParams.y); + pixelSize *= 1.5f; + + half4 blur = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(pixelSize.x, -pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-pixelSize.x, -pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(pixelSize.x, pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-pixelSize.x, pixelSize.y)); + blur *= 0.25; + + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + return sceneColor + (sceneColor - blur) * _Sharpness; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta new file mode 100644 index 000000000..c097ecf99 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95e6c3c3a5644ac46b8d554509c764b4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs new file mode 100644 index 000000000..d11db95cd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(SharpenV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ImageProcessing/SharpenV2")] + public class SharpenV2 : PostProcessEffectSettings + { + [Range(0.0f, 5.0f)] + public FloatParameter Sharpness = new FloatParameter { value = 0.5f }; + } + + public sealed class SharpenV2Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-SharpenV2"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/SharpenV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Sharpness = Shader.PropertyToID("_Sharpness"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.Sharpness, settings.Sharpness); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta new file mode 100644 index 000000000..fa4663628 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 471bd7104cd971b4eb9df5b8d743ee55 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3.meta b/Assets/X-PostProcessing/Effects/SharpenV3.meta new file mode 100644 index 000000000..93d547b6d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 688c85f19b3a76b41b8aaa284eb2ddc8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta new file mode 100644 index 000000000..a9b29309f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ffb253379595e384781c891d9f0baa99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs new file mode 100644 index 000000000..bdd9799c4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs @@ -0,0 +1,43 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(SharpenV3))] + public sealed class SharpenV3Editor : PostProcessEffectEditor + { + SerializedParameterOverride Sharpness; + + public override void OnEnable() + { + Sharpness = FindParameterOverride(x => x.Sharpness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Sharpness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta new file mode 100644 index 000000000..babe2eccd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b0dfca0de73ab8488cf5019730b7521 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/README.md b/Assets/X-PostProcessing/Effects/SharpenV3/README.md new file mode 100644 index 000000000..91819faae --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/README.md @@ -0,0 +1,17 @@ + +# SharpenV3 + +## Source Code List +- [Shader Code](Shader/SharpenV3.shader) +- [C# Code](SharpenV3.cs) +- [Editor Code](Editor/SharpenV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV3/SharpenV3Property.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV3/SharpenV3.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV3/SharpenV3.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta b/Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta new file mode 100644 index 000000000..f7902e53b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 06934f605f524624889de016f1fb8dfd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta new file mode 100644 index 000000000..900acdca5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e415efd0c08721945af76d2226af4c80 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader new file mode 100644 index 000000000..e50604fcc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader @@ -0,0 +1,73 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/SharpenV3" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _CentralFactor; + uniform half _SideFactor; + + + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float2 texcoord: TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + }; + + VertexOutput Vert(AttributesDefault v) + { + VertexOutput o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); +#if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); +#endif + o.texcoord1 = half4(o.texcoord.xy - _MainTex_TexelSize.xy, o.texcoord.xy + _MainTex_TexelSize.xy); + return o; + } + + half4 Frag(VertexOutput i): SV_Target + { + //return i.texcoord1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy) * _CentralFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.xy) * _SideFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.xw) * _SideFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.zy) * _SideFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.zw) * _SideFactor; + return color; + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta new file mode 100644 index 000000000..adc3d3683 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 501f8c1b513cdea428a231ca09307a32 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs new file mode 100644 index 000000000..353159ce7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs @@ -0,0 +1,65 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(SharpenV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ImageProcessing/SharpenV3")] + public class SharpenV3 : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Sharpness = new FloatParameter { value = 0.5f }; + } + + public sealed class SharpenV3Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-SharpenV3"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/SharpenV3"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int CentralFactor = Shader.PropertyToID("_CentralFactor"); + internal static readonly int SideFactor = Shader.PropertyToID("_SideFactor"); + + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.CentralFactor, 1.0f + (3.2f * settings.Sharpness)); + sheet.properties.SetFloat(ShaderIDs.SideFactor, 0.8f * settings.Sharpness); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta new file mode 100644 index 000000000..f59b6901a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a9dc0db68416a99418435d1319447270 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur.meta b/Assets/X-PostProcessing/Effects/TentBlur.meta new file mode 100644 index 000000000..93199a046 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02597cbef37fa144a9578ec1a892857d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Editor.meta b/Assets/X-PostProcessing/Effects/TentBlur/Editor.meta new file mode 100644 index 000000000..644a19d10 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f84efda9562636149b15d9c85da43c08 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs new file mode 100644 index 000000000..36a160f95 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(TentBlur))] + public sealed class TentBlurEditor : PostProcessEffectEditor + { + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta new file mode 100644 index 000000000..7eff1876a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e92712e6c20cead43bc529c6b26a2824 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/README.md b/Assets/X-PostProcessing/Effects/TentBlur/README.md new file mode 100644 index 000000000..d2bd42002 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/README.md @@ -0,0 +1,16 @@ + +# Tent Blur + +## Source Code List +- [Shader Code](Shader/TentBlur.shader) +- [C# Code](TentBlur.cs) +- [Editor Code](Editor/TentBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TentBlur/TentBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TentBlur/TentBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TentBlur/TentBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/TentBlur/README.md.meta b/Assets/X-PostProcessing/Effects/TentBlur/README.md.meta new file mode 100644 index 000000000..6bfd1fa81 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2462a39bea42ee949a0229e0d3f269bb +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Shader.meta b/Assets/X-PostProcessing/Effects/TentBlur/Shader.meta new file mode 100644 index 000000000..821fa023c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ac199d5ba44fd248a82aab22a3f155e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader new file mode 100644 index 000000000..da0eb81d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader @@ -0,0 +1,79 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/TentBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + // 9-tap tent filter + half4 TentFilter_9Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0); + + half4 s; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.xy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.zy); // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv) * 4.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 2.0; // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy); + + return s * (1.0 / 16.0); + } + + float4 FragTentBlur(VaryingsDefault i): SV_Target + { + return TentFilter_9Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTentBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta new file mode 100644 index 000000000..36115d9c7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1689a2496e4dbc741b2a4ca7b9222904 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs new file mode 100644 index 000000000..3c308814b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs @@ -0,0 +1,102 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(TentBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/TentBlur")] + public class TentBlur : PostProcessEffectSettings + { + [Range(0f, 5f)] + public FloatParameter BlurRadius = new FloatParameter { value = 3f }; + + [Range(1, 20)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class TentBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-TentBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/TentBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurRadius = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + for (int i = 0; i < settings.Iteration; i++) + { + if (settings.Iteration > 20) + { + return; + } + + Vector4 BlurRadius = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + // RT1 -> RT2 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT1, ShaderIDs.BufferRT2, sheet, 0); + + // RT2 -> RT1 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT2, ShaderIDs.BufferRT1, sheet, 0); + } + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 1); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta new file mode 100644 index 000000000..099f1b3c4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e89c3a5557aa43488e157760907b0bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur.meta new file mode 100644 index 000000000..2958e73e0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49221344c453b6941826396f27cd6044 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta new file mode 100644 index 000000000..f7c326121 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 672b699c6ccd00f4080165dff0266208 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs new file mode 100644 index 000000000..70a15ce4c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs @@ -0,0 +1,56 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(TiltShiftBlur))] + public sealed class TiltShiftBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride QualityLevel; + SerializedParameterOverride AreaSize; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + QualityLevel = FindParameterOverride(x => x.QualityLevel); + AreaSize = FindParameterOverride(x => x.AreaSize); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(QualityLevel); + PropertyField(AreaSize); + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta new file mode 100644 index 000000000..6ceeddf00 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fe52d0816c078994f9bff957e1ef3e00 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md new file mode 100644 index 000000000..ad9dd6bcb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md @@ -0,0 +1,16 @@ + +# Tilt Shift Blur + +## Source Code List +- [Shader Code](Shader/TiltShiftBlur.shader) +- [C# Code](TiltShiftBlur.cs) +- [Editor Code](Editor/TiltShiftBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlur/TiltShiftBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlur/TiltShiftBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlur/TiltShiftBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta new file mode 100644 index 000000000..fb9e16396 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37172c5405042254c97aa264249bd82c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta new file mode 100644 index 000000000..953df554e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b13b937934729a43acac475ee5d3187 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader new file mode 100644 index 000000000..61ac506dc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader @@ -0,0 +1,184 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +// reference 1 : https://www.shadertoy.com/view/4d2Xzw +// reference 2 : https://github.com/imclab/TiltShift + +Shader "Hidden/X-PostProcessing/TiltShiftBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + TEXTURE2D_SAMPLER2D(_BlurredTex, sampler_BlurredTex); + + float4 _BlurredTex_TexelSize; + half2 _Params; + + #define _BlurSize _Params.x + #define _BlurRadius _Params.y + + + + static const int DiscKernelSampleNum_LQ = 12; + static const float2 DiscKernel_LQ[DiscKernelSampleNum_LQ] = + { + float2(-0.326212, -0.40581), + float2(-0.840144, -0.07358), + float2(-0.695914, 0.457137), + float2(-0.203345, 0.620716), + float2(0.96234, -0.194983), + float2(0.473434, -0.480026), + float2(0.519456, 0.767022), + float2(0.185461, -0.893124), + float2(0.507431, 0.064425), + float2(0.89642, 0.412458), + float2(-0.32194, -0.932615), + float2(-0.791559, -0.59771) + }; + + static const int DiscKernelSampleNum_HQ = 28; + static const float3 DiscKernel_HQ[DiscKernelSampleNum_HQ] = + { + float3(0.62463, 0.54337, 0.82790), + float3(-0.13414, -0.94488, 0.95435), + float3(0.38772, -0.43475, 0.58253), + float3(0.12126, -0.19282, 0.22778), + float3(-0.20388, 0.11133, 0.23230), + float3(0.83114, -0.29218, 0.88100), + float3(0.10759, -0.57839, 0.58831), + float3(0.28285, 0.79036, 0.83945), + float3(-0.36622, 0.39516, 0.53876), + float3(0.75591, 0.21916, 0.78704), + float3(-0.52610, 0.02386, 0.52664), + float3(-0.88216, -0.24471, 0.91547), + float3(-0.48888, -0.29330, 0.57011), + float3(0.44014, -0.08558, 0.44838), + float3(0.21179, 0.51373, 0.55567), + float3(0.05483, 0.95701, 0.95858), + float3(-0.59001, -0.70509, 0.91938), + float3(-0.80065, 0.24631, 0.83768), + float3(-0.19424, -0.18402, 0.26757), + float3(-0.43667, 0.76751, 0.88304), + float3(0.21666, 0.11602, 0.24577), + float3(0.15696, -0.85600, 0.87027), + float3(-0.75821, 0.58363, 0.95682), + float3(0.99284, -0.02904, 0.99327), + float3(-0.22234, -0.57907, 0.62029), + float3(0.55052, -0.66984, 0.86704), + float3(0.46431, 0.28115, 0.54280), + float3(-0.07214, 0.60554, 0.60982), + }; + + + float TiltShiftMask(float2 uv) + { + float centerY = uv.y * 2.0 - 1.0; + return(abs(centerY * _BlurSize * 0.001)); + } + + float4 FragTiltShiftLQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = TiltShiftMask(i.texcoord.xy); + + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_LQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_LQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_LQ), mask); + } + + float4 FragTiltShiftHQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = TiltShiftMask(i.texcoord.xy); + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_HQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_HQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_HQ), mask); + } + + float4 FragBlend(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float4 blurredColor = SAMPLE_TEXTURE2D(_BlurredTex, sampler_BlurredTex, i.texcoord); + + float3 result = lerp(blurredColor.rgb, screenColor.rgb, saturate(blurredColor.a)); + + return float4(result.rgb, screenColor.a); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + //Pass 0 - Tilt Shift Blur High Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTiltShiftHQ + + ENDHLSL + + } + + //Pass 1 - Tilt Shift Blur Low Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTiltShiftLQ + + ENDHLSL + + } + + //Pass 2 - Blend + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBlend + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta new file mode 100644 index 000000000..04d8eb2fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ab678d3b9335d8438f4a90f3e05f3c9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs new file mode 100644 index 000000000..ff220f83e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs @@ -0,0 +1,160 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + public enum TiltShiftBlurQualityLevel + { + High_Quality = 0, + Normal_Quality = 1, + } + + [Serializable] + public sealed class TiltShiftBlurQualityLevelParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(TiltShiftBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/TiltShiftBlur/TiltShiftBlurV1")] + public class TiltShiftBlur : PostProcessEffectSettings + { + public TiltShiftBlurQualityLevelParameter QualityLevel = new TiltShiftBlurQualityLevelParameter { value = TiltShiftBlurQualityLevel.High_Quality }; + + [Range(0.0f, 1.0f)] + public FloatParameter AreaSize = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1.0f }; + + [Range(1, 8)] + public IntParameter Iteration = new IntParameter { value = 2 }; + + [Range(1, 2)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1.0f }; + } + + public sealed class TiltShiftBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-TiltShiftBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/TiltShiftBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BlurredTex = Shader.PropertyToID("_BlurredTex"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + if (settings.Iteration == 1) + { + HandleOneBlitBlur(context, cmd, sheet); + } + else + { + HandleMultipleIterationBlur(context, cmd, sheet, settings.Iteration); + } + + cmd.EndSample(PROFILER_TAG); + } + + + void HandleOneBlitBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.AreaSize, settings.BlurRadius)); + + // Do Blit + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1, sheet, (int)settings.QualityLevel.value); + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, ShaderIDs.BufferRT1); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + } + + + void HandleMultipleIterationBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet, int Iteration) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.AreaSize, settings.BlurRadius)); + + RenderTargetIdentifier finalBlurID = ShaderIDs.BufferRT1; + RenderTargetIdentifier firstID = context.source; + RenderTargetIdentifier secondID = ShaderIDs.BufferRT1; + for (int i = 0; i < Iteration; i++) + { + // Do Blit + context.command.BlitFullscreenTriangle(firstID, secondID, sheet, (int)settings.QualityLevel.value); + + finalBlurID = secondID; + firstID = secondID; + secondID = (secondID == ShaderIDs.BufferRT1) ? ShaderIDs.BufferRT2 : ShaderIDs.BufferRT1; + } + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, finalBlurID); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta new file mode 100644 index 000000000..f8c8bb935 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fe9969333681e2d468201ff37b108ebf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta new file mode 100644 index 000000000..0c91795f0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2632ba4fc2bdd56428ada707fd3e2486 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta new file mode 100644 index 000000000..6b96cb703 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85d67136d1aa8bf44a10adbc50efae99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs new file mode 100644 index 000000000..cb62e0d40 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(TiltShiftBlurV2))] + public sealed class TiltShiftBlurV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Iteration; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride centerOffset; + SerializedParameterOverride AreaSize; + SerializedParameterOverride areaSmooth; + SerializedParameterOverride showPreview; + + + public override void OnEnable() + { + showPreview = FindParameterOverride(x => x.showPreview); + centerOffset = FindParameterOverride(x => x.centerOffset); + AreaSize = FindParameterOverride(x => x.AreaSize); + areaSmooth = FindParameterOverride(x => x.areaSmooth); + Iteration = FindParameterOverride(x => x.Iteration); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + EditorUtilities.DrawHeaderLabel("Blur Property"); + PropertyField(BlurRadius); + PropertyField(Iteration); + + EditorUtilities.DrawHeaderLabel("Area Property"); + PropertyField(centerOffset); + PropertyField(AreaSize); + PropertyField(areaSmooth); + + EditorUtilities.DrawHeaderLabel("Debug"); + PropertyField(showPreview); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta new file mode 100644 index 000000000..3b2acfbff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6d13ec10e474c6242b267a162e10e1f6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md new file mode 100644 index 000000000..e9c84fbd9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md @@ -0,0 +1,18 @@ + +# Tilt Shift BlurV2 + +## Source Code List +- [Shader Code](Shader/TiltShiftBlurV2.shader) +- [C# Code](TiltShiftBlurV2.cs) +- [Editor Code](Editor/TiltShiftBlurV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta new file mode 100644 index 000000000..867f6f5d1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b7f22ec3a26e3845a9eb7724eede9f3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta new file mode 100644 index 000000000..ea0ab3848 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0582dacb484963a4083f58ea89a3ccee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader new file mode 100644 index 000000000..799ecebda --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader @@ -0,0 +1,105 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +// reference 1 : https://www.shadertoy.com/view/4d2Xzw +// reference 2 : https://github.com/imclab/TiltShift + +Shader "Hidden/X-PostProcessing/TiltShiftBlurV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half3 _Gradient; + half4 _GoldenRot; + half4 _Distortion; + half4 _Params; + + #define _Offset _Gradient.x + #define _Area _Gradient.y + #define _Spread _Gradient.z + #define _CubicDistortion _Distortion.x + #define _DistortionScale _Distortion.y + #define _Iteration _Params.x + #define _Radius _Params.y + #define _PixelSize _Params.zw + + float TiltShiftMask(float2 uv) + { + float centerY = uv.y * 2.0 - 1.0 + _Offset; // [0,1] -> [-1,1] + return pow(abs(centerY * _Area), _Spread); + } + + half4 FragPreview(VaryingsDefault i): SV_Target + { + return TiltShiftMask(i.texcoord); + } + + half4 TiltShiftBlur(VaryingsDefault i) + { + half2x2 rot = half2x2(_GoldenRot); + half4 accumulator = 0.0; + half4 divisor = 0.0; + + half r = 1.0; + half2 angle = half2(0.0, _Radius * saturate(TiltShiftMask(i.texcoord))); + + for (int j = 0; j < _Iteration; j ++) + { + r += 1.0 / r; + angle = mul(rot, angle); + half4 bokeh = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord + _PixelSize * (r - 1.0) * angle)); + accumulator += bokeh * bokeh; + divisor += bokeh; + } + return accumulator / divisor; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return TiltShiftBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + // Pass 0 - Tilt Shift + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + // Pass 1 - Preview + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragPreview + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta new file mode 100644 index 000000000..7dfbf7fd7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dffebf5f65b64d343a6001a1bd69ce2a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs new file mode 100644 index 000000000..3c50a49be --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs @@ -0,0 +1,89 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(TiltShiftBlurV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/TiltShiftBlur/TiltShiftBlurV2")] + public class TiltShiftBlurV2 : PostProcessEffectSettings + { + + [Range(0f, 3f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(8, 128)] + public IntParameter Iteration = new IntParameter { value = 32 }; + + [Range(-1f, 1f)] + public FloatParameter centerOffset = new FloatParameter { value = 0f }; + + [Range(0f, 20f)] + public FloatParameter AreaSize = new FloatParameter { value = 1f }; + + [Range(1f, 20f)] + public FloatParameter areaSmooth = new FloatParameter { value = 1.2f }; + + public BoolParameter showPreview = new BoolParameter { value = false }; + + } + + public sealed class TiltShiftBlurV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-TiltShiftBlurV2"; + private Shader shader; + private Vector4 mGoldenRot = new Vector4(); + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/TiltShiftBlurV2"); + + // Precompute rotations + float c = Mathf.Cos(2.39996323f); + float s = Mathf.Sin(2.39996323f); + mGoldenRot.Set(c, s, -s, c); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int GoldenRot = Shader.PropertyToID("_GoldenRot"); + internal static readonly int Gradient = Shader.PropertyToID("_Gradient"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.GoldenRot, mGoldenRot); + sheet.properties.SetVector(ShaderIDs.Gradient, new Vector3(settings.centerOffset, settings.AreaSize, settings.areaSmooth)); + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Iteration, settings.BlurRadius, 1f / context.width, 1f / context.height)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, settings.showPreview ? 1 : 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta new file mode 100644 index 000000000..3c21bac03 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b6fc311bab7f3714daba3e248900eb31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/LICENSE b/Assets/X-PostProcessing/LICENSE new file mode 100644 index 000000000..8f1401e6c --- /dev/null +++ b/Assets/X-PostProcessing/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 浅墨 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/X-PostProcessing/LICENSE.meta b/Assets/X-PostProcessing/LICENSE.meta new file mode 100644 index 000000000..5eaa71fac --- /dev/null +++ b/Assets/X-PostProcessing/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b4298015887360044a80992e276e24c4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Profiles.meta b/Assets/X-PostProcessing/Profiles.meta new file mode 100644 index 000000000..c07d4b2a8 --- /dev/null +++ b/Assets/X-PostProcessing/Profiles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c42e68ffcbce42240b02936b8413ec4d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset new file mode 100644 index 000000000..9ba2428a1 --- /dev/null +++ b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset @@ -0,0 +1,508 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3} + m_Name: X-PostProcessing ExampleProfiles + m_EditorClassIdentifier: + settings: + - {fileID: 114811271554320798} + - {fileID: 114724888899494118} + - {fileID: 114963614594370276} + - {fileID: 114417544700008348} + - {fileID: 114365642992012064} + - {fileID: 114881628477261990} + - {fileID: 114186190907686168} + - {fileID: 114964623377917018} + - {fileID: 114789630020481822} + - {fileID: 114320506431503834} + - {fileID: 114760233488171950} + - {fileID: 114240762057880376} + - {fileID: 114195601342318132} + - {fileID: 114957445380884270} + - {fileID: 114161431607775064} +--- !u!114 &114079023366429692 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2b24348132ef15346be9ae6f5fe6e94e, type: 3} + m_Name: RapidVignette + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + vignetteType: + overrideState: 1 + value: 1 + vignetteIndensity: + overrideState: 1 + value: 1 + vignetteCenter: + overrideState: 1 + value: {x: 0.5, y: 0.5} + vignetteColor: + overrideState: 1 + value: {r: 0.1, g: 0.8, b: 1, a: 1} +--- !u!114 &114161431607775064 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1b513c82ad9e224db6ba48112ec5d48, type: 3} + m_Name: ColorReplaceV2 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + FromGradientColor: + overrideState: 0 + value: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + ToGradientColor: + overrideState: 0 + value: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + gridentSpeed: + overrideState: 0 + value: 0.5 + Range: + overrideState: 0 + value: 0.2 + Fuzziness: + overrideState: 0 + value: 0.5 +--- !u!114 &114186190907686168 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2bae125e8b72241b38b94373f3c521, type: 3} + m_Name: EdgeDetectionRoberts + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + edgeWidth: + overrideState: 1 + value: 0.98 + edgeColor: + overrideState: 1 + value: {r: 0, g: 0, b: 0, a: 1} + backgroundFade: + overrideState: 1 + value: 1 + backgroundColor: + overrideState: 1 + value: {r: 1, g: 1, b: 1, a: 1} +--- !u!114 &114195601342318132 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad87ed76c4e75846a28e3a301084ed7, type: 3} + m_Name: BoxBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 3 + Iteration: + overrideState: 0 + value: 6 + RTDownScaling: + overrideState: 0 + value: 2 +--- !u!114 &114240762057880376 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2638595d43b44334d88d398c2ff5a6ad, type: 3} + m_Name: ColorAdjustmentBleachBypass + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + Indensity: + overrideState: 1 + value: 0.405 +--- !u!114 &114320506431503834 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b63d2b442ad53ae42b8343f3a6602000, type: 3} + m_Name: GlitchDigitalStripe + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + intensity: + overrideState: 1 + value: 0.165 + frequncy: + overrideState: 1 + value: 2 + stripeLength: + overrideState: 1 + value: 0.99 + noiseTextureWidth: + overrideState: 1 + value: 20 + noiseTextureHeight: + overrideState: 1 + value: 20 + needStripColorAdjust: + overrideState: 1 + value: 0 + StripColorAdjustColor: + overrideState: 1 + value: {r: 0.1, g: 0.1, b: 0.1, a: 1} + StripColorAdjustIndensity: + overrideState: 1 + value: 2 +--- !u!114 &114365642992012064 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6fc311bab7f3714daba3e248900eb31, type: 3} + m_Name: TiltShiftBlurV2 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 1 + Iteration: + overrideState: 0 + value: 32 + centerOffset: + overrideState: 1 + value: 0 + AreaSize: + overrideState: 0 + value: 1 + areaSmooth: + overrideState: 1 + value: 1.2 + showPreview: + overrideState: 1 + value: 0 +--- !u!114 &114417544700008348 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172b63b63bfdad04dbe149542c33a495, type: 3} + m_Name: GrainyBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 5 + Iteration: + overrideState: 1 + value: 4 + RTDownScaling: + overrideState: 1 + value: 1 +--- !u!114 &114724888899494118 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 078dd948866cdbc45847016fec126b10, type: 3} + m_Name: DualGaussianBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 1 + value: 2.7 + Iteration: + overrideState: 1 + value: 4 + RTDownScaling: + overrideState: 1 + value: 2.66 +--- !u!114 &114760233488171950 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9acc76ac9d8d4e4a8d7294a5bd00c85, type: 3} + m_Name: GlitchImageBlockV3 + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + Speed: + overrideState: 0 + value: 10 + BlockSize: + overrideState: 0 + value: 8 +--- !u!114 &114789630020481822 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e9ef3f5264488414c87b632cd2509b40, type: 3} + m_Name: GlitchRGBSplitV5 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + Amplitude: + overrideState: 1 + value: 0.5 + Speed: + overrideState: 1 + value: 0.1 +--- !u!114 &114811271554320798 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84ae5393ade3f4847ab851805bcf1777, type: 3} + m_Name: BokehBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 1 + Iteration: + overrideState: 0 + value: 32 + RTDownScaling: + overrideState: 1 + value: 2 +--- !u!114 &114881628477261990 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b3bbc5404f2acf4a9963784dd2159af, type: 3} + m_Name: IrisBlurV2 + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 1 + Iteration: + overrideState: 0 + value: 60 + centerOffsetX: + overrideState: 1 + value: 0 + centerOffsetY: + overrideState: 1 + value: 0 + AreaSize: + overrideState: 0 + value: 8 + showPreview: + overrideState: 1 + value: 0 +--- !u!114 &114957445380884270 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e84cf76f41f4f7459de554628a5a26b, type: 3} + m_Name: ColorReplace + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + FromColor: + overrideState: 1 + value: {r: 0.8, g: 0, b: 0, a: 1} + ToColor: + overrideState: 1 + value: {r: 0, g: 0.8, b: 0, a: 1} + Range: + overrideState: 1 + value: 0.2 + Fuzziness: + overrideState: 1 + value: 0.5 +--- !u!114 &114963614594370276 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cdb8901486ed154489954ac45ed02d02, type: 3} + m_Name: DualKawaseBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 1 + value: 2.8 + Iteration: + overrideState: 1 + value: 3 + RTDownScaling: + overrideState: 1 + value: 2 +--- !u!114 &114964623377917018 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29f414c45c95c4c4fab1fba6f7db9a44, type: 3} + m_Name: GlitchScanLineJitter + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + JitterDirection: + overrideState: 1 + value: 0 + intervalType: + overrideState: 0 + value: 2 + frequency: + overrideState: 0 + value: 1 + JitterIndensity: + overrideState: 1 + value: 0.174 diff --git a/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta new file mode 100644 index 000000000..f918ca28b --- /dev/null +++ b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05d6d0fc0cf620743ac9fb0be4727707 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/README.md b/Assets/X-PostProcessing/README.md new file mode 100644 index 000000000..2782bc8e1 --- /dev/null +++ b/Assets/X-PostProcessing/README.md @@ -0,0 +1,192 @@ + +![XPL-Title-v2.jpg](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/XPL-Title-v2.jpg) +

+ + GitHub license + + Version + + GitHub issues + + + GitHub pull requests + + +# XPL: Unity引擎的高品质后处理库 +

+ +X-PostProcessing Libray,简称XPL,是针对Unity引擎的高品质开源后处理库,旨在提供业界主流的高品质后处理特效的完整解决方案。目前已完美支持Unity Post-processing Stack v2,后续也将提供对Unity引擎URP/LWRP/HDRP的兼容支持。 + +**X-PostProcessing Library (XPL)** is a high quality post processing library for for Unity Post Processing Stack v2/LWRP/URP/HDRP + + + + + + + +需要查看更多渲染效果图和每个特效的参数与属性,可以在下面的 [目录 ](#jump) 部分的具体后处理特效子页面中查看。 + +For more gallery , you can enter the specific post-processing effects sub-page in the [ Content ](#jump) section below. + +
+ + + + # 1. 目录 | Content + + + + +- ## 1.1 图像模糊型后处理 | Blur Effects + - [Gaussian Blur](Assets/X-PostProcessing/Effects/GaussianBlur) + - [Box Blur](Assets/X-PostProcessing/Effects/BoxBlur) + - [Tent Blur](Assets/X-PostProcessing/Effects/TentBlur) + - [Kawase Blur](Assets/X-PostProcessing/Effects/KawaseBlur) + - [Dual Kawase Blur](Assets/X-PostProcessing/Effects/DualKawaseBlur) + - [Dual Gaussian Blur](Assets/X-PostProcessing/Effects/DualGaussianBlur) + - [Dual Box Blur](Assets/X-PostProcessing/Effects/DualBoxBlur) + - [Dual Tent Blur](Assets/X-PostProcessing/Effects/DualTentBlur) + - [Bokeh Blur](Assets/X-PostProcessing/Effects/BokehBlur) + - [Tilt Shift Blur](Assets/X-PostProcessing/Effects/TiltShiftBlur) + - [Tilt Shift Blur V2](Assets/X-PostProcessing/Effects/TiltShiftBlurV2) + - [Iris Blur](Assets/X-PostProcessing/Effects/IrisBlur) + - [Iris Blur V2](Assets/X-PostProcessing/Effects/IrisBlurV2) + - [Grainy Blur](Assets/X-PostProcessing/Effects/GrainyBlur) + - [Radial Blur](Assets/X-PostProcessing/Effects/RadialBlur) + - [Radial Blur V2](Assets/X-PostProcessing/Effects/RadialBlurV2) + - [Directional Blur](Assets/X-PostProcessing/Effects/DirectionalBlur) +- ## 1.2 像素化型后处理 | Pixelate Effects + - [Pixelize Quad](Assets/X-PostProcessing/Effects/PixelizeQuad) + - [Pixelize Led](Assets/X-PostProcessing/Effects/PixelizeLed) + - [Pixelize Leaf](Assets/X-PostProcessing/Effects/PixelizeLeaf) + - [Pixelize Circle](Assets/X-PostProcessing/Effects/PixelizeCircle) + - [Pixelize Diamond](Assets/X-PostProcessing/Effects/PixelizeDiamond) + - [Pixelize Sector](Assets/X-PostProcessing/Effects/PixelizeSector) + - [Pixelize Triangle](Assets/X-PostProcessing/Effects/PixelizeTriangle) + - [Pixelize Hexagon](Assets/X-PostProcessing/Effects/PixelizeHexagon) + - [Pixelize Hexagon Grid](Assets/X-PostProcessing/Effects/PixelizeHexagonGrid) +- ## 1.3 边缘检测型后处理 | Edge Detection Effects + - [Edge Detection Sobel](Assets/X-PostProcessing/Effects/EdgeDetectionSobel) + - [Edge Detection Sobel Neon](Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon) + - [Edge Detection Sobel Neon V2](Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2) + - [Edge Detection Roberts](Assets/X-PostProcessing/Effects/EdgeDetectionRoberts) + - [Edge Detection Roberts Neon](Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon) + - [Edge Detection Roberts Neon V2](Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2) + - [Edge Detection Scharr](Assets/X-PostProcessing/Effects/EdgeDetectionScharr) + - [Edge Detection Scharr Neon](Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon) + - [Edge Detection Scharr Neon V2](Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2) +- ## 1.4 故障艺术型后处理 | Glitch Effects + - [Glitch Image Block](Assets/X-PostProcessing/Effects/GlitchImageBlock) + - [Glitch Image Block V2](Assets/X-PostProcessing/Effects/GlitchImageBlockV2) + - [Glitch Image Block V3](Assets/X-PostProcessing/Effects/GlitchImageBlockV3) + - [Glitch Image Block V4](Assets/X-PostProcessing/Effects/GlitchImageBlockV4) + - [Glitch Line Block](Assets/X-PostProcessing/Effects/GlitchLineBlock) + - [Glitch Analog Noise](Assets/X-PostProcessing/Effects/GlitchAnalogNoise) + - [Glitch Digital Stripe](Assets/X-PostProcessing/Effects/GlitchDigitalStripe) + - [Glitch RGB Split](Assets/X-PostProcessing/Effects/GlitchRGBSplit) + - [Glitch RGB Split V2](Assets/X-PostProcessing/Effects/GlitchRGBSplitV2) + - [Glitch RGB Split V3](Assets/X-PostProcessing/Effects/GlitchRGBSplitV3) + - [Glitch RGB Split V4](Assets/X-PostProcessing/Effects/GlitchRGBSplitV4) + - [Glitch RGB Split V5](Assets/X-PostProcessing/Effects/GlitchRGBSplitV5) + - [Glitch Scan Line Jitter](Assets/X-PostProcessing/Effects/GlitchScanLineJitter) + - [Glitch Screen Jump](Assets/X-PostProcessing/Effects/GlitchScreenJump) + - [Glitch Screen Shake](Assets/X-PostProcessing/Effects/GlitchScreenShake) + - [Glitch Tile Jitter](Assets/X-PostProcessing/Effects/GlitchTileJitter) + - [Glitch Wave Jitter](Assets/X-PostProcessing/Effects/GlitchWaveJitter) +- ## 1.5 色彩调整型后处理 | Color Adjustment Effects + - [Color Adjustment Bleach Bypass](Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass) + - [Color Adjustment Brightness](Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness) + - [Color Adjustment Contrast](Assets/X-PostProcessing/Effects/ColorAdjustmentContrast) + - [Color Adjustment Contrast V2](Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2) + - [Color Adjustment Contrast V3](Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3) + - [Color Adjustment Hue](Assets/X-PostProcessing/Effects/ColorAdjustmentHue) + - [Color Adjustment Lens Filter](Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter) + - [Color Adjustment Saturation](Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation) + - [Color Adjustment Technicolor](Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor) + - [Color Adjustment Tint](Assets/X-PostProcessing/Effects/ColorAdjustmentTint) + - [Color Adjustment White Balance](Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance) + - [Color Adjustment Replace Color](Assets/X-PostProcessing/Effects/ColorReplace) + - [Color Adjustment Replace Color V2](Assets/X-PostProcessing/Effects/ColorReplaceV2) +- ## 1.6 渐晕型后处理 | Vignette Effects + - [Aurora Vignette](Assets/X-PostProcessing/Effects/AuroraVignette) + - [Rapid Vignette](Assets/X-PostProcessing/Effects/RapidVignette) + - [Rapid Vignette V2](Assets/X-PostProcessing/Effects/RapidVignetteV2) + - [Rapid Old TV Vignette](Assets/X-PostProcessing/Effects/RapidOldTVVignette) + - [Rapid Old TV Vignette V2](Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2) +- ## 1.7 图像处理型后处理 | Image Processing Effects + - [Sharpen V1](Assets/X-PostProcessing/Effects/SharpenV1) + - [Sharpen V2](Assets/X-PostProcessing/Effects/SharpenV2) + - [Sharpen V3](Assets/X-PostProcessing/Effects/SharpenV3) + + +- Stylized Effects +- Painting Effects +- ... + +More effects and LWRP/URP/HDRP version will arrive soon. + + + +
+ + +# 2. 安装 | Installation + +有两种主要的安装X-PostProcessing Library的方法: + +- 【方法一】 克隆或下载此Repo,并直接使用Unity打开。建议可先从已设置好后处理的示例场景 [Assets/Example/ExampleScene.unity](Assets/Example/ExampleScene.unity) 开始。 + +- 【方法二】 将[X-PostProcessing](Assets/X-PostProcessing) 文件夹放置在项目Assets路径下的任一位置,并确保Post Processing Stack v2也位于项目中。 + +You have two main ways to install X-PostProcessing Library : + +- **[Method 1]** Clone or download this repository , open with Unity Engine Editor and enjoy. It is recommended to start with the example scene [Assets/Example/ExampleScene.unity](Assets/Example/ExampleScene.unity) . +- **[Method 2]** Place the [X-PostProcessing](Assets/X-PostProcessing) folder anywhere in your project, make sure that Post Processing Stack v2 is in the project as well, and enjoy. + + +
+ + + +# 3. 使用 | Usage + + +post processing profile 有各种不同的修改和添加方式,最常规的方法是,选中一个post processing profile ,在Inspetor窗口下: + +- `Add effect... > X-PostProcessing > 选择一种新的后处理` + +The new effect should be available for a post processing profile with different injection points,just like: + +- `Add effect... > X-PostProcessing > Choose an effect` + +
+ + + +# 4. 环境 | Environment + +- 建议使用Unity 2017.2+。 + +- 如果使用的是较旧版本的Unity(5.6 或 2017.1),则需要将[此文件夹](https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/PostProcessing-2) 替换为 [pps v2 2.1.8](https://github.com/Unity-Technologies/PostProcessing/tree/bec8546fc498db388cedadd14021cc7006338cc4)。 + +- Unity 2017.2+ is recommended. + +- if you use older versions of Unity (5.6 and 2017.1) , you need to replace [this folder](https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/PostProcessing-2) with [pps v2 2.1.8](https://github.com/Unity-Technologies/PostProcessing/tree/bec8546fc498db388cedadd14021cc7006338cc4). + + +
+ + +# 5. 文章 | Blog Post + +- [高品质后处理:十种图像模糊算法的总结与实现](https://zhuanlan.zhihu.com/p/125744132) | [GitHub Version](https://github.com/QianMo/Game-Programmer-Study-Notes/blob/master/Content/%E9%AB%98%E5%93%81%E8%B4%A8%E5%90%8E%E5%A4%84%E7%90%86%EF%BC%9A%E5%8D%81%E7%A7%8D%E5%9B%BE%E5%83%8F%E6%A8%A1%E7%B3%8A%E7%AE%97%E6%B3%95%E7%9A%84%E6%80%BB%E7%BB%93%E4%B8%8E%E5%AE%9E%E7%8E%B0/README.md) + +- [高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现](https://zhuanlan.zhihu.com/p/148256756) | [GitHub Version](https://github.com/QianMo/Game-Programmer-Study-Notes/blob/master/Content/%E9%AB%98%E5%93%81%E8%B4%A8%E5%90%8E%E5%A4%84%E7%90%86%EF%BC%9A%E5%8D%81%E7%A7%8D%E6%95%85%E9%9A%9C%E8%89%BA%E6%9C%AF%EF%BC%88Glitch%20Art%EF%BC%89%E7%AE%97%E6%B3%95%E7%9A%84%E6%80%BB%E7%BB%93%E4%B8%8E%E5%AE%9E%E7%8E%B0/README.md) + +
+ + + + + diff --git a/Assets/X-PostProcessing/README.md.meta b/Assets/X-PostProcessing/README.md.meta new file mode 100644 index 000000000..c9ec95912 --- /dev/null +++ b/Assets/X-PostProcessing/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 824d0d0072f480842a9c0be553efa70f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Resources.meta b/Assets/X-PostProcessing/Resources.meta new file mode 100644 index 000000000..d2aedf0af --- /dev/null +++ b/Assets/X-PostProcessing/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 265217753ad2c6340a43fed36d2314f5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Resources/X-Noise256.png b/Assets/X-PostProcessing/Resources/X-Noise256.png new file mode 100644 index 000000000..32a561c7f Binary files /dev/null and b/Assets/X-PostProcessing/Resources/X-Noise256.png differ diff --git a/Assets/X-PostProcessing/Resources/X-Noise256.png.meta b/Assets/X-PostProcessing/Resources/X-Noise256.png.meta new file mode 100644 index 000000000..ebcf289ba --- /dev/null +++ b/Assets/X-PostProcessing/Resources/X-Noise256.png.meta @@ -0,0 +1,76 @@ +fileFormatVersion: 2 +guid: 304987f9860c5544fb6fd361fd00d0c8 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders.meta b/Assets/X-PostProcessing/Shaders.meta new file mode 100644 index 000000000..4a57a756f --- /dev/null +++ b/Assets/X-PostProcessing/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20a0aa147c8b50742a07495038262c27 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/ACES.hlsl b/Assets/X-PostProcessing/Shaders/ACES.hlsl new file mode 100644 index 000000000..9f77efeab --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/ACES.hlsl @@ -0,0 +1,1309 @@ +#ifndef __ACES__ +#define __ACES__ + +/** + * https://github.com/ampas/aces-dev + * + * Academy Color Encoding System (ACES) software and tools are provided by the + * Academy under the following terms and conditions: A worldwide, royalty-free, + * non-exclusive right to copy, modify, create derivatives, and use, in source and + * binary forms, is hereby granted, subject to acceptance of this license. + * + * Copyright 2015 Academy of Motion Picture Arts and Sciences (A.M.P.A.S.). + * Portions contributed by others as indicated. All rights reserved. + * + * Performance of any of the aforementioned acts indicates acceptance to be bound + * by the following terms and conditions: + * + * * Copies of source code, in whole or in part, must retain the above copyright + * notice, this list of conditions and the Disclaimer of Warranty. + * + * * Use in binary form must retain the above copyright notice, this list of + * conditions and the Disclaimer of Warranty in the documentation and/or other + * materials provided with the distribution. + * + * * Nothing in this license shall be deemed to grant any rights to trademarks, + * copyrights, patents, trade secrets or any other intellectual property of + * A.M.P.A.S. or any contributors, except as expressly stated herein. + * + * * Neither the name "A.M.P.A.S." nor the name of any other contributors to this + * software may be used to endorse or promote products derivative of or based on + * this software without express prior written permission of A.M.P.A.S. or the + * contributors, as appropriate. + * + * This license shall be construed pursuant to the laws of the State of + * California, and any disputes related thereto shall be subject to the + * jurisdiction of the courts therein. + * + * Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND + * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., OR ANY + * CONTRIBUTORS OR DISTRIBUTORS, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, RESITUTIONARY, 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. + * + * WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, THE ACADEMY SPECIFICALLY + * DISCLAIMS ANY REPRESENTATIONS OR WARRANTIES WHATSOEVER RELATED TO PATENT OR + * OTHER INTELLECTUAL PROPERTY RIGHTS IN THE ACADEMY COLOR ENCODING SYSTEM, OR + * APPLICATIONS THEREOF, HELD BY PARTIES OTHER THAN A.M.P.A.S.,WHETHER DISCLOSED OR + * UNDISCLOSED. + */ + +#include "StdLib.hlsl" + +#define ACEScc_MAX 1.4679964 +#define ACEScc_MIDGRAY 0.4135884 + +// +// Precomputed matrices (pre-transposed) +// See https://github.com/ampas/aces-dev/blob/master/transforms/ctl/README-MATRIX.md +// +static const half3x3 sRGB_2_AP0 = { + 0.4397010, 0.3829780, 0.1773350, + 0.0897923, 0.8134230, 0.0967616, + 0.0175440, 0.1115440, 0.8707040 +}; + +static const half3x3 sRGB_2_AP1 = { + 0.61319, 0.33951, 0.04737, + 0.07021, 0.91634, 0.01345, + 0.02062, 0.10957, 0.86961 +}; + +static const half3x3 AP0_2_sRGB = { + 2.52169, -1.13413, -0.38756, + -0.27648, 1.37272, -0.09624, + -0.01538, -0.15298, 1.16835, +}; + +static const half3x3 AP1_2_sRGB = { + 1.70505, -0.62179, -0.08326, + -0.13026, 1.14080, -0.01055, + -0.02400, -0.12897, 1.15297, +}; + +static const half3x3 AP0_2_AP1_MAT = { + 1.4514393161, -0.2365107469, -0.2149285693, + -0.0765537734, 1.1762296998, -0.0996759264, + 0.0083161484, -0.0060324498, 0.9977163014 +}; + +static const half3x3 AP1_2_AP0_MAT = { + 0.6954522414, 0.1406786965, 0.1638690622, + 0.0447945634, 0.8596711185, 0.0955343182, + -0.0055258826, 0.0040252103, 1.0015006723 +}; + +static const half3x3 AP1_2_XYZ_MAT = { + 0.6624541811, 0.1340042065, 0.1561876870, + 0.2722287168, 0.6740817658, 0.0536895174, + -0.0055746495, 0.0040607335, 1.0103391003 +}; + +static const half3x3 XYZ_2_AP1_MAT = { + 1.6410233797, -0.3248032942, -0.2364246952, + -0.6636628587, 1.6153315917, 0.0167563477, + 0.0117218943, -0.0082844420, 0.9883948585 +}; + +static const half3x3 XYZ_2_REC709_MAT = { + 3.2409699419, -1.5373831776, -0.4986107603, + -0.9692436363, 1.8759675015, 0.0415550574, + 0.0556300797, -0.2039769589, 1.0569715142 +}; + +static const half3x3 XYZ_2_REC2020_MAT = { + 1.7166511880, -0.3556707838, -0.2533662814, + -0.6666843518, 1.6164812366, 0.0157685458, + 0.0176398574, -0.0427706133, 0.9421031212 +}; + +static const half3x3 XYZ_2_DCIP3_MAT = { + 2.7253940305, -1.0180030062, -0.4401631952, + -0.7951680258, 1.6897320548, 0.0226471906, + 0.0412418914, -0.0876390192, 1.1009293786 +}; + +static const half3 AP1_RGB2Y = half3(0.272229, 0.674082, 0.0536895); + +static const half3x3 RRT_SAT_MAT = { + 0.9708890, 0.0269633, 0.00214758, + 0.0108892, 0.9869630, 0.00214758, + 0.0108892, 0.0269633, 0.96214800 +}; + +static const half3x3 ODT_SAT_MAT = { + 0.949056, 0.0471857, 0.00375827, + 0.019056, 0.9771860, 0.00375827, + 0.019056, 0.0471857, 0.93375800 +}; + +static const half3x3 D60_2_D65_CAT = { + 0.98722400, -0.00611327, 0.0159533, + -0.00759836, 1.00186000, 0.0053302, + 0.00307257, -0.00509595, 1.0816800 +}; + +// +// Unity to ACES +// +// converts Unity raw (sRGB primaries) to +// ACES2065-1 (AP0 w/ linear encoding) +// +half3 unity_to_ACES(half3 x) +{ + x = mul(sRGB_2_AP0, x); + return x; +} + +// +// ACES to Unity +// +// converts ACES2065-1 (AP0 w/ linear encoding) +// Unity raw (sRGB primaries) to +// +half3 ACES_to_unity(half3 x) +{ + x = mul(AP0_2_sRGB, x); + return x; +} + +// +// Unity to ACEScg +// +// converts Unity raw (sRGB primaries) to +// ACEScg (AP1 w/ linear encoding) +// +half3 unity_to_ACEScg(half3 x) +{ + x = mul(sRGB_2_AP1, x); + return x; +} + +// +// ACEScg to Unity +// +// converts ACEScg (AP1 w/ linear encoding) to +// Unity raw (sRGB primaries) +// +half3 ACEScg_to_unity(half3 x) +{ + x = mul(AP1_2_sRGB, x); + return x; +} + +// +// ACES Color Space Conversion - ACES to ACEScc +// +// converts ACES2065-1 (AP0 w/ linear encoding) to +// ACEScc (AP1 w/ logarithmic encoding) +// +// This transform follows the formulas from section 4.4 in S-2014-003 +// +half ACES_to_ACEScc(half x) +{ + if (x <= 0.0) + return -0.35828683; // = (log2(pow(2.0, -15.0) * 0.5) + 9.72) / 17.52 + else if (x < pow(2.0, -15.0)) + return (log2(pow(2.0, -16.0) + x * 0.5) + 9.72) / 17.52; + else // (x >= pow(2.0, -15.0)) + return (log2(x) + 9.72) / 17.52; +} + +half3 ACES_to_ACEScc(half3 x) +{ + x = clamp(x, 0.0, HALF_MAX); + + // x is clamped to [0, HALF_MAX], skip the <= 0 check + return (x < 0.00003051757) ? (log2(0.00001525878 + x * 0.5) + 9.72) / 17.52 : (log2(x) + 9.72) / 17.52; + + /* + return half3( + ACES_to_ACEScc(x.r), + ACES_to_ACEScc(x.g), + ACES_to_ACEScc(x.b) + ); + */ +} + +// +// ACES Color Space Conversion - ACEScc to ACES +// +// converts ACEScc (AP1 w/ ACESlog encoding) to +// ACES2065-1 (AP0 w/ linear encoding) +// +// This transform follows the formulas from section 4.4 in S-2014-003 +// +half ACEScc_to_ACES(half x) +{ + // TODO: Optimize me + if (x < -0.3013698630) // (9.72 - 15) / 17.52 + return (pow(2.0, x * 17.52 - 9.72) - pow(2.0, -16.0)) * 2.0; + else if (x < (log2(HALF_MAX) + 9.72) / 17.52) + return pow(2.0, x * 17.52 - 9.72); + else // (x >= (log2(HALF_MAX) + 9.72) / 17.52) + return HALF_MAX; +} + +half3 ACEScc_to_ACES(half3 x) +{ + return half3( + ACEScc_to_ACES(x.r), + ACEScc_to_ACES(x.g), + ACEScc_to_ACES(x.b) + ); +} + +// +// ACES Color Space Conversion - ACES to ACEScg +// +// converts ACES2065-1 (AP0 w/ linear encoding) to +// ACEScg (AP1 w/ linear encoding) +// +half3 ACES_to_ACEScg(half3 x) +{ + return mul(AP0_2_AP1_MAT, x); +} + +// +// ACES Color Space Conversion - ACEScg to ACES +// +// converts ACEScg (AP1 w/ linear encoding) to +// ACES2065-1 (AP0 w/ linear encoding) +// +half3 ACEScg_to_ACES(half3 x) +{ + return mul(AP1_2_AP0_MAT, x); +} + +// +// Reference Rendering Transform (RRT) +// +// Input is ACES +// Output is OCES +// +half rgb_2_saturation(half3 rgb) +{ + const half TINY = 1e-4; + half mi = Min3(rgb.r, rgb.g, rgb.b); + half ma = Max3(rgb.r, rgb.g, rgb.b); + return (max(ma, TINY) - max(mi, TINY)) / max(ma, 1e-2); +} + +half rgb_2_yc(half3 rgb) +{ + const half ycRadiusWeight = 1.75; + + // Converts RGB to a luminance proxy, here called YC + // YC is ~ Y + K * Chroma + // Constant YC is a cone-shaped surface in RGB space, with the tip on the + // neutral axis, towards white. + // YC is normalized: RGB 1 1 1 maps to YC = 1 + // + // ycRadiusWeight defaults to 1.75, although can be overridden in function + // call to rgb_2_yc + // ycRadiusWeight = 1 -> YC for pure cyan, magenta, yellow == YC for neutral + // of same value + // ycRadiusWeight = 2 -> YC for pure red, green, blue == YC for neutral of + // same value. + + half r = rgb.x; + half g = rgb.y; + half b = rgb.z; + half chroma = sqrt(b * (b - g) + g * (g - r) + r * (r - b)); + return (b + g + r + ycRadiusWeight * chroma) / 3.0; +} + +half rgb_2_hue(half3 rgb) +{ + // Returns a geometric hue angle in degrees (0-360) based on RGB values. + // For neutral colors, hue is undefined and the function will return a quiet NaN value. + half hue; + if (rgb.x == rgb.y && rgb.y == rgb.z) + hue = 0.0; // RGB triplets where RGB are equal have an undefined hue + else + hue = (180.0 / PI) * atan2(sqrt(3.0) * (rgb.y - rgb.z), 2.0 * rgb.x - rgb.y - rgb.z); + + if (hue < 0.0) hue = hue + 360.0; + + return hue; +} + +half center_hue(half hue, half centerH) +{ + half hueCentered = hue - centerH; + if (hueCentered < -180.0) hueCentered = hueCentered + 360.0; + else if (hueCentered > 180.0) hueCentered = hueCentered - 360.0; + return hueCentered; +} + +half sigmoid_shaper(half x) +{ + // Sigmoid function in the range 0 to 1 spanning -2 to +2. + + half t = max(1.0 - abs(x / 2.0), 0.0); + half y = 1.0 + FastSign(x) * (1.0 - t * t); + + return y / 2.0; +} + +half glow_fwd(half ycIn, half glowGainIn, half glowMid) +{ + half glowGainOut; + + if (ycIn <= 2.0 / 3.0 * glowMid) + glowGainOut = glowGainIn; + else if (ycIn >= 2.0 * glowMid) + glowGainOut = 0.0; + else + glowGainOut = glowGainIn * (glowMid / ycIn - 1.0 / 2.0); + + return glowGainOut; +} + +/* +half cubic_basis_shaper +( + half x, + half w // full base width of the shaper function (in degrees) +) +{ + half M[4][4] = { + { -1.0 / 6, 3.0 / 6, -3.0 / 6, 1.0 / 6 }, + { 3.0 / 6, -6.0 / 6, 3.0 / 6, 0.0 / 6 }, + { -3.0 / 6, 0.0 / 6, 3.0 / 6, 0.0 / 6 }, + { 1.0 / 6, 4.0 / 6, 1.0 / 6, 0.0 / 6 } + }; + + half knots[5] = { + -w / 2.0, + -w / 4.0, + 0.0, + w / 4.0, + w / 2.0 + }; + + half y = 0.0; + if ((x > knots[0]) && (x < knots[4])) + { + half knot_coord = (x - knots[0]) * 4.0 / w; + int j = knot_coord; + half t = knot_coord - j; + + half monomials[4] = { t*t*t, t*t, t, 1.0 }; + + // (if/else structure required for compatibility with CTL < v1.5.) + if (j == 3) + { + y = monomials[0] * M[0][0] + monomials[1] * M[1][0] + + monomials[2] * M[2][0] + monomials[3] * M[3][0]; + } + else if (j == 2) + { + y = monomials[0] * M[0][1] + monomials[1] * M[1][1] + + monomials[2] * M[2][1] + monomials[3] * M[3][1]; + } + else if (j == 1) + { + y = monomials[0] * M[0][2] + monomials[1] * M[1][2] + + monomials[2] * M[2][2] + monomials[3] * M[3][2]; + } + else if (j == 0) + { + y = monomials[0] * M[0][3] + monomials[1] * M[1][3] + + monomials[2] * M[2][3] + monomials[3] * M[3][3]; + } + else + { + y = 0.0; + } + } + + return y * 3.0 / 2.0; +} +*/ + +static const half3x3 M = { + 0.5, -1.0, 0.5, + -1.0, 1.0, 0.0, + 0.5, 0.5, 0.0 +}; + +half segmented_spline_c5_fwd(half x) +{ + const half coefsLow[6] = { -4.0000000000, -4.0000000000, -3.1573765773, -0.4852499958, 1.8477324706, 1.8477324706 }; // coefs for B-spline between minPoint and midPoint (units of log luminance) + const half coefsHigh[6] = { -0.7185482425, 2.0810307172, 3.6681241237, 4.0000000000, 4.0000000000, 4.0000000000 }; // coefs for B-spline between midPoint and maxPoint (units of log luminance) + const half2 minPoint = half2(0.18 * exp2(-15.0), 0.0001); // {luminance, luminance} linear extension below this + const half2 midPoint = half2(0.18, 0.48); // {luminance, luminance} + const half2 maxPoint = half2(0.18 * exp2(18.0), 10000.0); // {luminance, luminance} linear extension above this + const half slopeLow = 0.0; // log-log slope of low linear extension + const half slopeHigh = 0.0; // log-log slope of high linear extension + + const int N_KNOTS_LOW = 4; + const int N_KNOTS_HIGH = 4; + + // Check for negatives or zero before taking the log. If negative or zero, + // set to ACESMIN.1 + float xCheck = x; + if (xCheck <= 0.0) xCheck = 0.00006103515; // = pow(2.0, -14.0); + + half logx = log10(xCheck); + half logy; + + if (logx <= log10(minPoint.x)) + { + logy = logx * slopeLow + (log10(minPoint.y) - slopeLow * log10(minPoint.x)); + } + else if ((logx > log10(minPoint.x)) && (logx < log10(midPoint.x))) + { + half knot_coord = (N_KNOTS_LOW - 1) * (logx - log10(minPoint.x)) / (log10(midPoint.x) - log10(minPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsLow[j], coefsLow[j + 1], coefsLow[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else if ((logx >= log10(midPoint.x)) && (logx < log10(maxPoint.x))) + { + half knot_coord = (N_KNOTS_HIGH - 1) * (logx - log10(midPoint.x)) / (log10(maxPoint.x) - log10(midPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsHigh[j], coefsHigh[j + 1], coefsHigh[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else + { //if (logIn >= log10(maxPoint.x)) { + logy = logx * slopeHigh + (log10(maxPoint.y) - slopeHigh * log10(maxPoint.x)); + } + + return pow(10.0, logy); +} + +half segmented_spline_c9_fwd(half x) +{ + const half coefsLow[10] = { -1.6989700043, -1.6989700043, -1.4779000000, -1.2291000000, -0.8648000000, -0.4480000000, 0.0051800000, 0.4511080334, 0.9113744414, 0.9113744414 }; // coefs for B-spline between minPoint and midPoint (units of log luminance) + const half coefsHigh[10] = { 0.5154386965, 0.8470437783, 1.1358000000, 1.3802000000, 1.5197000000, 1.5985000000, 1.6467000000, 1.6746091357, 1.6878733390, 1.6878733390 }; // coefs for B-spline between midPoint and maxPoint (units of log luminance) + const half2 minPoint = half2(segmented_spline_c5_fwd(0.18 * exp2(-6.5)), 0.02); // {luminance, luminance} linear extension below this + const half2 midPoint = half2(segmented_spline_c5_fwd(0.18), 4.8); // {luminance, luminance} + const half2 maxPoint = half2(segmented_spline_c5_fwd(0.18 * exp2(6.5)), 48.0); // {luminance, luminance} linear extension above this + const half slopeLow = 0.0; // log-log slope of low linear extension + const half slopeHigh = 0.04; // log-log slope of high linear extension + + const int N_KNOTS_LOW = 8; + const int N_KNOTS_HIGH = 8; + + // Check for negatives or zero before taking the log. If negative or zero, + // set to OCESMIN. + half xCheck = x; + if (xCheck <= 0.0) xCheck = 1e-4; + + half logx = log10(xCheck); + half logy; + + if (logx <= log10(minPoint.x)) + { + logy = logx * slopeLow + (log10(minPoint.y) - slopeLow * log10(minPoint.x)); + } + else if ((logx > log10(minPoint.x)) && (logx < log10(midPoint.x))) + { + half knot_coord = (N_KNOTS_LOW - 1) * (logx - log10(minPoint.x)) / (log10(midPoint.x) - log10(minPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsLow[j], coefsLow[j + 1], coefsLow[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else if ((logx >= log10(midPoint.x)) && (logx < log10(maxPoint.x))) + { + half knot_coord = (N_KNOTS_HIGH - 1) * (logx - log10(midPoint.x)) / (log10(maxPoint.x) - log10(midPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsHigh[j], coefsHigh[j + 1], coefsHigh[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else + { //if (logIn >= log10(maxPoint.x)) { + logy = logx * slopeHigh + (log10(maxPoint.y) - slopeHigh * log10(maxPoint.x)); + } + + return pow(10.0, logy); +} + +static const half RRT_GLOW_GAIN = 0.05; +static const half RRT_GLOW_MID = 0.08; + +static const half RRT_RED_SCALE = 0.82; +static const half RRT_RED_PIVOT = 0.03; +static const half RRT_RED_HUE = 0.0; +static const half RRT_RED_WIDTH = 135.0; + +static const half RRT_SAT_FACTOR = 0.96; + +half3 RRT(half3 aces) +{ + // --- Glow module --- // + half saturation = rgb_2_saturation(aces); + half ycIn = rgb_2_yc(aces); + half s = sigmoid_shaper((saturation - 0.4) / 0.2); + half addedGlow = 1.0 + glow_fwd(ycIn, RRT_GLOW_GAIN * s, RRT_GLOW_MID); + aces *= addedGlow; + + // --- Red modifier --- // + half hue = rgb_2_hue(aces); + half centeredHue = center_hue(hue, RRT_RED_HUE); + half hueWeight; + { + //hueWeight = cubic_basis_shaper(centeredHue, RRT_RED_WIDTH); + hueWeight = smoothstep(0.0, 1.0, 1.0 - abs(2.0 * centeredHue / RRT_RED_WIDTH)); + hueWeight *= hueWeight; + } + + aces.r += hueWeight * saturation * (RRT_RED_PIVOT - aces.r) * (1.0 - RRT_RED_SCALE); + + // --- ACES to RGB rendering space --- // + aces = clamp(aces, 0.0, HALF_MAX); // avoids saturated negative colors from becoming positive in the matrix + half3 rgbPre = mul(AP0_2_AP1_MAT, aces); + rgbPre = clamp(rgbPre, 0, HALF_MAX); + + // --- Global desaturation --- // + //rgbPre = mul(RRT_SAT_MAT, rgbPre); + rgbPre = lerp(dot(rgbPre, AP1_RGB2Y).xxx, rgbPre, RRT_SAT_FACTOR.xxx); + + // --- Apply the tonescale independently in rendering-space RGB --- // + half3 rgbPost; + rgbPost.x = segmented_spline_c5_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c5_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c5_fwd(rgbPre.z); + + // --- RGB rendering space to OCES --- // + half3 rgbOces = mul(AP1_2_AP0_MAT, rgbPost); + + return rgbOces; +} + +// +// Output Device Transform +// +half3 Y_2_linCV(half3 Y, half Ymax, half Ymin) +{ + return (Y - Ymin) / (Ymax - Ymin); +} + +half3 XYZ_2_xyY(half3 XYZ) +{ + half divisor = max(dot(XYZ, (1.0).xxx), 1e-4); + return half3(XYZ.xy / divisor, XYZ.y); +} + +half3 xyY_2_XYZ(half3 xyY) +{ + half m = xyY.z / max(xyY.y, 1e-4); + half3 XYZ = half3(xyY.xz, (1.0 - xyY.x - xyY.y)); + XYZ.xz *= m; + return XYZ; +} + +static const half DIM_SURROUND_GAMMA = 0.9811; + +half3 darkSurround_to_dimSurround(half3 linearCV) +{ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + half3 xyY = XYZ_2_xyY(XYZ); + xyY.z = clamp(xyY.z, 0.0, HALF_MAX); + xyY.z = pow(xyY.z, DIM_SURROUND_GAMMA); + XYZ = xyY_2_XYZ(xyY); + + return mul(XYZ_2_AP1_MAT, XYZ); +} + +half moncurve_r(half y, half gamma, half offs) +{ + // Reverse monitor curve + half x; + const half yb = pow(offs * gamma / ((gamma - 1.0) * (1.0 + offs)), gamma); + const half rs = pow((gamma - 1.0) / offs, gamma - 1.0) * pow((1.0 + offs) / gamma, gamma); + if (y >= yb) + x = (1.0 + offs) * pow(y, 1.0 / gamma) - offs; + else + x = y * rs; + return x; +} + +half bt1886_r(half L, half gamma, half Lw, half Lb) +{ + // The reference EOTF specified in Rec. ITU-R BT.1886 + // L = a(max[(V+b),0])^g + half a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); + half b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); + half V = pow(max(L / a, 0.0), 1.0 / gamma) - b; + return V; +} + +half roll_white_fwd( + half x, // color value to adjust (white scaled to around 1.0) + half new_wht, // white adjustment (e.g. 0.9 for 10% darkening) + half width // adjusted width (e.g. 0.25 for top quarter of the tone scale) + ) +{ + const half x0 = -1.0; + const half x1 = x0 + width; + const half y0 = -new_wht; + const half y1 = x1; + const half m1 = (x1 - x0); + const half a = y0 - y1 + m1; + const half b = 2.0 * (y1 - y0) - m1; + const half c = y0; + const half t = (-x - x0) / (x1 - x0); + half o = 0.0; + if (t < 0.0) + o = -(t * b + c); + else if (t > 1.0) + o = x; + else + o = -((t * a + b) * t + c); + return o; +} + +half3 linear_to_sRGB(half3 x) +{ + return (x <= 0.0031308 ? (x * 12.9232102) : 1.055 * pow(x, 1.0 / 2.4) - 0.055); +} + +half3 linear_to_bt1886(half3 x, half gamma, half Lw, half Lb) +{ + // Good enough approximation for now, may consider using the exact formula instead + // TODO: Experiment + return pow(max(x, 0.0), 1.0 / 2.4); + + // Correct implementation (Reference EOTF specified in Rec. ITU-R BT.1886) : + // L = a(max[(V+b),0])^g + half invgamma = 1.0 / gamma; + half p_Lw = pow(Lw, invgamma); + half p_Lb = pow(Lb, invgamma); + half3 a = pow(p_Lw - p_Lb, gamma).xxx; + half3 b = (p_Lb / p_Lw - p_Lb).xxx; + half3 V = pow(max(x / a, 0.0), invgamma.xxx) - b; + return V; +} + +static const half CINEMA_WHITE = 48.0; +static const half CINEMA_BLACK = CINEMA_WHITE / 2400.0; +static const half ODT_SAT_FACTOR = 0.93; + +// ODT.Academy.RGBmonitor_100nits_dim.a1.0.3 +// ACES 1.0 Output - sRGB + +// +// Output Device Transform - RGB computer monitor +// + +// +// Summary : +// This transform is intended for mapping OCES onto a desktop computer monitor +// typical of those used in motion picture visual effects production. These +// monitors may occasionally be referred to as "sRGB" displays, however, the +// monitor for which this transform is designed does not exactly match the +// specifications in IEC 61966-2-1:1999. +// +// The assumed observer adapted white is D65, and the viewing environment is +// that of a dim surround. +// +// The monitor specified is intended to be more typical of those found in +// visual effects production. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// IEC 61966-2-1:1999. +// +// Signal Range: +// This transform outputs full range code values. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.3127 0.329 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_RGBmonitor_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // TODO: Revisit when it is possible to deactivate Unity default framebuffer encoding + // with sRGB opto-electrical transfer function (OETF). + /* + // Encode linear code values with transfer function + half3 outputCV; + // moncurve_r with gamma of 2.4 and offset of 0.055 matches the EOTF found in IEC 61966-2-1:1999 (sRGB) + const half DISPGAMMA = 2.4; + const half OFFSET = 0.055; + outputCV.x = moncurve_r(linearCV.x, DISPGAMMA, OFFSET); + outputCV.y = moncurve_r(linearCV.y, DISPGAMMA, OFFSET); + outputCV.z = moncurve_r(linearCV.z, DISPGAMMA, OFFSET); + + outputCV = linear_to_sRGB(linearCV); + */ + + // Unity already draws to a sRGB target + return linearCV; +} + +// ODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 +// ACES 1.0 Output - sRGB (D60 sim.) + +// +// Output Device Transform - RGB computer monitor (D60 simulation) +// + +// +// Summary : +// This transform is intended for mapping OCES onto a desktop computer monitor +// typical of those used in motion picture visual effects production. These +// monitors may occasionally be referred to as "sRGB" displays, however, the +// monitor for which this transform is designed does not exactly match the +// specifications in IEC 61966-2-1:1999. +// +// The assumed observer adapted white is D60, and the viewing environment is +// that of a dim surround. +// +// The monitor specified is intended to be more typical of those found in +// visual effects production. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// IEC 61966-2-1:1999. +// +// Signal Range: +// This transform outputs full range code values. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.32168 0.33767 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_RGBmonitor_D60sim_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // --- Compensate for different white point being darker --- // + // This adjustment is to correct an issue that exists in ODTs where the device + // is calibrated to a white chromaticity other than D60. In order to simulate + // D60 on such devices, unequal code values are sent to the display to achieve + // neutrals at D60. In order to produce D60 on a device calibrated to the DCI + // white point (i.e. equal code values yield CIE x,y chromaticities of 0.314, + // 0.351) the red channel is higher than green and blue to compensate for the + // "greenish" DCI white. This is the correct behavior but it means that as + // highlight increase, the red channel will hit the device maximum first and + // clip, resulting in a chromaticity shift as the green and blue channels + // continue to increase. + // To avoid this clipping error, a slight scale factor is applied to allow the + // ODTs to simulate D60 within the D65 calibration white point. + + // Scale and clamp white to avoid casted highlights due to D60 simulation + const half SCALE = 0.955; + linearCV = min(linearCV, 1.0) * SCALE; + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // TODO: Revisit when it is possible to deactivate Unity default framebuffer encoding + // with sRGB opto-electrical transfer function (OETF). + /* + // Encode linear code values with transfer function + half3 outputCV; + // moncurve_r with gamma of 2.4 and offset of 0.055 matches the EOTF found in IEC 61966-2-1:1999 (sRGB) + const half DISPGAMMA = 2.4; + const half OFFSET = 0.055; + outputCV.x = moncurve_r(linearCV.x, DISPGAMMA, OFFSET); + outputCV.y = moncurve_r(linearCV.y, DISPGAMMA, OFFSET); + outputCV.z = moncurve_r(linearCV.z, DISPGAMMA, OFFSET); + + outputCV = linear_to_sRGB(linearCV); + */ + + // Unity already draws to a sRGB target + return linearCV; +} + +// ODT.Academy.Rec709_100nits_dim.a1.0.3 +// ACES 1.0 Output - Rec.709 + +// +// Output Device Transform - Rec709 +// + +// +// Summary : +// This transform is intended for mapping OCES onto a Rec.709 broadcast monitor +// that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer +// adapted white is D65, and the viewing environment is a dim surround. +// +// A possible use case for this transform would be HDTV/video mastering. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// Rec. ITU-R BT.1886. +// +// Signal Range: +// By default, this transform outputs full range code values. If instead a +// SMPTE "legal" signal is desired, there is a runtime flag to output +// SMPTE legal signal. In ctlrender, this can be achieved by appending +// '-param1 legalRange 1' after the '-ctl odt.ctl' string. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.3127 0.329 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_Rec709_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.4; + const half L_W = 1.0; + const half L_B = 0.0; + half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); + + // TODO: Implement support for legal range. + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +// ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 +// ACES 1.0 Output - Rec.709 (D60 sim.) + +// +// Output Device Transform - Rec709 (D60 simulation) +// + +// +// Summary : +// This transform is intended for mapping OCES onto a Rec.709 broadcast monitor +// that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer +// adapted white is D60, and the viewing environment is a dim surround. +// +// A possible use case for this transform would be cinema "soft-proofing". +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// Rec. ITU-R BT.1886. +// +// Signal Range: +// By default, this transform outputs full range code values. If instead a +// SMPTE "legal" signal is desired, there is a runtime flag to output +// SMPTE legal signal. In ctlrender, this can be achieved by appending +// '-param1 legalRange 1' after the '-ctl odt.ctl' string. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.32168 0.33767 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_Rec709_D60sim_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // --- Compensate for different white point being darker --- // + // This adjustment is to correct an issue that exists in ODTs where the device + // is calibrated to a white chromaticity other than D60. In order to simulate + // D60 on such devices, unequal code values must be sent to the display to achieve + // the chromaticities of D60. More specifically, in order to produce D60 on a device + // calibrated to a D65 white point (i.e. equal code values yield CIE x,y + // chromaticities of 0.3127, 0.329) the red channel must be slightly higher than + // that of green and blue in order to compensate for the relatively more "blue-ish" + // D65 white. This unequalness of color channels is the correct behavior but it + // means that as neutral highlights increase, the red channel will hit the + // device maximum first and clip, resulting in a small chromaticity shift as the + // green and blue channels continue to increase to their maximums. + // To avoid this clipping error, a slight scale factor is applied to allow the + // ODTs to simulate D60 within the D65 calibration white point. + + // Scale and clamp white to avoid casted highlights due to D60 simulation + const half SCALE = 0.955; + linearCV = min(linearCV, 1.0) * SCALE; + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.4; + const half L_W = 1.0; + const half L_B = 0.0; + half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); + + // TODO: Implement support for legal range. + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +// ODT.Academy.Rec2020_100nits_dim.a1.0.3 +// ACES 1.0 Output - Rec.2020 + +// +// Output Device Transform - Rec2020 +// + +// +// Summary : +// This transform is intended for mapping OCES onto a Rec.2020 broadcast +// monitor that is calibrated to a D65 white point at 100 cd/m^2. The assumed +// observer adapted white is D65, and the viewing environment is that of a dim +// surround. +// +// A possible use case for this transform would be UHDTV/video mastering. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.2020 +// CIE 1931 chromaticities: x y Y +// Red: 0.708 0.292 +// Green: 0.17 0.797 +// Blue: 0.131 0.046 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// Rec. ITU-R BT.1886. +// +// Signal Range: +// By default, this transform outputs full range code values. If instead a +// SMPTE "legal" signal is desired, there is a runtime flag to output +// SMPTE legal signal. In ctlrender, this can be achieved by appending +// '-param1 legalRange 1' after the '-ctl odt.ctl' string. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.3127 0.329 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// + +half3 ODT_Rec2020_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC2020_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.4; + const half L_W = 1.0; + const half L_B = 0.0; + half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); + + // TODO: Implement support for legal range. + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +// ODT.Academy.P3DCI_48nits.a1.0.3 +// ACES 1.0 Output - P3-DCI + +// +// Output Device Transform - P3DCI (D60 Simulation) +// + +// +// Summary : +// This transform is intended for mapping OCES onto a P3 digital cinema +// projector that is calibrated to a DCI white point at 48 cd/m^2. The assumed +// observer adapted white is D60, and the viewing environment is that of a dark +// theater. +// +// Device Primaries : +// CIE 1931 chromaticities: x y Y +// Red: 0.68 0.32 +// Green: 0.265 0.69 +// Blue: 0.15 0.06 +// White: 0.314 0.351 48 cd/m^2 +// +// Display EOTF : +// Gamma: 2.6 +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.32168 0.33767 +// +// Viewing Environment: +// Environment specified in SMPTE RP 431-2-2007 +// +half3 ODT_P3DCI_48nits(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // --- Compensate for different white point being darker --- // + // This adjustment is to correct an issue that exists in ODTs where the device + // is calibrated to a white chromaticity other than D60. In order to simulate + // D60 on such devices, unequal code values are sent to the display to achieve + // neutrals at D60. In order to produce D60 on a device calibrated to the DCI + // white point (i.e. equal code values yield CIE x,y chromaticities of 0.314, + // 0.351) the red channel is higher than green and blue to compensate for the + // "greenish" DCI white. This is the correct behavior but it means that as + // highlight increase, the red channel will hit the device maximum first and + // clip, resulting in a chromaticity shift as the green and blue channels + // continue to increase. + // To avoid this clipping error, a slight scale factor is applied to allow the + // ODTs to simulate D60 within the D65 calibration white point. However, the + // magnitude of the scale factor required for the P3DCI ODT was considered too + // large. Therefore, the scale factor was reduced and the additional required + // compression was achieved via a reshaping of the highlight rolloff in + // conjunction with the scale. The shape of this rolloff was determined + // throught subjective experiments and deemed to best reproduce the + // "character" of the highlights in the P3D60 ODT. + + // Roll off highlights to avoid need for as much scaling + const half NEW_WHT = 0.918; + const half ROLL_WIDTH = 0.5; + linearCV.x = roll_white_fwd(linearCV.x, NEW_WHT, ROLL_WIDTH); + linearCV.y = roll_white_fwd(linearCV.y, NEW_WHT, ROLL_WIDTH); + linearCV.z = roll_white_fwd(linearCV.z, NEW_WHT, ROLL_WIDTH); + + // Scale and clamp white to avoid casted highlights due to D60 simulation + const half SCALE = 0.96; + linearCV = min(linearCV, NEW_WHT) * SCALE; + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_DCIP3_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.6; + half3 outputCV = pow(linearCV, 1.0 / DISPGAMMA); + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +#endif // __ACES__ diff --git a/Assets/X-PostProcessing/Shaders/ACES.hlsl.meta b/Assets/X-PostProcessing/Shaders/ACES.hlsl.meta new file mode 100644 index 000000000..daaf3eeb7 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/ACES.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 887c5516912c2ab4e9a07d1e1b882df6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API.meta b/Assets/X-PostProcessing/Shaders/API.meta new file mode 100644 index 000000000..f5adfac19 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c898ec18c3eb408498f9e78e9e7800a0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl new file mode 100644 index 000000000..1982bcb36 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta new file mode 100644 index 000000000..8bf06ca9a --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: de49249ea2b608c4a9ff8163814b51dc +timeCreated: 1489753963 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl new file mode 100644 index 000000000..1982bcb36 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta new file mode 100644 index 000000000..feec4620b --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 35930d267d988154797d2ab08a2704ad +timeCreated: 1489754075 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl new file mode 100644 index 000000000..8427b9c8a --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl @@ -0,0 +1,43 @@ +// ALso used for Direct3D 11 "feature level 9.x" target for Windows Store and Windows Phone +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 0 +#define UNITY_GATHER_SUPPORTED 0 +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) sampler2D textureName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) sampler3D textureName + +#define TEXTURE2D(textureName) sampler2D textureName +#define SAMPLER2D(samplerName) + +#define TEXTURE3D(textureName) sampler3D textureName +#define SAMPLER3D(samplerName) + +#define TEXTURE2D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName + +#define TEXTURE3D_ARGS(textureName, samplerName) sampler3D textureName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) tex2D(textureName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) tex3D(textureName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) tex2D(textureName, icoord2 / texelSize) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) tex2Dlod(textureName, float4(icoord2 / texelSize, 0.0, lod)) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH +#define UNITY_FLATTEN +#define UNITY_UNROLL +#define UNITY_LOOP +#define UNITY_FASTOPT + +#define CBUFFER_START(name) +#define CBUFFER_END + +#define FXAA_HLSL_3 1 +#define SMAA_HLSL_3 1 diff --git a/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta new file mode 100644 index 000000000..6ee37572a --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 06a01d52ddef95344ac28b690f98ec2d +timeCreated: 1489754265 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/Metal.hlsl b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl new file mode 100644 index 000000000..50916982d --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl @@ -0,0 +1,47 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED 0 // Currently broken on Metal for some reason (May 2017) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#define FXAA_HLSL_4 1 // See UNITY_GATHER_SUPPORTED +#define SMAA_HLSL_4 1 diff --git a/Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta new file mode 100644 index 000000000..39682e32f --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d4eb15fffa74d644bb594060c705f777 +timeCreated: 1489753963 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl new file mode 100644 index 000000000..9c7cd11f1 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl @@ -0,0 +1,57 @@ +// For now OpenGL is considered at GLES2 level +#define UNITY_UV_STARTS_AT_TOP 0 +#define UNITY_REVERSED_Z 0 +#define UNITY_GATHER_SUPPORTED 0 +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) sampler2D textureName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) sampler3D textureName + +#define TEXTURE2D(textureName) sampler2D textureName +#define SAMPLER2D(samplerName) + +#define TEXTURE3D(textureName) sampler3D textureName +#define SAMPLER3D(samplerName) + +#define TEXTURE2D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName + +#define TEXTURE3D_ARGS(textureName, samplerName) sampler3D textureName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) tex2D(textureName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) tex3D(textureName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) tex2D(textureName, icoord2 / texelSize) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) tex2Dlod(textureName, float4(icoord2 / texelSize, 0.0, lod)) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#if SHADER_API_GLES +# define UNITY_BRANCH +# define UNITY_FLATTEN +# define UNITY_UNROLL +# define UNITY_LOOP +# define UNITY_FASTOPT +#else +# define UNITY_BRANCH [branch] +# define UNITY_FLATTEN [flatten] +# define UNITY_UNROLL [unroll] +# define UNITY_LOOP [loop] +# define UNITY_FASTOPT [fastopt] +#endif + +#define CBUFFER_START(name) +#define CBUFFER_END + +#define FXAA_HLSL_3 1 +#define SMAA_HLSL_3 1 + +// pragma exclude_renderers is only supported since Unity 2018.1 for compute shaders +#if UNITY_VERSION < 201810 && !defined(SHADER_API_GLCORE) +# define DISABLE_COMPUTE_SHADERS 1 +# define TRIVIAL_COMPUTE_KERNEL(name) [numthreads(1, 1, 1)] void name() {} +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta new file mode 100644 index 000000000..54bab4f78 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 252ce283bdab48948b80f71920a4c7c8 +timeCreated: 1489754265 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl new file mode 100644 index 000000000..dcb0c7e37 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl @@ -0,0 +1,48 @@ + +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 0 +#define UNITY_GATHER_SUPPORTED 0 +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 0 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) sampler2D textureName + +#define TEXTURE2D(textureName) sampler2D textureName +#define SAMPLER2D(samplerName) + +#define TEXTURE2D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) tex2D(textureName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) tex2D(textureName, icoord2 / texelSize) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) tex2Dlod(textureName, float4(icoord2 / texelSize, 0.0, lod)) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) tex2D(textureName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)).r + +// 3D textures are not supported on Vita, use 2D to avoid compile errors. +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) sampler2D textureName +#define TEXTURE3D(textureName) sampler2D textureName +#define SAMPLER3D(samplerName) +#define TEXTURE3D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) tex2D(textureName, coord3) + +#define UNITY_BRANCH +#define UNITY_FLATTEN +#define UNITY_UNROLL +#define UNITY_LOOP +#define UNITY_FASTOPT + +#define CBUFFER_START(name) +#define CBUFFER_END + +#define FXAA_HLSL_3 1 +#define SMAA_HLSL_3 1 + +// pragma exclude_renderers is only supported since Unity 2018.1 for compute shaders +#if UNITY_VERSION < 201810 && !defined(SHADER_API_GLCORE) +# define DISABLE_COMPUTE_SHADERS 1 +# define TRIVIAL_COMPUTE_KERNEL(name) [numthreads(1, 1, 1)] void name() {} +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta new file mode 100644 index 000000000..4708d6b37 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b9ab41f4ad3d23642ad3d2ed0fdb18d6 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl new file mode 100644 index 000000000..ef3eafb6b --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl @@ -0,0 +1,55 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 +#define INTRINSIC_MINMAX3 +#define Min3 min3 +#define Max3 max3 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) ConstantBuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta new file mode 100644 index 000000000..69369d8fa --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e851c3938cacdaa45b025b90da1731b2 +timeCreated: 1489753963 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/Switch.hlsl b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl new file mode 100644 index 000000000..875e6e098 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl @@ -0,0 +1,51 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta new file mode 100644 index 000000000..e4e9aa2c9 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f67be869064ea34298bc051ba9f3589 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl new file mode 100644 index 000000000..1982bcb36 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta new file mode 100644 index 000000000..876c7aa6e --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e68962a8c3be55d489e1b3a614bfc152 +timeCreated: 1489754021 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl new file mode 100644 index 000000000..1982bcb36 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta new file mode 100644 index 000000000..ae63bf58c --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a71cfe7924c81774b8b60914e582f72b +timeCreated: 1489754021 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Blending.hlsl b/Assets/X-PostProcessing/Shaders/Blending.hlsl new file mode 100644 index 000000000..f032c2974 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Blending.hlsl @@ -0,0 +1,38 @@ + + +float3 BlendAdditive(float3 a, float3 b) +{ + return a + b; +} + +float3 BlendExclusion(float3 a, float3 b) +{ + return a + b - 2.0 * a * b; +} + +float3 BlendLighten(float3 a, float3 b) +{ + return max(a, b); +} + +//single channel overlay +float BlendOverlay(float a, float b) +{ + return (b < 0.5) ? 2.0 * a * b : 1.0 - 2.0 * (1.0 - a) * (1.0 - b); +} + +//RGB overlay +float3 BlendOverlay(float3 a, float3 b) +{ + float3 color; + color.r = BlendOverlay(a.r, b.r); + color.g = BlendOverlay(a.g, b.g); + color.b = BlendOverlay(a.b, b.b); + return color; +} + +float3 BlendScreen(float3 a, float3 b) +{ + return a + b - a * b; +} + diff --git a/Assets/X-PostProcessing/Shaders/Blending.hlsl.meta b/Assets/X-PostProcessing/Shaders/Blending.hlsl.meta new file mode 100644 index 000000000..71e5773d5 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Blending.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb852e8e66981284395c564808e301f5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Colors.hlsl b/Assets/X-PostProcessing/Shaders/Colors.hlsl new file mode 100644 index 000000000..4361514c4 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Colors.hlsl @@ -0,0 +1,650 @@ +#ifndef UNITY_POSTFX_COLOR +#define UNITY_POSTFX_COLOR + +#include "StdLib.hlsl" +#include "ACES.hlsl" + +#define LUT_SPACE_ENCODE(x) LinearToLogC(x) +#define LUT_SPACE_DECODE(x) LogCToLinear(x) + +#ifndef USE_PRECISE_LOGC + // Set to 1 to use more precise but more expensive log/linear conversions. I haven't found a proper + // use case for the high precision version yet so I'm leaving this to 0. + #define USE_PRECISE_LOGC 0 +#endif + +#ifndef TONEMAPPING_USE_FULL_ACES + // Set to 1 to use the full reference ACES tonemapper. This should only be used for research + // purposes as it's quite heavy and generally overkill. + #define TONEMAPPING_USE_FULL_ACES 0 +#endif + +#ifndef DEFAULT_MAX_PQ + // PQ ST.2048 max value + // 1.0 = 100nits, 100.0 = 10knits + #define DEFAULT_MAX_PQ 100.0 +#endif + +#ifndef USE_VERY_FAST_SRGB + #if defined(SHADER_API_MOBILE) + #define USE_VERY_FAST_SRGB 1 + #else + #define USE_VERY_FAST_SRGB 0 + #endif +#endif + +#ifndef USE_FAST_SRGB + #if defined(SHADER_API_CONSOLE) + #define USE_FAST_SRGB 1 + #else + #define USE_FAST_SRGB 0 + #endif +#endif + +// +// Alexa LogC converters (El 1000) +// See http://www.vocas.nl/webfm_send/964 +// Max range is ~58.85666 +// +struct ParamsLogC +{ + float cut; + float a, b, c, d, e, f; +}; + +static const ParamsLogC LogC = +{ + 0.011361, // cut + 5.555556, // a + 0.047996, // b + 0.244161, // c + 0.386036, // d + 5.301883, // e + 0.092819 // f +}; + +float LinearToLogC_Precise(half x) +{ + float o; + if (x > LogC.cut) + o = LogC.c * log10(LogC.a * x + LogC.b) + LogC.d; + else + o = LogC.e * x + LogC.f; + return o; +} + +float3 LinearToLogC(float3 x) +{ +#if USE_PRECISE_LOGC + return float3( + LinearToLogC_Precise(x.x), + LinearToLogC_Precise(x.y), + LinearToLogC_Precise(x.z) + ); +#else + return LogC.c * log10(LogC.a * x + LogC.b) + LogC.d; +#endif +} + +float LogCToLinear_Precise(float x) +{ + float o; + if (x > LogC.e * LogC.cut + LogC.f) + o = (pow(10.0, (x - LogC.d) / LogC.c) - LogC.b) / LogC.a; + else + o = (x - LogC.f) / LogC.e; + return o; +} + +float3 LogCToLinear(float3 x) +{ +#if USE_PRECISE_LOGC + return float3( + LogCToLinear_Precise(x.x), + LogCToLinear_Precise(x.y), + LogCToLinear_Precise(x.z) + ); +#else + return (pow(10.0, (x - LogC.d) / LogC.c) - LogC.b) / LogC.a; +#endif +} + +// +// SMPTE ST.2084 (PQ) transfer functions +// Used for HDR Lut storage, max range depends on the maxPQValue parameter +// +struct ParamsPQ +{ + float N, M; + float C1, C2, C3; +}; + +static const ParamsPQ PQ = +{ + 2610.0 / 4096.0 / 4.0, // N + 2523.0 / 4096.0 * 128.0, // M + 3424.0 / 4096.0, // C1 + 2413.0 / 4096.0 * 32.0, // C2 + 2392.0 / 4096.0 * 32.0, // C3 +}; + +float3 LinearToPQ(float3 x, float maxPQValue) +{ + x = PositivePow(x / maxPQValue, PQ.N); + float3 nd = (PQ.C1 + PQ.C2 * x) / (1.0 + PQ.C3 * x); + return PositivePow(nd, PQ.M); +} + +float3 LinearToPQ(float3 x) +{ + return LinearToPQ(x, DEFAULT_MAX_PQ); +} + +float3 PQToLinear(float3 x, float maxPQValue) +{ + x = PositivePow(x, rcp(PQ.M)); + float3 nd = max(x - PQ.C1, 0.0) / (PQ.C2 - (PQ.C3 * x)); + return PositivePow(nd, rcp(PQ.N)) * maxPQValue; +} + +float3 PQToLinear(float3 x) +{ + return PQToLinear(x, DEFAULT_MAX_PQ); +} + +// +// sRGB transfer functions +// Fast path ref: http://chilliant.blogspot.com.au/2012/08/srgb-approximations-for-hlsl.html?m=1 +// +half SRGBToLinear(half c) +{ +#if USE_VERY_FAST_SRGB + return c * c; +#elif USE_FAST_SRGB + return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878); +#else + half linearRGBLo = c / 12.92; + half linearRGBHi = PositivePow((c + 0.055) / 1.055, 2.4); + half linearRGB = (c <= 0.04045) ? linearRGBLo : linearRGBHi; + return linearRGB; +#endif +} + +half3 SRGBToLinear(half3 c) +{ +#if USE_VERY_FAST_SRGB + return c * c; +#elif USE_FAST_SRGB + return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878); +#else + half3 linearRGBLo = c / 12.92; + half3 linearRGBHi = PositivePow((c + 0.055) / 1.055, half3(2.4, 2.4, 2.4)); + half3 linearRGB = (c <= 0.04045) ? linearRGBLo : linearRGBHi; + return linearRGB; +#endif +} + +half4 SRGBToLinear(half4 c) +{ + return half4(SRGBToLinear(c.rgb), c.a); +} + +half LinearToSRGB(half c) +{ +#if USE_VERY_FAST_SRGB + return sqrt(c); +#elif USE_FAST_SRGB + return max(1.055 * PositivePow(c, 0.416666667) - 0.055, 0.0); +#else + half sRGBLo = c * 12.92; + half sRGBHi = (PositivePow(c, 1.0 / 2.4) * 1.055) - 0.055; + half sRGB = (c <= 0.0031308) ? sRGBLo : sRGBHi; + return sRGB; +#endif +} + +half3 LinearToSRGB(half3 c) +{ +#if USE_VERY_FAST_SRGB + return sqrt(c); +#elif USE_FAST_SRGB + return max(1.055 * PositivePow(c, 0.416666667) - 0.055, 0.0); +#else + half3 sRGBLo = c * 12.92; + half3 sRGBHi = (PositivePow(c, half3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) * 1.055) - 0.055; + half3 sRGB = (c <= 0.0031308) ? sRGBLo : sRGBHi; + return sRGB; +#endif +} + +half4 LinearToSRGB(half4 c) +{ + return half4(LinearToSRGB(c.rgb), c.a); +} + +// +// Convert rgb to luminance with rgb in linear space with sRGB primaries and D65 white point +// +half Luminance(half3 linearRgb) +{ + return dot(linearRgb, float3(0.2126729, 0.7151522, 0.0721750)); +} + +half Luminance(half4 linearRgba) +{ + return Luminance(linearRgba.rgb); +} + +// +// Quadratic color thresholding +// curve = (threshold - knee, knee * 2, 0.25 / knee) +// +half4 QuadraticThreshold(half4 color, half threshold, half3 curve) +{ + // Pixel brightness + half br = Max3(color.r, color.g, color.b); + + // Under-threshold part: quadratic curve + half rq = clamp(br - curve.x, 0.0, curve.y); + rq = curve.z * rq * rq; + + // Combine and apply the brightness response curve. + color *= max(rq, br - threshold) / max(br, EPSILON); + + return color; +} + +// +// Fast reversible tonemapper +// http://gpuopen.com/optimized-reversible-tonemapper-for-resolve/ +// +float3 FastTonemap(float3 c) +{ + return c * rcp(Max3(c.r, c.g, c.b) + 1.0); +} + +float4 FastTonemap(float4 c) +{ + return float4(FastTonemap(c.rgb), c.a); +} + +float3 FastTonemap(float3 c, float w) +{ + return c * (w * rcp(Max3(c.r, c.g, c.b) + 1.0)); +} + +float4 FastTonemap(float4 c, float w) +{ + return float4(FastTonemap(c.rgb, w), c.a); +} + +float3 FastTonemapInvert(float3 c) +{ + return c * rcp(1.0 - Max3(c.r, c.g, c.b)); +} + +float4 FastTonemapInvert(float4 c) +{ + return float4(FastTonemapInvert(c.rgb), c.a); +} + +// +// Neutral tonemapping (Hable/Hejl/Frostbite) +// Input is linear RGB +// +float3 NeutralCurve(float3 x, float a, float b, float c, float d, float e, float f) +{ + return ((x * (a * x + c * b) + d * e) / (x * (a * x + b) + d * f)) - e / f; +} + +float3 NeutralTonemap(float3 x) +{ + // Tonemap + float a = 0.2; + float b = 0.29; + float c = 0.24; + float d = 0.272; + float e = 0.02; + float f = 0.3; + float whiteLevel = 5.3; + float whiteClip = 1.0; + + float3 whiteScale = (1.0).xxx / NeutralCurve(whiteLevel, a, b, c, d, e, f); + x = NeutralCurve(x * whiteScale, a, b, c, d, e, f); + x *= whiteScale; + + // Post-curve white point adjustment + x /= whiteClip.xxx; + + return x; +} + +// +// Raw, unoptimized version of John Hable's artist-friendly tone curve +// Input is linear RGB +// +float EvalCustomSegment(float x, float4 segmentA, float2 segmentB) +{ + const float kOffsetX = segmentA.x; + const float kOffsetY = segmentA.y; + const float kScaleX = segmentA.z; + const float kScaleY = segmentA.w; + const float kLnA = segmentB.x; + const float kB = segmentB.y; + + float x0 = (x - kOffsetX) * kScaleX; + float y0 = (x0 > 0.0) ? exp(kLnA + kB * log(x0)) : 0.0; + return y0 * kScaleY + kOffsetY; +} + +float EvalCustomCurve(float x, float3 curve, float4 toeSegmentA, float2 toeSegmentB, float4 midSegmentA, float2 midSegmentB, float4 shoSegmentA, float2 shoSegmentB) +{ + float4 segmentA; + float2 segmentB; + + if (x < curve.y) + { + segmentA = toeSegmentA; + segmentB = toeSegmentB; + } + else if (x < curve.z) + { + segmentA = midSegmentA; + segmentB = midSegmentB; + } + else + { + segmentA = shoSegmentA; + segmentB = shoSegmentB; + } + + return EvalCustomSegment(x, segmentA, segmentB); +} + +// curve: x: inverseWhitePoint, y: x0, z: x1 +float3 CustomTonemap(float3 x, float3 curve, float4 toeSegmentA, float2 toeSegmentB, float4 midSegmentA, float2 midSegmentB, float4 shoSegmentA, float2 shoSegmentB) +{ + float3 normX = x * curve.x; + float3 ret; + ret.x = EvalCustomCurve(normX.x, curve, toeSegmentA, toeSegmentB, midSegmentA, midSegmentB, shoSegmentA, shoSegmentB); + ret.y = EvalCustomCurve(normX.y, curve, toeSegmentA, toeSegmentB, midSegmentA, midSegmentB, shoSegmentA, shoSegmentB); + ret.z = EvalCustomCurve(normX.z, curve, toeSegmentA, toeSegmentB, midSegmentA, midSegmentB, shoSegmentA, shoSegmentB); + return ret; +} + +// +// Filmic tonemapping (ACES fitting, unless TONEMAPPING_USE_FULL_ACES is set to 1) +// Input is ACES2065-1 (AP0 w/ linear encoding) +// +float3 AcesTonemap(float3 aces) +{ +#if TONEMAPPING_USE_FULL_ACES + + float3 oces = RRT(aces); + float3 odt = ODT_RGBmonitor_100nits_dim(oces); + return odt; + +#else + + // --- Glow module --- // + float saturation = rgb_2_saturation(aces); + float ycIn = rgb_2_yc(aces); + float s = sigmoid_shaper((saturation - 0.4) / 0.2); + float addedGlow = 1.0 + glow_fwd(ycIn, RRT_GLOW_GAIN * s, RRT_GLOW_MID); + aces *= addedGlow; + + // --- Red modifier --- // + float hue = rgb_2_hue(aces); + float centeredHue = center_hue(hue, RRT_RED_HUE); + float hueWeight; + { + //hueWeight = cubic_basis_shaper(centeredHue, RRT_RED_WIDTH); + hueWeight = smoothstep(0.0, 1.0, 1.0 - abs(2.0 * centeredHue / RRT_RED_WIDTH)); + hueWeight *= hueWeight; + } + + aces.r += hueWeight * saturation * (RRT_RED_PIVOT - aces.r) * (1.0 - RRT_RED_SCALE); + + // --- ACES to RGB rendering space --- // + float3 acescg = max(0.0, ACES_to_ACEScg(aces)); + + // --- Global desaturation --- // + //acescg = mul(RRT_SAT_MAT, acescg); + acescg = lerp(dot(acescg, AP1_RGB2Y).xxx, acescg, RRT_SAT_FACTOR.xxx); + + // Luminance fitting of *RRT.a1.0.3 + ODT.Academy.RGBmonitor_100nits_dim.a1.0.3*. + // https://github.com/colour-science/colour-unity/blob/master/Assets/Colour/Notebooks/CIECAM02_Unity.ipynb + // RMSE: 0.0012846272106 + const float a = 278.5085; + const float b = 10.7772; + const float c = 293.6045; + const float d = 88.7122; + const float e = 80.6889; + float3 x = acescg; + float3 rgbPost = (x * (a * x + b)) / (x * (c * x + d) + e); + + // Scale luminance to linear code value + // float3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + float3 linearCV = darkSurround_to_dimSurround(rgbPost); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, color); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + float3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + return linearCV; + +#endif +} + +// +// 3D LUT grading +// scaleOffset = (1 / lut_size, lut_size - 1) +// +half3 ApplyLut3D(TEXTURE3D_ARGS(tex, samplerTex), float3 uvw, float2 scaleOffset) +{ + uvw.xyz = uvw.xyz * scaleOffset.yyy * scaleOffset.xxx + scaleOffset.xxx * 0.5; + return SAMPLE_TEXTURE3D(tex, samplerTex, uvw).rgb; +} + +// +// 2D LUT grading +// scaleOffset = (1 / lut_width, 1 / lut_height, lut_height - 1) +// +half3 ApplyLut2D(TEXTURE2D_ARGS(tex, samplerTex), float3 uvw, float3 scaleOffset) +{ + // Strip format where `height = sqrt(width)` + uvw.z *= scaleOffset.z; + float shift = floor(uvw.z); + uvw.xy = uvw.xy * scaleOffset.z * scaleOffset.xy + scaleOffset.xy * 0.5; + uvw.x += shift * scaleOffset.y; + uvw.xyz = lerp( + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy).rgb, + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy + float2(scaleOffset.y, 0.0)).rgb, + uvw.z - shift + ); + return uvw; +} + +// +// Returns the default value for a given position on a 2D strip-format color lookup table +// params = (lut_height, 0.5 / lut_width, 0.5 / lut_height, lut_height / lut_height - 1) +// +float3 GetLutStripValue(float2 uv, float4 params) +{ + uv -= params.yz; + float3 color; + color.r = frac(uv.x * params.x); + color.b = uv.x - color.r / params.x; + color.g = uv.y; + return color * params.w; +} + +// +// White balance +// Recommended workspace: ACEScg (linear) +// +static const float3x3 LIN_2_LMS_MAT = { + 3.90405e-1, 5.49941e-1, 8.92632e-3, + 7.08416e-2, 9.63172e-1, 1.35775e-3, + 2.31082e-2, 1.28021e-1, 9.36245e-1 +}; + +static const float3x3 LMS_2_LIN_MAT = { + 2.85847e+0, -1.62879e+0, -2.48910e-2, + -2.10182e-1, 1.15820e+0, 3.24281e-4, + -4.18120e-2, -1.18169e-1, 1.06867e+0 +}; + +float3 WhiteBalance(float3 c, float3 balance) +{ + float3 lms = mul(LIN_2_LMS_MAT, c); + lms *= balance; + return mul(LMS_2_LIN_MAT, lms); +} + +// +// RGB / Full-range YCbCr conversions (ITU-R BT.601) +// +float3 RgbToYCbCr(float3 c) +{ + float Y = 0.299 * c.r + 0.587 * c.g + 0.114 * c.b; + float Cb = -0.169 * c.r - 0.331 * c.g + 0.500 * c.b; + float Cr = 0.500 * c.r - 0.419 * c.g - 0.081 * c.b; + return float3(Y, Cb, Cr); +} + +float3 YCbCrToRgb(float3 c) +{ + float R = c.x + 0.000 * c.y + 1.403 * c.z; + float G = c.x - 0.344 * c.y - 0.714 * c.z; + float B = c.x - 1.773 * c.y + 0.000 * c.z; + return float3(R, G, B); +} + +// +// Hue, Saturation, Value +// Ranges: +// Hue [0.0, 1.0] +// Sat [0.0, 1.0] +// Lum [0.0, HALF_MAX] +// +float3 RgbToHsv(float3 c) +{ + float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); + float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); + float d = q.x - min(q.w, q.y); + float e = EPSILON; + return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +float3 HsvToRgb(float3 c) +{ + float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); +} + +float RotateHue(float value, float low, float hi) +{ + return (value < low) + ? value + hi + : (value > hi) + ? value - hi + : value; +} + +// +// RGB Saturation (closer to a vibrance effect than actual saturation) +// Recommended workspace: ACEScg (linear) +// Optimal range: [0.0, 2.0] +// +float3 Saturation(float3 c, float sat) +{ + float luma = Luminance(c); + return luma.xxx + sat.xxx * (c - luma.xxx); +} + +// +// Contrast (reacts better when applied in log) +// Optimal range: [0.0, 2.0] +// +float3 Contrast(float3 c, float midpoint, float contrast) +{ + return (c - midpoint) * contrast + midpoint; +} + +// +// Lift, Gamma (pre-inverted), Gain tuned for HDR use - best used with the ACES tonemapper as +// negative values will creep in the result +// Expected workspace: ACEScg (linear) +// +float3 LiftGammaGainHDR(float3 c, float3 lift, float3 invgamma, float3 gain) +{ + c = c * gain + lift; + + // ACEScg will output negative values, as clamping to 0 will lose precious information we'll + // mirror the gamma function instead + return FastSign(c) * pow(abs(c), invgamma); +} + +// +// Lift, Gamma (pre-inverted), Gain tuned for LDR use +// Input is linear RGB +// +float3 LiftGammaGainLDR(float3 c, float3 lift, float3 invgamma, float3 gain) +{ + c = saturate(PositivePow(saturate(c), invgamma)); + return gain * c + lift * (1.0 - c); +} + +// +// Remaps Y/R/G/B values +// curveTex has to be 128 pixels wide +// +float3 YrgbCurve(float3 c, TEXTURE2D_ARGS(curveTex, sampler_curveTex)) +{ + const float kHalfPixel = (1.0 / 128.0) / 2.0; + + // Y (master) + c += kHalfPixel.xxx; + float mr = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.r, 0.75)).a; + float mg = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.g, 0.75)).a; + float mb = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.b, 0.75)).a; + c = saturate(float3(mr, mg, mb)); + + // RGB + c += kHalfPixel.xxx; + float r = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.r, 0.75)).r; + float g = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.g, 0.75)).g; + float b = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.b, 0.75)).b; + return saturate(float3(r, g, b)); +} + +// +// Channel mixing (same as Photoshop's and DaVinci's Resolve) +// Recommended workspace: ACEScg (linear) +// Input mixers should be in range [-2.0; 2.0] +// +float3 ChannelMixer(float3 c, float3 red, float3 green, float3 blue) +{ + return float3( + dot(c, red), + dot(c, green), + dot(c, blue) + ); +} + +#endif // UNITY_POSTFX_COLOR diff --git a/Assets/X-PostProcessing/Shaders/Colors.hlsl.meta b/Assets/X-PostProcessing/Shaders/Colors.hlsl.meta new file mode 100644 index 000000000..649b4891e --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Colors.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c538cea31550b1f4f8300803095caa5b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Editor.meta b/Assets/X-PostProcessing/Shaders/Editor.meta new file mode 100644 index 000000000..d69cfc267 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a685cab5827c5548a28147154ca4398 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader new file mode 100644 index 000000000..06c955a1b --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader @@ -0,0 +1,118 @@ +Shader "Hidden/PostProcessing/Editor/ColorWheel" +{ + CGINCLUDE + + #include "UnityCG.cginc" + + #define PI 3.14159265359 + #define PI2 6.28318530718 + + float _Offset; + float _DisabledState; + float2 _Resolution; // x: size, y: size / 2 + + float3 HsvToRgb(float3 c) + { + float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); + } + + float4 CreateWheel(v2f_img i, float crossColor, float offsetColor) + { + const float kHueOuterRadius = 0.45; + const float kHueInnerRadius = 0.28;////adjust to 0.28 + const float kLumOuterRadius = 0.495; + const float kLumInnerRadius = 0.48; + + float4 color = (0.0).xxxx; + float2 uvc = i.uv - (0.5).xx; + float dist = sqrt(dot(uvc, uvc)); + float delta = fwidth(dist); + float angle = atan2(uvc.x, uvc.y); + + // Cross + { + float radius = (0.5 - kHueInnerRadius) * _Resolution.x + 1.0; + float2 pixel = (_Resolution.xx - 1.0) * i.uv + 1.0; + + float vline = step(floor(fmod(pixel.x, _Resolution.y)), 0.0); + vline *= step(radius, pixel.y) * step(pixel.y, _Resolution.x - radius); + + float hline = step(floor(fmod(pixel.y, _Resolution.y)), 0.0); + hline *= step(radius, pixel.x) * step(pixel.x, _Resolution.x - radius); + + color += hline.xxxx * (1.0).xxxx; + color += vline.xxxx * (1.0).xxxx; + color = saturate(color); + color *= half4((crossColor).xxx, 0.05); + } + + // Hue + { + float alphaOut = smoothstep(kHueOuterRadius - delta, kHueOuterRadius + delta, dist); + float alphaIn = smoothstep(kHueInnerRadius - delta, kHueInnerRadius + delta, dist); + + float hue = angle; + hue = 1.0 - ((hue > 0.0) ? hue : PI2 + hue) / PI2; + float4 c = float4(HsvToRgb(float3(hue, 1.0, 1.0)), 1.0); + color += lerp((0.0).xxxx, c, alphaIn - alphaOut); + } + + // Offset + { + float alphaOut = smoothstep(kLumOuterRadius - delta, kLumOuterRadius + delta, dist); + float alphaIn = smoothstep(kLumInnerRadius - delta, kLumInnerRadius + delta / 2, dist); + float4 c = float4((offsetColor).xxx, 1.0); + + float a = PI * _Offset; + if (_Offset >= 0 && angle < a && angle > 0.0) + c = float4((1.0).xxx, 0.5); + else if (angle > a && angle < 0.0) + c = float4((1.0).xxx, 0.5); + + color += lerp((0.0).xxxx, c, alphaIn - alphaOut); + } + + return color * _DisabledState; + } + + float4 FragTrackballDark(v2f_img i) : SV_Target + { + return CreateWheel(i, 1.0, 0.15); + } + + float4 FragTrackballLight(v2f_img i) : SV_Target + { + return CreateWheel(i, 0.0, 0.3); + } + + ENDCG + + SubShader + { + Cull Off ZWrite Off ZTest Always + + // (0) Dark skin + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment FragTrackballDark + + ENDCG + } + + // (1) Light skin + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment FragTrackballLight + + ENDCG + } + } +} diff --git a/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta new file mode 100644 index 000000000..292214e74 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 275649fd4f3bf9e449217f111493d01d +timeCreated: 1493903699 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/License.txt b/Assets/X-PostProcessing/Shaders/License.txt new file mode 100644 index 000000000..b1ea349f1 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/License.txt @@ -0,0 +1,5 @@ +Post-processing copyright ?2017 Unity Technologies ApS + +Licensed under the Unity Companion License for Unity-dependent projects--see Unity Companion License. + +Unless expressly provided otherwise, the Software under this license is made available strictly on an AS IS?BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. \ No newline at end of file diff --git a/Assets/X-PostProcessing/Shaders/License.txt.meta b/Assets/X-PostProcessing/Shaders/License.txt.meta new file mode 100644 index 000000000..528ee1929 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/License.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4a573eb73ecca5a47a5920beb8234377 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Sampling.hlsl b/Assets/X-PostProcessing/Shaders/Sampling.hlsl new file mode 100644 index 000000000..f92b9c3d6 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Sampling.hlsl @@ -0,0 +1,91 @@ +#ifndef UNITY_POSTFX_SAMPLING +#define UNITY_POSTFX_SAMPLING + +#include "StdLib.hlsl" + +// Better, temporally stable box filtering +// [Jimenez14] http://goo.gl/eomGso +// . . . . . . . +// . A . B . C . +// . . D . E . . +// . F . G . H . +// . . I . J . . +// . K . L . M . +// . . . . . . . +half4 DownsampleBox13Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) +{ + half4 A = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-1.0, -1.0))); + half4 B = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.0, -1.0))); + half4 C = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 1.0, -1.0))); + half4 D = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-0.5, -0.5))); + half4 E = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.5, -0.5))); + half4 F = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-1.0, 0.0))); + half4 G = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv )); + half4 H = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 1.0, 0.0))); + half4 I = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-0.5, 0.5))); + half4 J = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.5, 0.5))); + half4 K = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-1.0, 1.0))); + half4 L = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.0, 1.0))); + half4 M = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 1.0, 1.0))); + + half2 div = (1.0 / 4.0) * half2(0.5, 0.125); + + half4 o = (D + E + I + J) * div.x; + o += (A + B + G + F) * div.y; + o += (B + C + H + G) * div.y; + o += (F + G + L + K) * div.y; + o += (G + H + M + L) * div.y; + + return o; +} + +// Standard box filtering +half4 DownsampleBox4Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) +{ + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); + + half4 s; + s = (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xw))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zw))); + + return s * (1.0 / 4.0); +} + +// 9-tap bilinear upsampler (tent filter) +half4 UpsampleTent(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize, float4 sampleScale) +{ + float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0) * sampleScale; + + half4 s; + s = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv - d.xy)); + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv - d.wy)) * 2.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv - d.zy)); + + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zw)) * 2.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv )) * 4.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xw)) * 2.0; + + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zy)); + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.wy)) * 2.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xy)); + + return s * (1.0 / 16.0); +} + +// Standard box filtering +half4 UpsampleBox(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize, float4 sampleScale) +{ + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0) * (sampleScale * 0.5); + + half4 s; + s = (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xw))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zw))); + + return s * (1.0 / 4.0); +} + +#endif // UNITY_POSTFX_SAMPLING diff --git a/Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta b/Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta new file mode 100644 index 000000000..5da9a5d2d --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9e2fed3630276b438e33b9ca848266e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/StdLib.hlsl b/Assets/X-PostProcessing/Shaders/StdLib.hlsl new file mode 100644 index 000000000..224dc7263 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/StdLib.hlsl @@ -0,0 +1,322 @@ +// Because this framework is supposed to work with the legacy render pipelines AND scriptable render +// pipelines we can't use Unity's shader libraries (some scriptable pipelines come with their own +// shader lib). So here goes a minimal shader lib only used for post-processing to ensure good +// compatibility with all pipelines. + +#ifndef UNITY_POSTFX_STDLIB +#define UNITY_POSTFX_STDLIB + +// ----------------------------------------------------------------------------- +// API macros + +#if defined(SHADER_API_PSSL) + #include "API/PSSL.hlsl" +#elif defined(SHADER_API_XBOXONE) + #include "API/XboxOne.hlsl" +#elif defined(SHADER_API_D3D11) + #include "API/D3D11.hlsl" +#elif defined(SHADER_API_D3D12) + #include "API/D3D12.hlsl" +#elif defined(SHADER_API_D3D9) || defined(SHADER_API_D3D11_9X) + #include "API/D3D9.hlsl" +#elif defined(SHADER_API_VULKAN) + #include "API/Vulkan.hlsl" +#elif defined(SHADER_API_SWITCH) + #include "API/Switch.hlsl" +#elif defined(SHADER_API_METAL) + #include "API/Metal.hlsl" +#elif defined(SHADER_API_PSP2) + #include "API/PSP2.hlsl" +#else + #include "API/OpenGL.hlsl" +#endif + +#if defined(SHADER_API_PSSL) || defined(SHADER_API_XBOXONE) || defined(SHADER_API_SWITCH) || defined(SHADER_API_PSP2) + #define SHADER_API_CONSOLE +#endif + +// ----------------------------------------------------------------------------- +// Constants + +#define HALF_MAX 65504.0 // (2 - 2^-10) * 2^15 +#define HALF_MAX_MINUS1 65472.0 // (2 - 2^-9) * 2^15 +#define EPSILON 1.0e-4 +#define PI 3.14159265359 +#define TWO_PI 6.28318530718 +#define FOUR_PI 12.56637061436 +#define INV_PI 0.31830988618 +#define INV_TWO_PI 0.15915494309 +#define INV_FOUR_PI 0.07957747155 +#define HALF_PI 1.57079632679 +#define INV_HALF_PI 0.636619772367 + +#define FLT_EPSILON 1.192092896e-07 // Smallest positive number, such that 1.0 + FLT_EPSILON != 1.0 +#define FLT_MIN 1.175494351e-38 // Minimum representable positive floating-point number +#define FLT_MAX 3.402823466e+38 // Maximum representable floating-point number + +// ----------------------------------------------------------------------------- +// Compatibility functions + +#if (SHADER_TARGET < 50 && !defined(SHADER_API_PSSL)) +float rcp(float value) +{ + return 1.0 / value; +} +#endif + +#if defined(SHADER_API_GLES) +#define mad(a, b, c) (a * b + c) +#endif + +#ifndef INTRINSIC_MINMAX3 +float Min3(float a, float b, float c) +{ + return min(min(a, b), c); +} + +float2 Min3(float2 a, float2 b, float2 c) +{ + return min(min(a, b), c); +} + +float3 Min3(float3 a, float3 b, float3 c) +{ + return min(min(a, b), c); +} + +float4 Min3(float4 a, float4 b, float4 c) +{ + return min(min(a, b), c); +} + +float Max3(float a, float b, float c) +{ + return max(max(a, b), c); +} + +float2 Max3(float2 a, float2 b, float2 c) +{ + return max(max(a, b), c); +} + +float3 Max3(float3 a, float3 b, float3 c) +{ + return max(max(a, b), c); +} + +float4 Max3(float4 a, float4 b, float4 c) +{ + return max(max(a, b), c); +} +#endif // INTRINSIC_MINMAX3 + +// https://twitter.com/SebAaltonen/status/878250919879639040 +// madd_sat + madd +float FastSign(float x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +float2 FastSign(float2 x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +float3 FastSign(float3 x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +float4 FastSign(float4 x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +// Using pow often result to a warning like this +// "pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them" +// PositivePow remove this warning when you know the value is positive and avoid inf/NAN. +float PositivePow(float base, float power) +{ + return pow(max(abs(base), float(FLT_EPSILON)), power); +} + +float2 PositivePow(float2 base, float2 power) +{ + return pow(max(abs(base), float2(FLT_EPSILON, FLT_EPSILON)), power); +} + +float3 PositivePow(float3 base, float3 power) +{ + return pow(max(abs(base), float3(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON)), power); +} + +float4 PositivePow(float4 base, float4 power) +{ + return pow(max(abs(base), float4(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON, FLT_EPSILON)), power); +} + +// NaN checker +// /Gic isn't enabled on fxc so we can't rely on isnan() anymore +bool IsNan(float x) +{ + // For some reason the following tests outputs "internal compiler error" randomly on desktop + // so we'll use a safer but slightly slower version instead :/ + //return (x <= 0.0 || 0.0 <= x) ? false : true; + return (x < 0.0 || x > 0.0 || x == 0.0) ? false : true; +} + +bool AnyIsNan(float2 x) +{ + return IsNan(x.x) || IsNan(x.y); +} + +bool AnyIsNan(float3 x) +{ + return IsNan(x.x) || IsNan(x.y) || IsNan(x.z); +} + +bool AnyIsNan(float4 x) +{ + return IsNan(x.x) || IsNan(x.y) || IsNan(x.z) || IsNan(x.w); +} + +// ----------------------------------------------------------------------------- +// Std unity data + +float4x4 unity_CameraProjection; +float4x4 unity_MatrixVP; +float4x4 unity_ObjectToWorld; +float4x4 unity_WorldToCamera; +float3 _WorldSpaceCameraPos; +float4 _ProjectionParams; // x: 1 (-1 flipped), y: near, z: far, w: 1/far +float4 unity_ColorSpaceLuminance; +float4 unity_DeltaTime; // x: dt, y: 1/dt, z: smoothDt, w: 1/smoothDt +float4 unity_OrthoParams; // x: width, y: height, z: unused, w: ortho ? 1 : 0 +float4 _ZBufferParams; // x: 1-far/near, y: far/near, z: x/far, w: y/far +float4 _ScreenParams; // x: width, y: height, z: 1+1/width, w: 1+1/height +float4 _Time; // x: t/20, y: t, z: t*2, w: t*3 +float4 _SinTime; // x: sin(t/20), y: sin(t), z: sin(t*2), w: sin(t*3) +float4 _CosTime; // x: cos(t/20), y: cos(t), z: cos(t*2), w: cos(t*3) + +// ----------------------------------------------------------------------------- +// Std functions + +// Z buffer depth to linear 0-1 depth +// Handles orthographic projection correctly +float Linear01Depth(float z) +{ + float isOrtho = unity_OrthoParams.w; + float isPers = 1.0 - unity_OrthoParams.w; + z *= _ZBufferParams.x; + return (1.0 - isOrtho * z) / (isPers * z + _ZBufferParams.y); +} + +float LinearEyeDepth(float z) +{ + return rcp(_ZBufferParams.z * z + _ZBufferParams.w); +} + +// Clamp HDR value within a safe range +half3 SafeHDR(half3 c) +{ + return min(c, HALF_MAX); +} + +half4 SafeHDR(half4 c) +{ + return min(c, HALF_MAX); +} + +// Decode normals stored in _CameraDepthNormalsTexture +float3 DecodeViewNormalStereo(float4 enc4) +{ + float kScale = 1.7777; + float3 nn = enc4.xyz * float3(2.0 * kScale, 2.0 * kScale, 0) + float3(-kScale, -kScale, 1); + float g = 2.0 / dot(nn.xyz, nn.xyz); + float3 n; + n.xy = g * nn.xy; + n.z = g - 1.0; + return n; +} + +// Interleaved gradient function from Jimenez 2014 +// http://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare +float GradientNoise(float2 uv) +{ + uv = floor(uv * _ScreenParams.xy); + float f = dot(float2(0.06711056, 0.00583715), uv); + return frac(52.9829189 * frac(f)); +} + +// Vertex manipulation +float2 TransformTriangleVertexToUV(float2 vertex) +{ + float2 uv = (vertex + 1.0) * 0.5; + return uv; +} + +#include "xRLib.hlsl" + +// ----------------------------------------------------------------------------- +// Default vertex shaders + +struct AttributesDefault +{ + float3 vertex : POSITION; +}; + +struct VaryingsDefault +{ + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + float2 texcoordStereo : TEXCOORD1; +#if STEREO_INSTANCING_ENABLED + uint stereoTargetEyeIndex : SV_RenderTargetArrayIndex; +#endif +}; + +#if STEREO_INSTANCING_ENABLED +float _DepthSlice; +#endif + +VaryingsDefault VertDefault(AttributesDefault v) +{ + VaryingsDefault o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + +#if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); +#endif + + o.texcoordStereo = TransformStereoScreenSpaceTex(o.texcoord, 1.0); + + return o; +} + +float4 _UVTransform; // xy: scale, wz: translate + +#if STEREO_DOUBLEWIDE_TARGET +float4 _PosScaleOffset; // xy: scale, wz: offset +#endif + +VaryingsDefault VertUVTransform(AttributesDefault v) +{ + VaryingsDefault o; + +#if STEREO_DOUBLEWIDE_TARGET + o.vertex = float4(v.vertex.xy * _PosScaleOffset.xy + _PosScaleOffset.zw, 0.0, 1.0); +#else + o.vertex = float4(v.vertex.xy, 0.0, 1.0); +#endif + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy) * _UVTransform.xy + _UVTransform.zw; + o.texcoordStereo = TransformStereoScreenSpaceTex(o.texcoord, 1.0); +#if STEREO_INSTANCING_ENABLED + o.stereoTargetEyeIndex = (uint)_DepthSlice; +#endif + return o; +} + +#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw) + +#endif // UNITY_POSTFX_STDLIB diff --git a/Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta b/Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta new file mode 100644 index 000000000..bae8af648 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86258f1ffe58a0846997120fd95f2c5a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl new file mode 100644 index 000000000..0f9d85b54 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl @@ -0,0 +1,971 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------- +// XNoiseLibrary.hlsl +// A Collection of 2D/3D/4D Simplex Noise 、 2D/3D textureless classic Noise 、Re-oriented 4 / 8-Point BCC Noise +// +// Reference 1: Webgl Noise - https://github.com/ashima/webgl-noise +// Reference 2: KdotJPG New Simplex Style Gradient Noise - https://github.com/KdotJPG/New-Simplex-Style-Gradient-Noise +// Reference 3: Noise Shader Library for Unity - https://github.com/keijiro/NoiseShader +// Reference 4: noiseSimplex.cginc - https://forum.unity.com/threads/2d-3d-4d-optimised-perlin-noise-cg-hlsl-library-cginc.218372/ +// ---------------------------------------------------------------------------------------------------------- + + +#ifndef X_NOISE_LIBRARY +#define X_NOISE_LIBRARY + + +//================================================================================================================================== +// 0. Comon +//================================================================================================================================== +// 1 / 289 +#define NOISE_SIMPLEX_1_DIV_289 0.00346020761245674740484429065744f + +float mod289(float x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float2 mod289(float2 x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float3 mod289(float3 x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float4 mod289(float4 x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float4 mod(float4 x, float4 y) +{ + return x - y * floor(x / y); +} + +float3 mod(float3 x, float3 y) +{ + return x - y * floor(x / y); +} + +// ( x*34.0 + 1.0 )*x =x*x*34.0 + x +float permute(float x) +{ + return mod289(x * x * 34.0 + x); +} + +float3 permute(float3 x) +{ + return mod289(x * x * 34.0 + x); +} + +float4 permute(float4 x) +{ + return mod289(x * x * 34.0 + x); +} + +float3 taylorInvSqrt(float3 r) +{ + return 1.79284291400159 - 0.85373472095314 * r; +} + +float4 taylorInvSqrt(float4 r) +{ + return 1.79284291400159 - r * 0.85373472095314; +} + +float2 fade(float2 t) +{ + return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); +} + + +float3 fade(float3 t) +{ + return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); +} + +//================================================================================================================================== +// 1. Simplex Noise +//================================================================================================================================== +// +// This shader is based on the webgl-noise GLSL shader. For further details +// of the original shader, please see the following description from the +// original source code. +// +// +// Description : Array and textureless GLSL 2D/3D/4D simplex +// noise functions. +// Author : Ian McEwan, Ashima Arts. +// Maintainer : ijm +// Lastmod : 20110822 (ijm) +// License : Copyright (C) 2011 Ashima Arts. All rights reserved. +// Distributed under the MIT License. See LICENSE file. +// https://github.com/ashima/webgl-noise +// +// +// Usage: +// float ns = snoise(v); +// v is any of: float2, float3, float4 +// Return type is float. +// To generate 2 or more components of noise(colorful noise), +// call these functions several times with different +// constant offsets for the arguments. +// E.g.: + +// float3 colorNs = float3( +// snoise(v), +// snoise(v + 17.0), +// snoise(v - 43.0), +// ); + + +//----------------------------------------------------[1.1] 2D Simplex Noise ---------------------------------------------------- + + +float snoise(float2 v) +{ + const float4 C = float4(0.211324865405187, // (3.0-sqrt(3.0))/6.0 + 0.366025403784439, // 0.5*(sqrt(3.0)-1.0) + - 0.577350269189626, // -1.0 + 2.0 * C.x + 0.024390243902439); // 1.0 / 41.0 + // First corner + float2 i = floor(v + dot(v, C.yy)); + float2 x0 = v - i + dot(i, C.xx); + + // Other corners + float2 i1; + i1.x = step(x0.y, x0.x); + i1.y = 1.0 - i1.x; + + // x1 = x0 - i1 + 1.0 * C.xx; + // x2 = x0 - 1.0 + 2.0 * C.xx; + float2 x1 = x0 + C.xx - i1; + float2 x2 = x0 + C.zz; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) + + i.x + float3(0.0, i1.x, 1.0)); + + float3 m = max(0.5 - float3(dot(x0, x0), dot(x1, x1), dot(x2, x2)), 0.0); + m = m * m; + m = m * m; + + // Gradients: 41 points uniformly over a line, mapped onto a diamond. + // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287) + float3 x = 2.0 * frac(p * C.www) - 1.0; + float3 h = abs(x) - 0.5; + float3 ox = floor(x + 0.5); + float3 a0 = x - ox; + + // Normalise gradients implicitly by scaling m + m *= taylorInvSqrt(a0 * a0 + h * h); + + // Compute final noise value at P + float3 g; + g.x = a0.x * x0.x + h.x * x0.y; + g.y = a0.y * x1.x + h.y * x1.y; + g.z = a0.z * x2.x + h.z * x2.y; + return 130.0 * dot(m, g); +} + +float3 snoise_grad(float2 v) +{ + const float4 C = float4(0.211324865405187, // (3.0-sqrt(3.0))/6.0 + 0.366025403784439, // 0.5*(sqrt(3.0)-1.0) + - 0.577350269189626, // -1.0 + 2.0 * C.x + 0.024390243902439); // 1.0 / 41.0 + // First corner + float2 i = floor(v + dot(v, C.yy)); + float2 x0 = v - i + dot(i, C.xx); + + // Other corners + float2 i1; + i1.x = step(x0.y, x0.x); + i1.y = 1.0 - i1.x; + + // x1 = x0 - i1 + 1.0 * C.xx; + // x2 = x0 - 1.0 + 2.0 * C.xx; + float2 x1 = x0 + C.xx - i1; + float2 x2 = x0 + C.zz; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) + + i.x + float3(0.0, i1.x, 1.0)); + + float3 m = max(0.5 - float3(dot(x0, x0), dot(x1, x1), dot(x2, x2)), 0.0); + float3 m2 = m * m; + float3 m3 = m2 * m; + float3 m4 = m2 * m2; + + // Gradients: 41 points uniformly over a line, mapped onto a diamond. + // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287) + float3 x = 2.0 * frac(p * C.www) - 1.0; + float3 h = abs(x) - 0.5; + float3 ox = floor(x + 0.5); + float3 a0 = x - ox; + + // Normalise gradients + float3 norm = taylorInvSqrt(a0 * a0 + h * h); + float2 g0 = float2(a0.x, h.x) * norm.x; + float2 g1 = float2(a0.y, h.y) * norm.y; + float2 g2 = float2(a0.z, h.z) * norm.z; + + // Compute noise and gradient at P + float2 grad = -6.0 * m3.x * x0 * dot(x0, g0) + m4.x * g0 + + - 6.0 * m3.y * x1 * dot(x1, g1) + m4.y * g1 + + - 6.0 * m3.z * x2 * dot(x2, g2) + m4.z * g2; + float3 px = float3(dot(x0, g0), dot(x1, g1), dot(x2, g2)); + return 130.0 * float3(grad, dot(m4, px)); +} + + + + +//---------------------------------------------------[1.2] 3D Simplex Noise --------------------------------------------- + +float snoise(float3 v) +{ + const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); + + // First corner + float3 i = floor(v + dot(v, C.yyy)); + float3 x0 = v - i + dot(i, C.xxx); + + // Other corners + float3 g = step(x0.yzx, x0.xyz); + float3 l = 1.0 - g; + float3 i1 = min(g.xyz, l.zxy); + float3 i2 = max(g.xyz, l.zxy); + + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + float3 x1 = x0 - i1 + C.xxx; + float3 x2 = x0 - i2 + C.yyy; + float3 x3 = x0 - 0.5; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float4 p = permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) + + i.y + float4(0.0, i1.y, i2.y, 1.0)) + + i.x + float4(0.0, i1.x, i2.x, 1.0)); + + // Gradients: 7x7 points over a square, mapped onto an octahedron. + // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) + + float4 x_ = floor(j / 7.0); + float4 y_ = floor(j - 7.0 * x_); // mod(j,N) + + float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; + float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; + + float4 h = 1.0 - abs(x) - abs(y); + + float4 b0 = float4(x.xy, y.xy); + float4 b1 = float4(x.zw, y.zw); + + //float4 s0 = float4(lessThan(b0, 0.0)) * 2.0 - 1.0; + //float4 s1 = float4(lessThan(b1, 0.0)) * 2.0 - 1.0; + float4 s0 = floor(b0) * 2.0 + 1.0; + float4 s1 = floor(b1) * 2.0 + 1.0; + float4 sh = -step(h, 0.0); + + float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; + float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; + + float3 g0 = float3(a0.xy, h.x); + float3 g1 = float3(a0.zw, h.y); + float3 g2 = float3(a1.xy, h.z); + float3 g3 = float3(a1.zw, h.w); + + // Normalise gradients + float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); + g0 *= norm.x; + g1 *= norm.y; + g2 *= norm.z; + g3 *= norm.w; + + // Mix final noise value + float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); + m = m * m; + m = m * m; + + float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); + return 42.0 * dot(m, px); +} + +float4 snoise_grad(float3 v) +{ + const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); + + // First corner + float3 i = floor(v + dot(v, C.yyy)); + float3 x0 = v - i + dot(i, C.xxx); + + // Other corners + float3 g = step(x0.yzx, x0.xyz); + float3 l = 1.0 - g; + float3 i1 = min(g.xyz, l.zxy); + float3 i2 = max(g.xyz, l.zxy); + + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + float3 x1 = x0 - i1 + C.xxx; + float3 x2 = x0 - i2 + C.yyy; + float3 x3 = x0 - 0.5; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float4 p = permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) + + i.y + float4(0.0, i1.y, i2.y, 1.0)) + + i.x + float4(0.0, i1.x, i2.x, 1.0)); + + // Gradients: 7x7 points over a square, mapped onto an octahedron. + // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) + + float4 x_ = floor(j / 7.0); + float4 y_ = floor(j - 7.0 * x_); // mod(j,N) + + float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; + float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; + + float4 h = 1.0 - abs(x) - abs(y); + + float4 b0 = float4(x.xy, y.xy); + float4 b1 = float4(x.zw, y.zw); + + //float4 s0 = float4(lessThan(b0, 0.0)) * 2.0 - 1.0; + //float4 s1 = float4(lessThan(b1, 0.0)) * 2.0 - 1.0; + float4 s0 = floor(b0) * 2.0 + 1.0; + float4 s1 = floor(b1) * 2.0 + 1.0; + float4 sh = -step(h, 0.0); + + float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; + float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; + + float3 g0 = float3(a0.xy, h.x); + float3 g1 = float3(a0.zw, h.y); + float3 g2 = float3(a1.xy, h.z); + float3 g3 = float3(a1.zw, h.w); + + // Normalise gradients + float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); + g0 *= norm.x; + g1 *= norm.y; + g2 *= norm.z; + g3 *= norm.w; + + // Compute noise and gradient at P + float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); + float4 m2 = m * m; + float4 m3 = m2 * m; + float4 m4 = m2 * m2; + float3 grad = -6.0 * m3.x * x0 * dot(x0, g0) + m4.x * g0 + + - 6.0 * m3.y * x1 * dot(x1, g1) + m4.y * g1 + + - 6.0 * m3.z * x2 * dot(x2, g2) + m4.z * g2 + + - 6.0 * m3.w * x3 * dot(x3, g3) + m4.w * g3; + float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); + return 42.0 * float4(grad, dot(m4, px)); +} + + + + +//----------------------------------------------------[1.3] 4D Simplex Noise ---------------------------------------------------- + +float4 grad4(float j, float4 ip) +{ + const float4 ones = float4(1.0, 1.0, 1.0, -1.0); + float4 p, s; + p.xyz = floor(frac(j * ip.xyz) * 7.0) * ip.z - 1.0; + p.w = 1.5 - dot(abs(p.xyz), ones.xyz); + + // GLSL: lessThan(x, y) = x < y + // HLSL: 1 - step(y, x) = x < y + p.xyz -= sign(p.xyz) * (p.w < 0); + + return p; +} + +float snoise(float4 v) +{ + const float4 C = float4( + 0.138196601125011, // (5 - sqrt(5))/20 G4 + 0.276393202250021, // 2 * G4 + 0.414589803375032, // 3 * G4 + -0.447213595499958 // -1 + 4 * G4 + ); + + // First corner + float4 i = floor(v +dot(v,0.309016994374947451)); // (sqrt(5) - 1) / 4 + float4 x0 = v - i + dot(i, C.xxxx); + + // Other corners + + // Rank sorting originally contributed by Bill Licea-Kane, AMD (formerly ATI) + float4 i0; + float3 isX = step(x0.yzw, x0.xxx); + float3 isYZ = step(x0.zww, x0.yyz); + i0.x = isX.x + isX.y + isX.z; + i0.yzw = 1.0 - isX; + i0.y += isYZ.x + isYZ.y; + i0.zw += 1.0 - isYZ.xy; + i0.z += isYZ.z; + i0.w += 1.0 - isYZ.z; + + // i0 now contains the unique values 0,1,2,3 in each channel + float4 i3 = saturate(i0); + float4 i2 = saturate(i0 - 1.0); + float4 i1 = saturate(i0 - 2.0); + + // x0 = x0 - 0.0 + 0.0 * C.xxxx + // x1 = x0 - i1 + 1.0 * C.xxxx + // x2 = x0 - i2 + 2.0 * C.xxxx + // x3 = x0 - i3 + 3.0 * C.xxxx + // x4 = x0 - 1.0 + 4.0 * C.xxxx + float4 x1 = x0 - i1 + C.xxxx; + float4 x2 = x0 - i2 + C.yyyy; + float4 x3 = x0 - i3 + C.zzzz; + float4 x4 = x0 + C.wwww; + + // Permutations + i = mod289(i); + float j0 = permute(permute(permute(permute(i.w) + i.z) + i.y) + i.x); + float4 j1 = permute(permute(permute(permute(i.w + float4(i1.w, i2.w, i3.w, 1.0)) + i.z + float4(i1.z, i2.z, i3.z, 1.0)) + i.y + float4(i1.y, i2.y, i3.y, 1.0)) + i.x + float4(i1.x, i2.x, i3.x, 1.0)); + + // Gradients: 7x7x6 points over a cube, mapped onto a 4-cross polytope + // 7*7*6 = 294, which is close to the ring size 17*17 = 289. + const float4 ip = float4(0.003401360544217687075, // 1/294 + 0.020408163265306122449, // 1/49 + 0.142857142857142857143, // 1/7 + 0.0); + + float4 p0 = grad4(j0, ip); + float4 p1 = grad4(j1.x, ip); + float4 p2 = grad4(j1.y, ip); + float4 p3 = grad4(j1.z, ip); + float4 p4 = grad4(j1.w, ip); + + // Normalise gradients + float4 norm = rsqrt(float4(dot(p0, p0),dot(p1, p1),dot(p2, p2),dot(p3, p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + p4 *= rsqrt(dot(p4, p4)); + + // Mix contributions from the five corners + float3 m0 = max(0.6 - float3(dot(x0, x0),dot(x1, x1),dot(x2, x2)),0.0); + float2 m1 = max(0.6 - float2(dot(x3, x3),dot(x4, x4)),0.0); + m0 = m0 * m0; + m1 = m1 * m1; + + return 49.0 * (dot(m0*m0,float3(dot(p0, x0),dot(p1, x1),dot(p2, x2))) + dot(m1*m1,float2(dot(p3, x3),dot(p4, x4)))); +} + + + + +//================================================================================================================================== +// 2. Classic Noise +//================================================================================================================================== +// +// GLSL textureless classic 2D noise "cnoise", +// with an RSL-style periodic variant "pnoise". +// Author: Stefan Gustavson (stefan.gustavson@liu.se) +// Version: 2011-08-22 +// +// Many thanks to Ian McEwan of Ashima Arts for the +// ideas for permutation and gradient selection. +// +// Copyright (c) 2011 Stefan Gustavson. All rights reserved. +// Distributed under the MIT license. See LICENSE file. +// https://github.com/ashima/webgl-noise + + + +//-------------------------------------------------------[2.1] 2D Classic Noise--------------------------------------------- +// Classic Perlin noise +float cnoise(float2 P) +{ + float4 Pi = floor(P.xyxy) + float4(0.0, 0.0, 1.0, 1.0); + float4 Pf = frac(P.xyxy) - float4(0.0, 0.0, 1.0, 1.0); + Pi = mod289(Pi); // To avoid truncation effects in permutation + float4 ix = Pi.xzxz; + float4 iy = Pi.yyww; + float4 fx = Pf.xzxz; + float4 fy = Pf.yyww; + + float4 i = permute(permute(ix) + iy); + + float4 gx = frac(i / 41.0) * 2.0 - 1.0; + float4 gy = abs(gx) - 0.5; + float4 tx = floor(gx + 0.5); + gx = gx - tx; + + float2 g00 = float2(gx.x, gy.x); + float2 g10 = float2(gx.y, gy.y); + float2 g01 = float2(gx.z, gy.z); + float2 g11 = float2(gx.w, gy.w); + + float4 norm = taylorInvSqrt(float4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + float n00 = dot(g00, float2(fx.x, fy.x)); + float n10 = dot(g10, float2(fx.y, fy.y)); + float n01 = dot(g01, float2(fx.z, fy.z)); + float n11 = dot(g11, float2(fx.w, fy.w)); + + float2 fade_xy = fade(Pf.xy); + float2 n_x = lerp(float2(n00, n01), float2(n10, n11), fade_xy.x); + float n_xy = lerp(n_x.x, n_x.y, fade_xy.y); + return 2.3 * n_xy; +} + +// Classic Perlin noise, periodic variant +float pnoise(float2 P, float2 rep) +{ + float4 Pi = floor(P.xyxy) + float4(0.0, 0.0, 1.0, 1.0); + float4 Pf = frac(P.xyxy) - float4(0.0, 0.0, 1.0, 1.0); + Pi = mod(Pi, rep.xyxy); // To create noise with explicit period + Pi = mod289(Pi); // To avoid truncation effects in permutation + float4 ix = Pi.xzxz; + float4 iy = Pi.yyww; + float4 fx = Pf.xzxz; + float4 fy = Pf.yyww; + + float4 i = permute(permute(ix) + iy); + + float4 gx = frac(i / 41.0) * 2.0 - 1.0; + float4 gy = abs(gx) - 0.5; + float4 tx = floor(gx + 0.5); + gx = gx - tx; + + float2 g00 = float2(gx.x, gy.x); + float2 g10 = float2(gx.y, gy.y); + float2 g01 = float2(gx.z, gy.z); + float2 g11 = float2(gx.w, gy.w); + + float4 norm = taylorInvSqrt(float4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + float n00 = dot(g00, float2(fx.x, fy.x)); + float n10 = dot(g10, float2(fx.y, fy.y)); + float n01 = dot(g01, float2(fx.z, fy.z)); + float n11 = dot(g11, float2(fx.w, fy.w)); + + float2 fade_xy = fade(Pf.xy); + float2 n_x = lerp(float2(n00, n01), float2(n10, n11), fade_xy.x); + float n_xy = lerp(n_x.x, n_x.y, fade_xy.y); + return 2.3 * n_xy; +} + + + +//----------------------------------------------------[2.2] 3D Classic Noise-------------------------------------------------- +// Classic Perlin noise +float cnoise(float3 P) +{ + float3 Pi0 = floor(P); // Integer part for indexing + float3 Pi1 = Pi0 + (float3)1.0; // Integer part + 1 + Pi0 = mod289(Pi0); + Pi1 = mod289(Pi1); + float3 Pf0 = frac(P); // Fractional part for interpolation + float3 Pf1 = Pf0 - (float3)1.0; // Fractional part - 1.0 + float4 ix = float4(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + float4 iy = float4(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + float4 iz0 = (float4)Pi0.z; + float4 iz1 = (float4)Pi1.z; + + float4 ixy = permute(permute(ix) + iy); + float4 ixy0 = permute(ixy + iz0); + float4 ixy1 = permute(ixy + iz1); + + float4 gx0 = ixy0 / 7.0; + float4 gy0 = frac(floor(gx0) / 7.0) - 0.5; + gx0 = frac(gx0); + float4 gz0 = (float4)0.5 - abs(gx0) - abs(gy0); + float4 sz0 = step(gz0, (float4)0.0); + gx0 -= sz0 * (step((float4)0.0, gx0) - 0.5); + gy0 -= sz0 * (step((float4)0.0, gy0) - 0.5); + + float4 gx1 = ixy1 / 7.0; + float4 gy1 = frac(floor(gx1) / 7.0) - 0.5; + gx1 = frac(gx1); + float4 gz1 = (float4)0.5 - abs(gx1) - abs(gy1); + float4 sz1 = step(gz1, (float4)0.0); + gx1 -= sz1 * (step((float4)0.0, gx1) - 0.5); + gy1 -= sz1 * (step((float4)0.0, gy1) - 0.5); + + float3 g000 = float3(gx0.x, gy0.x, gz0.x); + float3 g100 = float3(gx0.y, gy0.y, gz0.y); + float3 g010 = float3(gx0.z, gy0.z, gz0.z); + float3 g110 = float3(gx0.w, gy0.w, gz0.w); + float3 g001 = float3(gx1.x, gy1.x, gz1.x); + float3 g101 = float3(gx1.y, gy1.y, gz1.y); + float3 g011 = float3(gx1.z, gy1.z, gz1.z); + float3 g111 = float3(gx1.w, gy1.w, gz1.w); + + float4 norm0 = taylorInvSqrt(float4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + + float4 norm1 = taylorInvSqrt(float4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + float n000 = dot(g000, Pf0); + float n100 = dot(g100, float3(Pf1.x, Pf0.y, Pf0.z)); + float n010 = dot(g010, float3(Pf0.x, Pf1.y, Pf0.z)); + float n110 = dot(g110, float3(Pf1.x, Pf1.y, Pf0.z)); + float n001 = dot(g001, float3(Pf0.x, Pf0.y, Pf1.z)); + float n101 = dot(g101, float3(Pf1.x, Pf0.y, Pf1.z)); + float n011 = dot(g011, float3(Pf0.x, Pf1.y, Pf1.z)); + float n111 = dot(g111, Pf1); + + float3 fade_xyz = fade(Pf0); + float4 n_z = lerp(float4(n000, n100, n010, n110), float4(n001, n101, n011, n111), fade_xyz.z); + float2 n_yz = lerp(n_z.xy, n_z.zw, fade_xyz.y); + float n_xyz = lerp(n_yz.x, n_yz.y, fade_xyz.x); + return 2.2 * n_xyz; +} + +// Classic Perlin noise, periodic variant +float pnoise(float3 P, float3 rep) +{ + float3 Pi0 = mod(floor(P), rep); // Integer part, modulo period + float3 Pi1 = mod(Pi0 + (float3)1.0, rep); // Integer part + 1, mod period + Pi0 = mod289(Pi0); + Pi1 = mod289(Pi1); + float3 Pf0 = frac(P); // Fractional part for interpolation + float3 Pf1 = Pf0 - (float3)1.0; // Fractional part - 1.0 + float4 ix = float4(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + float4 iy = float4(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + float4 iz0 = (float4)Pi0.z; + float4 iz1 = (float4)Pi1.z; + + float4 ixy = permute(permute(ix) + iy); + float4 ixy0 = permute(ixy + iz0); + float4 ixy1 = permute(ixy + iz1); + + float4 gx0 = ixy0 / 7.0; + float4 gy0 = frac(floor(gx0) / 7.0) - 0.5; + gx0 = frac(gx0); + float4 gz0 = (float4)0.5 - abs(gx0) - abs(gy0); + float4 sz0 = step(gz0, (float4)0.0); + gx0 -= sz0 * (step((float4)0.0, gx0) - 0.5); + gy0 -= sz0 * (step((float4)0.0, gy0) - 0.5); + + float4 gx1 = ixy1 / 7.0; + float4 gy1 = frac(floor(gx1) / 7.0) - 0.5; + gx1 = frac(gx1); + float4 gz1 = (float4)0.5 - abs(gx1) - abs(gy1); + float4 sz1 = step(gz1, (float4)0.0); + gx1 -= sz1 * (step((float4)0.0, gx1) - 0.5); + gy1 -= sz1 * (step((float4)0.0, gy1) - 0.5); + + float3 g000 = float3(gx0.x, gy0.x, gz0.x); + float3 g100 = float3(gx0.y, gy0.y, gz0.y); + float3 g010 = float3(gx0.z, gy0.z, gz0.z); + float3 g110 = float3(gx0.w, gy0.w, gz0.w); + float3 g001 = float3(gx1.x, gy1.x, gz1.x); + float3 g101 = float3(gx1.y, gy1.y, gz1.y); + float3 g011 = float3(gx1.z, gy1.z, gz1.z); + float3 g111 = float3(gx1.w, gy1.w, gz1.w); + + float4 norm0 = taylorInvSqrt(float4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + float4 norm1 = taylorInvSqrt(float4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + float n000 = dot(g000, Pf0); + float n100 = dot(g100, float3(Pf1.x, Pf0.y, Pf0.z)); + float n010 = dot(g010, float3(Pf0.x, Pf1.y, Pf0.z)); + float n110 = dot(g110, float3(Pf1.x, Pf1.y, Pf0.z)); + float n001 = dot(g001, float3(Pf0.x, Pf0.y, Pf1.z)); + float n101 = dot(g101, float3(Pf1.x, Pf0.y, Pf1.z)); + float n011 = dot(g011, float3(Pf0.x, Pf1.y, Pf1.z)); + float n111 = dot(g111, Pf1); + + float3 fade_xyz = fade(Pf0); + float4 n_z = lerp(float4(n000, n100, n010, n110), float4(n001, n101, n011, n111), fade_xyz.z); + float2 n_yz = lerp(n_z.xy, n_z.zw, fade_xyz.y); + float n_xyz = lerp(n_yz.x, n_yz.y, fade_xyz.x); + return 2.2 * n_xyz; +} + + + + + + + +//================================================================================================================================== +// 3. Simplex-like Re-oriented BBC Noise +//================================================================================================================================== + +// +// The original shader was created by KdotJPG and released into the public +// domain (Unlicense). Refer to the following GitHub repository for the details +// of the original work. +// +// https://github.com/KdotJPG/New-Simplex-Style-Gradient-Noise +// + + +float4 bcc4_mod(float4 x, float4 y) +{ + return x - y * floor(x / y); +} + +// Inspired by Stefan Gustavson's noise +float4 bcc4_permute(float4 t) +{ + return t * (t * 34.0 + 133.0); +} + + +//--------------------------------------------------[3.1] 4-Point BCC Noise----------------------------------------------- +// K.jpg's Smooth Re-oriented 8-Point BCC Noise +// Output: float4(dF/dx, dF/dy, dF/dz, value) + + + +// Gradient set is a normalized expanded rhombic dodecahedron +float3 bcc4_grad(float hash) +{ + + // Random vertex of a cube, +/- 1 each + float3 cube = frac(floor(hash / float3(1, 2, 4)) * 0.5) * 4 - 1; + + // Random edge of the three edges connected to that vertex + // Also a cuboctahedral vertex + // And corresponds to the face of its dual, the rhombic dodecahedron + float3 cuboct = cube; + cuboct *= int3(0, 1, 2) != (int) (hash / 16); + + // In a funky way, pick one of the four points on the rhombic face + float type = frac(floor(hash / 8) * 0.5) * 2; + float3 rhomb = (1.0 - type) * cube + type * (cuboct + cross(cube, cuboct)); + + // Expand it so that the new edges are the same length + // as the existing ones + float3 grad = cuboct * 1.22474487139 + rhomb; + + // To make all gradients the same length, we only need to shorten the + // second type of vector. We also put in the whole noise scale constant. + // The compiler should reduce it into the existing floats. I think. + grad *= (1.0 - 0.042942436724648037 * type) * 32.80201376986577; + + return grad; +} + +// BCC lattice split up into 2 cube lattices +float4 Bcc4NoiseBase(float3 X) +{ + + // First half-lattice, closest edge + float3 v1 = round(X); + float3 d1 = X - v1; + float3 score1 = abs(d1); + float3 dir1 = max(score1.yzx, score1.zxy) < score1; + float3 v2 = v1 + dir1 * (d1 < 0 ? - 1: 1); + float3 d2 = X - v2; + + // Second half-lattice, closest edge + float3 X2 = X + 144.5; + float3 v3 = round(X2); + float3 d3 = X2 - v3; + float3 score2 = abs(d3); + float3 dir2 = max(score2.yzx, score2.zxy) < score2; + float3 v4 = v3 + dir2 * (d3 < 0 ? - 1: 1); + float3 d4 = X2 - v4; + + // Gradient hashes for the four points, two from each half-lattice + float4 hashes = bcc4_permute(bcc4_mod(float4(v1.x, v2.x, v3.x, v4.x), 289.0)); + hashes = bcc4_permute(bcc4_mod(hashes + float4(v1.y, v2.y, v3.y, v4.y), 289.0)); + hashes = bcc4_mod(bcc4_permute(bcc4_mod(hashes + float4(v1.z, v2.z, v3.z, v4.z), 289.0)), 48.0); + + // Gradient extrapolations & kernel function + float4 a = max(0.5 - float4(dot(d1, d1), dot(d2, d2), dot(d3, d3), dot(d4, d4)), 0.0); + float4 aa = a * a; float4 aaaa = aa * aa; + float3 g1 = bcc4_grad(hashes.x); float3 g2 = bcc4_grad(hashes.y); + float3 g3 = bcc4_grad(hashes.z); float3 g4 = bcc4_grad(hashes.w); + float4 extrapolations = float4(dot(d1, g1), dot(d2, g2), dot(d3, g3), dot(d4, g4)); + + // Derivatives of the noise + float3 derivative = -8.0 * mul(aa * a * extrapolations, float4x3(d1, d2, d3, d4)) + + mul(aaaa, float4x3(g1, g2, g3, g4)); + + // Return it all as a float4 + return float4(derivative, dot(aaaa, extrapolations)); +} + +// Use this if you don't want Z to look different from X and Y +float4 Bcc4NoiseClassic(float3 X) +{ + + // Rotate around the main diagonal. Not a skew transform. + float4 result = Bcc4NoiseBase(dot(X, 2.0 / 3.0) - X); + return float4(dot(result.xyz, 2.0 / 3.0) - result.xyz, result.w); +} + +// Use this if you want to show X and Y in a plane, and use Z for time, etc. +float4 Bcc4NoisePlaneFirst(float3 X) +{ + + // Rotate so Z points down the main diagonal. Not a skew transform. + float3x3 orthonormalMap = float3x3 + ( + 0.788675134594813, -0.211324865405187, -0.577350269189626, + - 0.211324865405187, 0.788675134594813, -0.577350269189626, + 0.577350269189626, 0.577350269189626, 0.577350269189626); + + float4 result = Bcc4NoiseBase(mul(X, orthonormalMap)); + return float4(mul(orthonormalMap, result.xyz), result.w); +} + + + + + +//------------------------------------------------[3.2] 8-Point BCC Noise------------------------------------------------------ +// K.jpg's Smooth Re-oriented 8-Point BCC Noise +// Output: float4(dF/dx, dF/dy, dF/dz, value) + + +float4 bcc8_mod(float4 x, float4 y) +{ + return x - y * floor(x / y); +} + +// Borrowed from Stefan Gustavson's noise code +float4 bcc8_permute(float4 t) +{ + return t * (t * 34.0 + 133.0); +} + +// Gradient set is a normalized expanded rhombic dodecahedron +float3 bcc8_grad(float hash) +{ + + // Random vertex of a cube, +/- 1 each + float3 cube = frac(floor(hash / float3(1, 2, 4)) * 0.5) * 4 - 1; + + // Random edge of the three edges connected to that vertex + // Also a cuboctahedral vertex + // And corresponds to the face of its dual, the rhombic dodecahedron + float3 cuboct = cube; + cuboct *= int3(0, 1, 2) != (int) (hash / 16); + + // In a funky way, pick one of the four points on the rhombic face + float type = frac(floor(hash / 8) * 0.5) * 2; + float3 rhomb = (1.0 - type) * cube + type * (cuboct + cross(cube, cuboct)); + + // Expand it so that the new edges are the same length + // as the existing ones + float3 grad = cuboct * 1.22474487139 + rhomb; + + // To make all gradients the same length, we only need to shorten the + // second type of vector. We also put in the whole noise scale constant. + // The compiler should reduce it into the existing floats. I think. + grad *= (1.0 - 0.042942436724648037 * type) * 3.5946317686139184; + + return grad; +} + +// BCC lattice split up into 2 cube lattices +float4 Bcc8NoiseBase(float3 X) +{ + float3 b = floor(X); + float4 i4 = float4(X - b, 2.5); + + // Pick between each pair of oppposite corners in the cube. + float3 v1 = b + floor(dot(i4, .25)); + float3 v2 = b + float3(1, 0, 0) + float3(-1, 1, 1) * floor(dot(i4, float4( - .25, .25, .25, .35))); + float3 v3 = b + float3(0, 1, 0) + float3(1, -1, 1) * floor(dot(i4, float4(.25, - .25, .25, .35))); + float3 v4 = b + float3(0, 0, 1) + float3(1, 1, -1) * floor(dot(i4, float4(.25, .25, - .25, .35))); + + // Gradient hashes for the four vertices in this half-lattice. + float4 hashes = bcc8_permute(bcc8_mod(float4(v1.x, v2.x, v3.x, v4.x), 289.0)); + hashes = bcc8_permute(bcc8_mod(hashes + float4(v1.y, v2.y, v3.y, v4.y), 289.0)); + hashes = bcc8_mod(bcc8_permute(bcc8_mod(hashes + float4(v1.z, v2.z, v3.z, v4.z), 289.0)), 48.0); + + // Gradient extrapolations & kernel function + float3 d1 = X - v1; float3 d2 = X - v2; float3 d3 = X - v3; float3 d4 = X - v4; + float4 a = max(0.75 - float4(dot(d1, d1), dot(d2, d2), dot(d3, d3), dot(d4, d4)), 0.0); + float4 aa = a * a; float4 aaaa = aa * aa; + float3 g1 = bcc8_grad(hashes.x); float3 g2 = bcc8_grad(hashes.y); + float3 g3 = bcc8_grad(hashes.z); float3 g4 = bcc8_grad(hashes.w); + float4 extrapolations = float4(dot(d1, g1), dot(d2, g2), dot(d3, g3), dot(d4, g4)); + + // Derivatives of the noise + float3 derivative = -8.0 * mul(aa * a * extrapolations, float4x3(d1, d2, d3, d4)) + + mul(aaaa, float4x3(g1, g2, g3, g4)); + + // Return it all as a float4 + return float4(derivative, dot(aaaa, extrapolations)); +} + +// Rotates domain, but preserve shape. Hides grid better in cardinal slices. +// Good for texturing 3D objects with lots of flat parts along cardinal planes. +float4 Bcc8NoiseClassic(float3 X) +{ + X = dot(X, 2.0 / 3.0) - X; + + float4 result = Bcc8NoiseBase(X) + Bcc8NoiseBase(X + 144.5); + + return float4(dot(result.xyz, 2.0 / 3.0) - result.xyz, result.w); +} + +// Gives X and Y a triangular alignment, and lets Z move up the main diagonal. +// Might be good for terrain, or a time varying X/Y plane. Z repeats. +float4 Bcc8NoisePlaneFirst(float3 X) +{ + + // Not a skew transform. + float3x3 orthonormalMap = float3x3( + 0.788675134594813, -0.211324865405187, -0.577350269189626, + - 0.211324865405187, 0.788675134594813, -0.577350269189626, + 0.577350269189626, 0.577350269189626, 0.577350269189626); + + X = mul(X, orthonormalMap); + float4 result = Bcc8NoiseBase(X) + Bcc8NoiseBase(X + 144.5); + + return float4(mul(orthonormalMap, result.xyz), result.w); +} + + +#endif \ No newline at end of file diff --git a/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta new file mode 100644 index 000000000..aef1a9726 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ad65ce05707bad43a6df888d1a27038 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl new file mode 100644 index 000000000..68b8d585c --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl @@ -0,0 +1,466 @@ + + +#include "Sampling.hlsl" + +//Always present in every shader +TEXTURE2D_SAMPLER2D(_MainTex, sampler_MainTex); //Present in every shader + +TEXTURE2D_SAMPLER2D(_CameraDepthNormalsTexture, sampler_CameraDepthNormalsTexture); +float4 _MainTex_TexelSize; + + + +#define fixed half +#define fixed2 half2 +#define fixed3 half3 +#define fixed4 half4 +#define fixed4x4 half4x4 +#define fixed3x3 half3x3 +#define fixed2x2 half2x2 +#define sampler2D_half sampler2D +#define sampler2D_float sampler2D +#define samplerCUBE_half samplerCUBE +#define samplerCUBE_float samplerCUBE + + +//------------------------------------------------------------------------------------------------------ +// Blend Functions +//------------------------------------------------------------------------------------------------------ + + +half4 BlendOperation_Burn(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = 1.0 - (1.0 - Blend) / Base; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Darken(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = min(Blend, Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Difference(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = abs(Blend - Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Dodge(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base / (1.0 - Blend); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Divide(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base / (Blend + 0.000000000001); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Exclusion(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Blend + Base - (2.0 * Blend * Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_HardLight(half4 Base, half4 Blend, half Opacity) +{ + float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend); + float4 result2 = 2.0 * Base * Blend; + float4 zeroOrOne = step(Blend, 0.5); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_HardMix(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = step(1 - Base, Blend); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Lighten(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = max(Blend, Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearBurn(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base + Blend - 1.0; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearDodge(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base + Blend; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearLight(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Blend < 0.5 ? max(Base + (2 * Blend) - 1, 0): min(Base + 2 * (Blend - 0.5), 1); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearLightAddSub(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Blend + 2.0 * Base - 1.0; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Multiply(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base * Blend; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Negation(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = 1.0 - abs(1.0 - Blend - Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Overlay(half4 Base, half4 Blend, half Opacity) +{ + half4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend); + half4 result2 = 2.0 * Base * Blend; + half4 zeroOrOne = step(Base, 0.5); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_PinLight(half4 Base, half4 Blend, half Opacity) +{ + half4 check = step(0.5, Blend); + half4 result1 = check * max(2.0 * (Base - 0.5), Blend); + half4 Out = result1 + (1.0 - check) * min(2.0 * Base, Blend); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Screen(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = 1.0 - (1.0 - Blend) * (1.0 - Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_SoftLight(half4 Base, half4 Blend, half Opacity) +{ + half4 result1 = 2.0 * Base * Blend + Base * Base * (1.0 - 2.0 * Blend); + half4 result2 = sqrt(Base) * (2.0 * Blend - 1.0) + 2.0 * Base * (1.0 - Blend); + half4 zeroOrOne = step(0.5, Blend); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + +half4 BlendOperation_Subtract(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base - Blend; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_VividLight(half4 Base, half4 Blend, half Opacity) +{ + half4 result1 = 1.0 - (1.0 - Blend) / (2.0 * Base); + half4 result2 = Blend / (2.0 * (1.0 - Base)); + half4 zeroOrOne = step(0.5, Base); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + +half4 BlendOperation_Overwrite(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = lerp(Base, Blend, Opacity); + return Out; +} + + + + +//------------------------------------------------------------------------------------------------------ +// Generic functions +//------------------------------------------------------------------------------------------------------ + +float rand(float n) +{ + return frac(sin(n) * 13758.5453123 * 0.01); +} + +float rand(float2 n) +{ + return frac(sin(dot(n, float2(12.9898, 78.233))) * 43758.5453); +} + +float2 RotateUV(float2 uv, float rotation) +{ + float cosine = cos(rotation); + float sine = sin(rotation); + float2 pivot = float2(0.5, 0.5); + float2 rotator = (mul(uv - pivot, float2x2(cosine, -sine, sine, cosine)) + pivot); + return saturate(rotator); +} + +float3 ChromaticAberration(TEXTURE2D_ARGS(tex, samplerTex), float4 texelSize, float2 uv, float amount) +{ + float2 direction = normalize((float2(0.5, 0.5) - uv)); + float3 distortion = float3(-texelSize.x * amount, 0, texelSize.x * amount); + + float red = SAMPLE_TEXTURE2D(tex, samplerTex, uv + direction * distortion.r).r; + float green = SAMPLE_TEXTURE2D(tex, samplerTex, uv + direction * distortion.g).g; + float blue = SAMPLE_TEXTURE2D(tex, samplerTex, uv + direction * distortion.b).b; + + return float3(red, green, blue); +} + + +/* +float3 PositionFromDepth(float depth, float2 uv, float4 inverseViewMatrix) { + + float4 clip = float4((uv.xy * 2.0f - 1.0f) * float2(1, -1), 0.0f, 1.0f); + float3 worldDirection = mul(inverseViewMatrix, clip) - _WorldSpaceCameraPos; + + float3 worldspace = worldDirection * depth + _WorldSpaceCameraPos; + + return float3(frac((worldspace.rgb)) + float3(0, 0, 0.1)); +} +*/ + +// (returns 1.0 when orthographic) +float CheckPerspective(float x) +{ + return lerp(x, 1.0, unity_OrthoParams.w); +} + +// Reconstruct view-space position from UV and depth. +float3 ReconstructViewPos(float2 uv, float depth) +{ + float3 worldPos = float3(0, 0, 0); + worldPos.xy = (uv.xy * 2.0 - 1.0 - float2(unity_CameraProjection._13, unity_CameraProjection._23)) / float2(unity_CameraProjection._11, unity_CameraProjection._22) * CheckPerspective(depth); + worldPos.z = depth; + return worldPos; +} + +float2 FisheyeUV(half2 uv, half amount, half zoom) +{ + half2 center = uv.xy - half2(0.5, 0.5); + half CdotC = dot(center, center); + half f = 1.0 + CdotC * (amount * sqrt(CdotC)); + return f * zoom * center + 0.5; +} + +float2 Distort(float2 uv) +{ + #if DISTORT + { + uv = (uv - 0.5) * _Distortion_Amount.z + 0.5; + float2 ruv = _Distortion_CenterScale.zw * (uv - 0.5 - _Distortion_CenterScale.xy); + float ru = length(float2(ruv)); + + UNITY_BRANCH + if (_Distortion_Amount.w > 0.0) + { + float wu = ru * _Distortion_Amount.x; + ru = tan(wu) * (1.0 / (ru * _Distortion_Amount.y)); + uv = uv + ruv * (ru - 1.0); + } + else + { + ru = (1.0 / ru) * _Distortion_Amount.x * atan(ru * _Distortion_Amount.y); + uv = uv + ruv * (ru - 1.0); + } + } + #endif + + return uv; +} + +//---------------------------------------------------------------- +// Common vertex functions +//-------------------------------------------------------------- + +float4 _BlurOffsets; + +struct v2fGaussian +{ + float4 pos: POSITION; + float2 uv: TEXCOORD0; + + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; +}; + +v2fGaussian VertGaussian(AttributesDefault v) +{ + v2fGaussian o; + o.pos = float4(v.vertex.xy, 0, 1); + + o.uv.xy = TransformTriangleVertexToUV(o.pos.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.uv = o.uv * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + //UNITY_SINGLE_PASS_STEREO + o.uv = TransformStereoScreenSpaceTex(o.uv, 1.0); + + o.uv01 = o.uv.xyxy + _BlurOffsets.xyxy * float4(1, 1, -1, -1); + o.uv23 = o.uv.xyxy + _BlurOffsets.xyxy * float4(1, 1, -1, -1) * 2.0; + o.uv45 = o.uv.xyxy + _BlurOffsets.xyxy * float4(1, 1, -1, -1) * 6.0; + + return o; +} + +float4 FragBlurBox(VaryingsDefault i): SV_Target +{ + return DownsampleBox4Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffsets.xy).rgba; +} + +float4 FragBlurGaussian(v2fGaussian i): SV_Target +{ + half4 color = float4(0, 0, 0, 0); + + color += 0.40 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw); + + return color; +} + + + +half simpleNoise(half x, half y, half seed, half phase) +{ + half n = x * y * phase * seed; + return fmod(n, 13) * fmod(n, 123); +} + + + +half3 Lut2D(TEXTURE2D_ARGS(tex, samplerTex), float3 uvw, float2 texelSize, half tileAmount) +{ + uvw.z *= tileAmount; + float shift = floor(uvw.z); + uvw.xy = uvw.xy * tileAmount * texelSize.xy + texelSize.xy * 0.5; + uvw.x += shift * texelSize.y; + uvw.xyz = lerp( + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy).rgb, + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy + float2(texelSize.y, 0.0)).rgb, + uvw.z - shift + ); + return uvw; +} + + +half3 Lut2D_InvertY(TEXTURE2D_ARGS(tex, samplerTex), float3 uvw, float2 texelSize, half tileAmount) +{ + // Strip format where `height = sqrt(width)` + uvw.z *= tileAmount; + float shift = floor(uvw.z); + uvw.xy = uvw.xy * tileAmount * texelSize.xy + texelSize.xy * 0.5; + uvw.x += shift * texelSize.y; + //uvw.y = 1 - uvw.y; + uvw.xyz = lerp( + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy).rgb, + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy + float2(texelSize.y, 0.0)).rgb, + uvw.z - shift + ); + return uvw; +} + +//------------------------------------------------------------------------------------------- +// Lift, Gamma (pre-inverted), Gain tuned for HDR use - best used with the ACES tonemapper as +// negative values will creep in the result +// Expected workspace: ACEScg (linear) +//------------------------------------------------------------------------------------------- +half3 LiftGammaGain_HDR(half3 c, half3 lift, float3 invgamma, half3 gain) +{ + c = c * gain + lift; + + // ACEScg will output negative values, as clamping to 0 will lose precious information we'll + // mirror the gamma function instead + return FastSign(c) * pow(abs(c), invgamma); +} + +half3 Luminance_V1(half3 color) +{ + return(color.r * 0.3 + color.g * 0.59 + color.b * 0.11); +} + +half Luminance_V2(half3 color) +{ + return dot(color, half3(0.222, 0.707, 0.071)); +} + +half4 LuminanceThreshold(half4 color, half threshold) +{ + half br = Max3(color.r, color.g, color.b); + + half contrib = max(0, br - threshold); + + contrib /= max(br, 0.001); + + return color * contrib; +} + + + +float4 GetDepthNormal_ViewSpace(float2 uv) +{ + float4 cdn = SAMPLE_TEXTURE2D(_CameraDepthNormalsTexture, sampler_CameraDepthNormalsTexture, uv); + float4 Normal_ViewSpace = float4(DecodeViewNormalStereo(cdn), 1); + return Normal_ViewSpace; +} + + +float GetSinusoidWave(float len, float pi, float time) +{ + float wave = sin(8.0f * pi * len + time); + wave = 0.5 * wave + 0.2; + wave *= wave * wave; + return wave; +} + diff --git a/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta new file mode 100644 index 000000000..2a447f558 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df45a9a1fca2ef24fb63d70aa7e08e9f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/xRLib.hlsl b/Assets/X-PostProcessing/Shaders/xRLib.hlsl new file mode 100644 index 000000000..b3a21d74e --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/xRLib.hlsl @@ -0,0 +1,98 @@ +// VR/AR/xR lib + +#ifndef UNITY_POSTFX_XRLIB +#define UNITY_POSTFX_XRLIB + +#if defined(UNITY_SINGLE_PASS_STEREO) +CBUFFER_START(UnityStereoGlobals) + float4x4 unity_StereoMatrixP[2]; + float4x4 unity_StereoMatrixV[2]; + float4x4 unity_StereoMatrixInvV[2]; + float4x4 unity_StereoMatrixVP[2]; + + float4x4 unity_StereoCameraProjection[2]; + float4x4 unity_StereoCameraInvProjection[2]; + float4x4 unity_StereoWorldToCamera[2]; + float4x4 unity_StereoCameraToWorld[2]; + + float3 unity_StereoWorldSpaceCameraPos[2]; + float4 unity_StereoScaleOffset[2]; +CBUFFER_END + +CBUFFER_START(UnityStereoEyeIndex) + int unity_StereoEyeIndex; +CBUFFER_END +#endif + +float _RenderViewportScaleFactor; + +float2 UnityStereoScreenSpaceUVAdjust(float2 uv, float4 scaleAndOffset) +{ + return uv.xy * scaleAndOffset.xy + scaleAndOffset.zw; +} + +float4 UnityStereoScreenSpaceUVAdjust(float4 uv, float4 scaleAndOffset) +{ + return float4(UnityStereoScreenSpaceUVAdjust(uv.xy, scaleAndOffset), UnityStereoScreenSpaceUVAdjust(uv.zw, scaleAndOffset)); +} + +float2 UnityStereoClampScaleOffset(float2 uv, float4 scaleAndOffset) +{ + return clamp(uv, scaleAndOffset.zw, scaleAndOffset.zw + scaleAndOffset.xy); +} + +#if defined(UNITY_SINGLE_PASS_STEREO) +float2 TransformStereoScreenSpaceTex(float2 uv, float w) +{ + float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex]; + scaleOffset.xy *= _RenderViewportScaleFactor; + return uv.xy * scaleOffset.xy + scaleOffset.zw * w; +} + +float2 UnityStereoTransformScreenSpaceTex(float2 uv) +{ + return TransformStereoScreenSpaceTex(saturate(uv), 1.0); +} + +float4 UnityStereoTransformScreenSpaceTex(float4 uv) +{ + return float4(UnityStereoTransformScreenSpaceTex(uv.xy), UnityStereoTransformScreenSpaceTex(uv.zw)); +} + +float2 UnityStereoClamp(float2 uv) +{ + float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex]; + scaleOffset.xy *= _RenderViewportScaleFactor; + return UnityStereoClampScaleOffset(uv, scaleOffset); +} + +float4 UnityStereoAdjustedTexelSize(float4 texelSize) // Should take in _MainTex_TexelSize +{ + texelSize.x = texelSize.x * 2.0; // texelSize.x = 1/w. For a double-wide texture, the true resolution is given by 2/w. + texelSize.z = texelSize.z * 0.5; // texelSize.z = w. For a double-wide texture, the true size of the eye texture is given by w/2. + return texelSize; +} +#else +float2 TransformStereoScreenSpaceTex(float2 uv, float w) +{ + return uv * _RenderViewportScaleFactor; +} + +float2 UnityStereoTransformScreenSpaceTex(float2 uv) +{ + return TransformStereoScreenSpaceTex(saturate(uv), 1.0); +} + +float2 UnityStereoClamp(float2 uv) +{ + float4 scaleOffset = float4(_RenderViewportScaleFactor, _RenderViewportScaleFactor, 0.f, 0.f); + return UnityStereoClampScaleOffset(uv, scaleOffset); +} + +float4 UnityStereoAdjustedTexelSize(float4 texelSize) +{ + return texelSize; +} +#endif + +#endif // UNITY_POSTFX_XRLIB diff --git a/Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta b/Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta new file mode 100644 index 000000000..c5335647c --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9b6f01d1ec2d5e44b05163c02bc9aa4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility.meta b/Assets/X-PostProcessing/Utility.meta new file mode 100644 index 000000000..8a197e115 --- /dev/null +++ b/Assets/X-PostProcessing/Utility.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b69a81cda6354c045817489da3d61c16 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs new file mode 100644 index 000000000..bff84bc6a --- /dev/null +++ b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs @@ -0,0 +1,57 @@ +using System; + +namespace XPostProcessing +{ + /// + /// Use this attribute to draw a ColorWheel in the inspector. + /// + [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)] + public sealed class ColorWheelAttribute : Attribute + { + /// + /// ColorWheel modes. These are used to compute and display pre-filtered ColorWheel vales in + /// the inspector. + /// + public enum Mode + { + /// + /// Don't display pre-filtered values. + /// + None, + + /// + /// Display pre-filtered lift values. + /// + Lift, + + /// + /// Display pre-filtered gamma values. + /// + Gamma, + + /// + /// Display pre-filtered grain values. + /// + Gain, + + + Contrast + } + + /// + /// The mode used to display pre-filtered values in the inspector. + /// + public readonly Mode mode; + + /// + /// Creates a new attribute. + /// + /// A mode used to display pre-filtered values in the inspector + public ColorWheelAttribute(Mode mode) + { + this.mode = mode; + } + } + + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta new file mode 100644 index 000000000..10f4bae4e --- /dev/null +++ b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4c8c3233482129439fd679435869372 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/XParameterOverride.cs b/Assets/X-PostProcessing/Utility/XParameterOverride.cs new file mode 100644 index 000000000..938059f56 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XParameterOverride.cs @@ -0,0 +1,21 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace UnityEngine.Rendering.PostProcessing +{ + + [Serializable] + public sealed class GradientParameter : ParameterOverride { } + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta b/Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta new file mode 100644 index 000000000..de957a934 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 60cf005088e2612439c705ccccc052eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs new file mode 100644 index 000000000..51ded626d --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs @@ -0,0 +1,38 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace XPostProcessing +{ + + + public enum Direction + { + Horizontal = 0, + Vertical = 1, + } + + public enum DirectionEX + { + Horizontal = 0, + Vertical = 1, + Horizontal_Vertical =2, + } + + public enum IntervalType + { + Infinite, + Periodic, + Random + } + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta new file mode 100644 index 000000000..eb4ef7392 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b1b08b4caaec4247a5c9aa3be841047 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs new file mode 100644 index 000000000..8fe628a98 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs @@ -0,0 +1,99 @@ +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEngine; + + +namespace XPostProcessing +{ + public class XPostProcessingUtility + { + + #region Instance + + private static XPostProcessingUtility _instance; + public static XPostProcessingUtility Instance + { + get + { + if (_instance == null) + { + _instance = new XPostProcessingUtility(); + } + return _instance; + } + } + + #endregion + + + + //----------------------------------------------------------------------------------------------------- + static int resetFrameCount = 0; + static Color srcColor; + static Color dstColor; + public static Color GetRandomLerpColor(int RandomFrameCount, float lerpSpeed) + { + // Color version + if (resetFrameCount == 0) + { + srcColor = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f), 1); + } + float lerp = lerpSpeed; + + dstColor = Color.Lerp(dstColor, srcColor, lerp); + resetFrameCount++; + if (resetFrameCount > RandomFrameCount) + { + resetFrameCount = 0; + } + + return dstColor; + } + + public static Color RandomColor() + { + return new Color(Random.value, Random.value, Random.value, Random.value); + } + + + + + public int LastSelectedCategory; + public int ThumbWidth; + public int ThumbHeight; + public int cache_ThumbWidth; + public int cache_ThumbHeight; + public bool cache_IsLinear; + public RenderTexture PreviewRT; + + + public static void DumpRenderTexture(RenderTexture rt, string pngOutPath) + { + var oldRT = RenderTexture.active; + + var tex = new Texture2D(rt.width, rt.height); + RenderTexture.active = rt; + tex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0); + tex.Apply(); + + File.WriteAllBytes(pngOutPath, tex.EncodeToPNG()); + RenderTexture.active = oldRT; + } + + + static string TypePreFix = "XPostProcessing."; + + + public static System.Type GetSettingByName(string typeFullName) + { + var type = System.Type.GetType(TypePreFix + typeFullName); + //Debug.Log("Utllity Type : " + type); + return type; + } + + + + } + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta new file mode 100644 index 000000000..a2ce0926a --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46b6974378148b84c82c3dfa2d6af212 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset b/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset index 6c3c1ea46..adc1456ad 100644 --- a/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset +++ b/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset @@ -17,66 +17,10 @@ MonoBehaviour: DenseViewWidthThreshold: 512 _disableAutoReloadInBackground: 0 ImportedScriptPaths: - - Assets/Scripts/Games/RapMen/RapMen.cs - - Assets/Scripts/Games/Cannery/Cannery.cs - - Assets/Scripts/Games/LumBEARjack/LBJBear.cs - - Assets/Scripts/LevelEditor/Commands/Block.cs - - Assets/Scripts/Games/ClapTrap/ClapTrap.cs - - Assets/Scripts/Games/SoundEffects.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/ColorPropertyPrefab.cs - - Assets/Scripts/Games/RhythmTweezers/RhythmTweezers.cs - - Assets/Scripts/LevelEditor/Tooltip.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/BoolPropertyPrefab.cs - - Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs - - Assets/Scripts/Util/SoundByte.cs - - Assets/Scripts/Games/Rockers/Rockers.cs - - Assets/Scripts/Games/NailCarpenter/LongNail.cs - - Assets/Scripts/Games/LumBEARjack/LumBEARjack.cs - - Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs - - Assets/Scripts/Games/BonOdori/BonOdori.cs + - Assets/Scripts/PostProcessingVFX.cs - Assets/Scripts/Minigames.cs - - Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs - - Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs - - Assets/Scripts/Games/Cannery/Can.cs - - Assets/Scripts/UI/SettingsDialog/Tabs/EditorSettings.cs - - Assets/Scripts/GameManager.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/StringPropertyPrefab.cs - - Assets/Scripts/Games/RhythmTestGBA/RhythmTestGBA.cs - - Assets/Scripts/Games/LumBEARjack/LBJBomb.cs - - Assets/Scripts/Games/TossBoys/TossBoys.cs - - Assets/Scripts/Games/LumBEARjack/LBJBaby.cs - - Assets/Scripts/Games/LumBEARjack/LBJObjectRotate.cs - - Assets/Scripts/Util/MultiSound.cs - - Assets/Scripts/Games/Tambourine/Tambourine.cs - - Assets/Scripts/Util/ParticleSystemHelpers.cs - - Assets/Scripts/Games/SpaceDance/SpaceDance.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/NumberPropertyPrefab.cs - - Assets/Scripts/Util/EntityTypes.cs - - Assets/Scripts/Games/MrUpbeat/MrUpbeat.cs - - Assets/Scripts/Games/LumBEARjack/LBJCatMove.cs - - Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs - - Assets/Scripts/Games/LumBEARjack/LBJMissObject.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/DropdownPropertyPrefab.cs - - Assets/Scripts/LevelEditor/Timeline/Timeline.cs - - Assets/Scripts/PersistentDataManager.cs - - Assets/Scripts/Games/NailCarpenter/Nail.cs - - Assets/Scripts/Games/ForkLifter/ForkLifter.cs - - Assets/Scripts/Games/CoinToss/CoinToss.cs - - Assets/Scripts/Games/DrummingPractice/DrummingPractice.cs - - Assets/Scripts/Games/Minigame.cs - - Assets/Scripts/Games/Kitties/Kitties.cs - - Assets/Scripts/USG.g/LoadMinigames.Minigames.MinigameLoaderGenerator.g.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/ButtonPropertyPrefab.cs - - Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs - - Assets/Scripts/Games/ClapTrap/Sword.cs - - Assets/Scripts/Games/KarateMan/KarateMan.cs - - Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs - - Assets/Scripts/Games/NailCarpenter/NailCarpenter.cs - - Assets/Scripts/Games/NailCarpenter/Sweet.cs - - Assets/Scripts/Games/SpaceSoccer/SpaceSoccer.cs - - Assets/Scripts/Games/LumBEARjack/LBJBGCat.cs - - Assets/Scripts/Games/SamuraiSliceNtr/SamuraiSliceNtr.cs - Assets/Scripts/Games/PowerCalligraphy/Writing.cs - Assets/Scripts/Games/PowerCalligraphy/PowerCalligraphy.cs + - Assets/Scripts/Games/Airboarder/Airboarder.cs PathsToSkipImportEvent: [] PathsToIgnoreOverwriteSettingOnAttribute: []