Skip to content

Instantly share code, notes, and snippets.

@macjunk-ie
Created July 26, 2019 16:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macjunk-ie/d61b83ec8d660e929f3b431bdce1312a to your computer and use it in GitHub Desktop.
Save macjunk-ie/d61b83ec8d660e929f3b431bdce1312a to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
{"caused_by":"macos","macos_version":"Mac OS X 10.14.5 (18F132)","os_version":"Bridge OS 3.5 (16P5125)","macos_system_state":"running","incident_id":"97B9D9EF-4510-41E7-B791-AF283B585577","timestamp":"2019-07-26 15:48:32.15 +0000","bug_type":"210"}
{
"binaryImages" : [
[
"9a105fd5-1e36-d081-7669-0245eba3f5d1",
18446743936270598144,
"U"
],
[
"00000000-0000-0000-0000-000000000000",
0,
"A"
],
[
"a8890f6c-fbaf-3c45-ad23-8b5aadf27233",
6442450944,
"S"
],
[
"51868cdc-e085-3d9b-baf7-7fcc5e2eee63",
4376526848,
"P"
],
[
"e015f436-676a-3d5b-b02c-e622d4340ca7",
4376805376,
"P"
],
[
"6623ea6b-5785-35e8-beff-58084dcecdad",
4368809984,
"P"
],
[
"0cff77ae-8b4e-3419-8ef2-62c4765f2b3c",
4307206144,
"P"
],
[
"ccf9ad6d-87b2-32bf-a951-2d78aea6f23e",
4298080256,
"P"
],
[
"005ac577-6a2f-3188-883a-40f58440f3e7",
4373921792,
"P"
],
[
"f401fe9a-6b4b-3bea-8c3b-bf4fb9666d27",
4364271616,
"P"
],
[
"2576da6b-d464-3085-b646-1688c31b55bd",
4343136256,
"P"
],
[
"fc48fb0b-f112-34df-9fdd-edb77268cc98",
4329783296,
"P"
],
[
"8d5606a5-7ee0-34fa-a46d-7c3973117fbe",
4310892544,
"P"
],
[
"0748f0a8-8d31-3d44-93c0-db353a29b441",
4369711104,
"P"
],
[
"283a3ba3-9997-30b8-ae6c-418a0d956248",
4344692736,
"P"
],
[
"de562c23-53a4-3270-9d8e-97bf07a4f2e0",
4301586432,
"P"
],
[
"5b1b4ff1-52e2-3883-a70d-39f5afdcec2d",
4337975296,
"P"
],
[
"2dd0a6aa-1ddb-3ce2-a321-a433dd10819e",
4333010944,
"P"
],
[
"b4015ffd-9019-3f1b-9d61-020c7821054c",
4299079680,
"P"
],
[
"c947fa98-b6ba-3113-84d9-68d53660e08d",
4301766656,
"P"
],
[
"8172efee-713b-370a-865b-fd1b75cb2383",
4330569728,
"P"
],
[
"c73584ec-d250-3605-82f6-05b6b25379a5",
4364451840,
"P"
],
[
"3e5702c6-1b46-3dd6-a80a-70b36ebc3c1c",
4366336000,
"P"
],
[
"9deec308-0827-3097-8d47-da83744db3e3",
4307419136,
"P"
]
],
"build" : "Bridge OS 3.5 (16P5125)",
"crashReporterKey" : "c0dec0dec0dec0dec0dec0dec0dec0dec0de0001",
"date" : "2019-07-26 15:48:31.68 +0000",
"incident" : "97B9D9EF-4510-41E7-B791-AF283B585577",
"kernel" : "Darwin Kernel Version 18.6.0: Thu Apr 25 21:46:37 PDT 2019; root:xnu-4903.261.4~1\/RELEASE_ARM64_T8010",
"macOSOtherString" : "\n** In Memory Panic Stackshot Succeeded ** Bytes Traced 1116816 **\n",
"macOSPanicFlags" : "0x4",
"macOSPanicString" : "panic(cpu 1 caller 0xffffff801e2d0c9a): \"userspace panic: remoted connection watchdog expired, no updates from remoted monitoring thread in 71 seconds\"@\/BuildRoot\/Library\/Caches\/com.apple.xbs\/Sources\/xnu\/xnu-4903.261.4\/bsd\/kern\/kern_shutdown.c:154\nBacktrace (CPU 1), Frame : Return Address\n0xffffff83d6d83a80 : 0xffffff801ddaea2d \n0xffffff83d6d83ad0 : 0xffffff801dee9e95 \n0xffffff83d6d83b10 : 0xffffff801dedb70a \n0xffffff83d6d83b80 : 0xffffff801dd5bb40 \n0xffffff83d6d83ba0 : 0xffffff801ddae447 \n0xffffff83d6d83cc0 : 0xffffff801ddae293 \n0xffffff83d6d83d30 : 0xffffff801e2d0c9a \n0xffffff83d6d83df0 : 0xffffff801e2e9f4f \n0xffffff83d6d83f40 : 0xffffff801e3b9cbd \n0xffffff83d6d83fa0 : 0xffffff801dd5c306 \n\nBSD process name corresponding to current thread: watchdogd\n\nMac OS version:\n18F132\n\nKernel version:\nDarwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2\/RELEASE_X86_64\nKernel UUID: 7C8BB636-E593-3CE4-8528-9BD24A688851\nKernel slide: 0x000000001da00000\nKernel text base: 0xffffff801dc00000\n__HIB text base: 0xffffff801db00000\nSystem model name: Macmini8,1 (Mac-7BA5B2DFE22DDD8C)\n\nSystem uptime in nanoseconds: 345921015453492\nlast loaded kext at 332843044902918: >AudioAUUC\t1.70 (addr 0xffffff7fa18b8000, size 28672)\nlast unloaded kext at 306735798922460: >AudioAUUC\t1.70 (addr 0xffffff7fa1dd8000, size 20480)\nloaded kexts:\ncom.adguard.nfext\t25\n>AudioAUUC\t1.70\n@filesystems.smbfs\t3.3.2\n@filesystems.afpfs\t11.1\n@nke.asp-tcp\t8.0.2\n>!ATopCaseHIDEventDriver\t138.3\n|IO!BSerialManager\t6.0.12f1\n>!AGraphicsDevicePolicy\t3.40.16\n@AGDCPluginDisplayMetrics\t3.40.16\n>!AHV\t1\n|IOUserEthernet\t1.0.1\n@fileutil\t20.036.15\n>pmtelemetry\t1\n>!AUpstreamUserClient\t3.6.5\n@Dont_Steal_Mac_OS_X\t7.0.0\n>!AMCCSControl\t1.5.9\n>!APlatformEnabler\t2.7.0d0\n>AGPM\t110.25.10\n>X86PlatformShim\t1.0.0\n>!AVirtIO\t2.1.3\n>!A!IKBLGraphics\t12.0.9\n>BridgeAudioCommunication\t5.46\n>!AThunderboltIP\t3.1.2\n>!ABridgeAudio!C\t5.46\n>!A!ISlowAdaptiveClocking\t4.0.0\n>!AGFXHDA\t100.1.414\n>!AOSXWatchdog\t1\n>!A!ICFLGraphicsFramebuffer\t12.0.9\n>!AAVEBridge\t6.18\n>!A!IPCHPMC\t2.0.1\n@filesystems.autofs\t3.0\n>usb.realtek8153patcher\t5.0.0\n>usb.!UHostBillboardDevice\t1.0\n>BCMWLANFirmware4355.Hashstore\t1\n>BCMWLANFirmware4364.Hashstore\t1\n>BCMWLANFirmware4377.Hashstore\t1\n|!ABCM5701Ethernet\t10.3.3\n>!ABCMWLANBusInterfacePCIe\t1\n@filesystems.hfs.kext\t407.200.4\n@BootCache\t40\n@!AFSCompression.!AFSCompressionTypeDataless\t1.0.0d1\n@!AFSCompression.!AFSCompressionTypeZlib\t1.0.0\n@!ASystemPolicy\t1.0\n@filesystems.apfs\t945.260.7\n@private.KextAudit\t1.0\n>!AACPIButtons\t6.1\n>!ASMBIOS\t2.1\n>!AACPIEC\t6.1\n>!AAPIC\t1.7\n@nke.applicationfirewall\t201\n$TMSafetyNet\t8\n$SecureRemotePassword\t1.0\n>!AActuatorDriver\t2450.1\n>!AMultitouchDriver\t2450.1\n>!AInputDeviceSupport\t2440.2\n>!AHS!BDriver\t138.3\n>IO!BHIDDriver\t6.0.12f1\n>!AGraphicsControl\t3.40.16\n|IOAVB!F\t740.1\n@plugin.IOgPTPPlugin\t740.2\n>!ASSE\t1.0\n>!ASMBus!C\t1.0.18d1\n@!AGPUWrangler\t3.40.16\n|IOSlowAdaptiveClocking!F\t1.0.0\n|IONDRVSupport\t530.51\n>!UAudio\t315.6\n|IOAudio!F\t206.5\n@vecLib.kext\t1.2.0\n|IO!BHost!CUARTTransport\t6.0.12f1\n|IO!BHost!CTransport\t6.0.12f1\n>!A!ILpssUARTv1\t3.0.60\n>!A!ILpssUARTCommon\t3.0.60\n>!AOnboardSerial\t1.0\n|IOSkywalk!F\t1\n@!AGraphicsDeviceControl\t3.40.16\n|IOAccelerator!F2\t404.9\n|IOGraphics!F\t530.66\n|IOSurface\t255.5.4\n>X86PlatformPlugin\t1.0.0\n>IOPlatformPlugin!F\t6.0.0d8\n@kext.triggers\t1.0\n>usb.IOUSBHostHIDDevice\t1.2\n>usb.!UHub\t1.2\n>usb.cdc.ecm\t5.0.0\n>usb.cdc.ncm\t5.0.0\n>usb.cdc\t5.0.0\n>usb.networking\t5.0.0\n>usb.!UHostCompositeDevice\t1.2\n>!UHostMergeProperties\t1.2\n|IOEthernetAVB!C\t1.1.0\n>!ABCMWLANCore\t1.0.0\n>mDNSOffloadUserClient\t1.0.1b8\n>IOImageLoader\t1.0.0\n|IOSerial!F\t11\n|IO80211!FV2\t1200.12.2\n>corecapture\t1.0.4\n>!AThunderboltPCIDownAdapter\t2.1.4\n>!AThunderboltDPInAdapter\t5.6.4\n>!AThunderboltDPAdapter!F\t5.6.4\n>!AHPM\t3.4.1\n>!A!ILpssI2C!C\t3.0.60\n>!A!ILpssDmac\t3.0.60\n>!A!ILpssI2C\t3.0.60\n@filesystems.hfs.encodings.kext\t1\n>!AThunderboltNHI\t4.7.6\n|IOThunderbolt!F\t6.8.4\n>usb.!UVHCIBCE\t1.2\n>usb.!UVHCI\t1.2\n>usb.!UVHCICommonBCE\t1.0\n>usb.!UVHCICommon\t1.0\n>!AEffaceableNOR\t1.0\n|IOBufferCopy!C\t1.1.0\n|IOBufferCopyEngine!F\t1\n|IONVMe!F\t2.1.0\n>usb.!UHostPacketFilter\t1.0\n|IOUSB!F\t900.4.2\n>usb.!UXHCIPCI\t1.2\n>usb.!UXHCI\t1.2\n>!AEFINVRAM\t2.1\n>!AEFIRuntime\t2.1\n>!ASMCRTC\t1.0\n|IOSMBus!F\t1.1\n|IOHID!F\t2.0.0\n$quarantine\t3\n$sandbox\t300.0\n@kext.!AMatch\t1.0.0d1\n>!AKeyStore\t2\n>!UTDM\t456.260.3\n>!AMobileFileIntegrity\t1.0.5\n|IOUSBMass!SDriver\t145.200.2\n|IOSCSIBlockCommandsDevice\t408.250.3\n|IOSCSIArchitectureModel!F\t408.250.3\n@kext.CoreTrust\t1\n>!ACredentialManager\t1.0\n>KernelRelayHost\t1\n>!ASEPManager\t1.0.1\n>IOSlaveProcessor\t1\n>!AFDEKeyStore\t28.30\n>!AEffaceable!S\t1.0\n|IOTimeSync!F\t740.2\n|IONetworking!F\t3.4\n>DiskImages\t493.0.0\n|IO!S!F\t2.1\n|IO!B!F\t6.0.12f1\n|IOUSBHost!F\t1.2\n>usb.!UCommon\t1.0\n>!ABusPower!C\t1.0\n|IOReport!F\t47\n>!AACPIPlatform\t6.1\n>!ASMC\t3.1.9\n|IOPCI!F\t2.9\n|IOACPI!F\t1.4\n@kec.Libm\t1\n@kec.pthread\t1\n@kec.corecrypto\t1.0\n",
"macOSProcessedStackshotData" : "RGF0ZS9UaW1lOiAgICAgICAyMDE5LTA3LTI2IDA4OjQ4OjAyIC0wNzAwCk9TIFZlcnNpb246ICAgICAgPz8\/ID8\/PyAoQnVpbGQgPz8\/KQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApSZXBvcnQgVmVyc2lvbjogIDI2CgpEYXRhIFNvdXJjZTogICAgIFN0YWNrc2hvdHMKClN0ZXBzOiAgICAgICAgICAgMQoKSGFyZHdhcmUgbW9kZWw6ICA\/Pz8KQWN0aXZlIGNwdXM6ICAgICA\/Pz8KClRpbWUgQXdha2UgU2luY2UgQm9vdDogMzUwMDAwcwoKCgoKUHJvY2VzczogICAgICAgICAyQlVBOEM0UzJDLmNvbS5hZ2lsZWJpdHMub25lcGFzc3dvcmQtb3N4LWhlbHBlciBbMzU5XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDQ5Ljk2IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDEzYWYgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAyMCAoYmFzZSAyMCkKICA8dGhyZWFkIFFvUyB1dGlsaXR5IChyZXF1ZXN0ZWQgdXRpbGl0eSksIHRpbWVycyB0aWVyIDMgKGNvYWxlc2NlZCksIElPIHRpZXIgMT4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKDJCVUE4QzRTMkMuY29tLmFnaWxlYml0cy5vbmVwYXNzd29yZC1vc3gtaGVscGVyICsgMTA0Mzg1KSBbMHgxMGFiZDI3YzFdIDEKICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uIHJ1bl0gKyA2OTkgKEFwcEtpdCArIDc5OTMyKSBbMHg3ZmZmMmNiYjE4M2NdIDEKICAgICAgICAxICAtW05TQXBwbGljYXRpb24oTlNFdmVudCkgX25leHRFdmVudE1hdGNoaW5nRXZlbnRNYXNrOnVudGlsRGF0ZTppbk1vZGU6ZGVxdWV1ZTpdICsgMTM2MSAoQXBwS2l0ICsgMTA0MjIzKSBbMHg3ZmZmMmNiYjc3MWZdIDEKICAgICAgICAgIDEgIF9EUFNOZXh0RXZlbnQgKyA5NjUgKEFwcEtpdCArIDEwODkzNSkgWzB4N2ZmZjJjYmI4OTg3XSAxCiAgICAgICAgICAgIDEgIF9CbG9ja1VudGlsTmV4dEV2ZW50TWF0Y2hpbmdMaXN0SW5Nb2RlV2l0aEZpbHRlciArIDY0IChISVRvb2xib3ggKyA0MjAzOCkgWzB4N2ZmZjJlODFlNDM2XSAxCiAgICAgICAgICAgICAgMSAgUmVjZWl2ZU5leHRFdmVudENvbW1vbiArIDYwMyAoSElUb29sYm94ICsgNDI2NjEpIFsweDdmZmYyZTgxZTZhNV0gMQogICAgICAgICAgICAgICAgMSAgUnVuQ3VycmVudEV2ZW50TG9vcEluTW9kZSArIDI5MiAoSElUb29sYm94ICsgNDMzNzEpIFsweDdmZmYyZTgxZTk2Yl0gMQogICAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxNmY0ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMjAgKGJhc2UgMjApCiAgPHRocmVhZCBRb1MgdXRpbGl0eSAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aW1lcnMgdGllciAzIChjb2FsZXNjZWQpLCBJTyB0aWVyIDE+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgZXhjZXB0aW9uX3NlcnZlcl90aHJlYWQgKyAyMDEgKEhvY2tleVNESyArIDI3ODUyNikgWzB4MTBiMGY4ZmZlXSAxCiAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxNzEwICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNFdmVudFRocmVhZCIgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDIwIChiYXNlIDIwKQogIDx0aHJlYWQgUW9TIHV0aWxpdHkgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgdGltZXJzIHRpZXIgMyAoY29hbGVzY2VkKSwgSU8gdGllciAxPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9OU0V2ZW50VGhyZWFkICsgMTc1IChBcHBLaXQgKyAxNDA5NjYpIFsweDdmZmYyY2JjMDZhNl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDU1YjZiYyAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAyMCAoYmFzZSAyMCkKICA8dGhyZWFkIFFvUyB1dGlsaXR5IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRpbWVycyB0aWVyIDMgKGNvYWxlc2NlZCksIElPIHRpZXIgMT4KICAxICBzdGFydF93cXRocmVhZCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMTMpIFsweDdmZmY1YjY1MDNmZF0gMQogICAgMSAgX3B0aHJlYWRfd3F0aHJlYWQgKyA0MjEgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTc0NSkgWzB4N2ZmZjViNjUwNjExXSAxCiAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF93b3JrZXJfdGhyZWFkICsgNTk4IChsaWJkaXNwYXRjaC5keWxpYiArIDc1NTAxKSBbMHg3ZmZmNWI0MWY2ZWRdIDEKICAgICAgICAxICBfZGlzcGF0Y2hfd29ya2xvb3BfaW52b2tlICsgMjEwMCAobGliZGlzcGF0Y2guZHlsaWIgKyA0NjY5NSkgWzB4N2ZmZjViNDE4NjY3XSAxCiAgICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9pbnZva2UgKyA0MzMgKGxpYmRpc3BhdGNoLmR5bGliICsgNDE5MjYpIFsweDdmZmY1YjQxNzNjNl0gMQogICAgICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9zZXJpYWxfZHJhaW4gKyA2MDIgKGxpYmRpc3BhdGNoLmR5bGliICsgMzkxMzYpIFsweDdmZmY1YjQxNjhlMF0gMQogICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jbGllbnRfY2FsbG91dCArIDggKGxpYmRpc3BhdGNoLmR5bGliICsgMTM4ODUpIFsweDdmZmY1YjQxMDYzZF0gMQogICAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NhbGxfYmxvY2tfYW5kX3JlbGVhc2UgKyAxMiAobGliZGlzcGF0Y2guZHlsaWIgKyA5NzIwKSBbMHg3ZmZmNWI0MGY1ZjhdIDEKICAgICAgICAgICAgICAgICAgMSAgaW52b2NhdGlvbiBmdW5jdGlvbiBmb3IgYmxvY2sgaW4gSFRUUDJDb25uZWN0aW9uOjpzdG9wKCkgKyAyMCAoQ0ZOZXR3b3JrICsgMTMyNTg2MikgWzB4N2ZmZjJlNTljYjI2XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgSFRUUDJDb25uZWN0aW9uOjpfb25xdWV1ZV9jbG9zZUNvbm5lY3Rpb24oYm9vbCkgKyA0NDEgKENGTmV0d29yayArIDUzNjUwOSkgWzB4N2ZmZjJlNGRiZmJkXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBUQ1BJT0Nvbm5lY3Rpb246Ol9jbGVhbnVwQ29ubmVjdGlvbigpICsgMjc2IChDRk5ldHdvcmsgKyAyMjYzMTYpIFsweDdmZmYyZTQ5MDQwY10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICB0Y3BfY29ubmVjdGlvbl9jYW5jZWwgKyA2MTUgKGxpYm5ldHdvcmsuZHlsaWIgKyA2OTUyODcpIFsweDdmZmY1OTk0MWJmN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X2Nvbm5lY3Rpb25fY2FuY2VsX2lubmVyICsgMTkyIChsaWJuZXR3b3JrLmR5bGliICsgNjk2MTEyKSBbMHg3ZmZmNTk5NDFmMzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3F1ZXVlX2NvbnRleHRfYXN5bmNfaWZfbmVlZGVkICsgODcgKGxpYm5ldHdvcmsuZHlsaWIgKyAyMzk4MzEpIFsweDdmZmY1OThkMjhkN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX253X2Nvbm5lY3Rpb25fY2FuY2VsX2lubmVyX2Jsb2NrX2ludm9rZSArIDk5OCAobGlibmV0d29yay5keWxpYiArIDY5NzU3NCkgWzB4N2ZmZjU5OTQyNGU2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfZW5kcG9pbnRfaGFuZGxlcl9jYW5jZWwgKyAxMzM2IChsaWJuZXR3b3JrLmR5bGliICsgNjAxMDgwKSBbMHg3ZmZmNTk5MmFiZjhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIC1bTldDb25jcmV0ZV9ud19lbmRwb2ludF9yZXNvbHZlciBjYW5jZWxXaXRoSGFuZGxlcjpmb3JjZWQ6XSArIDIzOCAobGlibmV0d29yay5keWxpYiArIDcyODI4NikgWzB4N2ZmZjU5OTQ5Y2RlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIHhwY19hcnJheV9hcHBseSArIDU3IChsaWJ4cGMuZHlsaWIgKyA0NzgwMikgWzB4N2ZmZjViNjkwYWJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX182MC1bTldDb25jcmV0ZV9ud19lbmRwb2ludF9yZXNvbHZlciBjYW5jZWxXaXRoSGFuZGxlcjpmb3JjZWQ6XV9ibG9ja19pbnZva2UgKyAyNyAobGlibmV0d29yay5keWxpYiArIDcyOTU2MykgWzB4N2ZmZjU5OTRhMWRiXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19lbmRwb2ludF9oYW5kbGVyX2NhbmNlbCArIDEzMzYgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MDEwODApIFsweDdmZmY1OTkyYWJmOF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAtW05XQ29uY3JldGVfbndfZW5kcG9pbnRfZmxvdyBjYW5jZWxXaXRoSGFuZGxlcjpmb3JjZWQ6XSArIDUwOSAobGlibmV0d29yay5keWxpYiArIDczMDA3NykgWzB4N2ZmZjU5OTRhM2RkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYm9yaW5nc3NsX2Rpc2Nvbm5lY3QgKyAxODkgKGxpYmJvcmluZ3NzbC5keWxpYiArIDY5MDAxKSBbMHg3ZmZmNTg1YTlkODldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJvcmluZ3NzbF9zZXNzaW9uX2Rpc2Nvbm5lY3QgKyAxMDIgKGxpYmJvcmluZ3NzbC5keWxpYiArIDUyNDAyKSBbMHg3ZmZmNTg1YTVjYjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgU1NMX3NodXRkb3duICsgMTg4IChsaWJib3Jpbmdzc2wuZHlsaWIgKyA0MDQ2NjgpIFsweDdmZmY1ODVmYmNiY10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbDNfZGlzcGF0Y2hfYWxlcnQoc3NsX3N0KikgKyAzNCAobGliYm9yaW5nc3NsLmR5bGliICsgMzUyOTQ2KSBbMHg3ZmZmNTg1ZWYyYjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OmRvX3NzbDNfd3JpdGUoc3NsX3N0KiwgaW50LCB1bnNpZ25lZCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50KSArIDU3MiAobGliYm9yaW5nc3NsLmR5bGliICsgMzUxOTMzKSBbMHg3ZmZmNTg1ZWVlYmRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6c3NsM193cml0ZV9wZW5kaW5nKHNzbF9zdCosIGludCwgdW5zaWduZWQgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCkgKyA1NSAobGliYm9yaW5nc3NsLmR5bGliICsgMzUzMTM0KSBbMHg3ZmZmNTg1ZWYzNmVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBic3NsOjpzc2xfd3JpdGVfYnVmZmVyX2ZsdXNoKHNzbF9zdCopICsgMTc4IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNDYxNTApIFsweDdmZmY1ODVlZDgyNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgQklPX3dyaXRlICsgNDYgKGxpYmJvcmluZ3NzbC5keWxpYiArIDI1Mjg0MSkgWzB4N2ZmZjU4NWQ2YmE5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3Byb3RvY29sX2Jpb193cml0ZSArIDkzIChsaWJib3Jpbmdzc2wuZHlsaWIgKyAxMDEyNykgWzB4N2ZmZjU4NTliNzhmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYm9yaW5nc3NsX3dyaXRlX2J5dGVzICsgMTYwOSAobGliYm9yaW5nc3NsLmR5bGliICsgNTk4NjIpIFsweDdmZmY1ODVhNzlkNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfc29ja2V0X2ZpbmFsaXplX291dHB1dF9mcmFtZXMgKyAxMzQgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MjA5MzQpIFsweDdmZmY1OTkyZjk4Nl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX253X3NvY2tldF9maW5hbGl6ZV9vdXRwdXRfZnJhbWVzX2Jsb2NrX2ludm9rZSArIDczIChsaWJuZXR3b3JrLmR5bGliICsgNjIxNzM3KSBbMHg3ZmZmNTk5MmZjYTldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19zb2NrZXRfZnJhbWVfb3V0cHV0X2ZpbmFsaXplciArIDEwMyAobGlibmV0d29yay5keWxpYiArIDYyMjYzMSkgWzB4N2ZmZjU5OTMwMDI3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19zb2NrZXRfc2VydmljZV93cml0ZXMgKyAxNDMgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MjI4NjMpIFsweDdmZmY1OTkzMDEwZl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX3NlbmRtc2cgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDI2NDgyKSBbMHg3ZmZmNWI1OTc3NzJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBobmRsX3VuaXhfc2NhbGw2NCArIDIyIChrZXJuZWwgKyAxNDI2MTgyKSBbMHhmZmZmZmY4MDAwMzVjMzA2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICB1bml4X3N5c2NhbGw2NCArIDYzNyAoa2VybmVsICsgODEwMTA1MykgWzB4ZmZmZmZmODAwMDliOWNiZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBzZW5kbXNnX25vY2FuY2VsICsgNDg0IChrZXJuZWwgKyA3NTYwODY4KSBbMHhmZmZmZmY4MDAwOTM1ZWE0XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NTU5NTYwKSBbMHhmZmZmZmY4MDAwOTM1OTg4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBzb3NlbmQgKyAxOTA2IChrZXJuZWwgKyA3NDg4MDk4KSBbMHhmZmZmZmY4MDAwOTI0MjYyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzQyNzY1MykgWzB4ZmZmZmZmODAwMDkxNTY0NV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzI2MTM2NykgWzB4ZmZmZmZmODAwMDhlY2NiN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NDA4NzM0KSBbMHhmZmZmZmY4MDAwOTEwYzVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NjQ3NykgWzB4ZmZmZmZmODAwMDhkODExZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGxja19tdHhfc2xlZXAgKyAxMjggKGtlcm5lbCArIDE4MzAwOTYpIFsweGZmZmZmZjgwMDAzYmVjZDBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHRocmVhZF9ibG9ja19yZWFzb24gKyAxNzUgKGtlcm5lbCArIDE4ODEyNDcpIFsweGZmZmZmZjgwMDAzY2I0OWZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyAxODg3NjA5KSBbMHhmZmZmZmY4MDAwM2NjZDc5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbWFjaGluZV9zd2l0Y2hfY29udGV4dCArIDE5NSAoa2VybmVsICsgMjk3NTg0MykgWzB4ZmZmZmZmODAwMDRkNjg2M10gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBhYmI5MDAwIC0gICAgICAgIDB4MTBhZGRlZmZmICAyQlVBOEM0UzJDLmNvbS5hZ2lsZWJpdHMub25lcGFzc3dvcmQtb3N4LWhlbHBlciA2LjguOSAoNjg5MDAwKSA8RjE2RUVERkYtQ0JDNy0zQjAyLUE5REMtQkI4N0M2Rjc4NUM4PiAgL0FwcGxpY2F0aW9ucy8xUGFzc3dvcmQuYXBwL0NvbnRlbnRzL0xpYnJhcnkvTG9naW5JdGVtcy8yQlVBOEM0UzJDLmNvbS5hZ2lsZWJpdHMub25lcGFzc3dvcmQtb3N4LWhlbHBlci5hcHAvQ29udGVudHMvTWFjT1MvMkJVQThDNFMyQy5jb20uYWdpbGViaXRzLm9uZXBhc3N3b3JkLW9zeC1oZWxwZXIKICAgICAgICAgICAweDEwYjBiNTAwMCAtICAgICAgICAweDEwYjEzM2ZmZiAgbmV0LmhvY2tleWFwcC5zZGsubWFjIDQuMS4zICg2MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFDM0RDRTExLTI5RDItMzg4My1COThBLTFCRDY1QTA1RUFCMD4gIC9BcHBsaWNhdGlvbnMvMVBhc3N3b3JkLmFwcC9Db250ZW50cy9GcmFtZXdvcmtzL0hvY2tleVNESy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Ib2NrZXlTREsKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDkzMzE1NURDLTY0MDQtMzY0Ni1CNkFFLTA4N0QzNEY2MTFCRT4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQy9BcHBLaXQKICAgICAgICAweDdmZmYyZTQ1OTAwMCAtICAgICAweDdmZmYyZTdmYWZmZiAgY29tLmFwcGxlLkNGTmV0d29yayA5NzguMC43ICg5NzguMC43KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZTgxNDAwMCAtICAgICAweDdmZmYyZWIwYWZmZiAgY29tLmFwcGxlLkhJVG9vbGJveCAyLjEuMSAoOTE4LjUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEY3REE0RjIwLTEyM0ItMzBGQi05QzI3LTVBQjE3NDZERUY2Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNTg1OTkwMDAgLSAgICAgMHg3ZmZmNTg2NjdmZmYgIGxpYmJvcmluZ3NzbC5keWxpYiAoMTA5LjI1MC4yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw4MDQ0QkJCNy1GNkUwLTM2QzEtOTVEMS05QzJBQjE5Q0Y5NEE+ICAvdXNyL2xpYi9saWJib3Jpbmdzc2wuZHlsaWIKICAgICAgICAweDdmZmY1OTg5ODAwMCAtICAgICAweDdmZmY1OWJlOWZmZiAgbGlibmV0d29yay5keWxpYiAoMTIyOS4yNTAuMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDcyQzdFOUUzLUIyQkUtMzMwMC1CRTFCLTY0NjA2MjIyMDIyQz4gIC91c3IvbGliL2xpYm5ldHdvcmsuZHlsaWIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYWNjb3VudHNkIFsyODZdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNTQuODEgTUIKTm90ZTogICAgICAgICAgICA1IGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZDE3ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoYWNjb3VudHNkICsgMjQ5MCkgWzB4MTA5MGQ3OWJhXSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFjN2I0ICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwOTBkNzAwMCAtICAgICAgICAweDEwOTBkN2ZmZiAgYWNjb3VudHNkICg2NzcuNi4wLjgpICAgICAgICAgICAgICAgICAgPEY2REVEODA0LTdFOEItMzE1My1CQzk4LTVDNDlCQjU3OTNBOD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY291bnRzLmZyYW1ld29yay9WZXJzaW9ucy9BL1N1cHBvcnQvYWNjb3VudHNkCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBBZGd1YXJkIFs0MDFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTUxLjQ5IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDE1NDAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBOU0FwcGxpY2F0aW9uTWFpbiArIDc3NyAoQXBwS2l0ICsgMTE2NDQpIFsweDdmZmYyY2JhMGQ3Y10gMQogICAgICAxICAtW05TQXBwbGljYXRpb24gcnVuXSArIDY5OSAoQXBwS2l0ICsgNzk5MzIpIFsweDdmZmYyY2JiMTgzY10gMQogICAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbihOU0V2ZW50KSBfbmV4dEV2ZW50TWF0Y2hpbmdFdmVudE1hc2s6dW50aWxEYXRlOmluTW9kZTpkZXF1ZXVlOl0gKyAxMzYxIChBcHBLaXQgKyAxMDQyMjMpIFsweDdmZmYyY2JiNzcxZl0gMQogICAgICAgICAgMSAgX0RQU05leHRFdmVudCArIDk2NSAoQXBwS2l0ICsgMTA4OTM1KSBbMHg3ZmZmMmNiYjg5ODddIDEKICAgICAgICAgICAgMSAgX0Jsb2NrVW50aWxOZXh0RXZlbnRNYXRjaGluZ0xpc3RJbk1vZGVXaXRoRmlsdGVyICsgNjQgKEhJVG9vbGJveCArIDQyMDM4KSBbMHg3ZmZmMmU4MWU0MzZdIDEKICAgICAgICAgICAgICAxICBSZWNlaXZlTmV4dEV2ZW50Q29tbW9uICsgNjAzIChISVRvb2xib3ggKyA0MjY2MSkgWzB4N2ZmZjJlODFlNmE1XSAxCiAgICAgICAgICAgICAgICAxICBSdW5DdXJyZW50RXZlbnRMb29wSW5Nb2RlICsgMjkyIChISVRvb2xib3ggKyA0MzM3MSkgWzB4N2ZmZjJlODFlOTZiXSAxCiAgICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDE1N2IgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBtb25pdG9yQ2FjaGVkRGF0YSArIDYwMyAoS1NDcmFzaCArIDEyMDYyNykgWzB4MTA4ZWE0NzMzXSAxCiAgICAgICAgICAxICBzbGVlcCArIDQxIChsaWJzeXN0ZW1fYy5keWxpYiArIDUwMTYyMikgWzB4N2ZmZjViNTIxNzc2XSAxCiAgICAgICAgICAgIDEgIF9fc2Vtd2FpdF9zaWduYWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwMjc0KSBbMHg3ZmZmNWI1OTVmMzJdIDEKICAgICAgICAgICAgICoxICBzZW1hcGhvcmVfd2FpdF9jb250aW51ZSArIDAgKGtlcm5lbCArIDE5MzUzNjApIFsweGZmZmZmZjgwMDAzZDg4MDBdIDEKCiAgVGhyZWFkIDB4MTU3YyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiS1NDcmFzaCBFeGNlcHRpb24gSGFuZGxlciAoU2Vjb25kYXJ5KSIgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBoYW5kbGVFeGNlcHRpb25zICsgMTI3IChLU0NyYXNoICsgMTQ0MjU0KSBbMHgxMDhlYWEzN2VdIDEKICAgICAgICAgIDEgIHRocmVhZF9zdXNwZW5kICsgODAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA5MTg0NCkgWzB4N2ZmZjViNWE3NmM0XSAxCiAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgMjAxMjAxNikgWzB4ZmZmZmZmODAwMDNlYjM3MF0gKHN1c3BlbmRlZCkgMQoKICBUaHJlYWQgMHgxNTdkICAgICAgICAgICAgIFRocmVhZCBuYW1lICJLU0NyYXNoIEV4Y2VwdGlvbiBIYW5kbGVyIChQcmltYXJ5KSIgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIGhhbmRsZUV4Y2VwdGlvbnMgKyAxODEgKEtTQ3Jhc2ggKyAxNDQzMDgpIFsweDEwOGVhYTNiNF0gMQogICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTU3ZSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIGRuc0NoYW5nZVJ1bkxvb3Aodm9pZCopICsgNDA5IChBZGd1YXJkQ29yZSArIDQ0MjMzKSBbMHgxMDkwYjNjYzldIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDE1ODIgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU0V2ZW50VGhyZWFkIiAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX05TRXZlbnRUaHJlYWQgKyAxNzUgKEFwcEtpdCArIDE0MDk2NikgWzB4N2ZmZjJjYmMwNmE2XSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTVjMyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg1NWFiNzggICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgQUdUaHJlYWQ6OnJ1bl90aHJlYWQodm9pZCopICsgNDggKEFkZ3VhcmRDb3JlICsgMjA1MTg0KSBbMHgxMDkwZGIxODBdIDEKICAgICAgICAgIDEgIEFHRXZlbnRMb29wOjpydW4oKSArIDEwMCAoQWRndWFyZENvcmUgKyAzMjgyNjApIFsweDEwOTBmOTI0NF0gMQogICAgICAgICAgICAxICBldmVudF9iYXNlX2xvb3AgKyA5NzkgKEFkZ3VhcmRDb3JlICsgMTA2MjUzMSkgWzB4MTA5MWFjNjgzXSAxCiAgICAgICAgICAgICAgMSAga2V2ZW50ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzMDYwNikgWzB4N2ZmZjViNTk4NzhlXSAxCiAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDY5ODc3OTIpIFsweGZmZmZmZjgwMDA4YWEwMTBdIDEKCiAgVGhyZWFkIDB4NTVhYjc5ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIEFHVGhyZWFkOjpydW5fdGhyZWFkKHZvaWQqKSArIDQ4IChBZGd1YXJkQ29yZSArIDIwNTE4NCkgWzB4MTA5MGRiMTgwXSAxCiAgICAgICAgICAxICBBR0V2ZW50TG9vcDo6cnVuKCkgKyAxMDAgKEFkZ3VhcmRDb3JlICsgMzI4MjYwKSBbMHgxMDkwZjkyNDRdIDEKICAgICAgICAgICAgMSAgZXZlbnRfYmFzZV9sb29wICsgOTc5IChBZGd1YXJkQ29yZSArIDEwNjI1MzEpIFsweDEwOTFhYzY4M10gMQogICAgICAgICAgICAgIDEgIGtldmVudCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzA2MDYpIFsweDdmZmY1YjU5ODc4ZV0gMQogICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA2OTg3NzkyKSBbMHhmZmZmZmY4MDAwOGFhMDEwXSAxCgogIFRocmVhZCAweDU1YWI3YSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBBR1RocmVhZDo6cnVuX3RocmVhZCh2b2lkKikgKyA0OCAoQWRndWFyZENvcmUgKyAyMDUxODQpIFsweDEwOTBkYjE4MF0gMQogICAgICAgICAgMSAgQUdFdmVudExvb3A6OnJ1bigpICsgMTAwIChBZGd1YXJkQ29yZSArIDMyODI2MCkgWzB4MTA5MGY5MjQ0XSAxCiAgICAgICAgICAgIDEgIGV2ZW50X2Jhc2VfbG9vcCArIDk3OSAoQWRndWFyZENvcmUgKyAxMDYyNTMxKSBbMHgxMDkxYWM2ODNdIDEKICAgICAgICAgICAgICAxICBrZXZlbnQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDMwNjA2KSBbMHg3ZmZmNWI1OTg3OGVdIDEKICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNjk4Nzc5MikgWzB4ZmZmZmZmODAwMDhhYTAxMF0gMQoKICBUaHJlYWQgMHg1NWFiN2IgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgQUdUaHJlYWQ6OnJ1bl90aHJlYWQodm9pZCopICsgNDggKEFkZ3VhcmRDb3JlICsgMjA1MTg0KSBbMHgxMDkwZGIxODBdIDEKICAgICAgICAgIDEgIEFHRXZlbnRMb29wOjpydW4oKSArIDEwMCAoQWRndWFyZENvcmUgKyAzMjgyNjApIFsweDEwOTBmOTI0NF0gMQogICAgICAgICAgICAxICBldmVudF9iYXNlX2xvb3AgKyA5NzkgKEFkZ3VhcmRDb3JlICsgMTA2MjUzMSkgWzB4MTA5MWFjNjgzXSAxCiAgICAgICAgICAgICAgMSAga2V2ZW50ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzMDYwNikgWzB4N2ZmZjViNTk4NzhlXSAxCiAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDY5ODc3OTIpIFsweGZmZmZmZjgwMDA4YWEwMTBdIDEKCiAgVGhyZWFkIDB4NTVhYjdjICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIEFHVGhyZWFkOjpydW5fdGhyZWFkKHZvaWQqKSArIDQ4IChBZGd1YXJkQ29yZSArIDIwNTE4NCkgWzB4MTA5MGRiMTgwXSAxCiAgICAgICAgICAxICBBR0V2ZW50TG9vcDo6cnVuKCkgKyAxMDAgKEFkZ3VhcmRDb3JlICsgMzI4MjYwKSBbMHgxMDkwZjkyNDRdIDEKICAgICAgICAgICAgMSAgZXZlbnRfYmFzZV9sb29wICsgOTc5IChBZGd1YXJkQ29yZSArIDEwNjI1MzEpIFsweDEwOTFhYzY4M10gMQogICAgICAgICAgICAgIDEgIGtldmVudCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzA2MDYpIFsweDdmZmY1YjU5ODc4ZV0gMQogICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA2OTg3NzkyKSBbMHhmZmZmZmY4MDAwOGFhMDEwXSAxCgogIFRocmVhZCAweDU1YWI3ZCAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBBR1RocmVhZDo6cnVuX3RocmVhZCh2b2lkKikgKyA0OCAoQWRndWFyZENvcmUgKyAyMDUxODQpIFsweDEwOTBkYjE4MF0gMQogICAgICAgICAgMSAgQUdFdmVudExvb3A6OnJ1bigpICsgMTAwIChBZGd1YXJkQ29yZSArIDMyODI2MCkgWzB4MTA5MGY5MjQ0XSAxCiAgICAgICAgICAgIDEgIGV2ZW50X2Jhc2VfbG9vcCArIDk3OSAoQWRndWFyZENvcmUgKyAxMDYyNTMxKSBbMHgxMDkxYWM2ODNdIDEKICAgICAgICAgICAgICAxICBrZXZlbnQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDMwNjA2KSBbMHg3ZmZmNWI1OTg3OGVdIDEKICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNjk4Nzc5MikgWzB4ZmZmZmZmODAwMDhhYTAxMF0gMQoKICBUaHJlYWQgMHg1NWFiN2UgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgQUdUaHJlYWQ6OnJ1bl90aHJlYWQodm9pZCopICsgNDggKEFkZ3VhcmRDb3JlICsgMjA1MTg0KSBbMHgxMDkwZGIxODBdIDEKICAgICAgICAgIDEgIEFHRXZlbnRMb29wOjpydW4oKSArIDEwMCAoQWRndWFyZENvcmUgKyAzMjgyNjApIFsweDEwOTBmOTI0NF0gMQogICAgICAgICAgICAxICBldmVudF9iYXNlX2xvb3AgKyA5NzkgKEFkZ3VhcmRDb3JlICsgMTA2MjUzMSkgWzB4MTA5MWFjNjgzXSAxCiAgICAgICAgICAgICAgMSAga2V2ZW50ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzMDYwNikgWzB4N2ZmZjViNTk4NzhlXSAxCiAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDY5ODc3OTIpIFsweGZmZmZmZjgwMDA4YWEwMTBdIDEKCiAgVGhyZWFkIDB4NTVhYjdmICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIEFHVGhyZWFkOjpydW5fdGhyZWFkKHZvaWQqKSArIDQ4IChBZGd1YXJkQ29yZSArIDIwNTE4NCkgWzB4MTA5MGRiMTgwXSAxCiAgICAgICAgICAxICBBR0V2ZW50TG9vcDo6cnVuKCkgKyAxMDAgKEFkZ3VhcmRDb3JlICsgMzI4MjYwKSBbMHgxMDkwZjkyNDRdIDEKICAgICAgICAgICAgMSAgZXZlbnRfYmFzZV9sb29wICsgOTc5IChBZGd1YXJkQ29yZSArIDEwNjI1MzEpIFsweDEwOTFhYzY4M10gMQogICAgICAgICAgICAgIDEgIGtldmVudCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzA2MDYpIFsweDdmZmY1YjU5ODc4ZV0gMQogICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA2OTg3NzkyKSBbMHhmZmZmZmY4MDAwOGFhMDEwXSAxCgogIFRocmVhZCAweDU1YWI4MCAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBBR1RocmVhZDo6cnVuX3RocmVhZCh2b2lkKikgKyA0OCAoQWRndWFyZENvcmUgKyAyMDUxODQpIFsweDEwOTBkYjE4MF0gMQogICAgICAgICAgMSAgQUdFdmVudExvb3A6OnJ1bigpICsgMTAwIChBZGd1YXJkQ29yZSArIDMyODI2MCkgWzB4MTA5MGY5MjQ0XSAxCiAgICAgICAgICAgIDEgIGV2ZW50X2Jhc2VfbG9vcCArIDk3OSAoQWRndWFyZENvcmUgKyAxMDYyNTMxKSBbMHgxMDkxYWM2ODNdIDEKICAgICAgICAgICAgICAxICBrZXZlbnQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDMwNjA2KSBbMHg3ZmZmNWI1OTg3OGVdIDEKICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNjk4Nzc5MikgWzB4ZmZmZmZmODAwMDhhYTAxMF0gMQoKICBUaHJlYWQgMHg1NWFiODEgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgQUdUaHJlYWQ6OnJ1bl90aHJlYWQodm9pZCopICsgNDggKEFkZ3VhcmRDb3JlICsgMjA1MTg0KSBbMHgxMDkwZGIxODBdIDEKICAgICAgICAgIDEgIEFHRXZlbnRMb29wOjpydW4oKSArIDEwMCAoQWRndWFyZENvcmUgKyAzMjgyNjApIFsweDEwOTBmOTI0NF0gMQogICAgICAgICAgICAxICBldmVudF9iYXNlX2xvb3AgKyA5NzkgKEFkZ3VhcmRDb3JlICsgMTA2MjUzMSkgWzB4MTA5MWFjNjgzXSAxCiAgICAgICAgICAgICAgMSAga2V2ZW50ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzMDYwNikgWzB4N2ZmZjViNTk4NzhlXSAxCiAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDY5ODc3OTIpIFsweGZmZmZmZjgwMDA4YWEwMTBdIDEKCiAgVGhyZWFkIDB4NTVhYjg1ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fc2VsZWN0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzNDMzMCkgWzB4N2ZmZjViNTk5NjFhXSAxCiAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwOGQwNjAwMCAtICAgICAgICAweDEwOGUxMWZmZiAgY29tLmFkZ3VhcmQubWFjLmFkZ3VhcmQgMi4wLjYuNTU5IHJlbGVhc2UgKDU1OSkgPDVDQ0QwNTc4LThBNzQtMzA5Qi05OUI4LTNEMDI0NjAwMjkwNz4gIC9BcHBsaWNhdGlvbnMvQWRndWFyZC5hcHAvQ29udGVudHMvTWFjT1MvQWRndWFyZAogICAgICAgICAgIDB4MTA4ZTg3MDAwIC0gICAgICAgIDB4MTA4ZWQ1ZmZmICBvcmcuY29jb2Fwb2RzLktTQ3Jhc2ggMS4xNS4xMiAoMSkgICAgICAgICAgICAgICA8MzM3Nzg4NjgtMjIwNS0zMzRCLUJGRDYtNUI3NThDRDFDQzM3PiAgL0FwcGxpY2F0aW9ucy9BZGd1YXJkLmFwcC9Db250ZW50cy9GcmFtZXdvcmtzL0tTQ3Jhc2guZnJhbWV3b3JrL1ZlcnNpb25zL0EvS1NDcmFzaAogICAgICAgICAgIDB4MTA5MGE5MDAwIC0gICAgICAgIDB4MTA5NzIyZmZmICBjb20uYWRndWFyZC5BZGd1YXJkQ29yZSAgKCkgICAgICAgICAgICAgICAgICAgICA8M0I0MDQ0QUItNzlGRC0zQTcwLUI2RDktOTk3QTM5NDczOEEwPiAgL0FwcGxpY2F0aW9ucy9BZGd1YXJkLmFwcC9Db250ZW50cy9GcmFtZXdvcmtzL0FkZ3VhcmRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0FkZ3VhcmRDb3JlCiAgICAgICAgMHg3ZmZmMmNiOWUwMDAgLSAgICAgMHg3ZmZmMmQ5NTNmZmYgIGNvbS5hcHBsZS5BcHBLaXQgNi45ICgxNjcxLjUwLjExMSkgICAgICAgICAgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmU4MTQwMDAgLSAgICAgMHg3ZmZmMmViMGFmZmYgIGNvbS5hcHBsZS5ISVRvb2xib3ggMi4xLjEgKDkxOC41KSAgICAgICAgICAgICAgIDxGN0RBNEYyMC0xMjNCLTMwRkItOUMyNy01QUIxNzQ2REVGNjM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNGE3MDAwIC0gICAgIDB4N2ZmZjViNTJlZmZmICBsaWJzeXN0ZW1fYy5keWxpYiAoMTI3Mi4yNTAuMSkgICAgICAgICAgICAgICAgICA8N0VEQUNGNzgtMkZBMy0zNUI4LUIwNTEtRDcwNDc1QTM1MTE3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9jLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGFkaWQgWzMyM10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMy44OSBNQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGVmMiAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGFkaWQgKyA5MDM0MTYpIFsweDEwZTZlMDhmOF0gMQogICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZTYwNDAwMCAtICAgICAgICAweDEwZTc5OGZmZiAgYWRpZCAoNC4xOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZDMkNGODVCLUY5RTktMzAyRS04RkIwLTFERUU0QkEyNDY1MD4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlQURJLmZyYW1ld29yay9WZXJzaW9ucy9BL2FkaWQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYWRwcml2YWN5ZCBbMzc4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDE0LjcwIE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDE1NjEgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGJhY2tncm91bmQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGFkcHJpdmFjeWQgKyA1Njc3KSBbMHgxMGY1NGI2MmRdIDEKICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDEzZjdhNyAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZjU0YTAwMCAtICAgICAgICAweDEwZjU0YmZmZiAgYWRwcml2YWN5ZCAoMTc5KSAgICAgICAgICAgICAgICAgICAgICAgPDdEMzkzQTY0LUY0MkQtMzE4My1BRDcwLTJCNDFCMzgzRDVDRj4gIC91c3IvbGliZXhlYy9hZHByaXZhY3lkCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBBaXJQbGF5VUlBZ2VudCBbMzcwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDQwOTYgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTNhZCAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgIE5TQXBwbGljYXRpb25NYWluICsgNzc3IChBcHBLaXQgKyAxMTY0NCkgWzB4N2ZmZjJjYmEwZDdjXSAxCiAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbiBydW5dICsgNjk5IChBcHBLaXQgKyA3OTkzMikgWzB4N2ZmZjJjYmIxODNjXSAxCiAgICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uKE5TRXZlbnQpIF9uZXh0RXZlbnRNYXRjaGluZ0V2ZW50TWFzazp1bnRpbERhdGU6aW5Nb2RlOmRlcXVldWU6XSArIDEzNjEgKEFwcEtpdCArIDEwNDIyMykgWzB4N2ZmZjJjYmI3NzFmXSAxCiAgICAgICAgICAxICBfRFBTTmV4dEV2ZW50ICsgOTY1IChBcHBLaXQgKyAxMDg5MzUpIFsweDdmZmYyY2JiODk4N10gMQogICAgICAgICAgICAxICBfQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5nTGlzdEluTW9kZVdpdGhGaWx0ZXIgKyA2NCAoSElUb29sYm94ICsgNDIwMzgpIFsweDdmZmYyZTgxZTQzNl0gMQogICAgICAgICAgICAgIDEgIFJlY2VpdmVOZXh0RXZlbnRDb21tb24gKyA2MDMgKEhJVG9vbGJveCArIDQyNjYxKSBbMHg3ZmZmMmU4MWU2YTVdIDEKICAgICAgICAgICAgICAgIDEgIFJ1bkN1cnJlbnRFdmVudExvb3BJbk1vZGUgKyAyOTIgKEhJVG9vbGJveCArIDQzMzcxKSBbMHg3ZmZmMmU4MWU5NmJdIDEKICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTNkYiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TRXZlbnRUaHJlYWQiICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfTlNFdmVudFRocmVhZCArIDE3NSAoQXBwS2l0ICsgMTQwOTY2KSBbMHg3ZmZmMmNiYzA2YTZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBiY2IwMDAwIC0gICAgICAgIDB4MTBiY2I5ZmZmICBjb20uYXBwbGUuQWlyUGxheVVJQWdlbnQgMi4wICgzODMuNC4zKSA8ODM2NDhCQTctQTU0RS0zQkQzLThGMTctQjQ1NzI4RDE4MEQ2PiAgL1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9BaXJQbGF5VUlBZ2VudC5hcHAvQ29udGVudHMvTWFjT1MvQWlyUGxheVVJQWdlbnQKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgPDkzMzE1NURDLTY0MDQtMzY0Ni1CNkFFLTA4N0QzNEY2MTFCRT4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQy9BcHBLaXQKICAgICAgICAweDdmZmYyZTgxNDAwMCAtICAgICAweDdmZmYyZWIwYWZmZiAgY29tLmFwcGxlLkhJVG9vbGJveCAyLjEuMSAoOTE4LjUpICAgICAgPEY3REE0RjIwLTEyM0ItMzBGQi05QzI3LTVBQjE3NDZERUY2Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBBaXJQbGF5WFBDSGVscGVyIFs5OF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA0MzA4IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4M2JjICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBUaHJlYWQgMHg1NWI2NmMgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnRfd3F0aHJlYWQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjEzKSBbMHg3ZmZmNWI2NTAzZmRdIDEKICAgIDEgIF9wdGhyZWFkX3dxdGhyZWFkICsgNDIxIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDk3NDUpIFsweDdmZmY1YjY1MDYxMV0gMQogICAgICAxICBfZGlzcGF0Y2hfd29ya2xvb3Bfd29ya2VyX3RocmVhZCArIDU5OCAobGliZGlzcGF0Y2guZHlsaWIgKyA3NTUwMSkgWzB4N2ZmZjViNDFmNmVkXSAxCiAgICAgICAgMSAgX2Rpc3BhdGNoX2xhbmVfaW52b2tlICsgMzg1IChsaWJkaXNwYXRjaC5keWxpYiArIDQxODc4KSBbMHg3ZmZmNWI0MTczOTZdIDEKICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX3NlcmlhbF9kcmFpbiArIDYwMiAobGliZGlzcGF0Y2guZHlsaWIgKyAzOTEzNikgWzB4N2ZmZjViNDE2OGUwXSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jbGllbnRfY2FsbG91dCArIDggKGxpYmRpc3BhdGNoLmR5bGliICsgMTM4ODUpIFsweDdmZmY1YjQxMDYzZF0gMQogICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jYWxsX2Jsb2NrX2FuZF9yZWxlYXNlICsgMTIgKGxpYmRpc3BhdGNoLmR5bGliICsgOTcyMCkgWzB4N2ZmZjViNDBmNWY4XSAxCiAgICAgICAgICAgICAgICAxICBfX2Jyb3dzZXJfaGFuZGxlQlRMRUV2ZW50RXh0ZXJuYWxfYmxvY2tfaW52b2tlICsgMTEzOSAoQVBUcmFuc3BvcnQgKyAyNDc5MzkpIFsweDdmZmYzZTU1MDg4M10gMQogICAgICAgICAgICAgICAgICAxICBicm93c2VyX3VwZGF0ZUFWRGV2aWNlUHJlc2VudCArIDU2IChBUFRyYW5zcG9ydCArIDIzMTA3NCkgWzB4N2ZmZjNlNTRjNmEyXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgQVBDb25uZWN0aXZpdHlIZWxwZXJRdWVyeVdpRmlQb3dlciArIDQ2IChBUFRyYW5zcG9ydCArIDE5Mzc2NCkgWzB4N2ZmZjNlNTQzNGU0XSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9iYXJyaWVyX3N5bmNfaW52b2tlX2FuZF9jb21wbGV0ZSArIDYwIChsaWJkaXNwYXRjaC5keWxpYiArIDYxNzM3KSBbMHg3ZmZmNWI0MWMxMjldIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX0FQQ29ubmVjdGl2aXR5SGVscGVyUXVlcnlXaUZpUG93ZXIgKyA2OCAoQVBUcmFuc3BvcnQgKyAxOTM4NDIpIFsweDdmZmYzZTU0MzUzMl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgQXBwbGU4MDIxMUdldFBvd2VyICsgMzkgKEFwcGxlODAyMTEgKyA2MzU3OSkgWzB4N2ZmZjNmNTMzODViXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEFwcGxlODAyMTFDb3B5VmFsdWUgKyA2OTkgKEFwcGxlODAyMTEgKyA4MzU1KSBbMHg3ZmZmM2Y1MjYwYTNdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBBcHBsZTgwMjExR2V0ICsgMjAxMyAoQXBwbGU4MDIxMSArIDE1MjA0KSBbMHg3ZmZmM2Y1MjdiNjRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9faW9jdGwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDcwMDIpIFsweDdmZmY1YjU5MmI1YV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBobmRsX3VuaXhfc2NhbGw2NCArIDIyIChrZXJuZWwgKyAxNDI2MTgyKSBbMHhmZmZmZmY4MDAwMzVjMzA2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdW5peF9zeXNjYWxsNjQgKyA2MzcgKGtlcm5lbCArIDgxMDEwNTMpIFsweGZmZmZmZjgwMDA5YjljYmRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlvY3RsICsgMTMyMSAoa2VybmVsICsgNzI4MzI4OSkgWzB4ZmZmZmZmODAwMDhmMjI1OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBmb19pb2N0bCArIDEyMyAoa2VybmVsICsgNjkzMDQyNykgWzB4ZmZmZmZmODAwMDg5YmZmYl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzMwOTk0MykgWzB4ZmZmZmZmODAwMDhmOGE3N10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaWZpb2N0bGxvY2tlZCArIDQ3IChrZXJuZWwgKyA0NTk0MzAzKSBbMHhmZmZmZmY4MDAwNjYxYTdmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlmaW9jdGwgKyAzMzA2IChrZXJuZWwgKyA0NTcxNjc0KSBbMHhmZmZmZmY4MDAwNjVjMjFhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaWZuZXRfaW9jdGwgKyA1MzUgKGtlcm5lbCArIDQ2MDg4NTUpIFsweGZmZmZmZjgwMDA2NjUzNTddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDMxRTEzOUM3LTRGMDMtM0QxRS1CQjdELTU1QzUyNkUyNDI5Qz4gKyAzNzQyNDUpIFsweGZmZmZmZjdmODE4MTk1ZTVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8NjMzQjkxOUUtOEY5My0zRUQ0LTlBMjktODk0QUIxRTc5RDI5PiArIDQyNDM0KSBbMHhmZmZmZmY3ZjgxNGZlNWMyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgSU9Db21tYW5kR2F0ZTo6cnVuQWN0aW9uKGludCAoKikoT1NPYmplY3QqLCB2b2lkKiwgdm9pZCosIHZvaWQqLCB2b2lkKiksIHZvaWQqLCB2b2lkKiwgdm9pZCosIHZvaWQqKSArIDczIChrZXJuZWwgKyA4NzU2NDg5KSBbMHhmZmZmZmY4MDAwYTU5ZDA5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBJT1dvcmtMb29wOjpjbG9zZUdhdGUoKSArIDM3IChrZXJuZWwgKyA4NzQwNTMzKSBbMHhmZmZmZmY4MDAwYTU1ZWI1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgMjk2MTAwMCkgWzB4ZmZmZmZmODAwMDRkMmU2OF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGxja19tdHhfbG9ja193YWl0X3g4NiArIDUwNSAoa2VybmVsICsgMjk2MzI4OSkgWzB4ZmZmZmZmODAwMDRkMzc1OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDE4ODc2MDkpIFsweGZmZmZmZjgwMDAzY2NkNzldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAoYmxvY2tlZCBieSBrZXJuZWwgbXV0ZXggb3duZWQgYnkga2VybmVsX3Rhc2sgWzBdIHRocmVhZCAweDFkMikgMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBkMWQ4MDAwIC0gICAgICAgIDB4MTBkMWRhZmZmICBBaXJQbGF5WFBDSGVscGVyICgzODMuNC4zKSAgICAgICAgICAgICAgICAgICA8N0FGRTNFN0YtNDU4OS0zQkUwLTlERUUtMzlGNkU1RjA1RjdBPiAgL3Vzci9saWJleGVjL0FpclBsYXlYUENIZWxwZXIKICAgICAgICAweDdmZmYzZTUxNDAwMCAtICAgICAweDdmZmYzZTU2Y2ZmZiAgY29tLmFwcGxlLmFwdHJhbnNwb3J0IDEuMCAoMzgzLjQuMykgICAgICAgICAgPEJGMkQ4MTg1LTFGMTctM0ZFOC1CNjc5LUU2MTIyM0M3NUM2QT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BUFRyYW5zcG9ydC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BUFRyYW5zcG9ydAogICAgICAgIDB4N2ZmZjNmNTI0MDAwIC0gICAgIDB4N2ZmZjNmNTUwZmZmICBjb20uYXBwbGUuZnJhbWV3b3JrLkFwcGxlODAyMTEgMTMuMCAoMTM4MC4yKSA8Mzg1MEUzQTktRTAwQS0zNzRFLTg3RUEtQUIwMUU1MDNFNzY5PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcGxlODAyMTEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGU4MDIxMQogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjdmODE0ZjQwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw2MzNCOTE5RS04RjkzLTNFRDQtOUEyOS04OTRBQjFFNzlEMjk+CiAgICoweGZmZmZmZjdmODE3YmUwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwzMUUxMzlDNy00RjAzLTNEMUUtQkI3RC01NUM1MjZFMjQyOUM+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGFpcnBvcnRkIFsxNzddCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTIuNjQgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4NGU4ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoYWlycG9ydGQgKyAzMTMzNzEpIFsweDEwN2Q3YTgxYl0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NGZhICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgID8\/PyBbMHg3ZjliN2RmMjY1MjBdIDEKICAgIDEgIHN0YXJ0X3dxdGhyZWFkICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIxMykgWzB4N2ZmZjViNjUwM2ZkXSAxCiAgICAgIDEgIF9wdGhyZWFkX3dxdGhyZWFkICsgNDIxIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDk3NDUpIFsweDdmZmY1YjY1MDYxMV0gMQogICAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF93b3JrZXJfdGhyZWFkICsgNTk4IChsaWJkaXNwYXRjaC5keWxpYiArIDc1NTAxKSBbMHg3ZmZmNWI0MWY2ZWRdIDEKICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2ludm9rZSArIDQzMyAobGliZGlzcGF0Y2guZHlsaWIgKyA0MTkyNikgWzB4N2ZmZjViNDE3M2M2XSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX3NlcmlhbF9kcmFpbiArIDYwMiAobGliZGlzcGF0Y2guZHlsaWIgKyAzOTEzNikgWzB4N2ZmZjViNDE2OGUwXSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfY2FsbF9ibG9ja19hbmRfcmVsZWFzZSArIDEyIChsaWJkaXNwYXRjaC5keWxpYiArIDk3MjApIFsweDdmZmY1YjQwZjVmOF0gMQogICAgICAgICAgICAgICAgICAxICA\/Pz8gKGFpcnBvcnRkICsgNDExMDk2KSBbMHgxMDdkOTI1ZDhdIDEKICAgICAgICAgICAgICAgICAgICAxICBDRlJlYWRTdHJlYW1SZWFkICsgMjQ5IChDb3JlRm91bmRhdGlvbiArIDQ2NzQ1MCkgWzB4N2ZmZjJmNTZhMWZhXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBmaWxlUmVhZCArIDMxIChDb3JlRm91bmRhdGlvbiArIDQ2OTgwOCkgWzB4N2ZmZjJmNTZhYjMwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIHJlYWQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDEyMDE4KSBbMHg3ZmZmNWI1OTNlZjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICoxICBobmRsX3VuaXhfc2NhbGw2NCArIDIyIChrZXJuZWwgKyAxNDI2MTgyKSBbMHhmZmZmZmY4MDAwMzVjMzA2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICB1bml4X3N5c2NhbGw2NCArIDYzNyAoa2VybmVsICsgODEwMTA1MykgWzB4ZmZmZmZmODAwMDliOWNiZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICByZWFkX25vY2FuY2VsICsgMTE0IChrZXJuZWwgKyA3Mjc3NDQyKSBbMHhmZmZmZmY4MDAwOGYwYjgyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3Mjc4MDg3KSBbMHhmZmZmZmY4MDAwOGYwZTA3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDQzMjYwMzYpIFsweGZmZmZmZjgwMDA2MjAyOTRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgc3BlY19yZWFkICsgNjcyIChrZXJuZWwgKyA0NDMyNDk2KSBbMHhmZmZmZmY4MDAwNjNhMjcwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MzFFMTM5QzctNEYwMy0zRDFFLUJCN0QtNTVDNTI2RTI0MjlDPiArIDQ1ODQ0NSkgWzB4ZmZmZmZmN2Y4MTgyZGVjZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDE4ODc2MDkpIFsweGZmZmZmZjgwMDAzY2NkNzldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAxCgogIFRocmVhZCAweDRmZCAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydF93cXRocmVhZCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMTMpIFsweDdmZmY1YjY1MDNmZF0gMQogICAgMSAgX3B0aHJlYWRfd3F0aHJlYWQgKyA0MjEgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTc0NSkgWzB4N2ZmZjViNjUwNjExXSAxCiAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF93b3JrZXJfdGhyZWFkICsgNTk4IChsaWJkaXNwYXRjaC5keWxpYiArIDc1NTAxKSBbMHg3ZmZmNWI0MWY2ZWRdIDEKICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9pbnZva2UgKyA0MzMgKGxpYmRpc3BhdGNoLmR5bGliICsgNDE5MjYpIFsweDdmZmY1YjQxNzNjNl0gMQogICAgICAgICAgMSAgX2Rpc3BhdGNoX2xhbmVfc2VyaWFsX2RyYWluICsgNjAyIChsaWJkaXNwYXRjaC5keWxpYiArIDM5MTM2KSBbMHg3ZmZmNWI0MTY4ZTBdIDEKICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NhbGxfYmxvY2tfYW5kX3JlbGVhc2UgKyAxMiAobGliZGlzcGF0Y2guZHlsaWIgKyA5NzIwKSBbMHg3ZmZmNWI0MGY1ZjhdIDEKICAgICAgICAgICAgICAgIDEgID8\/PyAoYWlycG9ydGQgKyA0MTA3MzQpIFsweDEwN2Q5MjQ2ZV0gMQogICAgICAgICAgICAgICAgICAxICBDRlJlYWRTdHJlYW1SZWFkICsgMjQ5IChDb3JlRm91bmRhdGlvbiArIDQ2NzQ1MCkgWzB4N2ZmZjJmNTZhMWZhXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgZmlsZVJlYWQgKyAzMSAoQ29yZUZvdW5kYXRpb24gKyA0Njk4MDgpIFsweDdmZmYyZjU2YWIzMF0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgcmVhZCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTIwMTgpIFsweDdmZmY1YjU5M2VmMl0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBobmRsX3VuaXhfc2NhbGw2NCArIDIyIChrZXJuZWwgKyAxNDI2MTgyKSBbMHhmZmZmZmY4MDAwMzVjMzA2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdW5peF9zeXNjYWxsNjQgKyA2MzcgKGtlcm5lbCArIDgxMDEwNTMpIFsweGZmZmZmZjgwMDA5YjljYmRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHJlYWRfbm9jYW5jZWwgKyAxMTQgKGtlcm5lbCArIDcyNzc0NDIpIFsweGZmZmZmZjgwMDA4ZjBiODJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3Mjc4MDg3KSBbMHhmZmZmZmY4MDAwOGYwZTA3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA0MzI2MDM2KSBbMHhmZmZmZmY4MDAwNjIwMjk0XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBzcGVjX3JlYWQgKyA2NzIgKGtlcm5lbCArIDQ0MzI0OTYpIFsweGZmZmZmZjgwMDA2M2EyNzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MzFFMTM5QzctNEYwMy0zRDFFLUJCN0QtNTVDNTI2RTI0MjlDPiArIDQ1ODQ0NSkgWzB4ZmZmZmZmN2Y4MTgyZGVjZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHRocmVhZF9ibG9ja19yZWFzb24gKyAxNzUgKGtlcm5lbCArIDE4ODEyNDcpIFsweGZmZmZmZjgwMDAzY2I0OWZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgMTg4NzYwOSkgWzB4ZmZmZmZmODAwMDNjY2Q3OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAxCgogIFRocmVhZCAweDU3NSAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICA\/Pz8gWzB4N2Y5YjdkYzEyNjYwXSAxCiAgICAxICBzdGFydF93cXRocmVhZCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMTMpIFsweDdmZmY1YjY1MDNmZF0gMQogICAgICAxICBfcHRocmVhZF93cXRocmVhZCArIDQyMSAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5NzQ1KSBbMHg3ZmZmNWI2NTA2MTFdIDEKICAgICAgICAxICBfZGlzcGF0Y2hfd29ya2xvb3Bfd29ya2VyX3RocmVhZCArIDU5OCAobGliZGlzcGF0Y2guZHlsaWIgKyA3NTUwMSkgWzB4N2ZmZjViNDFmNmVkXSAxCiAgICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9pbnZva2UgKyA0MzMgKGxpYmRpc3BhdGNoLmR5bGliICsgNDE5MjYpIFsweDdmZmY1YjQxNzNjNl0gMQogICAgICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9zZXJpYWxfZHJhaW4gKyA2MDIgKGxpYmRpc3BhdGNoLmR5bGliICsgMzkxMzYpIFsweDdmZmY1YjQxNjhlMF0gMQogICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jbGllbnRfY2FsbG91dCArIDggKGxpYmRpc3BhdGNoLmR5bGliICsgMTM4ODUpIFsweDdmZmY1YjQxMDYzZF0gMQogICAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NhbGxfYmxvY2tfYW5kX3JlbGVhc2UgKyAxMiAobGliZGlzcGF0Y2guZHlsaWIgKyA5NzIwKSBbMHg3ZmZmNWI0MGY1ZjhdIDEKICAgICAgICAgICAgICAgICAgMSAgPz8\/IChhaXJwb3J0ZCArIDQxMTk2MSkgWzB4MTA3ZDkyOTM5XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgQ0ZSZWFkU3RyZWFtUmVhZCArIDI0OSAoQ29yZUZvdW5kYXRpb24gKyA0Njc0NTApIFsweDdmZmYyZjU2YTFmYV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgZmlsZVJlYWQgKyAzMSAoQ29yZUZvdW5kYXRpb24gKyA0Njk4MDgpIFsweDdmZmYyZjU2YWIzMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAxICByZWFkICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxMjAxOCkgWzB4N2ZmZjViNTkzZWYyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaG5kbF91bml4X3NjYWxsNjQgKyAyMiAoa2VybmVsICsgMTQyNjE4MikgWzB4ZmZmZmZmODAwMDM1YzMwNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdW5peF9zeXNjYWxsNjQgKyA2MzcgKGtlcm5lbCArIDgxMDEwNTMpIFsweGZmZmZmZjgwMDA5YjljYmRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgcmVhZF9ub2NhbmNlbCArIDExNCAoa2VybmVsICsgNzI3NzQ0MikgWzB4ZmZmZmZmODAwMDhmMGI4Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzI3ODA4NykgWzB4ZmZmZmZmODAwMDhmMGUwN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA0MzI2MDM2KSBbMHhmZmZmZmY4MDAwNjIwMjk0XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHNwZWNfcmVhZCArIDY3MiAoa2VybmVsICsgNDQzMjQ5NikgWzB4ZmZmZmZmODAwMDYzYTI3MF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDMxRTEzOUM3LTRGMDMtM0QxRS1CQjdELTU1QzUyNkUyNDI5Qz4gKyA0NTg0NDUpIFsweGZmZmZmZjdmODE4MmRlY2RdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHRocmVhZF9ibG9ja19yZWFzb24gKyAxNzUgKGtlcm5lbCArIDE4ODEyNDcpIFsweGZmZmZmZjgwMDAzY2I0OWZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyAxODg3NjA5KSBbMHhmZmZmZmY4MDAwM2NjZDc5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbWFjaGluZV9zd2l0Y2hfY29udGV4dCArIDE5NSAoa2VybmVsICsgMjk3NTg0MykgWzB4ZmZmZmZmODAwMDRkNjg2M10gMQoKICBUaHJlYWQgMHg1NzYgICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuQ0ZTb2NrZXQucHJpdmF0ZSIgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fc2VsZWN0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzNDMzMCkgWzB4N2ZmZjViNTk5NjFhXSAxCiAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgVGhyZWFkIDB4NTViNWQ5ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0X3dxdGhyZWFkICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIxMykgWzB4N2ZmZjViNjUwM2ZkXSAxCiAgICAxICBfcHRocmVhZF93cXRocmVhZCArIDQyMSAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5NzQ1KSBbMHg3ZmZmNWI2NTA2MTFdIDEKICAgICAgMSAgX2Rpc3BhdGNoX3dvcmtsb29wX3dvcmtlcl90aHJlYWQgKyA1OTggKGxpYmRpc3BhdGNoLmR5bGliICsgNzU1MDEpIFsweDdmZmY1YjQxZjZlZF0gMQogICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2ludm9rZSArIDQzMyAobGliZGlzcGF0Y2guZHlsaWIgKyA0MTkyNikgWzB4N2ZmZjViNDE3M2M2XSAxCiAgICAgICAgICAxICBfZGlzcGF0Y2hfbGFuZV9zZXJpYWxfZHJhaW4gKyAyNjggKGxpYmRpc3BhdGNoLmR5bGliICsgMzg4MDIpIFsweDdmZmY1YjQxNjc5Ml0gMQogICAgICAgICAgICAxICBfZGlzcGF0Y2hfc291cmNlX2ludm9rZSArIDIwNTYgKGxpYmRpc3BhdGNoLmR5bGliICsgODU4MjYpIFsweDdmZmY1YjQyMWY0Ml0gMQogICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jb250aW51YXRpb25fcG9wICsgNDE0IChsaWJkaXNwYXRjaC5keWxpYiArIDI0MDM4KSBbMHg3ZmZmNWI0MTJkZTZdIDEKICAgICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jbGllbnRfY2FsbG91dCArIDggKGxpYmRpc3BhdGNoLmR5bGliICsgMTM4ODUpIFsweDdmZmY1YjQxMDYzZF0gMQogICAgICAgICAgICAgICAgICAxICA\/Pz8gKGFpcnBvcnRkICsgNDIxNjY5KSBbMHgxMDdkOTRmMjVdIDEKICAgICAgICAgICAgICAgICAgICAxICAtW0NXV2lGaUNsaWVudCBpbnRlcmZhY2VdICsgMTQ1IChDb3JlV0xBTiArIDYwODUzKSBbMHg3ZmZmMzEyZDdkYjVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2JhcnJpZXJfc3luY19pbnZva2VfYW5kX2NvbXBsZXRlICsgNjAgKGxpYmRpc3BhdGNoLmR5bGliICsgNjE3MzcpIFsweDdmZmY1YjQxYzEyOV0gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfY2xpZW50X2NhbGxvdXQgKyA4IChsaWJkaXNwYXRjaC5keWxpYiArIDEzODg1KSBbMHg3ZmZmNWI0MTA2M2RdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfXzI1LVtDV1dpRmlDbGllbnQgaW50ZXJmYWNlXV9ibG9ja19pbnZva2UgKyAzMyAoQ29yZVdMQU4gKyA2MDk2MSkgWzB4N2ZmZjMxMmQ3ZTIxXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAtW0NXV2lGaUNsaWVudCBfX2ludGVyZmFjZVdpdGhOYW1lOmxlZ2FjeTpdICsgNTIgKENvcmVXTEFOICsgMTQ3MzcpIFsweDdmZmYzMTJjYzk5MV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICArW0NXV2lGaUNsaWVudCBpbnRlcmZhY2VOYW1lc10gKyA0NiAoQ29yZVdMQU4gKyAxMjg2NSkgWzB4N2ZmZjMxMmNjMjQxXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgQXBwbGU4MDIxMUdldElmTGlzdENvcHkgKyA0MiAoQ29yZVdMQU4gKyAxMzIzMikgWzB4N2ZmZjMxMmNjM2IwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfZ2V0SWZMaXN0Q29weSArIDQ1OSAoQ29yZVdMQU4gKyAxMzkwNCkgWzB4N2ZmZjMxMmNjNjUwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9faW9jdGwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDcwMDIpIFsweDdmZmY1YjU5MmI1YV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGhuZGxfdW5peF9zY2FsbDY0ICsgMjIgKGtlcm5lbCArIDE0MjYxODIpIFsweGZmZmZmZjgwMDAzNWMzMDZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlvY3RsICsgMTMyMSAoa2VybmVsICsgNzI4MzI4OSkgWzB4ZmZmZmZmODAwMDhmMjI1OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGZvX2lvY3RsICsgMTIzIChrZXJuZWwgKyA2OTMwNDI3KSBbMHhmZmZmZmY4MDAwODliZmZiXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDczMDk5NDMpIFsweGZmZmZmZjgwMDA4ZjhhNzddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaWZpb2N0bGxvY2tlZCArIDQ3IChrZXJuZWwgKyA0NTk0MzAzKSBbMHhmZmZmZmY4MDAwNjYxYTdmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaWZpb2N0bCArIDIxMDQgKGtlcm5lbCArIDQ1NzA0NzIpIFsweGZmZmZmZjgwMDA2NWJkNjhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlmbmV0X2lvY3RsICsgNTM1IChrZXJuZWwgKyA0NjA4ODU1KSBbMHhmZmZmZmY4MDAwNjY1MzU3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDMxRTEzOUM3LTRGMDMtM0QxRS1CQjdELTU1QzUyNkUyNDI5Qz4gKyA0NDEwNzkpIFsweGZmZmZmZjdmODE4MjlhZjddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDw2MzNCOTE5RS04RjkzLTNFRDQtOUEyOS04OTRBQjFFNzlEMjk+ICsgNDI0MzQpIFsweGZmZmZmZjdmODE0ZmU1YzJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIElPQ29tbWFuZEdhdGU6OnJ1bkFjdGlvbihpbnQgKCopKE9TT2JqZWN0Kiwgdm9pZCosIHZvaWQqLCB2b2lkKiwgdm9pZCopLCB2b2lkKiwgdm9pZCosIHZvaWQqLCB2b2lkKikgKyA3MyAoa2VybmVsICsgODc1NjQ4OSkgWzB4ZmZmZmZmODAwMGE1OWQwOV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBJT1dvcmtMb29wOjpjbG9zZUdhdGUoKSArIDM3IChrZXJuZWwgKyA4NzQwNTMzKSBbMHhmZmZmZmY4MDAwYTU1ZWI1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyAyOTYxMDAwKSBbMHhmZmZmZmY4MDAwNGQyZTY4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBsY2tfbXR4X2xvY2tfd2FpdF94ODYgKyA1MDUgKGtlcm5lbCArIDI5NjMyODkpIFsweGZmZmZmZjgwMDA0ZDM3NTldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgMTg4NzYwOSkgWzB4ZmZmZmZmODAwMDNjY2Q3OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbWFjaGluZV9zd2l0Y2hfY29udGV4dCArIDE5NSAoa2VybmVsICsgMjk3NTg0MykgWzB4ZmZmZmZmODAwMDRkNjg2M10gKGJsb2NrZWQgYnkga2VybmVsIG11dGV4IG93bmVkIGJ5IGtlcm5lbF90YXNrIFswXSB0aHJlYWQgMHgxZDIpIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwN2QyZTAwMCAtICAgICAgICAweDEwN2U1ZGZmZiAgYWlycG9ydGQgKDEzODAuMikgICAgICAgICAgICAgICAgICAgICAgICAgIDw0QzA3QzU0OS05OTRDLTMwNDgtODFEQy1GRUVBMTc1QkNCQkE+ICAvdXNyL2xpYmV4ZWMvYWlycG9ydGQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxMmM5MDAwIC0gICAgIDB4N2ZmZjMxMzU4ZmZmICBjb20uYXBwbGUuZnJhbWV3b3JrLkNvcmVXTEFOIDEzLjAgKDEzNzUuMikgPEYyRUEzMUQ4LTUzQkYtMzJFOC1CNTM3LTY0QjRGMkJGNEI2RT4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVXTEFOLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVXTEFOCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY3ZjgxNGY0MDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDYzM0I5MTlFLThGOTMtM0VENC05QTI5LTg5NEFCMUU3OUQyOT4KICAgKjB4ZmZmZmZmN2Y4MTdiZTAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwzMUUxMzlDNy00RjAzLTNEMUUtQkI3RC01NUM1MjZFMjQyOUM+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBha2QgWzMxM10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMy43NyBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHhlNWMgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChha2QgKyAxMDYxNDYpIFsweDEwN2ZhZGVhMl0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTI5NiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA3Zjk0MDAwIC0gICAgICAgIDB4MTA4MDQyZmZmICBha2QgKDE4MS44LjAuMikgICAgICAgICAgICAgICAgICAgICAgICA8NzZBREEyNTAtQThEQi0zN0E3LTlBRDUtRjVFMkVEMTdBRDc5PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0F1dGhLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU3VwcG9ydC9ha2QKICAgICAgICAweDdmZmYyZTQ1OTAwMCAtICAgICAweDdmZmYyZTdmYWZmZiAgY29tLmFwcGxlLkNGTmV0d29yayA5NzguMC43ICg5NzguMC43KSAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGFrZCBbNDI0XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDIzMDAgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgxNmNiICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChha2QgKyAxMDYxNDYpIFsweDEwM2NkNmVhMl0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwM2NiZDAwMCAtICAgICAgICAweDEwM2Q2YmZmZiAgYWtkICgxODEuOC4wLjIpICAgICAgICAgICAgICAgICAgICAgICAgPDc2QURBMjUwLUE4REItMzdBNy05QUQ1LUY1RTJFRDE3QUQ3OT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BdXRoS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1N1cHBvcnQvYWtkCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQWxlcnROb3RpZmljYXRpb25TZXJ2aWNlIFs4NzMyMV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMDY4IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4NDQ5MTVlICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyMDE0MDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MEZBMjE3MDktNDM4MS0zQTIxLUIxOUUtRTE3MUY4QjRBQkJBPgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBhbWZpZCBbMTAxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDY3MTIgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzZiICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBhMzQ5MDAwIC0gICAgICAgIDB4MTBhMzRmZmZmICBhbWZpZCAoMjgzLjI2MC4yKSAgICAgICAgICAgICAgICAgICA8REEzOUI4RjItQkVGQS0zMURDLTk4OEUtNDQ4NEE1MTBBMTNBPiAgL3Vzci9saWJleGVjL2FtZmlkCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGFuYWx5dGljc2QgWzE5MF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA1NDY4IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4NWJmICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoYW5hbHl0aWNzZCArIDE4NzkyNCkgWzB4MTBmMWNmZTE0XSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmMWEyMDAwIC0gICAgICAgIDB4MTBmMjU1ZmZmICBhbmFseXRpY3NkICg1MCkgICAgICAgICAgICAgICAgICAgICAgICA8M0Q1NTJBODQtQjkzOS0zMjRCLUI0QkItRkQ5MDU4REZDMDI3PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVBbmFseXRpY3MuZnJhbWV3b3JrL1N1cHBvcnQvYW5hbHl0aWNzZAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBhcGZzZCBbMTc2XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEyOTIgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg0ZTcgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMjAgKGJhc2UgMjApCiAgPHRocmVhZCBRb1MgdXRpbGl0eSAocmVxdWVzdGVkIHV0aWxpdHkpLCB0aW1lcnMgdGllciAzIChjb2FsZXNjZWQpLCBJTyB0aWVyIDE+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChhcGZzZCArIDE2ODc4KSBbMHgxMDk2N2ExZWVdIDEKICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDk2NzYwMDAgLSAgICAgICAgMHgxMDk2ODdmZmYgIGFwZnNkICg5NDUuMjYwLjcpICAgICAgICAgICAgICAgICAgICAgIDxFRTlGNEU4Ri01NDEzLTMzMEUtQjlDQy03NjQwQkQ0M0NFRjk+ICAvdXNyL2xpYmV4ZWMvYXBmc2QKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQVBGU1VzZXJBZ2VudCBbMzMwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEwMDQgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgxMDE3ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGI3NzYwMDAgLSAgICAgICAgMHgxMGI3N2JmZmYgIEFQRlNVc2VyQWdlbnQgKDk0NS4yNjAuNykgICAgICAgICAgIDw5MzZBRTIxRS05ODczLTMxNkYtOTA1NS03N0ZFOEQ3OTY1ODM+ICAvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL0FQRlNVc2VyQWdlbnQKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXBwbGVldmVudHNkIFs0OV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA3ODU2IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDRhMSAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZWY5MzAwMCAtICAgICAgICAweDEwZWY5M2ZmZiAgYXBwbGVldmVudHNkICg3NzMpICAgICAgICAgICAgICAgICAgPDNENUFCODlELTI5RjEtM0FGNC1CRkMyLTNBMERCODg5OEY5Mz4gIC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMvYXBwbGVldmVudHNkCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIEFwcGxlU3BlbGwgWzUxNV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA1NC41MSBNQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDFiZDYgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKEFwcGxlU3BlbGwgKyA1MjA0KSBbMHgxMDg3Njk0NTRdIDEKICAgICAgMSAgLVtOU1NwZWxsU2VydmVyIHJ1bl0gKyA3MyAoRm91bmRhdGlvbiArIDIyMDU2MDEpIFsweDdmZmYzMTk5NDdhMV0gMQogICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwODc2ODAwMCAtICAgICAgICAweDEwODg3M2ZmZiAgY29tLmFwcGxlLkFwcGxlU3BlbGwgMi40ICg0MzAuMTYuMTYpICAgPEU1MjcyM0Q5LUI0NkQtMzVBQi04MEUwLUEzNzg4Q0Y0MTIxRT4gIC9TeXN0ZW0vTGlicmFyeS9TZXJ2aWNlcy9BcHBsZVNwZWxsLnNlcnZpY2UvQ29udGVudHMvTWFjT1MvQXBwbGVTcGVsbAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIEFwcGxlU3BlbGwgWzgwOTcxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDIyLjE4IE1CCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTQwMmY0ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoQXBwbGVTcGVsbCArIDUyMDQpIFsweDEwZjAzNzQ1NF0gMQogICAgICAxICAtW05TU3BlbGxTZXJ2ZXIgcnVuXSArIDczIChGb3VuZGF0aW9uICsgMjIwNTYwMSkgWzB4N2ZmZjMxOTk0N2ExXSAxCiAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmMDM2MDAwIC0gICAgICAgIDB4MTBmMTQxZmZmICBjb20uYXBwbGUuQXBwbGVTcGVsbCAyLjQgKDQzMC4xNi4xNikgICA8RTUyNzIzRDktQjQ2RC0zNUFCLTgwRTAtQTM3ODhDRjQxMjFFPiAgL1N5c3RlbS9MaWJyYXJ5L1NlcnZpY2VzL0FwcGxlU3BlbGwuc2VydmljZS9Db250ZW50cy9NYWNPUy9BcHBsZVNwZWxsCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXBwc3RvcmVhZ2VudCBbOTAwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDExLjA1IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDU1YjIgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGFwcHN0b3JlYWdlbnQgKyA3MTU1KSBbMHgxMDM5NTZiZjNdIDEKICAgICAgMSAgPz8\/IChhcHBzdG9yZWFnZW50ICsgMjc0Mzc4KSBbMHgxMDM5OTdmY2FdIDEKICAgICAgICAxICA\/Pz8gKGFwcHN0b3JlYWdlbnQgKyAyNzQ2NjUpIFsweDEwMzk5ODBlOV0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDNkMDlmNCAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4M2QwYjE4ICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDM5NTUwMDAgLSAgICAgICAgMHgxMDM5ZGFmZmYgIGFwcHN0b3JlYWdlbnQgKDUuNC4zKSAgICAgICAgICAgICAgICAgICAgICAgICAgPDZCRDkyOTJGLTI5MkItMzc0QS1BQzc3LTgyMjcyRTIxQjkyNj4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BcHBTdG9yZURhZW1vbi5mcmFtZXdvcmsvU3VwcG9ydC9hcHBzdG9yZWFnZW50CiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXBzZCBbNzVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTYuMjMgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MmYwICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoYXBzZCArIDQ5OTI5MSkgWzB4MTBiZGMxZTViXSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMjEzMCAoQ29yZUZvdW5kYXRpb24gKyAyNDI1MzApIFsweDdmZmYyZjUzMzM2Ml0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wRG9UaW1lcnMgKyAzMzAgKENvcmVGb3VuZGF0aW9uICsgMzY4OTc4KSBbMHg3ZmZmMmY1NTIxNTJdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wRG9UaW1lciArIDg1MSAoQ29yZUZvdW5kYXRpb24gKyAzNzAxODgpIFsweDdmZmYyZjU1MjYwY10gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUlVOTE9PUF9JU19DQUxMSU5HX09VVF9UT19BX1RJTUVSX0NBTExCQUNLX0ZVTkNUSU9OX18gKyAyMCAoQ29yZUZvdW5kYXRpb24gKyAzNzEyOTYpIFsweDdmZmYyZjU1MmE2MF0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fTlNGaXJlVGltZXIgKyA4MCAoRm91bmRhdGlvbiArIDQxNzAwMykgWzB4N2ZmZjMxN2RmY2ViXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICA\/Pz8gKGFwc2QgKyAzMTY5NjMpIFsweDEwYmQ5NTYyM10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICA\/Pz8gKGFwc2QgKyAyNzI5NDgpIFsweDEwYmQ4YWEzNF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgID8\/PyAoYXBzZCArIDI5MTcyOCkgWzB4MTBiZDhmMzkwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICA\/Pz8gKGFwc2QgKyA0NjQzMzkpIFsweDEwYmRiOTVkM10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICA\/Pz8gKGFwc2QgKyA0NjgzODMpIFsweDEwYmRiYTU5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIENGV3JpdGVTdHJlYW1Xcml0ZSArIDIyNiAoQ29yZUZvdW5kYXRpb24gKyAzMzM3NjUpIFsweDdmZmYyZjU0OTdjNV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgU29ja2V0U3RyZWFtOjp3cml0ZShfX0NGV3JpdGVTdHJlYW0qLCB1bnNpZ25lZCBjaGFyIGNvbnN0KiwgbG9uZywgQ0ZTdHJlYW1FcnJvciopICsgOTM1IChDRk5ldHdvcmsgKyA4MDQ0OTMpIFsweDdmZmYyZTUxZDY4ZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBTb2NrZXRTdHJlYW06OnNlY3VyaXR5U2VuZF9Ob0xvY2sodW5zaWduZWQgY2hhciBjb25zdCosIGxvbmcsIHVuc2lnbmVkIGNoYXIqKSArIDMwNyAoQ0ZOZXR3b3JrICsgODA1NTAxKSBbMHg3ZmZmMmU1MWRhN2RdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBTU0xXcml0ZSArIDMzOSAoU2VjdXJpdHkgKyAzOTA4NTYpIFsweDdmZmYzYWE4NzZjOF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgU1NMUmVjb3JkU2VydmljZVdyaXRlUXVldWVJbnRlcm5hbCArIDc3IChTZWN1cml0eSArIDI0MDA5ODQpIFsweDdmZmYzYWM3MjJkOF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBTb2NrZXRTdHJlYW06Ol9TZWN1cml0eVdyaXRlRnVuY19Ob0xvY2sodm9pZCosIHZvaWQgY29uc3QqLCB1bnNpZ25lZCBsb25nKikgKyA0NiAoQ0ZOZXR3b3JrICsgNzQ3MzM2KSBbMHg3ZmZmMmU1MGY3NDhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBTb2NrZXRTdHJlYW06OndyaXRlRnVuY19Ob0xvY2sodm9pZCBjb25zdCosIHVuc2lnbmVkIGxvbmcqKSArIDUyIChDRk5ldHdvcmsgKyA3NDc0MTApIFsweDdmZmYyZTUwZjc5Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgU29ja2V0U3RyZWFtOjpzZW5kVG9Tb2NrZXQodW5zaWduZWQgY2hhciBjb25zdCosIGxvbmcsIENGU3RyZWFtRXJyb3IqKSArIDIxIChDRk5ldHdvcmsgKyA3NDc1NTEpIFsweDdmZmYyZTUwZjgxZl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICB3cml0ZSArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjAyOTgpIFsweDdmZmY1YjU5NWY0YV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGhuZGxfdW5peF9zY2FsbDY0ICsgMjIgKGtlcm5lbCArIDE0MjYxODIpIFsweGZmZmZmZjgwMDAzNWMzMDZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHdyaXRlX25vY2FuY2VsICsgMjE2IChrZXJuZWwgKyA3Mjc5NDk2KSBbMHhmZmZmZmY4MDAwOGYxMzg4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3Mjc5OTY2KSBbMHhmZmZmZmY4MDAwOGYxNTVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDczMDgxNDQpIFsweGZmZmZmZjgwMDA4ZjgzNzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgc29zZW5kICsgMTkwNiAoa2VybmVsICsgNzQ4ODA5OCkgWzB4ZmZmZmZmODAwMDkyNDI2Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzQyNzY1MykgWzB4ZmZmZmZmODAwMDkxNTY0NV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MjYxMzY3KSBbMHhmZmZmZmY4MDAwOGVjY2I3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzQwODczNCkgWzB4ZmZmZmZmODAwMDkxMGM1ZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NjQ3NykgWzB4ZmZmZmZmODAwMDhkODExZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbGNrX210eF9zbGVlcCArIDEyOCAoa2VybmVsICsgMTgzMDA5NikgWzB4ZmZmZmZmODAwMDNiZWNkMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICB0aHJlYWRfYmxvY2tfcmVhc29uICsgMTc1IChrZXJuZWwgKyAxODgxMjQ3KSBbMHhmZmZmZmY4MDAwM2NiNDlmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyAxODg3NjA5KSBbMHhmZmZmZmY4MDAwM2NjZDc5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAxCgogIFRocmVhZCAweDc4YyAgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4N2M3ICAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLkNGU29ja2V0LnByaXZhdGUiICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX3NlbGVjdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzQzMzApIFsweDdmZmY1YjU5OTYxYV0gMQogICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGJkNDgwMDAgLSAgICAgICAgMHgxMGJlM2JmZmYgIGFwc2QgKDYyNS4zNSkgICAgICAgICAgICAgICAgICAgICAgICAgIDwzOTlCREVEMC1EQzM2LTM4QTMtOUFEQy05Rjk3MzAyQzNGMDg+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXBwbGVQdXNoU2VydmljZS5mcmFtZXdvcmsvYXBzZAogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICA8OUZERUZFNTAtQkUxQi0zODZFLThCM0MtQUVGMjUxMDY5RTUyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjNhYTI4MDAwIC0gICAgIDB4N2ZmZjNhZDI3ZmZmICBjb20uYXBwbGUuc2VjdXJpdHkgNy4wICg1ODI4Ni4yNjAuMjApICA8NTlCNDEwMEUtNUEzMS0zRUY0LTk1NEEtMkE2OTM0MTk5NUYzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHkKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGFzbG1hbmFnZXIgWzE0OF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxOTM2IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4NDBmICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAzPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBiM2YwMDAwIC0gICAgICAgIDB4MTBiM2Y5ZmZmICBhc2xtYW5hZ2VyICgzNTYuMjAwLjQpICAgICAgICAgICAgICA8MkMxNzMyQzgtMEY2My0zNDE4LUE5RTMtODYyQTEyQTEzM0Q2PiAgL3Vzci9zYmluL2FzbG1hbmFnZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXNzZXJ0aW9uZCBbOTg5NDhdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTcwOCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDMxMjI3MyAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGFzc2VydGlvbmQgKyAxMDY0MjgpIFsweDEwMzI2OWZiY10gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMzI1MDAwMCAtICAgICAgICAweDEwMzI4OWZmZiAgYXNzZXJ0aW9uZCAoMTg0LjI2MC4xKSAgICAgICAgICAgICAgICAgPDQ1RDlCRDcxLTA3RkMtMzFBMS1BMDJFLUE1MjA3QzBFMzIxRj4gIC91c3IvbGliZXhlYy9hc3NlcnRpb25kCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQXNzZXRDYWNoZSBbMzgzXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDM4MDAgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgxM2NhICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChBc3NldENhY2hlICsgOTI1MikgWzB4MTBlNzdiNDI0XSAxCiAgICAgIDEgID8\/PyAoQXNzZXRDYWNoZSArIDkwNTg5KSBbMHgxMGU3OGYxZGRdIDEKICAgICAgICAxICA\/Pz8gKEFzc2V0Q2FjaGUgKyA5MTM1NikgWzB4MTBlNzhmNGRjXSAxCiAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZTc3OTAwMCAtICAgICAgICAweDEwZTkxZWZmZiAgQXNzZXRDYWNoZSAoMjE0LjIpICAgICAgICAgICAgICAgICAgICAgPEU1RDVDM0Q3LTVEMkItMzlFOC1COUE4LUY1QTUwOUQ2MzkwOD4gIC91c3IvbGliZXhlYy9Bc3NldENhY2hlL0Fzc2V0Q2FjaGUKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBBc3NldENhY2hlTG9jYXRvclNlcnZpY2UgWzM4MV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA0NTU2IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDEzYjcgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgNzEgKEFzc2V0Q2FjaGVMb2NhdG9yU2VydmljZSArIDMzNjY5KSBbMHgxMDA5ZTgzODVdIDEKICAgICAgMSAgLVtBc3NldENhY2hlTG9jYXRvclNlcnZpY2Ugc3RhcnRdICsgNTczIChBc3NldENhY2hlTG9jYXRvclNlcnZpY2UgKyA1NDgyOCkgWzB4MTAwOWVkNjJjXSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDE1OGIgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMDllMDAwMCAtICAgICAgICAweDEwMGExNmZmZiAgY29tLmFwcGxlLkFzc2V0Q2FjaGVMb2NhdG9yU2VydmljZSA4My40ICg4My40KSA8Rjk5RUMzRkMtOERDNC0zQjM1LTkwQzQtNzVEMkU5MUE2RUNEPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Fzc2V0Q2FjaGVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9Bc3NldENhY2hlTG9jYXRvclNlcnZpY2UueHBjL0NvbnRlbnRzL01hY09TL0Fzc2V0Q2FjaGVMb2NhdG9yU2VydmljZQogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBBc3NldENhY2hlTG9jYXRvclNlcnZpY2UgWzMxNDY1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDM5NzIgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4YTFhYzcgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgIG1haW4gKyA3MSAoQXNzZXRDYWNoZUxvY2F0b3JTZXJ2aWNlICsgMzM2NjkpIFsweDEwZmUxYTM4NV0gMQogICAgICAxICAtW0Fzc2V0Q2FjaGVMb2NhdG9yU2VydmljZSBzdGFydF0gKyA1NzMgKEFzc2V0Q2FjaGVMb2NhdG9yU2VydmljZSArIDU0ODI4KSBbMHgxMGZlMWY2MmNdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4YTFhZmIgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmZTEyMDAwIC0gICAgICAgIDB4MTBmZTQ4ZmZmICBjb20uYXBwbGUuQXNzZXRDYWNoZUxvY2F0b3JTZXJ2aWNlIDgzLjQgKDgzLjQpIDxGOTlFQzNGQy04REM0LTNCMzUtOTBDNC03NUQyRTkxQTZFQ0Q+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXNzZXRDYWNoZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL0Fzc2V0Q2FjaGVMb2NhdG9yU2VydmljZS54cGMvQ29udGVudHMvTWFjT1MvQXNzZXRDYWNoZUxvY2F0b3JTZXJ2aWNlCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIEFzc2V0Q2FjaGVNYW5hZ2VyU2VydmljZSBbMzI5MzNdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMjM5MiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGIyODMxICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNGY2YjAwMCAtICAgICAgICAweDEwNGY3OGZmZiAgY29tLmFwcGxlLkFzc2V0Q2FjaGVNYW5hZ2VyU2VydmljZSA4My40ICg4My40KSA8QTVDM0M0MUEtODg1MS0zMkQ3LUJDODgtQTdDQ0M3RDE2Q0FEPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Fzc2V0Q2FjaGVTZXJ2aWNlc0V4dGVuc2lvbnMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvQXNzZXRDYWNoZU1hbmFnZXJTZXJ2aWNlLnhwYy9Db250ZW50cy9NYWNPUy9Bc3NldENhY2hlTWFuYWdlclNlcnZpY2UKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXNzaXN0YW50ZCBbMzQxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEwLjE2IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDEyZWEgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGFzc2lzdGFudGQgKyA4MDQxOCkgWzB4MTA2ZjFlYTIyXSAxCiAgICAgIDEgID8\/PyAoYXNzaXN0YW50ZCArIDgxNjQ3KSBbMHgxMDZmMWVlZWZdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNmYwYjAwMCAtICAgICAgICAweDEwNzFiZWZmZiAgYXNzaXN0YW50ZCAoMTczNy4xOTIpICAgICAgICAgICAgICAgICAgPDE1ODU3QzQ0LTQ3RUUtMzQxRi1CMDRGLUQyMDVCRkNGOTBBOT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Bc3Npc3RhbnRTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TdXBwb3J0L2Fzc2lzdGFudGQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBhdHNkIFs5MThdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNDE3NiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDU3NTUgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgbWFpbl9oYW5kbGVyICsgNDMwMCAobGliQVRTU2VydmVyLmR5bGliICsgNTEzOTcxKSBbMHg3ZmZmMmRhOTE3YjNdIDEKICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGU3N2IwMDAgLSAgICAgICAgMHgxMGU3N2VmZmYgIGF0c2QgKDQ1My4xMS4yLjIpICAgICAgICAgICAgICAgICAgICAgIDwxODBFOUE3MC04NERBLTM3NjYtQkUxNC1GNDAwQTA1OEIzMkI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQVRTLmZyYW1ld29yay9WZXJzaW9ucy9BL1N1cHBvcnQvYXRzZAogICAgICAgIDB4N2ZmZjJkYTE0MDAwIC0gICAgIDB4N2ZmZjJkYWE5ZmZmICBsaWJBVFNTZXJ2ZXIuZHlsaWIgKDQ1My4xMS4yLjIpICAgICAgICA8MzdFNjk4Q0EtNjdEOS0zQTk5LTgyQzktRjQyMTU3REYxNDVBPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FUUy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliQVRTU2VydmVyLmR5bGliCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIFsxOTZdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzM1MiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDZhMyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKEF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyICsgNzA0OCkgWzB4MTAzZWVkYjg4XSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzZWVjMDAwIC0gICAgICAgIDB4MTAzZWVkZmZmICBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhciAoOTc1LjkyKSAgICAgICA8RkQwRTA3RkMtMkNCNi0zM0RFLUJEMzYtQzQwNEVBNEE0RjM3PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhcgogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIEF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyIFs1OTRdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNDc1NiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDIxMmMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKEF1ZGlvQ29tcG9uZW50UmVnaXN0cmFyICsgNzA0OCkgWzB4MTBmODhlYjg4XSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmODhkMDAwIC0gICAgICAgIDB4MTBmODhlZmZmICBBdWRpb0NvbXBvbmVudFJlZ2lzdHJhciAoOTc1LjkyKSAgICAgICA8RkQwRTA3RkMtMkNCNi0zM0RFLUJEMzYtQzQwNEVBNEE0RjM3PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9BdWRpb0NvbXBvbmVudFJlZ2lzdHJhcgogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGF1dGhkIFsxMDVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNzA5MiBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgzOTcgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnRfd3F0aHJlYWQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjEzKSBbMHg3ZmZmNWI2NTAzZmRdIDEKICAgIDEgIF9wdGhyZWFkX3dxdGhyZWFkICsgNTgzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDk5MDcpIFsweDdmZmY1YjY1MDZiM10gMQogICAgICAxICBfZGlzcGF0Y2hfd29ya2VyX3RocmVhZDIgKyA5MCAobGliZGlzcGF0Y2guZHlsaWIgKyA3MjUxOCkgWzB4N2ZmZjViNDFlYjQ2XSAxCiAgICAgICAgMSAgX2Rpc3BhdGNoX3Jvb3RfcXVldWVfZHJhaW4gKyA2NTcgKGxpYmRpc3BhdGNoLmR5bGliICsgNzA5MjEpIFsweDdmZmY1YjQxZTUwOV0gMQogICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jYWxsX2Jsb2NrX2FuZF9yZWxlYXNlICsgMTIgKGxpYmRpc3BhdGNoLmR5bGliICsgOTcyMCkgWzB4N2ZmZjViNDBmNWY4XSAxCiAgICAgICAgICAgICAgMSAgPz8\/IChhdXRoZCArIDEzNzgwKSBbMHgxMDEzMTM1ZDRdIDEKICAgICAgICAgICAgICAgIDEgIGF1X3NkZXZfcmVhZF9haWEgKyA1MzkgKGxpYmJzbS4wLmR5bGliICsgNTkxMikgWzB4N2ZmZjU4NjY5NzE4XSAxCiAgICAgICAgICAgICAgICAgIDEgIGZnZXRjICsgNTIgKGxpYnN5c3RlbV9jLmR5bGliICsgMjQwODMyKSBbMHg3ZmZmNWI0ZTFjYzBdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX3NyZ2V0ICsgMTQgKGxpYnN5c3RlbV9jLmR5bGliICsgMjY3NzE3KSBbMHg3ZmZmNWI0ZTg1YzVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fc3JlZmlsbDEgKyAyNCAobGlic3lzdGVtX2MuZHlsaWIgKyAyNjc0MjcpIFsweDdmZmY1YjRlODRhM10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfX3JlYWRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDg2MzgpIFsweDdmZmY1YjU5MzFiZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGhuZGxfdW5peF9zY2FsbDY0ICsgMjIgKGtlcm5lbCArIDE0MjYxODIpIFsweGZmZmZmZjgwMDAzNWMzMDZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHJlYWRfbm9jYW5jZWwgKyAxMTQgKGtlcm5lbCArIDcyNzc0NDIpIFsweGZmZmZmZjgwMDA4ZjBiODJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDcyNzgwODcpIFsweGZmZmZmZjgwMDA4ZjBlMDddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNDMyNjAzNikgWzB4ZmZmZmZmODAwMDYyMDI5NF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBzcGVjX3JlYWQgKyA2NzIgKGtlcm5lbCArIDQ0MzI0OTYpIFsweGZmZmZmZjgwMDA2M2EyNzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDY3NDEyMDgpIFsweGZmZmZmZjgwMDA4NmRjZDhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NjQ3NykgWzB4ZmZmZmZmODAwMDhkODExZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBsY2tfbXR4X3NsZWVwICsgMTI4IChrZXJuZWwgKyAxODMwMDk2KSBbMHhmZmZmZmY4MDAwM2JlY2QwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyAxODg3NjA5KSBbMHhmZmZmZmY4MDAwM2NjZDc5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIG1hY2hpbmVfc3dpdGNoX2NvbnRleHQgKyAxOTUgKGtlcm5lbCArIDI5NzU4NDMpIFsweGZmZmZmZjgwMDA0ZDY4NjNdIDEKCiAgVGhyZWFkIDB4M2E0ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAxMzEwMDAwIC0gICAgICAgIDB4MTAxMzMzZmZmICBjb20uYXBwbGUuYXV0aGQgMS4wICg1ODI4Ni4yNjAuMjApICA8MTY3MTFDQUQtM0U3MS0zOUM3LTk1REQtMEZDOUZBMkIyRjBGPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvYXV0aGQueHBjL0NvbnRlbnRzL01hY09TL2F1dGhkCiAgICAgICAgMHg3ZmZmNTg2NjgwMDAgLSAgICAgMHg3ZmZmNTg2NzhmZmYgIGxpYmJzbS4wLmR5bGliICgzOS4yMDAuMTgpICAgICAgICAgIDxDRjM4MUUwQi0wMjVCLTM2NEYtQTgzRC0yNTI3RTAzRjFBQTM+ICAvdXNyL2xpYi9saWJic20uMC5keWxpYgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0YTcwMDAgLSAgICAgMHg3ZmZmNWI1MmVmZmYgIGxpYnN5c3RlbV9jLmR5bGliICgxMjcyLjI1MC4xKSAgICAgIDw3RURBQ0Y3OC0yRkEzLTM1QjgtQjA1MS1ENzA0NzVBMzUxMTc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2MuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXV0b2ZzZCBbODRdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODQwIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4NWE5ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDIwIChiYXNlIDIwKQogIDx0aHJlYWQgUW9TIHV0aWxpdHkgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGltZXJzIHRpZXIgMyAoY29hbGVzY2VkKSwgSU8gdGllciAxPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBhMmZiMDAwIC0gICAgICAgIDB4MTBhMmZiZmZmICBhdXRvZnNkICgyNzAuMjQwLjEpICAgICAgICAgICAgICAgICA8ODY5NUI4RTktRjIyQS0zQzVBLUJGMkItNEY2Q0Y4QkI4MDEyPiAgL3Vzci9saWJleGVjL2F1dG9mc2QKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgYXZjb25mZXJlbmNlZCBbMTMyNjNdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNTkwMCBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHg0YmJkZjAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChhdmNvbmZlcmVuY2VkICsgMzgyOSkgWzB4MTA4ODc5ZWY1XSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA4ODc5MDAwIC0gICAgICAgIDB4MTA4ODc5ZmZmICBhdmNvbmZlcmVuY2VkICgxNDcwLjQuMikgICAgICAgICAgICAgICA8OEZCRUMwNDYtRDA5Ri0zM0Q2LUJBRkMtNUM5NEQ2MTE5MDcwPiAgL3Vzci9saWJleGVjL2F2Y29uZmVyZW5jZWQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBhd2RkIFsxNzJdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNDcwNCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDRiNyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGF3ZGQgKyAyNTA5NCkgWzB4MTAyMDk2MjA2XSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyMDkwMDAwIC0gICAgICAgIDB4MTAyMTczZmZmICBhd2RkICg5MzAuMTEpICAgICAgICAgICAgICAgICAgICAgICAgICA8ODYyOEYyRTAtNTI3Ri0zMkNCLThCNzEtRDc1NEM5RTJFNjdDPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1dpcmVsZXNzRGlhZ25vc3RpY3MuZnJhbWV3b3JrL1N1cHBvcnQvYXdkZAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBiYWNrZ3JvdW5kdGFza21hbmFnZW1lbnRhZ2VudCBbMzM3XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDc0MDQgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTEzMiAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA4NDlmMDAwIC0gICAgICAgIDB4MTA4NGI5ZmZmICBiYWNrZ3JvdW5kdGFza21hbmFnZW1lbnRhZ2VudCAoNzEuMjgpIDw4RTQwN0REMC01MEI1LTM1NEYtOUU2My04RkE1MDRGOTdEOEI+ICAvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL2JhY2tncm91bmR0YXNrbWFuYWdlbWVudGFnZW50CiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGJhY2t1cGQtaGVscGVyIFs3MF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyNzUyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzAyICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgYmFja2dyb3VuZCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoYmFja3VwZC1oZWxwZXIgKyAxMzA1NikgWzB4MTBmMjNiMzAwXSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmMjM4MDAwIC0gICAgICAgIDB4MTBmMjU0ZmZmICBiYWNrdXBkLWhlbHBlciAoMjgzLjI1KSAgICAgICAgICAgICAgICA8QTlCNDlBOUItNTIzRC0zNTc1LTlCNEEtMDU1MDg3NjdBODg4PiAgL1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9iYWNrdXBkLmJ1bmRsZS9Db250ZW50cy9SZXNvdXJjZXMvYmFja3VwZC1oZWxwZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQmFydGVuZGVyIDMgWzQwNF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMS4zMiBNQgpOb3RlOiAgICAgICAgICAgIDMgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxNTQzICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoQmFydGVuZGVyIDMgKyAyMDM0MDEpIFsweDEwOGRjYmE4OV0gMQogICAgICAxICBOU0FwcGxpY2F0aW9uTWFpbiArIDc3NyAoQXBwS2l0ICsgMTE2NDQpIFsweDdmZmYyY2JhMGQ3Y10gMQogICAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbiBydW5dICsgNjk5IChBcHBLaXQgKyA3OTkzMikgWzB4N2ZmZjJjYmIxODNjXSAxCiAgICAgICAgICAxICAtW05TQXBwbGljYXRpb24oTlNFdmVudCkgX25leHRFdmVudE1hdGNoaW5nRXZlbnRNYXNrOnVudGlsRGF0ZTppbk1vZGU6ZGVxdWV1ZTpdICsgMTM2MSAoQXBwS2l0ICsgMTA0MjIzKSBbMHg3ZmZmMmNiYjc3MWZdIDEKICAgICAgICAgICAgMSAgX0RQU05leHRFdmVudCArIDk2NSAoQXBwS2l0ICsgMTA4OTM1KSBbMHg3ZmZmMmNiYjg5ODddIDEKICAgICAgICAgICAgICAxICBfQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5nTGlzdEluTW9kZVdpdGhGaWx0ZXIgKyA2NCAoSElUb29sYm94ICsgNDIwMzgpIFsweDdmZmYyZTgxZTQzNl0gMQogICAgICAgICAgICAgICAgMSAgUmVjZWl2ZU5leHRFdmVudENvbW1vbiArIDYwMyAoSElUb29sYm94ICsgNDI2NjEpIFsweDdmZmYyZTgxZTZhNV0gMQogICAgICAgICAgICAgICAgICAxICBSdW5DdXJyZW50RXZlbnRMb29wSW5Nb2RlICsgMjkyIChISVRvb2xib3ggKyA0MzM3MSkgWzB4N2ZmZjJlODFlOTZiXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxODdlICAgICAgICAgICAgIFRocmVhZCBuYW1lICJQaWRUYXBIZWxwZXJUaHJlYWQiICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDIwIChiYXNlIDIwKQogIDx0aHJlYWQgUW9TIHV0aWxpdHkgKHJlcXVlc3RlZCB1dGlsaXR5KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMT4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgID8\/PyAoQmFydGVuZGVyIDMgKyA1MzU3MjgpIFsweDEwOGUxY2NiMF0gMQogICAgICAgICAgICAxICA\/Pz8gKEJhcnRlbmRlciAzICsgNTEzMDUyKSBbMHgxMDhlMTc0MWNdIDEKICAgICAgICAgICAgICAxICA\/Pz8gKEJhcnRlbmRlciAzICsgNTA0NDU1KSBbMHgxMDhlMTUyODddIDEKICAgICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxODgyICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgPz8\/IChCYXJ0ZW5kZXIgMyArIDEyMTk3MikgWzB4MTA4ZGI3Yzc0XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxODg3ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNFdmVudFRocmVhZCIgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfTlNFdmVudFRocmVhZCArIDE3NSAoQXBwS2l0ICsgMTQwOTY2KSBbMHg3ZmZmMmNiYzA2YTZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA4ZDlhMDAwIC0gICAgICAgIDB4MTA4ZWE1ZmZmICBjb20uc3VydGVlc3N0dWRpb3MuQmFydGVuZGVyLXNldGFwcCAzLjAuNjUgKDM2NSkgPEQxRkMzM0NELTBFQkEtMzFFOC1CQTQwLTA5QTRBMDlBQzBEMT4gIC9BcHBsaWNhdGlvbnMvU2V0YXBwL0JhcnRlbmRlci5hcHAvQ29udGVudHMvTWFjT1MvQmFydGVuZGVyIDMKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgICAgICAgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmU4MTQwMDAgLSAgICAgMHg3ZmZmMmViMGFmZmYgIGNvbS5hcHBsZS5ISVRvb2xib3ggMi4xLjEgKDkxOC41KSAgICAgICAgICAgICAgICA8RjdEQTRGMjAtMTIzQi0zMEZCLTlDMjctNUFCMTc0NkRFRjYzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSElUb29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL0hJVG9vbGJveAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQmUgRm9jdXNlZCBbODUxMF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAzOS43OSBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgyZjgwNSAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgTlNBcHBsaWNhdGlvbk1haW4gKyA3NzcgKEFwcEtpdCArIDExNjQ0KSBbMHg3ZmZmMmNiYTBkN2NdIDEKICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uIHJ1bl0gKyA2OTkgKEFwcEtpdCArIDc5OTMyKSBbMHg3ZmZmMmNiYjE4M2NdIDEKICAgICAgICAxICAtW05TQXBwbGljYXRpb24oTlNFdmVudCkgX25leHRFdmVudE1hdGNoaW5nRXZlbnRNYXNrOnVudGlsRGF0ZTppbk1vZGU6ZGVxdWV1ZTpdICsgMTM2MSAoQXBwS2l0ICsgMTA0MjIzKSBbMHg3ZmZmMmNiYjc3MWZdIDEKICAgICAgICAgIDEgIF9EUFNOZXh0RXZlbnQgKyA5NjUgKEFwcEtpdCArIDEwODkzNSkgWzB4N2ZmZjJjYmI4OTg3XSAxCiAgICAgICAgICAgIDEgIF9CbG9ja1VudGlsTmV4dEV2ZW50TWF0Y2hpbmdMaXN0SW5Nb2RlV2l0aEZpbHRlciArIDY0IChISVRvb2xib3ggKyA0MjAzOCkgWzB4N2ZmZjJlODFlNDM2XSAxCiAgICAgICAgICAgICAgMSAgUmVjZWl2ZU5leHRFdmVudENvbW1vbiArIDYwMyAoSElUb29sYm94ICsgNDI2NjEpIFsweDdmZmYyZTgxZTZhNV0gMQogICAgICAgICAgICAgICAgMSAgUnVuQ3VycmVudEV2ZW50TG9vcEluTW9kZSArIDI5MiAoSElUb29sYm94ICsgNDMzNzEpIFsweDdmZmYyZTgxZTk2Yl0gMQogICAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgyZjgzNCAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNFdmVudFRocmVhZCIgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9OU0V2ZW50VGhyZWFkICsgMTc1IChBcHBLaXQgKyAxNDA5NjYpIFsweDdmZmYyY2JjMDZhNl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDJmODQxICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MzY0NWYgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLmNvcmVhdWRpby5BUUNsaWVudCIgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA2MCAoYmFzZSA2MCkKICA8SU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIENBUFRocmVhZDo6RW50cnkoQ0FQVGhyZWFkKikgKyA3NyAoQXVkaW9Ub29sYm94ICsgMjQ0MDk3KSBbMHg3ZmZmMmRlYzM5ODFdIDEKICAgICAgICAgIDEgIEdlbmVyaWNSdW5Mb29wVGhyZWFkOjpFbnRyeSh2b2lkKikgKyAxNTggKEF1ZGlvVG9vbGJveCArIDI0NDgwMikgWzB4N2ZmZjJkZWMzYzQyXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDU1YWViOSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIGRlZmF1bHQsIHJlcXVlc3RlZCBvdmVycmlkZSBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHN0YXJ0X3dxdGhyZWFkICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIxMykgWzB4N2ZmZjViNjUwM2ZkXSAxCiAgICAxICBfcHRocmVhZF93cXRocmVhZCArIDQyMSAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5NzQ1KSBbMHg3ZmZmNWI2NTA2MTFdIDEKICAgICAgMSAgX2Rpc3BhdGNoX3dvcmtsb29wX3dvcmtlcl90aHJlYWQgKyA1OTggKGxpYmRpc3BhdGNoLmR5bGliICsgNzU1MDEpIFsweDdmZmY1YjQxZjZlZF0gMQogICAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF9pbnZva2UgKyAyMTAwIChsaWJkaXNwYXRjaC5keWxpYiArIDQ2Njk1KSBbMHg3ZmZmNWI0MTg2NjddIDEKICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2ludm9rZSArIDQzMyAobGliZGlzcGF0Y2guZHlsaWIgKyA0MTkyNikgWzB4N2ZmZjViNDE3M2M2XSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX3NlcmlhbF9kcmFpbiArIDYwMiAobGliZGlzcGF0Y2guZHlsaWIgKyAzOTEzNikgWzB4N2ZmZjViNDE2OGUwXSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfY2FsbF9ibG9ja19hbmRfcmVsZWFzZSArIDEyIChsaWJkaXNwYXRjaC5keWxpYiArIDk3MjApIFsweDdmZmY1YjQwZjVmOF0gMQogICAgICAgICAgICAgICAgICAxICBfX19aTjRUdWJlMjNfb25xdWV1ZV9wcmVwQ29ubmVjdGlvbkVVMTNibG9ja19wb2ludGVyRnZ2RVUxM2Jsb2NrX3BvaW50ZXJGdmlFX2Jsb2NrX2ludm9rZV8yLjYzICsgMjEgKENGTmV0d29yayArIDE2MjMwNzApIFsweDdmZmYyZTVlNTQxZV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fX1pONFR1YmUyM19vbnF1ZXVlX3ByZXBDb25uZWN0aW9uRVUxM2Jsb2NrX3BvaW50ZXJGdnZFVTEzYmxvY2tfcG9pbnRlckZ2aUVfYmxvY2tfaW52b2tlLjUzICsgODE1IChDRk5ldHdvcmsgKyAxNjIxOTMzKSBbMHg3ZmZmMmU1ZTRmYWRdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIFR1YmU6Ol9vbnF1ZXVlX3N0YXJ0Q29ubmVjdGlvbigpICsgMzcgKENGTmV0d29yayArIDE4NTg4NSkgWzB4N2ZmZjJlNDg2NjFkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIFRDUElPQ29ubmVjdGlvbjo6X3N0YXJ0Q29ubmVjdGlvbigpICsgNDgxIChDRk5ldHdvcmsgKyAxODY2MjkpIFsweDdmZmYyZTQ4NjkwNV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFR1YmU6OnByZUNvbm5lY3RDb25maWd1cmF0aW9uKHRjcF9jb25uZWN0aW9uKiwgdm9pZCAoKSBibG9ja19wb2ludGVyKSArIDUzNSAoQ0ZOZXR3b3JrICsgMTk2OTI3KSBbMHg3ZmZmMmU0ODkxM2ZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFRDUElPQ29ubmVjdGlvbjo6X3N0YXJ0Q29ubmVjdGlvbl9Db21wbGV0aW9uKCkgKyAzMTMgKENGTmV0d29yayArIDE5NzY0MSkgWzB4N2ZmZjJlNDg5NDA5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIHRjcF9jb25uZWN0aW9uX3N0YXJ0ICsgMTI5MyAobGlibmV0d29yay5keWxpYiArIDIyNDUyNSkgWzB4N2ZmZjU5OGNlZDBkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfY29ubmVjdGlvbl9zdGFydCArIDE0OCAobGlibmV0d29yay5keWxpYiArIDI0NTc2NCkgWzB4N2ZmZjU5OGQ0MDA0XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19xdWV1ZV9jb250ZXh0X2FzeW5jX2lmX25lZWRlZCArIDg3IChsaWJuZXR3b3JrLmR5bGliICsgMjM5ODMxKSBbMHg3ZmZmNTk4ZDI4ZDddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19ud19jb25uZWN0aW9uX3N0YXJ0X2Jsb2NrX2ludm9rZSArIDgyMCAobGlibmV0d29yay5keWxpYiArIDI0NzA2MCkgWzB4N2ZmZjU5OGQ0NTE0XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfZW5kcG9pbnRfaGFuZGxlcl9zdGFydCArIDEyNDcgKGxpYm5ldHdvcmsuZHlsaWIgKyAyNTEwMjMpIFsweDdmZmY1OThkNTQ4Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfZW5kcG9pbnRfaGFuZGxlcl9wYXRoX2NoYW5nZSArIDk2NzcgKGxpYm5ldHdvcmsuZHlsaWIgKyAzMDE2NDUpIFsweDdmZmY1OThlMWE0ZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAtW05XQ29uY3JldGVfbndfZW5kcG9pbnRfcmVzb2x2ZXIgc3RhcnRXaXRoSGFuZGxlcjpdICsgMTczOSAobGlibmV0d29yay5keWxpYiArIDMyMjU1NSkgWzB4N2ZmZjU5OGU2YmZiXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcmVzb2x2ZXJfc2V0X3VwZGF0ZV9oYW5kbGVyICsgMzIxIChsaWJuZXR3b3JrLmR5bGliICsgMzMwNjA5KSBbMHg3ZmZmNTk4ZThiNzFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3F1ZXVlX2NvbnRleHRfYXN5bmNfaWZfbmVlZGVkICsgODcgKGxpYm5ldHdvcmsuZHlsaWIgKyAyMzk4MzEpIFsweDdmZmY1OThkMjhkN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX253X3Jlc29sdmVyX3NldF91cGRhdGVfaGFuZGxlcl9ibG9ja19pbnZva2UgKyA3NyAobGlibmV0d29yay5keWxpYiArIDMzMTQzNykgWzB4N2ZmZjU5OGU4ZWFkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcmVzb2x2ZXJfY3JlYXRlX2Ruc19zZXJ2aWNlX2xvY2tlZCArIDEzMSAobGlibmV0d29yay5keWxpYiArIDMzMTY5OSkgWzB4N2ZmZjU5OGU4ZmIzXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19yZXNvbHZlcl9pbnN0YW50aWF0ZV9kbnNfY29ubmVjdGlvbl9mb3JfcGFyYW1ldGVycyArIDExNDEgKGxpYm5ldHdvcmsuZHlsaWIgKyAzMzg3NTcpIFsweDdmZmY1OThlYWI0NV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBETlNTZXJ2aWNlQ3JlYXRlQ29ubmVjdGlvbiArIDk5IChsaWJzeXN0ZW1fZG5zc2QuZHlsaWIgKyA0MDgwKSBbMHg3ZmZmNWI1M2VmZjBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBkZWxpdmVyX3JlcXVlc3QgKyA0NDAgKGxpYnN5c3RlbV9kbnNzZC5keWxpYiArIDU5MzApIFsweDdmZmY1YjUzZjcyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19zZW5kdG9fbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDI2MzA2KSBbMHg3ZmZmNWI1OTc2YzJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaG5kbF91bml4X3NjYWxsNjQgKyAyMiAoa2VybmVsICsgMTQyNjE4MikgWzB4ZmZmZmZmODAwMDM1YzMwNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBzZW5kdG9fbm9jYW5jZWwgKyAyMjEgKGtlcm5lbCArIDc1NTg5MjUpIFsweGZmZmZmZjgwMDA5MzU3MGRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NTU5NTYwKSBbMHhmZmZmZmY4MDAwOTM1OTg4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgc29zZW5kICsgMTkwNiAoa2VybmVsICsgNzQ4ODA5OCkgWzB4ZmZmZmZmODAwMDkyNDI2Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NDI3NjUzKSBbMHhmZmZmZmY4MDAwOTE1NjQ1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzI2MTM2NykgWzB4ZmZmZmZmODAwMDhlY2NiN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzQwODczNCkgWzB4ZmZmZmZmODAwMDkxMGM1ZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc2NDc3KSBbMHhmZmZmZmY4MDAwOGQ4MTFkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGxja19tdHhfc2xlZXAgKyAxMjggKGtlcm5lbCArIDE4MzAwOTYpIFsweGZmZmZmZjgwMDAzYmVjZDBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICB0aHJlYWRfYmxvY2tfcmVhc29uICsgMTc1IChrZXJuZWwgKyAxODgxMjQ3KSBbMHhmZmZmZmY4MDAwM2NiNDlmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDE4ODc2MDkpIFsweGZmZmZmZjgwMDAzY2NkNzldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbWFjaGluZV9zd2l0Y2hfY29udGV4dCArIDE5NSAoa2VybmVsICsgMjk3NTg0MykgWzB4ZmZmZmZmODAwMDRkNjg2M10gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzZjVlMDAwIC0gICAgICAgIDB4MTA0MmE0ZmZmICBjb20ueHdhdmVzb2Z0LmJlZm9jdXNlZC1zZXRhcHAgMS43LjYgKDI5KSAgICAgICAgPDU0QUU2NzIyLUM3OUMtM0FGMS05ODA0LTJBMTQ2OUNBNDQ5OD4gIC9BcHBsaWNhdGlvbnMvU2V0YXBwL0JlIEZvY3VzZWQuYXBwL0NvbnRlbnRzL01hY09TL0JlIEZvY3VzZWQKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgICAgICAgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmRlODgwMDAgLSAgICAgMHg3ZmZmMmUwZmZmZmYgIGNvbS5hcHBsZS5hdWRpby50b29sYm94LkF1ZGlvVG9vbGJveCAxLjE0ICgxLjE0KSA8RUI3MTU4M0MtNThDOS0zQ0Y4LTkyRjktMkQ1N0IyNEJCRDRGPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL0F1ZGlvVG9vbGJveAogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZTgxNDAwMCAtICAgICAweDdmZmYyZWIwYWZmZiAgY29tLmFwcGxlLkhJVG9vbGJveCAyLjEuMSAoOTE4LjUpICAgICAgICAgICAgICAgIDxGN0RBNEYyMC0xMjNCLTMwRkItOUMyNy01QUIxNzQ2REVGNjM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1OTg5ODAwMCAtICAgICAweDdmZmY1OWJlOWZmZiAgbGlibmV0d29yay5keWxpYiAoMTIyOS4yNTAuMTUpICAgICAgICAgICAgICAgICAgIDw3MkM3RTlFMy1CMkJFLTMzMDAtQkUxQi02NDYwNjIyMjAyMkM+ICAvdXNyL2xpYi9saWJuZXR3b3JrLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjUzZTAwMCAtICAgICAweDdmZmY1YjU0NGZmZiAgbGlic3lzdGVtX2Ruc3NkLmR5bGliICg4NzguMjYwLjEpICAgICAgICAgICAgICAgIDw2NEI3OUIwMS1CMUIwLTNDN0UtODdBMS0wMjNCNzE4NDNGMUY+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2Ruc3NkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIEJldHRlclRvdWNoVG9vbCBTZXRhcHAgWzU0NTQ1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDI1LjMwIE1CCk5vdGU6ICAgICAgICAgICAgMyBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDU1NTkzMyAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBOU0FwcGxpY2F0aW9uTWFpbiArIDc3NyAoQXBwS2l0ICsgMTE2NDQpIFsweDdmZmYyY2JhMGQ3Y10gMQogICAgICAxICAtW05TQXBwbGljYXRpb24gcnVuXSArIDY5OSAoQXBwS2l0ICsgNzk5MzIpIFsweDdmZmYyY2JiMTgzY10gMQogICAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbihOU0V2ZW50KSBfbmV4dEV2ZW50TWF0Y2hpbmdFdmVudE1hc2s6dW50aWxEYXRlOmluTW9kZTpkZXF1ZXVlOl0gKyAxMzYxIChBcHBLaXQgKyAxMDQyMjMpIFsweDdmZmYyY2JiNzcxZl0gMQogICAgICAgICAgMSAgX0RQU05leHRFdmVudCArIDk2NSAoQXBwS2l0ICsgMTA4OTM1KSBbMHg3ZmZmMmNiYjg5ODddIDEKICAgICAgICAgICAgMSAgX0Jsb2NrVW50aWxOZXh0RXZlbnRNYXRjaGluZ0xpc3RJbk1vZGVXaXRoRmlsdGVyICsgNjQgKEhJVG9vbGJveCArIDQyMDM4KSBbMHg3ZmZmMmU4MWU0MzZdIDEKICAgICAgICAgICAgICAxICBSZWNlaXZlTmV4dEV2ZW50Q29tbW9uICsgNjAzIChISVRvb2xib3ggKyA0MjY2MSkgWzB4N2ZmZjJlODFlNmE1XSAxCiAgICAgICAgICAgICAgICAxICBSdW5DdXJyZW50RXZlbnRMb29wSW5Nb2RlICsgMjkyIChISVRvb2xib3ggKyA0MzM3MSkgWzB4N2ZmZjJlODFlOTZiXSAxCiAgICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDU1NTljNiAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU0V2ZW50VGhyZWFkIiAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX05TRXZlbnRUaHJlYWQgKyAxNzUgKEFwcEtpdCArIDE0MDk2NikgWzB4N2ZmZjJjYmMwNmE2XSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NTU1OWM5ICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLkNGU29ja2V0LnByaXZhdGUiICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX3NlbGVjdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzQzMzApIFsweDdmZmY1YjU5OTYxYV0gMQogICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIFRocmVhZCAweDU1NTlkZSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBtdF9UaHJlYWRlZE1URW50cnkgKyA3MSAoTXVsdGl0b3VjaFN1cHBvcnQgKyAxNzc3MCkgWzB4N2ZmZjRlMDgwNTZhXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAxMTJkMDAwIC0gICAgICAgIDB4MTAxOTZmZmZmICBjb20uaGVnZW5iZXJnLmJldHRlcnRvdWNodG9vbC1zZXRhcHAgMy4xNTEgKDEzMjEpICAgICA8OTA1NkI5RDEtQTg5MC0zNjY1LUFCNzYtMkM5NUJBRjJGQkZEPiAgL0FwcGxpY2F0aW9ucy9TZXRhcHAvQmV0dGVyVG91Y2hUb29sLmFwcC9Db250ZW50cy9NYWNPUy9CZXR0ZXJUb3VjaFRvb2wgU2V0YXBwCiAgICAgICAgMHg3ZmZmMmNiOWUwMDAgLSAgICAgMHg3ZmZmMmQ5NTNmZmYgIGNvbS5hcHBsZS5BcHBLaXQgNi45ICgxNjcxLjUwLjExMSkgICAgICAgICAgICAgICAgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmU4MTQwMDAgLSAgICAgMHg3ZmZmMmViMGFmZmYgIGNvbS5hcHBsZS5ISVRvb2xib3ggMi4xLjEgKDkxOC41KSAgICAgICAgICAgICAgICAgICAgIDxGN0RBNEYyMC0xMjNCLTMwRkItOUMyNy01QUIxNzQ2REVGNjM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjRlMDdjMDAwIC0gICAgIDB4N2ZmZjRlMGE2ZmZmICBjb20uYXBwbGUuTXVsdGl0b3VjaFN1cHBvcnQuZnJhbWV3b3JrIDI0NTAuMSAoMjQ1MC4xKSA8M0JGODFGMzMtODlBOC0zQTJELTg0QjMtQjM0MzAyMEI2RDk4PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL011bHRpdG91Y2hTdXBwb3J0LmZyYW1ld29yay9WZXJzaW9ucy9BL011bHRpdG91Y2hTdXBwb3J0CiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBCZXR0ZXJUb3VjaFRvb2xBcHBsZVNjcmlwdFJ1bm5lciBbNTQ1NDddCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTAwNCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDU1NTk1OCAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgOTQgKEJldHRlclRvdWNoVG9vbEFwcGxlU2NyaXB0UnVubmVyICsgNjI5NykgWzB4MTA3M2QwODk5XSAxCiAgICAgIDEgIC1bTlNYUENMaXN0ZW5lciByZXN1bWVdICsgMTYyIChGb3VuZGF0aW9uICsgMTY4MTU0KSBbMHg3ZmZmMzE3YTMwZGFdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDczY2YwMDAgLSAgICAgICAgMHgxMDczZDVmZmYgIGNvbS5oZWdlbmJlcmcuQmV0dGVyVG91Y2hUb29sQXBwbGVTY3JpcHRSdW5uZXIgMS4wICgxKSA8MTMxMTk0NEEtMUUxMy0zNDc1LTk3MjQtNzQ1RUQzQUJGNkYyPiAgL0FwcGxpY2F0aW9ucy9TZXRhcHAvQmV0dGVyVG91Y2hUb29sLmFwcC9Db250ZW50cy9YUENTZXJ2aWNlcy9CZXR0ZXJUb3VjaFRvb2xBcHBsZVNjcmlwdFJ1bm5lci54cGMvQ29udGVudHMvTWFjT1MvQmV0dGVyVG91Y2hUb29sQXBwbGVTY3JpcHRSdW5uZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBCZXR0ZXJUb3VjaFRvb2xTY3JpcHRSdW5uZXIgWzU0NTQ2XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDk5NiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDU1NTk1YSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgOTQgKEJldHRlclRvdWNoVG9vbFNjcmlwdFJ1bm5lciArIDYxMzQpIFsweDEwMmE5ODdmNl0gMQogICAgICAxICAtW05TWFBDTGlzdGVuZXIgcmVzdW1lXSArIDE2MiAoRm91bmRhdGlvbiArIDE2ODE1NCkgWzB4N2ZmZjMxN2EzMGRhXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyYTk3MDAwIC0gICAgICAgIDB4MTAyYTljZmZmICBjb20uaGVnZW5iZXJnLkJldHRlclRvdWNoVG9vbFNjcmlwdFJ1bm5lciAxLjAgKDEpIDxBMzJERURDQS05QUIzLTMxOTAtQUQ3Qy02RkJCOTA1MDIwNEI+ICAvQXBwbGljYXRpb25zL1NldGFwcC9CZXR0ZXJUb3VjaFRvb2wuYXBwL0NvbnRlbnRzL1hQQ1NlcnZpY2VzL0JldHRlclRvdWNoVG9vbFNjcmlwdFJ1bm5lci54cGMvQ29udGVudHMvTWFjT1MvQmV0dGVyVG91Y2hUb29sU2NyaXB0UnVubmVyCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQmV0dGVyVG91Y2hUb29sU2hlbGxTY3JpcHRSdW5uZXIgWzU0NTQ4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDgwMCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDU1NTk1OSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgOTQgKEJldHRlclRvdWNoVG9vbFNoZWxsU2NyaXB0UnVubmVyICsgNTcyNikgWzB4MTAxMTVkNjVlXSAxCiAgICAgIDEgIC1bTlNYUENMaXN0ZW5lciByZXN1bWVdICsgMTYyIChGb3VuZGF0aW9uICsgMTY4MTU0KSBbMHg3ZmZmMzE3YTMwZGFdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDExNWMwMDAgLSAgICAgICAgMHgxMDExNjBmZmYgIGNvbS5oZWdlbmJlcmcuQmV0dGVyVG91Y2hUb29sU2hlbGxTY3JpcHRSdW5uZXIgMS4wICgxKSA8MjYxODZFMkEtMUM4QS0zQkM0LTgwMEQtRDQ0RDEyMTYwQUQ4PiAgL0FwcGxpY2F0aW9ucy9TZXRhcHAvQmV0dGVyVG91Y2hUb29sLmFwcC9Db250ZW50cy9YUENTZXJ2aWNlcy9CZXR0ZXJUb3VjaFRvb2xTaGVsbFNjcmlwdFJ1bm5lci54cGMvQ29udGVudHMvTWFjT1MvQmV0dGVyVG91Y2hUb29sU2hlbGxTY3JpcHRSdW5uZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBiaXJkIFsyOTBdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTcuNTUgTUIKTm90ZTogICAgICAgICAgICA1IGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZDM1ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGJpcmQgKyA1OTQ0KSBbMHgxMDhhNWI3MzhdIDEKICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDhhNWEwMDAgLSAgICAgICAgMHgxMDhhNWJmZmYgIGJpcmQgKDU3NS4zMDIpICAgICAgICAgICAgICAgICAgICAgICAgIDxBMjUwN0M4OS1EMTEwLTM1QUQtQTM3QS1CNEIwOEREQzJFRjM+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ2xvdWREb2NzRGFlbW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL1N1cHBvcnQvYmlyZAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGJsdWV0b290aGQgWzk0XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg0MTYgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyZmMgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChibHVldG9vdGhkICsgMTAyNzAxNSkgWzB4MTAyMjQ5YmM3XSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg3MzkgICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuQ0ZTb2NrZXQucHJpdmF0ZSIgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fc2VsZWN0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzNDMzMCkgWzB4N2ZmZjViNTk5NjFhXSAxCiAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMjE0ZjAwMCAtICAgICAgICAweDEwMjQxM2ZmZiAgYmx1ZXRvb3RoZCAoNjAxMi40LjEpICAgICAgICAgICAgICAgICAgPEI3MkNDNkYyLTRDQ0EtM0FDMi04NkRDLUVBMjZFOUQzNDg1Nj4gIC91c3Ivc2Jpbi9ibHVldG9vdGhkCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBib290aW5zdGFsbGQgWzIyMl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyNTkyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4ODJlICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDIwIChiYXNlIDIwKQogIDx0aHJlYWQgUW9TIHV0aWxpdHkgKHJlcXVlc3RlZCB1dGlsaXR5KSwgdGltZXJzIHRpZXIgMyAoY29hbGVzY2VkKSwgSU8gdGllciAxPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoYm9vdGluc3RhbGxkICsgMjAxNTIpIFsweDEwOGM4N2ViOF0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwOGM4MzAwMCAtICAgICAgICAweDEwOGM4OWZmZiAgYm9vdGluc3RhbGxkICg1MDcpICAgICAgICAgICAgICAgICAgICAgPEQ0Nzg5QzBFLTdFNDktM0Q2Ny1CMjVGLTQxMTFBRTY3NUY2Nj4gIC91c3IvbGliZXhlYy9ib290aW5zdGFsbGQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBib3NVcGRhdGVQcm94eSBbMTgxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDExNTYgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg1MWEgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDQzZDEwMDAgLSAgICAgICAgMHgxMDQzZGVmZmYgIGJvc1VwZGF0ZVByb3h5ICgxNi4yNTAuMSkgICAgICAgICAgIDw2NkI2RTE3OC05RUQ1LTM0OTUtODhCMy05OEVBNEIyOERGQTc+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQnJpZGdlT1NTb2Z0d2FyZVVwZGF0ZS5mcmFtZXdvcmsvU3VwcG9ydC9ib3NVcGRhdGVQcm94eQogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBCVFRSZWxhdW5jaCBbNTQ1NTBdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzkzNiBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHg1NTU5OTcgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyA1MiAoQlRUUmVsYXVuY2ggKyA3MzI4KSBbMHgxMDMyMGZjYTBdIDEKICAgIDEgIE5TQXBwbGljYXRpb25NYWluICsgNzc3IChBcHBLaXQgKyAxMTY0NCkgWzB4N2ZmZjJjYmEwZDdjXSAxCiAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbiBydW5dICsgNjk5IChBcHBLaXQgKyA3OTkzMikgWzB4N2ZmZjJjYmIxODNjXSAxCiAgICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uKE5TRXZlbnQpIF9uZXh0RXZlbnRNYXRjaGluZ0V2ZW50TWFzazp1bnRpbERhdGU6aW5Nb2RlOmRlcXVldWU6XSArIDEzNjEgKEFwcEtpdCArIDEwNDIyMykgWzB4N2ZmZjJjYmI3NzFmXSAxCiAgICAgICAgICAxICBfRFBTTmV4dEV2ZW50ICsgOTY1IChBcHBLaXQgKyAxMDg5MzUpIFsweDdmZmYyY2JiODk4N10gMQogICAgICAgICAgICAxICBfQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5nTGlzdEluTW9kZVdpdGhGaWx0ZXIgKyA2NCAoSElUb29sYm94ICsgNDIwMzgpIFsweDdmZmYyZTgxZTQzNl0gMQogICAgICAgICAgICAgIDEgIFJlY2VpdmVOZXh0RXZlbnRDb21tb24gKyA2MDMgKEhJVG9vbGJveCArIDQyNjYxKSBbMHg3ZmZmMmU4MWU2YTVdIDEKICAgICAgICAgICAgICAgIDEgIFJ1bkN1cnJlbnRFdmVudExvb3BJbk1vZGUgKyAyOTIgKEhJVG9vbGJveCArIDQzMzcxKSBbMHg3ZmZmMmU4MWU5NmJdIDEKICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NTU1OWE0ICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TRXZlbnRUaHJlYWQiICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfTlNFdmVudFRocmVhZCArIDE3NSAoQXBwS2l0ICsgMTQwOTY2KSBbMHg3ZmZmMmNiYzA2YTZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzMjBlMDAwIC0gICAgICAgIDB4MTAzMjE2ZmZmICBjb20uaGVnZW5iZXJnLkJUVFJlbGF1bmNoIDEuMiAoMykgICAgICA8MkMxMzI5QTAtQUUyNS0zRTNDLTg3NUEtQkZFNzcxQUEwNjRDPiAgL0FwcGxpY2F0aW9ucy9TZXRhcHAvQmV0dGVyVG91Y2hUb29sLmFwcC9Db250ZW50cy9SZXNvdXJjZXMvQlRUUmVsYXVuY2guYXBwL0NvbnRlbnRzL01hY09TL0JUVFJlbGF1bmNoCiAgICAgICAgMHg3ZmZmMmNiOWUwMDAgLSAgICAgMHg3ZmZmMmQ5NTNmZmYgIGNvbS5hcHBsZS5BcHBLaXQgNi45ICgxNjcxLjUwLjExMSkgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmU4MTQwMDAgLSAgICAgMHg3ZmZmMmViMGFmZmYgIGNvbS5hcHBsZS5ISVRvb2xib3ggMi4xLjEgKDkxOC41KSAgICAgIDxGN0RBNEYyMC0xMjNCLTMwRkItOUMyNy01QUIxNzQ2REVGNjM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBDYWxjdWxhdG9yIFs5MTY0Ml0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMy43OSBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxN2U2ZTAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyBzdXBwcmVzc2VkLCB0aW1lcnMgdGllciA1ICh0aHJvdHRsZWQpLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgTlNBcHBsaWNhdGlvbk1haW4gKyA3NzcgKEFwcEtpdCArIDExNjQ0KSBbMHg3ZmZmMmNiYTBkN2NdIDEKICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uIHJ1bl0gKyA2OTkgKEFwcEtpdCArIDc5OTMyKSBbMHg3ZmZmMmNiYjE4M2NdIDEKICAgICAgICAxICAtW05TQXBwbGljYXRpb24oTlNFdmVudCkgX25leHRFdmVudE1hdGNoaW5nRXZlbnRNYXNrOnVudGlsRGF0ZTppbk1vZGU6ZGVxdWV1ZTpdICsgMTM2MSAoQXBwS2l0ICsgMTA0MjIzKSBbMHg3ZmZmMmNiYjc3MWZdIDEKICAgICAgICAgIDEgIF9EUFNOZXh0RXZlbnQgKyA5NjUgKEFwcEtpdCArIDEwODkzNSkgWzB4N2ZmZjJjYmI4OTg3XSAxCiAgICAgICAgICAgIDEgIF9CbG9ja1VudGlsTmV4dEV2ZW50TWF0Y2hpbmdMaXN0SW5Nb2RlV2l0aEZpbHRlciArIDY0IChISVRvb2xib3ggKyA0MjAzOCkgWzB4N2ZmZjJlODFlNDM2XSAxCiAgICAgICAgICAgICAgMSAgUmVjZWl2ZU5leHRFdmVudENvbW1vbiArIDYwMyAoSElUb29sYm94ICsgNDI2NjEpIFsweDdmZmYyZTgxZTZhNV0gMQogICAgICAgICAgICAgICAgMSAgUnVuQ3VycmVudEV2ZW50TG9vcEluTW9kZSArIDI5MiAoSElUb29sYm94ICsgNDMzNzEpIFsweDdmZmYyZTgxZTk2Yl0gMQogICAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxN2U3MTUgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNFdmVudFRocmVhZCIgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3Mgc3VwcHJlc3NlZCwgdGltZXJzIHRpZXIgNSAodGhyb3R0bGVkKSwgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9OU0V2ZW50VGhyZWFkICsgMTc1IChBcHBLaXQgKyAxNDA5NjYpIFsweDdmZmYyY2JjMDZhNl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDAxMDgwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw2QzkzMEY0Qi1GQzQ4LTMxNkYtQkFBQy0xMTExQjVEQzY5QTU+CiAgICAgICAgMHg3ZmZmMmNiOWUwMDAgLSAgICAgMHg3ZmZmMmQ5NTNmZmYgIGNvbS5hcHBsZS5BcHBLaXQgNi45ICgxNjcxLjUwLjExMSkgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmU4MTQwMDAgLSAgICAgMHg3ZmZmMmViMGFmZmYgIGNvbS5hcHBsZS5ISVRvb2xib3ggMi4xLjEgKDkxOC41KSAgICAgIDxGN0RBNEYyMC0xMjNCLTMwRkItOUMyNy01QUIxNzQ2REVGNjM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgQ2FsZW5kYXIgWzM3ODBdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNjQuMjkgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY1OTcgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3Mgc3VwcHJlc3NlZCwgdGltZXJzIHRpZXIgNSAodGhyb3R0bGVkKSwgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoQ2FsZW5kYXIgKyA4MDg0KSBbMHgxMDlhZGNmOTRdIDEKICAgICAgMSAgTlNBcHBsaWNhdGlvbk1haW4gKyA3NzcgKEFwcEtpdCArIDExNjQ0KSBbMHg3ZmZmMmNiYTBkN2NdIDEKICAgICAgICAxICAtW05TQXBwbGljYXRpb24gcnVuXSArIDY5OSAoQXBwS2l0ICsgNzk5MzIpIFsweDdmZmYyY2JiMTgzY10gMQogICAgICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uKE5TRXZlbnQpIF9uZXh0RXZlbnRNYXRjaGluZ0V2ZW50TWFzazp1bnRpbERhdGU6aW5Nb2RlOmRlcXVldWU6XSArIDEzNjEgKEFwcEtpdCArIDEwNDIyMykgWzB4N2ZmZjJjYmI3NzFmXSAxCiAgICAgICAgICAgIDEgIF9EUFNOZXh0RXZlbnQgKyA5NjUgKEFwcEtpdCArIDEwODkzNSkgWzB4N2ZmZjJjYmI4OTg3XSAxCiAgICAgICAgICAgICAgMSAgX0Jsb2NrVW50aWxOZXh0RXZlbnRNYXRjaGluZ0xpc3RJbk1vZGVXaXRoRmlsdGVyICsgNjQgKEhJVG9vbGJveCArIDQyMDM4KSBbMHg3ZmZmMmU4MWU0MzZdIDEKICAgICAgICAgICAgICAgIDEgIFJlY2VpdmVOZXh0RXZlbnRDb21tb24gKyA2MDMgKEhJVG9vbGJveCArIDQyNjYxKSBbMHg3ZmZmMmU4MWU2YTVdIDEKICAgICAgICAgICAgICAgICAgMSAgUnVuQ3VycmVudEV2ZW50TG9vcEluTW9kZSArIDI5MiAoSElUb29sYm94ICsgNDMzNzEpIFsweDdmZmYyZTgxZTk2Yl0gMQogICAgICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY1ZDYgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TRXZlbnRUaHJlYWQiICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHN1cHByZXNzZWQsIHRpbWVycyB0aWVyIDUgKHRocm90dGxlZCksIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfTlNFdmVudFRocmVhZCArIDE3NSAoQXBwS2l0ICsgMTQwOTY2KSBbMHg3ZmZmMmNiYzA2YTZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA5YWRiMDAwIC0gICAgICAgIDB4MTA5ZDZlZmZmICBjb20uYXBwbGUuaUNhbCAxMS4wICgyMjQ1LjUuMikgICAgICAgICA8RTdDNTI4ODItQTgyNy0zNkEwLThFRDMtOEUwOUQ2NjlDREEyPiAgL0FwcGxpY2F0aW9ucy9DYWxlbmRhci5hcHAvQ29udGVudHMvTWFjT1MvQ2FsZW5kYXIKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgPDkzMzE1NURDLTY0MDQtMzY0Ni1CNkFFLTA4N0QzNEY2MTFCRT4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQy9BcHBLaXQKICAgICAgICAweDdmZmYyZTgxNDAwMCAtICAgICAweDdmZmYyZWIwYWZmZiAgY29tLmFwcGxlLkhJVG9vbGJveCAyLjEuMSAoOTE4LjUpICAgICAgPEY3REE0RjIwLTEyM0ItMzBGQi05QzI3LTVBQjE3NDZERUY2Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBDYWxlbmRhckFnZW50IFszMDldCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNDIuNjkgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZTA1ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKENhbGVuZGFyQWdlbnQgKyA1OTk2KSBbMHgxMDQyZjc3NmNdIDEKICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTRmOCAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNDJmNjAwMCAtICAgICAgICAweDEwNDJmN2ZmZiAgQ2FsZW5kYXJBZ2VudCAoNDE2LjUuMSkgICAgICAgICAgICAgICAgPDVEMDY1NEFDLURDRkEtMzExNS1CQjE5LTI3Mzk0RjgwODQwNz4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DYWxlbmRhckFnZW50LmZyYW1ld29yay9FeGVjdXRhYmxlcy9DYWxlbmRhckFnZW50CiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBDYWxsSGlzdG9yeVBsdWdpbkhlbHBlciBbMzE0XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDcxNDAgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZTc2ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoQ2FsbEhpc3RvcnlQbHVnaW5IZWxwZXIgKyA1MzkxKSBbMHgxMDY4Njg1MGZdIDEKICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDY4NjcwMDAgLSAgICAgICAgMHgxMDY4NjhmZmYgIENhbGxIaXN0b3J5UGx1Z2luSGVscGVyICg4NzAuNikgICAgICAgIDw2QkQwREU3My01ODJGLTNCMEUtQjFBMy0wOEVBQkQ5NzRCQzg+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ2FsbEhpc3RvcnkuZnJhbWV3b3JrL1N1cHBvcnQvQ2FsbEhpc3RvcnlQbHVnaW5IZWxwZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBDYWxsSGlzdG9yeVN5bmNIZWxwZXIgWzQ1NDMwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDgxMjAgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZGNiMzQgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoQ2FsbEhpc3RvcnlTeW5jSGVscGVyICsgNzEwMDgpIFsweDEwMjQzMDU2MF0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMjQxZjAwMCAtICAgICAgICAweDEwMjQ0N2ZmZiAgQ2FsbEhpc3RvcnlTeW5jSGVscGVyICg4NzAuNikgICAgICAgICAgPDhFNDhDQTEwLTRFNkItMzYwRC1CQzZELTQwODEwNTIzOTI0MT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DYWxsSGlzdG9yeS5mcmFtZXdvcmsvU3VwcG9ydC9DYWxsSGlzdG9yeVN5bmNIZWxwZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjYWxsc2VydmljZXNkIFsyODFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTguNTkgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4Y2Q1ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY2FsbHNlcnZpY2VzZCArIDExNDA2MjQpIFsweDEwZWQ0OTc5MF0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZWMzMzAwMCAtICAgICAgICAweDEwZWRlOGZmZiAgY2FsbHNlcnZpY2VzZCAoOTc3LjQwKSAgICAgICAgICAgICAgICAgPDYxQTA2Q0YwLThFQkQtMzdBNC1BNTE1LUZGNkQ3ODFGN0YxNz4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9UZWxlcGhvbnlVdGlsaXRpZXMuZnJhbWV3b3JrL2NhbGxzZXJ2aWNlc2QKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBDYWxOQ1NlcnZpY2UgWzMxNl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMS4yNyBNQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGU3NyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgMTExIChDYWxOQ1NlcnZpY2UgKyA0OTAyMikgWzB4MTBjNGY1ZjdlXSAxCiAgICAgIDEgIC1bTlNYUENMaXN0ZW5lciByZXN1bWVdICsgMTYyIChGb3VuZGF0aW9uICsgMTY4MTU0KSBbMHg3ZmZmMzE3YTMwZGFdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGM0ZWEwMDAgLSAgICAgICAgMHgxMGM0ZjlmZmYgIGNvbS5hcHBsZS5DYWxlbmRhck5vdGlmaWNhdGlvbi5DYWxOQ1NlcnZpY2UgMS4wICg1ODUuMy4xKSA8MkUwRURDMzktQUVFMS0zOEIwLUE0NzEtMjc4ODg2NkREMkRGPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NhbGVuZGFyTm90aWZpY2F0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL0NhbE5DU2VydmljZS54cGMvQ29udGVudHMvTWFjT1MvQ2FsTkNTZXJ2aWNlCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY2FwdGl2ZWFnZW50IFsyMDFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMjc2OCBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHg3M2IgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjYXB0aXZlYWdlbnQgKyA2NDM1KSBbMHgxMDk5N2U5MjNdIDEKICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDc0MSAgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4Nzg2ICAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLkNGU29ja2V0LnByaXZhdGUiICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX3NlbGVjdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzQzMzApIFsweDdmZmY1YjU5OTYxYV0gMQogICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDk5N2QwMDAgLSAgICAgICAgMHgxMDk5ODRmZmYgIGNhcHRpdmVhZ2VudCAoMzU1LjI2MS4xKSAgICAgICAgICAgICAgIDxDMzg4NzhFMS04Qjk1LTNDMzAtODgyNi0wMEQ2NzkyN0YyRDE+ICAvdXNyL2xpYmV4ZWMvY2FwdGl2ZWFnZW50CiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjZHBkIFszNzU5Ml0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMjQ0IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4YzQzOGYgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY2RwZCArIDU4OTUpIFsweDEwZjk0NzcwN10gMQogICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZjk0NjAwMCAtICAgICAgICAweDEwZjk0N2ZmZiAgY2RwZCAoMTc5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDMyRDcxMUYxLTZFRTQtM0U1MC05NjEwLTFFMEQ0M0RDMDZCRD4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlQ0RQLmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9jZHBkCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNmcHJlZnNkIFsxMDRdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzE2MCBLQgpOb3RlOiAgICAgICAgICAgIDUgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgzMmYgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDc4OTkwMDAgLSAgICAgICAgMHgxMDc4OTlmZmYgIGNmcHJlZnNkICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgIDxBRUE0OEM5Ny04NjFDLTNBMTMtQTY0Qy00RkYwMTY0QzZERTA+ICAvdXNyL3NiaW4vY2ZwcmVmc2QKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY2ZwcmVmc2QgWzIwN10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA2MzYgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg3OWQgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDFmNjMwMDAgLSAgICAgICAgMHgxMDFmNjNmZmYgIGNmcHJlZnNkICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgIDxBRUE0OEM5Ny04NjFDLTNBMTMtQTY0Qy00RkYwMTY0QzZERTA+ICAvdXNyL3NiaW4vY2ZwcmVmc2QKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY2ZwcmVmc2QgWzI1M10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMy4wNCBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHhiNzYgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDk5MjQwMDAgLSAgICAgICAgMHgxMDk5MjRmZmYgIGNmcHJlZnNkICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgIDxBRUE0OEM5Ny04NjFDLTNBMTMtQTY0Qy00RkYwMTY0QzZERTA+ICAvdXNyL3NiaW4vY2ZwcmVmc2QKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY2ZwcmVmc2QgWzMxNDM1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDU4NCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGExNjVjICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMmVjYjAwMCAtICAgICAgICAweDEwMmVjYmZmZiAgY2ZwcmVmc2QgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgPEFFQTQ4Qzk3LTg2MUMtM0ExMy1BNjRDLTRGRjAxNjRDNkRFMD4gIC91c3Ivc2Jpbi9jZnByZWZzZAogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjaGVja19hZnAgWzIxOTQ5XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEwNzIgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg2ODU5ZCAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMjAgKGJhc2UgMjApCiAgPHRocmVhZCBRb1MgdXRpbGl0eSAocmVxdWVzdGVkIHV0aWxpdHkpLCB0aW1lcnMgdGllciAzIChjb2FsZXNjZWQpLCBJTyB0aWVyIDE+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjaGVja19hZnAgKyAxMDM0MCkgWzB4MTAyOGE2ODY0XSAxCiAgICAgIDEgID8\/PyAoY2hlY2tfYWZwICsgNzk2MikgWzB4MTAyOGE1ZjFhXSAxCiAgICAgICAgMSAgPz8\/IChjaGVja19hZnAgKyA3MjkzKSBbMHgxMDI4YTVjN2RdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDY4NWExICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAyMCAoYmFzZSAyMCkKICA8dGhyZWFkIFFvUyB1dGlsaXR5IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRpbWVycyB0aWVyIDMgKGNvYWxlc2NlZCksIElPIHRpZXIgMT4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICA\/Pz8gKGNoZWNrX2FmcCArIDEwMjU3KSBbMHgxMDI4YTY4MTFdIDEKICAgICAgICAgIDEgIG1hY2hfbXNnX3NlcnZlcl9vbmNlICsgMjg0IChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMzQ5MDgpIFsweDdmZmY1YjU5OTg1Y10gMQogICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDY4NWFiICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5DRlNvY2tldC5wcml2YXRlIiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMjAgKGJhc2UgMjApCiAgPHRocmVhZCBRb1MgdXRpbGl0eSAocmVxdWVzdGVkIHV0aWxpdHkpLCB0aW1lcnMgdGllciAzIChjb2FsZXNjZWQpLCBJTyB0aWVyIDE+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19zZWxlY3QgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDM0MzMwKSBbMHg3ZmZmNWI1OTk2MWFdIDEKICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyOGE0MDAwIC0gICAgICAgIDB4MTAyOGE3ZmZmICBjaGVja19hZnAgKDUwOC4yNTAuMSkgICAgICAgICAgICAgICAgICA8OTc0REVEQzgtQkMzMi0zMTY4LThENEUtODM4RTNGMDVCOUEzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZpbGVzeXN0ZW1zL0FwcGxlU2hhcmUvY2hlY2tfYWZwLmFwcC9Db250ZW50cy9NYWNPUy9jaGVja19hZnAKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjaHJvbWVfY3Jhc2hwYWRfaGFuZGxlciBbODczMTddCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTEwOCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDQ0OTA1YSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/ICg8NDA4MkNFMzMtQkU4Ni0zODU1LUIwOTYtRkU0NUY2RDhEN0YzPiArIDYxMjcpIFsweDEwMDgwODdlZl0gMQogICAgICAxICA\/Pz8gKDw0MDgyQ0UzMy1CRTg2LTM4NTUtQjA5Ni1GRTQ1RjZEOEQ3RjM+ICsgMTg0NDg3KSBbMHgxMDA4MzQwYTddIDEKICAgICAgICAxICA\/Pz8gKDw0MDgyQ0UzMy1CRTg2LTM4NTUtQjA5Ni1GRTQ1RjZEOEQ3RjM+ICsgMTk0MDc3KSBbMHgxMDA4MzY2MWRdIDEKICAgICAgICAgIDEgID8\/PyAoPDQwODJDRTMzLUJFODYtMzg1NS1CMDk2LUZFNDVGNkQ4RDdGMz4gKyA1MDEwOTcpIFsweDEwMDg4MTU2OV0gMQogICAgICAgICAgICAxICA\/Pz8gKDw0MDgyQ0UzMy1CRTg2LTM4NTUtQjA5Ni1GRTQ1RjZEOEQ3RjM+ICsgNDk5ODM4KSBbMHgxMDA4ODEwN2VdIDEKICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NDQ5MDViICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICA\/Pz8gKDw0MDgyQ0UzMy1CRTg2LTM4NTUtQjA5Ni1GRTQ1RjZEOEQ3RjM+ICsgNDc2ODc0KSBbMHgxMDA4N2I2Y2FdIDEKICAgICAgICAgIDEgID8\/PyAoPDQwODJDRTMzLUJFODYtMzg1NS1CMDk2LUZFNDVGNkQ4RDdGMz4gKyA0NzE1NzcpIFsweDEwMDg3YTIxOV0gMQogICAgICAgICAgICAxICA\/Pz8gKDw0MDgyQ0UzMy1CRTg2LTM4NTUtQjA5Ni1GRTQ1RjZEOEQ3RjM+ICsgNTA5Mjk0KSBbMHgxMDA4ODM1NmVdIDEKICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfc2VtYXBob3JlX3dhaXRfc2xvdyArIDU4IChsaWJkaXNwYXRjaC5keWxpYiArIDE3MjcyKSBbMHg3ZmZmNWI0MTEzNzhdIDEKICAgICAgICAgICAgICAgIDEgIHNlbWFwaG9yZV90aW1lZHdhaXRfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDczNCkgWzB4N2ZmZjViNTkyMjdlXSAxCiAgICAgICAgICAgICAgICAgKjEgIHNlbWFwaG9yZV93YWl0X2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTkzNTM2MCkgWzB4ZmZmZmZmODAwMDNkODgwMF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAwODA3MDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8NDA4MkNFMzMtQkU4Ni0zODU1LUIwOTYtRkU0NUY2RDhEN0YzPgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjbG91ZGQgWzI3Ml0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA0MC42OSBNQgpOb3RlOiAgICAgICAgICAgIDQgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHhjODggICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY2xvdWRkICsgNzYwMykgWzB4MTAxODAyZGIzXSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxMzY0ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuQ0ZTdHJlYW0uTGVnYWN5VGhyZWFkIiAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfbGVnYWN5U3RyZWFtUnVuTG9vcF93b3JrVGhyZWFkICsgMjUxIChDb3JlRm91bmRhdGlvbiArIDk1NjI4MikgWzB4N2ZmZjJmNWUxNzdhXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTNlZCAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NTM4NiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY2xvdWRkLm1tY3MiIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMjAgKGJhc2UgMjApCiAgPHRocmVhZCBRb1MgdXRpbGl0eSAocmVxdWVzdGVkIHV0aWxpdHkpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAxPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtDS0RNTUNTRW5naW5lQ29udGV4dCBfTU1DU1RocmVhZF0gKyA0MTcgKENsb3VkS2l0RGFlbW9uICsgMTk0NzUyNikgWzB4N2ZmZjQxOWY2Nzg2XSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDUzYTQgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNsb3VkZC5tbWNzIiAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDIwIChiYXNlIDIwKQogIDx0aHJlYWQgUW9TIHV0aWxpdHkgKHJlcXVlc3RlZCB1dGlsaXR5KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMT4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bQ0tETU1DU0VuZ2luZUNvbnRleHQgX01NQ1NUaHJlYWRdICsgNDE3IChDbG91ZEtpdERhZW1vbiArIDE5NDc1MjYpIFsweDdmZmY0MTlmNjc4Nl0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg1ODMyICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjbG91ZGQubW1jcyIgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAyMCAoYmFzZSAyMCkKICA8dGhyZWFkIFFvUyB1dGlsaXR5IChyZXF1ZXN0ZWQgdXRpbGl0eSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDE+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW0NLRE1NQ1NFbmdpbmVDb250ZXh0IF9NTUNTVGhyZWFkXSArIDQxNyAoQ2xvdWRLaXREYWVtb24gKyAxOTQ3NTI2KSBbMHg3ZmZmNDE5ZjY3ODZdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4M2M5MGUgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY2xvdWRkLm1tY3MiIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMjAgKGJhc2UgMjApCiAgPHRocmVhZCBRb1MgdXRpbGl0eSAocmVxdWVzdGVkIHV0aWxpdHkpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAxPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtDS0RNTUNTRW5naW5lQ29udGV4dCBfTU1DU1RocmVhZF0gKyA0MTcgKENsb3VkS2l0RGFlbW9uICsgMTk0NzUyNikgWzB4N2ZmZjQxOWY2Nzg2XSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDVhOTM4ICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNsb3VkZC5tbWNzIiAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDIwIChiYXNlIDIwKQogIDx0aHJlYWQgUW9TIHV0aWxpdHkgKHJlcXVlc3RlZCB1dGlsaXR5KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMT4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bQ0tETU1DU0VuZ2luZUNvbnRleHQgX01NQ1NUaHJlYWRdICsgNDE3IChDbG91ZEtpdERhZW1vbiArIDE5NDc1MjYpIFsweDdmZmY0MTlmNjc4Nl0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg1NWFlMTggICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICA\/Pz8gWzB4NzAwMDAwMWFmZmZmXSAxCiAgICAxICBzdGFydF93cXRocmVhZCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMTMpIFsweDdmZmY1YjY1MDNmZF0gMQogICAgICAxICBfcHRocmVhZF93cXRocmVhZCArIDQyMSAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5NzQ1KSBbMHg3ZmZmNWI2NTA2MTFdIDEKICAgICAgICAxICBfZGlzcGF0Y2hfd29ya2xvb3Bfd29ya2VyX3RocmVhZCArIDU5OCAobGliZGlzcGF0Y2guZHlsaWIgKyA3NTUwMSkgWzB4N2ZmZjViNDFmNmVkXSAxCiAgICAgICAgICAxICBfZGlzcGF0Y2hfd29ya2xvb3BfaW52b2tlICsgMjEwMCAobGliZGlzcGF0Y2guZHlsaWIgKyA0NjY5NSkgWzB4N2ZmZjViNDE4NjY3XSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2ludm9rZSArIDQzMyAobGliZGlzcGF0Y2guZHlsaWIgKyA0MTkyNikgWzB4N2ZmZjViNDE3M2M2XSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2xhbmVfc2VyaWFsX2RyYWluICsgNjAyIChsaWJkaXNwYXRjaC5keWxpYiArIDM5MTM2KSBbMHg3ZmZmNWI0MTY4ZTBdIDEKICAgICAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9jbGllbnRfY2FsbG91dCArIDggKGxpYmRpc3BhdGNoLmR5bGliICsgMTM4ODUpIFsweDdmZmY1YjQxMDYzZF0gMQogICAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfY2FsbF9ibG9ja19hbmRfcmVsZWFzZSArIDEyIChsaWJkaXNwYXRjaC5keWxpYiArIDk3MjApIFsweDdmZmY1YjQwZjVmOF0gMQogICAgICAgICAgICAgICAgICAgIDEgIGludm9jYXRpb24gZnVuY3Rpb24gZm9yIGJsb2NrIGluIEhUVFAyQ29ubmVjdGlvbjo6c3RvcCgpICsgMjAgKENGTmV0d29yayArIDEzMjU4NjIpIFsweDdmZmYyZTU5Y2IyNl0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgSFRUUDJDb25uZWN0aW9uOjpfb25xdWV1ZV9jbG9zZUNvbm5lY3Rpb24oYm9vbCkgKyA0NDEgKENGTmV0d29yayArIDUzNjUwOSkgWzB4N2ZmZjJlNGRiZmJkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIFRDUElPQ29ubmVjdGlvbjo6X2NsZWFudXBDb25uZWN0aW9uKCkgKyAyNzYgKENGTmV0d29yayArIDIyNjMxNikgWzB4N2ZmZjJlNDkwNDBjXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgdGNwX2Nvbm5lY3Rpb25fY2FuY2VsICsgNjE1IChsaWJuZXR3b3JrLmR5bGliICsgNjk1Mjg3KSBbMHg3ZmZmNTk5NDFiZjddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X2Nvbm5lY3Rpb25fY2FuY2VsX2lubmVyICsgMTkyIChsaWJuZXR3b3JrLmR5bGliICsgNjk2MTEyKSBbMHg3ZmZmNTk5NDFmMzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcXVldWVfY29udGV4dF9hc3luY19pZl9uZWVkZWQgKyA4NyAobGlibmV0d29yay5keWxpYiArIDIzOTgzMSkgWzB4N2ZmZjU5OGQyOGQ3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19ud19jb25uZWN0aW9uX2NhbmNlbF9pbm5lcl9ibG9ja19pbnZva2UgKyA5OTggKGxpYm5ldHdvcmsuZHlsaWIgKyA2OTc1NzQpIFsweDdmZmY1OTk0MjRlNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfZW5kcG9pbnRfaGFuZGxlcl9jYW5jZWwgKyAxMzM2IChsaWJuZXR3b3JrLmR5bGliICsgNjAxMDgwKSBbMHg3ZmZmNTk5MmFiZjhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgLVtOV0NvbmNyZXRlX253X2VuZHBvaW50X3Jlc29sdmVyIGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdICsgMjM4IChsaWJuZXR3b3JrLmR5bGliICsgNzI4Mjg2KSBbMHg3ZmZmNTk5NDljZGVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICB4cGNfYXJyYXlfYXBwbHkgKyA1NyAobGlieHBjLmR5bGliICsgNDc4MDIpIFsweDdmZmY1YjY5MGFiYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX182MC1bTldDb25jcmV0ZV9ud19lbmRwb2ludF9yZXNvbHZlciBjYW5jZWxXaXRoSGFuZGxlcjpmb3JjZWQ6XV9ibG9ja19pbnZva2UgKyAyNyAobGlibmV0d29yay5keWxpYiArIDcyOTU2MykgWzB4N2ZmZjU5OTRhMWRiXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X2VuZHBvaW50X2hhbmRsZXJfY2FuY2VsICsgMTMzNiAobGlibmV0d29yay5keWxpYiArIDYwMTA4MCkgWzB4N2ZmZjU5OTJhYmY4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgLVtOV0NvbmNyZXRlX253X2VuZHBvaW50X2Zsb3cgY2FuY2VsV2l0aEhhbmRsZXI6Zm9yY2VkOl0gKyA1MDkgKGxpYm5ldHdvcmsuZHlsaWIgKyA3MzAwNzcpIFsweDdmZmY1OTk0YTNkZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYm9yaW5nc3NsX2Rpc2Nvbm5lY3QgKyAxODkgKGxpYmJvcmluZ3NzbC5keWxpYiArIDY5MDAxKSBbMHg3ZmZmNTg1YTlkODldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYm9yaW5nc3NsX3Nlc3Npb25fZGlzY29ubmVjdCArIDEwMiAobGliYm9yaW5nc3NsLmR5bGliICsgNTI0MDIpIFsweDdmZmY1ODVhNWNiMl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFNTTF9zaHV0ZG93biArIDE4OCAobGliYm9yaW5nc3NsLmR5bGliICsgNDA0NjY4KSBbMHg3ZmZmNTg1ZmJjYmNdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbDNfZGlzcGF0Y2hfYWxlcnQoc3NsX3N0KikgKyAzNCAobGliYm9yaW5nc3NsLmR5bGliICsgMzUyOTQ2KSBbMHg3ZmZmNTg1ZWYyYjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6ZG9fc3NsM193cml0ZShzc2xfc3QqLCBpbnQsIHVuc2lnbmVkIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQpICsgNTcyIChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTE5MzMpIFsweDdmZmY1ODVlZWViZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbDNfd3JpdGVfcGVuZGluZyhzc2xfc3QqLCBpbnQsIHVuc2lnbmVkIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQpICsgNTUgKGxpYmJvcmluZ3NzbC5keWxpYiArIDM1MzEzNCkgWzB4N2ZmZjU4NWVmMzZlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBic3NsOjpzc2xfd3JpdGVfYnVmZmVyX2ZsdXNoKHNzbF9zdCopICsgMTc4IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNDYxNTApIFsweDdmZmY1ODVlZDgyNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBCSU9fd3JpdGUgKyA0NiAobGliYm9yaW5nc3NsLmR5bGliICsgMjUyODQxKSBbMHg3ZmZmNTg1ZDZiYTldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9iaW9fd3JpdGUgKyA5MyAobGliYm9yaW5nc3NsLmR5bGliICsgMTAxMjcpIFsweDdmZmY1ODU5Yjc4Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYm9yaW5nc3NsX3dyaXRlX2J5dGVzICsgMTYwOSAobGliYm9yaW5nc3NsLmR5bGliICsgNTk4NjIpIFsweDdmZmY1ODVhNzlkNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19zb2NrZXRfZmluYWxpemVfb3V0cHV0X2ZyYW1lcyArIDEzNCAobGlibmV0d29yay5keWxpYiArIDYyMDkzNCkgWzB4N2ZmZjU5OTJmOTg2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19ud19zb2NrZXRfZmluYWxpemVfb3V0cHV0X2ZyYW1lc19ibG9ja19pbnZva2UgKyA3MyAobGlibmV0d29yay5keWxpYiArIDYyMTczNykgWzB4N2ZmZjU5OTJmY2E5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19zb2NrZXRfZnJhbWVfb3V0cHV0X2ZpbmFsaXplciArIDEwMyAobGlibmV0d29yay5keWxpYiArIDYyMjYzMSkgWzB4N2ZmZjU5OTMwMDI3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9zZXJ2aWNlX3dyaXRlcyArIDE0MyAobGlibmV0d29yay5keWxpYiArIDYyMjg2MykgWzB4N2ZmZjU5OTMwMTBmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19zZW5kbXNnICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyNjQ4MikgWzB4N2ZmZjViNTk3NzcyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBobmRsX3VuaXhfc2NhbGw2NCArIDIyIChrZXJuZWwgKyAxNDI2MTgyKSBbMHhmZmZmZmY4MDAwMzVjMzA2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgc2VuZG1zZ19ub2NhbmNlbCArIDQ4NCAoa2VybmVsICsgNzU2MDg2OCkgWzB4ZmZmZmZmODAwMDkzNWVhNF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NTU5NTYwKSBbMHhmZmZmZmY4MDAwOTM1OTg4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHNvc2VuZCArIDE5MDYgKGtlcm5lbCArIDc0ODgwOTgpIFsweGZmZmZmZjgwMDA5MjQyNjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc0Mjc2NTMpIFsweGZmZmZmZjgwMDA5MTU2NDVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzI2MTM2NykgWzB4ZmZmZmZmODAwMDhlY2NiN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc0MDg3MzQpIFsweGZmZmZmZjgwMDA5MTBjNWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzY0NzcpIFsweGZmZmZmZjgwMDA4ZDgxMWRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGxja19tdHhfc2xlZXAgKyAxMjggKGtlcm5lbCArIDE4MzAwOTYpIFsweGZmZmZmZjgwMDAzYmVjZDBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgMTg4NzYwOSkgWzB4ZmZmZmZmODAwMDNjY2Q3OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbWFjaGluZV9zd2l0Y2hfY29udGV4dCArIDE5NSAoa2VybmVsICsgMjk3NTg0MykgWzB4ZmZmZmZmODAwMDRkNjg2M10gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAxODAxMDAwIC0gICAgICAgIDB4MTAxODA1ZmZmICBjbG91ZGQgKDczNi4yMjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDI2MTkxRjA4LTUyNkQtMzg4OS1CQjExLUVEQkM2RjBFMkM0Qz4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DbG91ZEtpdERhZW1vbi5mcmFtZXdvcmsvU3VwcG9ydC9jbG91ZGQKICAgICAgICAweDdmZmYyZTQ1OTAwMCAtICAgICAweDdmZmYyZTdmYWZmZiAgY29tLmFwcGxlLkNGTmV0d29yayA5NzguMC43ICg5NzguMC43KSAgICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY0MTgxYjAwMCAtICAgICAweDdmZmY0MWNkNWZmZiAgY29tLmFwcGxlLmNsb3Vka2l0LkNsb3VkS2l0RGFlbW9uIDczNi4yMjEgKDczNi4yMjEpIDw4REUyNENDMi03MEE5LTM5RkMtOUQ0Mi0zQjQ5QTNDMzEzQkQ+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ2xvdWRLaXREYWVtb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2xvdWRLaXREYWVtb24KICAgICAgICAweDdmZmY1ODU5OTAwMCAtICAgICAweDdmZmY1ODY2N2ZmZiAgbGliYm9yaW5nc3NsLmR5bGliICgxMDkuMjUwLjIpICAgICAgICAgICAgICAgICAgICAgIDw4MDQ0QkJCNy1GNkUwLTM2QzEtOTVEMS05QzJBQjE5Q0Y5NEE+ICAvdXNyL2xpYi9saWJib3Jpbmdzc2wuZHlsaWIKICAgICAgICAweDdmZmY1OTg5ODAwMCAtICAgICAweDdmZmY1OWJlOWZmZiAgbGlibmV0d29yay5keWxpYiAoMTIyOS4yNTAuMTUpICAgICAgICAgICAgICAgICAgICAgIDw3MkM3RTlFMy1CMkJFLTMzMDAtQkUxQi02NDYwNjIyMjAyMkM+ICAvdXNyL2xpYi9saWJuZXR3b3JrLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIENsb3VkS2V5Y2hhaW5Qcm94eSBbMjkzXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDIwLjE0IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweGQ2NyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKENsb3VkS2V5Y2hhaW5Qcm94eSArIDQwMjY2KSBbMHgxMGY1YmJkNGFdIDEKICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGY1YjIwMDAgLSAgICAgICAgMHgxMGY1YzNmZmYgIGNvbS5hcHBsZS5zZWN1cml0eS5jbG91ZGtleWNoYWlucHJveHkzIDEwLjAgKDU4Mjg2LjI2MC4yMCkgPEIwREI1NkI4LTI2MUYtMzE1RS1BRDg3LTg0QkM3MzQ3RDBDNz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9DbG91ZEtleWNoYWluUHJveHkuYnVuZGxlL0NvbnRlbnRzL01hY09TL0Nsb3VkS2V5Y2hhaW5Qcm94eQogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjbG91ZHBhaXJkIFszNzRdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNDY1NiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDE1NWMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNsb3VkcGFpcmQgKyAxNTgyNzMpIFsweDEwMzdkOWE0MV0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMzdiMzAwMCAtICAgICAgICAweDEwMzgwNGZmZiAgY2xvdWRwYWlyZCAoNjAxMi40LjEpICAgICAgICAgICAgICAgICAgPDQwOTE0RThBLUIwMkQtMzNCOS05MUVDLTQyNzhCQURFODU5MT4gIC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMvY2xvdWRwYWlyZAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNsb3VkcGhvdG9zZCBbNDk0XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDI4LjM3IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDE5OTggICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgMTE1IChjbG91ZHBob3Rvc2QgKyA2NTM2NzApIFsweDEwMjZjNjk2Nl0gMQogICAgICAxICBOU0FwcGxpY2F0aW9uTWFpbiArIDc3NyAoQXBwS2l0ICsgMTE2NDQpIFsweDdmZmYyY2JhMGQ3Y10gMQogICAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbiBydW5dICsgNjk5IChBcHBLaXQgKyA3OTkzMikgWzB4N2ZmZjJjYmIxODNjXSAxCiAgICAgICAgICAxICAtW05TQXBwbGljYXRpb24oTlNFdmVudCkgX25leHRFdmVudE1hdGNoaW5nRXZlbnRNYXNrOnVudGlsRGF0ZTppbk1vZGU6ZGVxdWV1ZTpdICsgMTM2MSAoQXBwS2l0ICsgMTA0MjIzKSBbMHg3ZmZmMmNiYjc3MWZdIDEKICAgICAgICAgICAgMSAgX0RQU05leHRFdmVudCArIDk2NSAoQXBwS2l0ICsgMTA4OTM1KSBbMHg3ZmZmMmNiYjg5ODddIDEKICAgICAgICAgICAgICAxICBfQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5nTGlzdEluTW9kZVdpdGhGaWx0ZXIgKyA2NCAoSElUb29sYm94ICsgNDIwMzgpIFsweDdmZmYyZTgxZTQzNl0gMQogICAgICAgICAgICAgICAgMSAgUmVjZWl2ZU5leHRFdmVudENvbW1vbiArIDYwMyAoSElUb29sYm94ICsgNDI2NjEpIFsweDdmZmYyZTgxZTZhNV0gMQogICAgICAgICAgICAgICAgICAxICBSdW5DdXJyZW50RXZlbnRMb29wSW5Nb2RlICsgMjkyIChISVRvb2xib3ggKyA0MzM3MSkgWzB4N2ZmZjJlODFlOTZiXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxOWMyICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNFdmVudFRocmVhZCIgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9OU0V2ZW50VGhyZWFkICsgMTc1IChBcHBLaXQgKyAxNDA5NjYpIFsweDdmZmYyY2JjMDZhNl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFhMzMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bTU1DU0VuZ2luZSB0aHJlYWRNYWluOl0gKyA3ODEgKENvcmVNZWRpYVN0cmVhbSArIDU5NDA2MCkgWzB4N2ZmZjQzMWY3MDhjXSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWEzNCAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtNTUNTRW5naW5lIHRocmVhZE1haW46XSArIDc4MSAoQ29yZU1lZGlhU3RyZWFtICsgNTk0MDYwKSBbMHg3ZmZmNDMxZjcwOGNdIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyNjI3MDAwIC0gICAgICAgIDB4MTAyNmZlZmZmICBjb20uYXBwbGUuY2xvdWRwaG90b3NkIDQuMCAoMzQ1MS43LjEyMCkgPDJCQTJERDkwLUVDNjMtMzc2RS1BRUJELUQ0OTgxMDFGRDlFQT4gIC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMvY2xvdWRwaG90b3NkLmFwcC9Db250ZW50cy9NYWNPUy9jbG91ZHBob3Rvc2QKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgIDw5MzMxNTVEQy02NDA0LTM2NDYtQjZBRS0wODdEMzRGNjExQkU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0CiAgICAgICAgMHg3ZmZmMmU4MTQwMDAgLSAgICAgMHg3ZmZmMmViMGFmZmYgIGNvbS5hcHBsZS5ISVRvb2xib3ggMi4xLjEgKDkxOC41KSAgICAgICA8RjdEQTRGMjAtMTIzQi0zMEZCLTlDMjctNUFCMTc0NkRFRjYzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSElUb29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL0hJVG9vbGJveAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNDMxNjYwMDAgLSAgICAgMHg3ZmZmNDMyOGVmZmYgIGNvbS5hcHBsZS5Db3JlTWVkaWFTdHJlYW0gMi4wICg1MTAuOCkgICA8QkUyRDBBRkItMThCMi0zNTU2LUI1Q0YtN0QxRTg4ODE3MEFGPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVNZWRpYVN0cmVhbS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlTWVkaWFTdHJlYW0KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBDTUZTeW5jQWdlbnQgWzM0MF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxNTY4IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDExNTIgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKENNRlN5bmNBZ2VudCArIDcyMjgpIFsweDEwNzVkMGMzY10gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNzVjZjAwMCAtICAgICAgICAweDEwNzVkM2ZmZiAgQ01GU3luY0FnZW50ICg2MS41KSAgICAgICAgICAgICAgICAgICAgPDcxMzI4RDVDLTQwREItM0M4Mi1BNEQ0LTVGOEI0NUVCODRGRD4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db21tdW5pY2F0aW9uc0ZpbHRlci5mcmFtZXdvcmsvQ01GU3luY0FnZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29sb3JzeW5jLmRpc3BsYXlzZXJ2aWNlcyBbMjEwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEyODAgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg3Y2YgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb2xvcnN5bmMuZGlzcGxheXNlcnZpY2VzICsgMTYzNzYpIFsweDEwMTRhOWZmOF0gMQogICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMTRhNjAwMCAtICAgICAgICAweDEwMTRhYmZmZiAgY29sb3JzeW5jLmRpc3BsYXlzZXJ2aWNlcyAoMzM0MC43KSAgICAgPDA0QkMwMDMxLUE4QTUtM0NDNy04Qjc0LTA5NEY2RDUxNzM3Mj4gIC91c3IvbGliZXhlYy9jb2xvcnN5bmMuZGlzcGxheXNlcnZpY2VzCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbG9yc3luYy51c2VyYWdlbnQgWzQwN10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMzQwIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTU3MSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29sb3JzeW5jLnVzZXJhZ2VudCArIDEwODM3KSBbMHgxMDc5ZjJhNTVdIDEKICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDc5ZjAwMDAgLSAgICAgICAgMHgxMDc5ZjNmZmYgIGNvbG9yc3luYy51c2VyYWdlbnQgKDMzNDAuNykgICAgICAgICAgIDxCNTEyQkMyOS1GMERCLTMxMUQtQTdBQS0zMzVDQjZENzE2MDg+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db2xvclN5bmMuZnJhbWV3b3JrL1N1cHBvcnQvY29sb3JzeW5jLnVzZXJhZ2VudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb2xvcnN5bmNkIFsyMTFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMjMyNCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDdkNSAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbG9yc3luY2QgKyA3OTI3KSBbMHgxMDUyMThlZjddIDEKICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDUyMTcwMDAgLSAgICAgICAgMHgxMDUyMTlmZmYgIGNvbG9yc3luY2QgKDMzNDAuNykgICAgICAgICAgICAgICAgICAgIDw3RTE2NDM3Qi05RUNCLTNEMkEtQURFQS1FOTE0N0EzOUQ5REE+ICAvdXNyL2xpYmV4ZWMvY29sb3JzeW5jZAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYWNjZXNzaWJpbGl0eS5tZWRpYWFjY2Vzc2liaWxpdHlkIFs1OTddCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTE0MCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDIxYzkgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwODNjYzAwMCAtICAgICAgICAweDEwODNjZGZmZiAgY29tLmFwcGxlLmFjY2Vzc2liaWxpdHkubWVkaWFhY2Nlc3NpYmlsaXR5ZCAxLjAgKDEpIDw4OEI5QTUyNy1FMUNCLTNEOEEtOENDNC05NDZGQkU0RDY4QjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9NZWRpYUFjY2Vzc2liaWxpdHkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLmFjY2Vzc2liaWxpdHkubWVkaWFhY2Nlc3NpYmlsaXR5ZC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmFjY2Vzc2liaWxpdHkubWVkaWFhY2Nlc3NpYmlsaXR5ZAogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuQWNjb3VudFBvbGljeUhlbHBlciBbMjM4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEzNTIgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg4YmQgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGM5NzgwMDAgLSAgICAgICAgMHgxMGM5ODJmZmYgIGNvbS5hcHBsZS5BY2NvdW50UG9saWN5SGVscGVyIDEuMCAoMSkgPERGNjE5MTlCLThFNTEtMzFFQi1CNkU0LUIxRDdGQjYxNTQyRD4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BY2NvdW50UG9saWN5LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuQWNjb3VudFBvbGljeUhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLkFjY291bnRQb2xpY3lIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLkFtYmllbnREaXNwbGF5QWdlbnQgWzI0Nl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMDgwIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4YWU3ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgMzIwIChjb20uYXBwbGUuQW1iaWVudERpc3BsYXlBZ2VudCArIDExMjk2KSBbMHgxMDM0Y2JjMjBdIDEKICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweGFlZCAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgPz8\/IChjb20uYXBwbGUuQW1iaWVudERpc3BsYXlBZ2VudCArIDEzNDEzKSBbMHgxMDM0Y2M0NjVdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDM0YzkwMDAgLSAgICAgICAgMHgxMDM0ZDBmZmYgIGNvbS5hcHBsZS5BbWJpZW50RGlzcGxheUFnZW50IDEuMCAoMTEwKSA8RkFBQ0Q5NTItNEYzQy0zQjFBLTlEODktN0JBN0EyOUE0Qzc3PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FtYmllbnREaXNwbGF5LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5BbWJpZW50RGlzcGxheUFnZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuQW1iaWVudERpc3BsYXlBZ2VudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5Ecml2ZXJIZWxwZXIgWzE0OV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMzY4IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDQyMSAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNzZmMDAwMCAtICAgICAgICAweDEwNzZmMmZmZiAgY29tLmFwcGxlLmF1ZGlvLkRyaXZlckhlbHBlciAxLjAgKDEpIDxBOEE5RDMzMC1EOTdDLTM2OTItOEQ5My1GNjg2MDlCRDdDQUU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlQXVkaW8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLkRyaXZlckhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLkRyaXZlckhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbMTk3XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg4MCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDZiMSAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwYTZhNjAwMCAtICAgICAgICAweDEwYTZhYWZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbNTk1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg5NiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDIxMzkgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwYTU1YTAwMCAtICAgICAgICAweDEwYTU1ZWZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbNTk4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg3NiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDIxZjggICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMDk1YjAwMCAtICAgICAgICAweDEwMDk1ZmZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbNDE5Ml0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA5MDQgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyNDMxZiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGI3MzYwMDAgLSAgICAgICAgMHgxMGI3M2FmZmYgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIDEuMC4xICgxKSA8M0JERTgzNzktQkI1MS0zMkI2LUIwNkItOEIzNjgyMEU2N0UzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgWzEwMTM2XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDgxNiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDM2NDViICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNDMwZDAwMCAtICAgICAgICAweDEwNDMxMWZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbMTExNzFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTAwIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4M2FlY2MgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA3NDdjMDAwIC0gICAgICAgIDB4MTA3NDgwZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs0NTIxNF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA4OTYgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHhkYjQzMiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDYwMmQwMDAgLSAgICAgICAgMHgxMDYwMzFmZmYgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIDEuMC4xICgxKSA8M0JERTgzNzktQkI1MS0zMkI2LUIwNkItOEIzNjgyMEU2N0UzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgWzQ4MjAyXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg4NCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGVhODBlICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwOTU5MjAwMCAtICAgICAgICAweDEwOTU5NmZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbMzQwODFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTA0IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDIzMGZmYSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZDZmYjAwMCAtICAgICAgICAweDEwZDZmZmZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbNzAwNDVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODg4IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4Mjg0OTcxICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzOGYyMDAwIC0gICAgICAgIDB4MTAzOGY2ZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs3MDE0M10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA4NzYgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyODVlNDggICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGY4MWEwMDAgLSAgICAgICAgMHgxMGY4MWVmZmYgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIDEuMC4xICgxKSA8M0JERTgzNzktQkI1MS0zMkI2LUIwNkItOEIzNjgyMEU2N0UzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgWzcwMTQ1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg4OCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDI4NWVjNiAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZTgwYjAwMCAtICAgICAgICAweDEwZTgwZmZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbNzAxNDhdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTIwIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4Mjg1ZjJhICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzMmNjMDAwIC0gICAgICAgIDB4MTAzMmQwZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs3MDE0OV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA4NjggS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyODVmNjEgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDhkNGEwMDAgLSAgICAgICAgMHgxMDhkNGVmZmYgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIDEuMC4xICgxKSA8M0JERTgzNzktQkI1MS0zMkI2LUIwNkItOEIzNjgyMEU2N0UzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgWzcwMTUxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg4NCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDI4NWZhMCAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMDg5NzAwMCAtICAgICAgICAweDEwMDg5YmZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbOTkwMThdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODMyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzEyZTBiICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA5Njc1MDAwIC0gICAgICAgIDB4MTA5Njc5ZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFszODJdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTE2IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzE3YWEwICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBkNDJlMDAwIC0gICAgICAgIDB4MTBkNDMyZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs0MjddCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTA0IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzE3ZDI2ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBhZjRiMDAwIC0gICAgICAgIDB4MTBhZjRmZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs1NDhdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODkyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzE4OTJjICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAwOWExMDAwIC0gICAgICAgIDB4MTAwOWE1ZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs1NTFdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODkyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzE4OWQ0ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmZjhhMDAwIC0gICAgICAgIDB4MTBmZjhlZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs1Mjg2XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg2MCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDMzMDhmMCAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNDI1NzAwMCAtICAgICAgICAweDEwNDI1YmZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbNTY2NzNdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODcyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4M2QzMjlkICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAxY2E5MDAwIC0gICAgICAgIDB4MTAxY2FkZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs1NjkxOF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA4NzIgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgzZDUyM2EgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGVmNGIwMDAgLSAgICAgICAgMHgxMGVmNGZmZmYgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIDEuMC4xICgxKSA8M0JERTgzNzktQkI1MS0zMkI2LUIwNkItOEIzNjgyMEU2N0UzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgWzkxMDEzXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDkyMCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDQ2MDcyZCAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZDlmMzAwMCAtICAgICAgICAweDEwZDlmN2ZmZiAgY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIgMS4wLjEgKDEpIDwzQkRFODM3OS1CQjUxLTMyQjYtQjA2Qi04QjM2ODIwRTY3RTM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlcgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciBbOTEwMzJdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTI0IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4NDYwYWM1ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyZDk5MDAwIC0gICAgICAgIDB4MTAyZDlkZmZmICBjb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlciAxLjAuMSAoMSkgPDNCREU4Mzc5LUJCNTEtMzJCNi1CMDZCLThCMzY4MjBFNjdFMz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvWFBDU2VydmljZXMvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIFs0MzMyMV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA5MjQgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg1MGYzYzIgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGY5MTAwMDAgLSAgICAgICAgMHgxMGY5MTRmZmYgIGNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIDEuMC4xICgxKSA8M0JERTgzNzktQkI1MS0zMkI2LUIwNkItOEIzNjgyMEU2N0UzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9YUENTZXJ2aWNlcy9jb20uYXBwbGUuYXVkaW8uU2FuZGJveEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLkNoYXJhY3RlclBpY2tlci5GaWxlU2VydmljZSBbNDE1MF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMTgwIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MjNiMGIgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgIG1haW4gKyAxNiAoY29tLmFwcGxlLkNoYXJhY3RlclBpY2tlci5GaWxlU2VydmljZSArIDU1OTYpIFsweDEwYWFiMDVkY10gMQogICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwYWFhZjAwMCAtICAgICAgICAweDEwYWFiN2ZmZiAgY29tLmFwcGxlLkNoYXJhY3RlclBpY2tlci5GaWxlU2VydmljZSAxLjAgKDEyOC4yMC4yKSA8NTVGQzRCODktNkIyQS0zQTc1LTk2OTctMUI3RDJBQTFFQjA4PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NoYXJhY3RlclBpY2tlci5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuQ2hhcmFjdGVyUGlja2VyLkZpbGVTZXJ2aWNlLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuQ2hhcmFjdGVyUGlja2VyLkZpbGVTZXJ2aWNlCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLkNsb3VkRG9jcy5Nb2JpbGVEb2N1bSBbNTUzNjBdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMjQ0OCBLQgpOb3RlOiAgICAgICAgICAgIDMgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHg1NWMzOTkgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgTlNFeHRlbnNpb25NYWluICsgNTEgKEZvdW5kYXRpb24gKyAyMzM2NzgwKSBbMHg3ZmZmMzE5YjQ4MGNdIDEKICAgICAgMSAgPz8\/IChQbHVnSW5LaXQgKyA4NDg5NSkgWzB4N2ZmZjUxNzI3YjlmXSAxCiAgICAgICAgMSAgPz8\/IChQbHVnSW5LaXQgKyA4MzYwMykgWzB4N2ZmZjUxNzI3NjkzXSAxCiAgICAgICAgICAxICA\/Pz8gKFBsdWdJbktpdCArIDg0MDQzKSBbMHg3ZmZmNTE3Mjc4NGJdIDEKICAgICAgICAgICAgMSAgLVtOU1hQQ0xpc3RlbmVyIHJlc3VtZV0gKyAxNjIgKEZvdW5kYXRpb24gKyAxNjgxNTQpIFsweDdmZmYzMTdhMzBkYV0gMQogICAgICAgICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwN2RhZjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwNUNCNTAwLUYyOEYtMzc5RS05MzU2LUE3NjkwMDBFRDU4Nj4KICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1MTcxMzAwMCAtICAgICAweDdmZmY1MTczNmZmZiAgY29tLmFwcGxlLnBsdWdpbmtpdC5mcmFtZXdvcmsgMS4wICgxKSAgPDkxMEMzQUZFLTdDNDYtM0MzNC1CMDAwLTRFRDkyMzM2QjlGRD4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QbHVnSW5LaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUGx1Z0luS2l0CiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLkNsb3VkUGhvdG9zQ29uZmlndXJhdGlvbiBbNTAyXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDk0MDQgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgxOWMzICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgbWFpbiArIDI0IChjb20uYXBwbGUuQ2xvdWRQaG90b3NDb25maWd1cmF0aW9uICsgMTA4NzMpIFsweDEwZTFkYmE3OV0gMQogICAgICAxICArW0NQU0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHJ1bl0gKyA1MyAoY29tLmFwcGxlLkNsb3VkUGhvdG9zQ29uZmlndXJhdGlvbiArIDExMTk1KSBbMHgxMGUxZGJiYmJdIDEKICAgICAgICAxICAtW0NQU0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHJ1bl0gKyAxOTkgKGNvbS5hcHBsZS5DbG91ZFBob3Rvc0NvbmZpZ3VyYXRpb24gKyAxMTQwNykgWzB4MTBlMWRiYzhmXSAxCiAgICAgICAgICAxICAtW05TWFBDTGlzdGVuZXIgcmVzdW1lXSArIDE2MiAoRm91bmRhdGlvbiArIDE2ODE1NCkgWzB4N2ZmZjMxN2EzMGRhXSAxCiAgICAgICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBlMWQ5MDAwIC0gICAgICAgIDB4MTBlMWU5ZmZmICBjb20uYXBwbGUuQ2xvdWRQaG90b3NDb25maWd1cmF0aW9uIDQuMCAoMzQ1MS43LjEyMCkgPDgwQ0JCRjRELUM1Q0EtMzJFMy04M0Q5LUM0NjQ0RDlDNEQ1Qz4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DbG91ZFBob3RvU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9DbG91ZFBob3Rvc0NvbmZpZ3VyYXRpb25YUEMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLkNsb3VkUGhvdG9zQ29uZmlndXJhdGlvbi54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLkNsb3VkUGhvdG9zQ29uZmlndXJhdGlvbgogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5jbWlvLnJlZ2lzdGVyYXNzaXN0YW50c2VydmljZSBbMjI4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDcyOCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDg2YyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZWZmMTAwMCAtICAgICAgICAweDEwZWZmM2ZmZiAgY29tLmFwcGxlLmNtaW8ucmVnaXN0ZXJhc3Npc3RhbnRzZXJ2aWNlIDkwMC4wICg1MDUwLjEpIDxFNjIxOUM4OC01MEMwLTNBRTUtOUIwRi03NDM4N0M4QzJDMEQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlTWVkaWFJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuY21pby5yZWdpc3RlcmFzc2lzdGFudHNlcnZpY2UueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5jbWlvLnJlZ2lzdGVyYXNzaXN0YW50c2VydmljZQogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuQ29kZVNpZ25pbmdIZWxwZXIgWzIxOV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA5NjQ0IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDgxNyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNTFjNzAwMCAtICAgICAgICAweDEwNTFjOGZmZiAgY29tLmFwcGxlLkNvZGVTaWduaW5nSGVscGVyIDEuMCAoMSkgPDE1QzU2NDEzLUExODUtMzg2Qy05NUZBLTIyRDEyQkVCQkUyNz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5Db2RlU2lnbmluZ0hlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLkNvZGVTaWduaW5nSGVscGVyCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5Db21tZXJjZUtpdC5UcmFuc2FjdGlvblNlcnZpY2UgWzUxNF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAzMzQ4IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWE0YSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzNTQxMDAwIC0gICAgICAgIDB4MTAzNzFjZmZmICBjb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlIDEuMCAoNzA4LjQuMikgPDcyQTkxRDc0LTFEQ0QtMzk5Ny04QkEzLUYzMjY3RkE3NTZGMT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db21tZXJjZUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5Db21tZXJjZUtpdC5UcmFuc2FjdGlvblNlcnZpY2UgWzg0MzY2XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDUxMzIgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyZDNlYWEgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIFRocmVhZCAweDJkM2ViMyAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZWM3ZDAwMCAtICAgICAgICAweDEwZWU1OGZmZiAgY29tLmFwcGxlLkNvbW1lcmNlS2l0LlRyYW5zYWN0aW9uU2VydmljZSAxLjAgKDcwOC40LjIpIDw3MkE5MUQ3NC0xRENELTM5OTctOEJBMy1GMzI2N0ZBNzU2RjE+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29tbWVyY2VLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLkNvbW1lcmNlS2l0LlRyYW5zYWN0aW9uU2VydmljZS54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLkNvbW1lcmNlS2l0LlRyYW5zYWN0aW9uU2VydmljZQogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlIFs1NjUxMV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAzMjQ0IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4M2QwZTE0ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAzOTk5MDAwIC0gICAgICAgIDB4MTAzYjc0ZmZmICBjb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlIDEuMCAoNzA4LjQuMikgPDcyQTkxRDc0LTFEQ0QtMzk5Ny04QkEzLUYzMjY3RkE3NTZGMT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db21tZXJjZUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuQ29tbWVyY2VLaXQuVHJhbnNhY3Rpb25TZXJ2aWNlCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5jdGtwY3NjZCBbMTIxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDk3MiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDNkNyAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwOTY5OTAwMCAtICAgICAgICAweDEwOTZhMmZmZiAgY29tLmFwcGxlLmN0a3Bjc2NkIDEuMCAoMSkgICAgICAgICAgPEZGM0IwRkMwLTE2M0MtM0Q1RS1BQjZDLTY5MTJGQzZEODNCQj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1BDU0MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLmN0a3Bjc2NkLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuY3RrcGNzY2QKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLkRpY3Rpb25hcnlTZXJ2aWNlSGVscGVyIFs4MTNdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzAwMCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDQ5ZDggICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNmZlZDAwMCAtICAgICAgICAweDEwNmZmMmZmZiAgY29tLmFwcGxlLkRpY3Rpb25hcnlTZXJ2aWNlSGVscGVyIDEuMCAoMjg0LjE2LjQpIDxDNjQxQTNBRS02QTZGLTM4NzMtOEZCRi1GNDk4QTRERkFCRUI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9EaWN0aW9uYXJ5U2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLkRpY3Rpb25hcnlTZXJ2aWNlSGVscGVyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuRGljdGlvbmFyeVNlcnZpY2VIZWxwZXIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgICAgICAgICAgIDwyNkRGNUIxRS1BMzg4LTM4RUYtQjczQi1BRjBFOTNGQjAyREI+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLmRvY2suZXh0cmEgWzI5N10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA5MjAwIEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweGQ3ZiAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuZG9jay5leHRyYSArIDQzODgpIFsweDEwMjY3ZDEyNF0gMQogICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNjEyIChsaWJ4cGMuZHlsaWIgKyA2OTgxMSkgWzB4N2ZmZjViNjk2MGIzXSAxCiAgICAgICAgICAxICBOU0FwcGxpY2F0aW9uTWFpbiArIDc3NyAoQXBwS2l0ICsgMTE2NDQpIFsweDdmZmYyY2JhMGQ3Y10gMQogICAgICAgICAgICAxICAtW05TQXBwbGljYXRpb24gcnVuXSArIDY5OSAoQXBwS2l0ICsgNzk5MzIpIFsweDdmZmYyY2JiMTgzY10gMQogICAgICAgICAgICAgIDEgIC1bTlNBcHBsaWNhdGlvbihOU0V2ZW50KSBfbmV4dEV2ZW50TWF0Y2hpbmdFdmVudE1hc2s6dW50aWxEYXRlOmluTW9kZTpkZXF1ZXVlOl0gKyAxMzYxIChBcHBLaXQgKyAxMDQyMjMpIFsweDdmZmYyY2JiNzcxZl0gMQogICAgICAgICAgICAgICAgMSAgX0RQU05leHRFdmVudCArIDk2NSAoQXBwS2l0ICsgMTA4OTM1KSBbMHg3ZmZmMmNiYjg5ODddIDEKICAgICAgICAgICAgICAgICAgMSAgX0Jsb2NrVW50aWxOZXh0RXZlbnRNYXRjaGluZ0xpc3RJbk1vZGVXaXRoRmlsdGVyICsgNjQgKEhJVG9vbGJveCArIDQyMDM4KSBbMHg3ZmZmMmU4MWU0MzZdIDEKICAgICAgICAgICAgICAgICAgICAxICBSZWNlaXZlTmV4dEV2ZW50Q29tbW9uICsgNjAzIChISVRvb2xib3ggKyA0MjY2MSkgWzB4N2ZmZjJlODFlNmE1XSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBSdW5DdXJyZW50RXZlbnRMb29wSW5Nb2RlICsgMjkyIChISVRvb2xib3ggKyA0MzM3MSkgWzB4N2ZmZjJlODFlOTZiXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweGQ5ZSAgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU0V2ZW50VGhyZWFkIiAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9OU0V2ZW50VGhyZWFkICsgMTc1IChBcHBLaXQgKyAxNDA5NjYpIFsweDdmZmYyY2JjMDZhNl0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDI2N2MwMDAgLSAgICAgICAgMHgxMDI2N2ZmZmYgIGNvbS5hcHBsZS5kb2NrLmV4dHJhIDEuMCAoMSkgICAgICAgICAgIDw2RTNCNzE2Qy1DNTdDLTM3NEYtODRBMi05OTc5MDRENzI2M0U+ICAvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL0RvY2suYXBwL0NvbnRlbnRzL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5kb2NrLmV4dHJhLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuZG9jay5leHRyYQogICAgICAgIDB4N2ZmZjJjYjllMDAwIC0gICAgIDB4N2ZmZjJkOTUzZmZmICBjb20uYXBwbGUuQXBwS2l0IDYuOSAoMTY3MS41MC4xMTEpICAgICA8OTMzMTU1REMtNjQwNC0zNjQ2LUI2QUUtMDg3RDM0RjYxMUJFPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9WZXJzaW9ucy9DL0FwcEtpdAogICAgICAgIDB4N2ZmZjJlODE0MDAwIC0gICAgIDB4N2ZmZjJlYjBhZmZmICBjb20uYXBwbGUuSElUb29sYm94IDIuMS4xICg5MTguNSkgICAgICA8RjdEQTRGMjAtMTIzQi0zMEZCLTlDMjctNUFCMTc0NkRFRjYzPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSElUb29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL0hJVG9vbGJveAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5nZW9kIFsyMDVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTQuNTcgTUIKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHg3OTMgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuZ2VvZCArIDE1MTk4MSkgWzB4MTAyOTQyMWFkXSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg3YjAgICAgICAgICAgICAgIFRocmVhZCBuYW1lICJOZXR3b3JrTG9hZCIgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfcnVuTmV0d29ya1RocmVhZCArIDQ3OCAoR2VvU2VydmljZXMgKyA0NzAwMCkgWzB4N2ZmZjRhOWFiNzk4XSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMjkxZDAwMCAtICAgICAgICAweDEwMjk0YmZmZiAgY29tLmFwcGxlLmdlb2QgMS4wICgxMzY0LjI1LjEyLjE4LjE2KSAgICAgICAgPEJCRkI4QTNBLUEwNTMtM0M0Mi1BQTUzLUY0RjUxRjZBNkM5OT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9HZW9TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuZ2VvZC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmdlb2QKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNGE5YTAwMDAgLSAgICAgMHg3ZmZmNGIzOWZmZmYgIGNvbS5hcHBsZS5HZW9TZXJ2aWNlcyAxLjAgKDEzNjQuMjUuMTIuMTguMTYpIDw0ODYxM0I5OC0zQzg2LTM2ODQtOEU1RS1EODk5OTI3QTFDQTg+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvR2VvU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvR2VvU2VydmljZXMKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5nZW9kIFszMDddCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTYuNjUgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZGRmICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLmdlb2QgKyAxNTE5ODEpIFsweDEwMjhlNjFhZF0gMQogICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4ZjJiICAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiTmV0d29ya0xvYWQiIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX3J1bk5ldHdvcmtUaHJlYWQgKyA0NzggKEdlb1NlcnZpY2VzICsgNDcwMDApIFsweDdmZmY0YTlhYjc5OF0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDE4ZDEgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NTViMTk2ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0X3dxdGhyZWFkICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIxMykgWzB4N2ZmZjViNjUwM2ZkXSAxCiAgICAxICBfcHRocmVhZF93cXRocmVhZCArIDQyMSAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5NzQ1KSBbMHg3ZmZmNWI2NTA2MTFdIDEKICAgICAgMSAgX2Rpc3BhdGNoX3dvcmtsb29wX3dvcmtlcl90aHJlYWQgKyA1OTggKGxpYmRpc3BhdGNoLmR5bGliICsgNzU1MDEpIFsweDdmZmY1YjQxZjZlZF0gMQogICAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF9pbnZva2UgKyAyMTAwIChsaWJkaXNwYXRjaC5keWxpYiArIDQ2Njk1KSBbMHg3ZmZmNWI0MTg2NjddIDEKICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2ludm9rZSArIDQzMyAobGliZGlzcGF0Y2guZHlsaWIgKyA0MTkyNikgWzB4N2ZmZjViNDE3M2M2XSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX3NlcmlhbF9kcmFpbiArIDYwMiAobGliZGlzcGF0Y2guZHlsaWIgKyAzOTEzNikgWzB4N2ZmZjViNDE2OGUwXSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfY2FsbF9ibG9ja19hbmRfcmVsZWFzZSArIDEyIChsaWJkaXNwYXRjaC5keWxpYiArIDk3MjApIFsweDdmZmY1YjQwZjVmOF0gMQogICAgICAgICAgICAgICAgICAxICBpbnZvY2F0aW9uIGZ1bmN0aW9uIGZvciBibG9jayBpbiBRQ29yZVNjaGVkdWxpbmdTZXQ6OnBlcmZvcm1Bc3luYyh2b2lkICgpIGJsb2NrX3BvaW50ZXIpIGNvbnN0ICsgNDEgKENGTmV0d29yayArIDc4MzI4OSkgWzB4N2ZmZjJlNTE4M2I5XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgSFRUUENvbm5lY3Rpb25DYWNoZTo6dGltZW91dElkbGVDb25uZWN0aW9ucygpICsgMzAgKENGTmV0d29yayArIDQyNjQwMCkgWzB4N2ZmZjJlNGMxMWEwXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBIVFRQQ29ubmVjdGlvbkNhY2hlOjpwZXJmb3JtSWRsZVN3ZWVwKCkgKyAxODEgKENGTmV0d29yayArIDQyNzE5OSkgWzB4N2ZmZjJlNGMxNGJmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uQ2FjaGVFbnRyeTo6cHVyZ2VJZGxlQ29ubmVjdGlvbnMoZG91YmxlLCBkb3VibGUpICsgNDQ2IChDRk5ldHdvcmsgKyA0MjgyNDYpIFsweDdmZmYyZTRjMThkNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uQ2FjaGVFbnRyeTo6X3JlbW92ZUNvbm5lY3Rpb24oc3RkOjpfXzE6OnNoYXJlZF9wdHI8SFRUUENvbm5lY3Rpb24+KSArIDE2MiAoQ0ZOZXR3b3JrICsgNDI4OTEyKSBbMHg3ZmZmMmU0YzFiNzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uQ2FjaGVFbnRyeTo6Q29ubmVjdGlvbkFycmF5OjpzdG9wQW5kUmVtb3ZlKGxvbmcpICsgNzggKENGTmV0d29yayArIDQyOTEwNCkgWzB4N2ZmZjJlNGMxYzMwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uOjpfb25xdWV1ZV9kb05vdEFsbG93TW9yZVJlcXVlc3RzKCkgKyA2MjMgKENGTmV0d29yayArIDQyOTgxMykgWzB4N2ZmZjJlNGMxZWY1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgSFRUUEVuZ2luZTo6X2NsZWFudXBDb25uZWN0aW9uKCkgKyA3NyAoQ0ZOZXR3b3JrICsgNDMwMzQ1KSBbMHg3ZmZmMmU0YzIxMDldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFRDUElPQ29ubmVjdGlvbjo6X2NsZWFudXBDb25uZWN0aW9uKCkgKyAyNzYgKENGTmV0d29yayArIDIyNjMxNikgWzB4N2ZmZjJlNDkwNDBjXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIHRjcF9jb25uZWN0aW9uX2NhbmNlbCArIDYxNSAobGlibmV0d29yay5keWxpYiArIDY5NTI4NykgWzB4N2ZmZjU5OTQxYmY3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfY29ubmVjdGlvbl9jYW5jZWxfaW5uZXIgKyAxOTIgKGxpYm5ldHdvcmsuZHlsaWIgKyA2OTYxMTIpIFsweDdmZmY1OTk0MWYzMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcXVldWVfY29udGV4dF9hc3luY19pZl9uZWVkZWQgKyA4NyAobGlibmV0d29yay5keWxpYiArIDIzOTgzMSkgWzB4N2ZmZjU5OGQyOGQ3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fbndfY29ubmVjdGlvbl9jYW5jZWxfaW5uZXJfYmxvY2tfaW52b2tlICsgOTk4IChsaWJuZXR3b3JrLmR5bGliICsgNjk3NTc0KSBbMHg3ZmZmNTk5NDI0ZTZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19lbmRwb2ludF9oYW5kbGVyX2NhbmNlbCArIDEzMzYgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MDEwODApIFsweDdmZmY1OTkyYWJmOF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgLVtOV0NvbmNyZXRlX253X2VuZHBvaW50X3Jlc29sdmVyIGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdICsgMjM4IChsaWJuZXR3b3JrLmR5bGliICsgNzI4Mjg2KSBbMHg3ZmZmNTk5NDljZGVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgeHBjX2FycmF5X2FwcGx5ICsgNTcgKGxpYnhwYy5keWxpYiArIDQ3ODAyKSBbMHg3ZmZmNWI2OTBhYmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfXzYwLVtOV0NvbmNyZXRlX253X2VuZHBvaW50X3Jlc29sdmVyIGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdX2Jsb2NrX2ludm9rZSArIDI3IChsaWJuZXR3b3JrLmR5bGliICsgNzI5NTYzKSBbMHg3ZmZmNTk5NGExZGJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X2VuZHBvaW50X2hhbmRsZXJfY2FuY2VsICsgMTMzNiAobGlibmV0d29yay5keWxpYiArIDYwMTA4MCkgWzB4N2ZmZjU5OTJhYmY4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIC1bTldDb25jcmV0ZV9ud19lbmRwb2ludF9mbG93IGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdICsgNTA5IChsaWJuZXR3b3JrLmR5bGliICsgNzMwMDc3KSBbMHg3ZmZmNTk5NGEzZGRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9ib3Jpbmdzc2xfZGlzY29ubmVjdCArIDE4OSAobGliYm9yaW5nc3NsLmR5bGliICsgNjkwMDEpIFsweDdmZmY1ODVhOWQ4OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYm9yaW5nc3NsX3Nlc3Npb25fZGlzY29ubmVjdCArIDEwMiAobGliYm9yaW5nc3NsLmR5bGliICsgNTI0MDIpIFsweDdmZmY1ODVhNWNiMl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBTU0xfc2h1dGRvd24gKyAxODggKGxpYmJvcmluZ3NzbC5keWxpYiArIDQwNDY2OCkgWzB4N2ZmZjU4NWZiY2JjXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6c3NsM19kaXNwYXRjaF9hbGVydChzc2xfc3QqKSArIDM0IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTI5NDYpIFsweDdmZmY1ODVlZjJiMl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6ZG9fc3NsM193cml0ZShzc2xfc3QqLCBpbnQsIHVuc2lnbmVkIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQpICsgNTcyIChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTE5MzMpIFsweDdmZmY1ODVlZWViZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBic3NsOjpzc2wzX3dyaXRlX3BlbmRpbmcoc3NsX3N0KiwgaW50LCB1bnNpZ25lZCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50KSArIDU1IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTMxMzQpIFsweDdmZmY1ODVlZjM2ZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbF93cml0ZV9idWZmZXJfZmx1c2goc3NsX3N0KikgKyAxNzggKGxpYmJvcmluZ3NzbC5keWxpYiArIDM0NjE1MCkgWzB4N2ZmZjU4NWVkODI2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBCSU9fd3JpdGUgKyA0NiAobGliYm9yaW5nc3NsLmR5bGliICsgMjUyODQxKSBbMHg3ZmZmNTg1ZDZiYTldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYmlvX3dyaXRlICsgOTMgKGxpYmJvcmluZ3NzbC5keWxpYiArIDEwMTI3KSBbMHg3ZmZmNTg1OWI3OGZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9ib3Jpbmdzc2xfd3JpdGVfYnl0ZXMgKyAxNjA5IChsaWJib3Jpbmdzc2wuZHlsaWIgKyA1OTg2MikgWzB4N2ZmZjU4NWE3OWQ2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19zb2NrZXRfZmluYWxpemVfb3V0cHV0X2ZyYW1lcyArIDEzNCAobGlibmV0d29yay5keWxpYiArIDYyMDkzNCkgWzB4N2ZmZjU5OTJmOTg2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fbndfc29ja2V0X2ZpbmFsaXplX291dHB1dF9mcmFtZXNfYmxvY2tfaW52b2tlICsgNzMgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MjE3MzcpIFsweDdmZmY1OTkyZmNhOV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9mcmFtZV9vdXRwdXRfZmluYWxpemVyICsgMTAzIChsaWJuZXR3b3JrLmR5bGliICsgNjIyNjMxKSBbMHg3ZmZmNTk5MzAwMjddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9zZXJ2aWNlX3dyaXRlcyArIDE0MyAobGlibmV0d29yay5keWxpYiArIDYyMjg2MykgWzB4N2ZmZjU5OTMwMTBmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fc2VuZG1zZyArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjY0ODIpIFsweDdmZmY1YjU5Nzc3Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGhuZGxfdW5peF9zY2FsbDY0ICsgMjIgKGtlcm5lbCArIDE0MjYxODIpIFsweGZmZmZmZjgwMDAzNWMzMDZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHNlbmRtc2dfbm9jYW5jZWwgKyA0ODQgKGtlcm5lbCArIDc1NjA4NjgpIFsweGZmZmZmZjgwMDA5MzVlYTRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc1NTk1NjApIFsweGZmZmZmZjgwMDA5MzU5ODhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHNvc2VuZCArIDE5MDYgKGtlcm5lbCArIDc0ODgwOTgpIFsweGZmZmZmZjgwMDA5MjQyNjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NDI3NjUzKSBbMHhmZmZmZmY4MDAwOTE1NjQ1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MjYxMzY3KSBbMHhmZmZmZmY4MDAwOGVjY2I3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc0MDg3MzQpIFsweGZmZmZmZjgwMDA5MTBjNWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc2NDc3KSBbMHhmZmZmZmY4MDAwOGQ4MTFkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbGNrX210eF9zbGVlcCArIDEyOCAoa2VybmVsICsgMTgzMDA5NikgWzB4ZmZmZmZmODAwMDNiZWNkMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDE4ODc2MDkpIFsweGZmZmZmZjgwMDAzY2NkNzldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDI4YzEwMDAgLSAgICAgICAgMHgxMDI4ZWZmZmYgIGNvbS5hcHBsZS5nZW9kIDEuMCAoMTM2NC4yNS4xMi4xOC4xNikgICAgICAgIDxCQkZCOEEzQS1BMDUzLTNDNDItQUE1My1GNEY1MUY2QTZDOTk+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvR2VvU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLmdlb2QueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5nZW9kCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNGE5YTAwMDAgLSAgICAgMHg3ZmZmNGIzOWZmZmYgIGNvbS5hcHBsZS5HZW9TZXJ2aWNlcyAxLjAgKDEzNjQuMjUuMTIuMTguMTYpIDw0ODYxM0I5OC0zQzg2LTM2ODQtOEU1RS1EODk5OTI3QTFDQTg+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvR2VvU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvR2VvU2VydmljZXMKICAgICAgICAweDdmZmY1ODU5OTAwMCAtICAgICAweDdmZmY1ODY2N2ZmZiAgbGliYm9yaW5nc3NsLmR5bGliICgxMDkuMjUwLjIpICAgICAgICAgICAgICAgPDgwNDRCQkI3LUY2RTAtMzZDMS05NUQxLTlDMkFCMTlDRjk0QT4gIC91c3IvbGliL2xpYmJvcmluZ3NzbC5keWxpYgogICAgICAgIDB4N2ZmZjU5ODk4MDAwIC0gICAgIDB4N2ZmZjU5YmU5ZmZmICBsaWJuZXR3b3JrLmR5bGliICgxMjI5LjI1MC4xNSkgICAgICAgICAgICAgICA8NzJDN0U5RTMtQjJCRS0zMzAwLUJFMUItNjQ2MDYyMjIwMjJDPiAgL3Vzci9saWIvbGlibmV0d29yay5keWxpYgogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuZ2VvZCBbNDMwN10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMy41MyBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgyNGM2MSAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuZ2VvZCArIDE1MTk4MSkgWzB4MTAyOTBkMWFkXSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgyNGM3MyAgICAgICAgICAgIFRocmVhZCBuYW1lICJOZXR3b3JrTG9hZCIgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfcnVuTmV0d29ya1RocmVhZCArIDQ3OCAoR2VvU2VydmljZXMgKyA0NzAwMCkgWzB4N2ZmZjRhOWFiNzk4XSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MjRjNzYgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAyOGU4MDAwIC0gICAgICAgIDB4MTAyOTE2ZmZmICBjb20uYXBwbGUuZ2VvZCAxLjAgKDEzNjQuMjUuMTIuMTguMTYpICAgICAgICA8QkJGQjhBM0EtQTA1My0zQzQyLUFBNTMtRjRGNTFGNkE2Qzk5PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0dlb1NlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5nZW9kLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuZ2VvZAogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICA8OUZERUZFNTAtQkUxQi0zODZFLThCM0MtQUVGMjUxMDY5RTUyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjRhOWEwMDAwIC0gICAgIDB4N2ZmZjRiMzlmZmZmICBjb20uYXBwbGUuR2VvU2VydmljZXMgMS4wICgxMzY0LjI1LjEyLjE4LjE2KSA8NDg2MTNCOTgtM0M4Ni0zNjg0LThFNUUtRDg5OTkyN0ExQ0E4PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0dlb1NlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0dlb1NlcnZpY2VzCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuaGlzZXJ2aWNlcy14cGNzZXJ2aWNlIFs0MjNdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTg5MiBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxNmNmICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDliNjkwMDAgLSAgICAgICAgMHgxMDliNmRmZmYgIGNvbS5hcHBsZS5oaXNlcnZpY2VzLXhwY3NlcnZpY2UgMS4yMiAoNjI4KSA8MTJDMkMzRTAtNUQxRC0zNzQ5LTkzRDAtNTRBMjZCRTA0Q0E2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLmhpc2VydmljZXMteHBjc2VydmljZS54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmhpc2VydmljZXMteHBjc2VydmljZQogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuaUNsb3VkSGVscGVyIFs1Mzg2M10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA2MTMyIEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDU1MzVjNSAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgMTYxIChjb20uYXBwbGUuaUNsb3VkSGVscGVyICsgMTU4MzMpIFsweDEwNTM3NWRkOV0gMQogICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNTM3MjAwMCAtICAgICAgICAweDEwNTM4NGZmZiAgY29tLmFwcGxlLmlDbG91ZEhlbHBlciAxLjA3ICgyNzEpICAgICAgPEU0QjE5M0M4LTYzRUUtMzNFQy1CQjY2LThEQkE2MzdBQkUxQT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BT1NLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLmlDbG91ZEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmlDbG91ZEhlbHBlcgogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5pZmRyZWFkZXIgWzE3NV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMTA0IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4NGU0ICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLmlmZHJlYWRlciArIDQ2MTApIFsweDEwODIzOTIwMl0gMQogICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwODIzODAwMCAtICAgICAgICAweDEwODI0M2ZmZiAgY29tLmFwcGxlLmlmZHJlYWRlciAxLjAgKDEpICAgICAgICAgICAgPDNBNEFBNTA5LTg0QUQtMzRENC1CNjNDLURENEQxMjZBQzgzMj4gIC9TeXN0ZW0vTGlicmFyeS9DcnlwdG9Ub2tlbktpdC9jb20uYXBwbGUuaWZkcmVhZGVyLnNsb3RkL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5pZmRyZWFkZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuaVR1bmVzTGlicmFyeVNlcnZpY2UgWzQ3MzIzXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDI3NDAgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4ZTVkNWMgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmZWVkMDAwIC0gICAgICAgIDB4MTBmZmU2ZmZmICBjb20uYXBwbGUuaVR1bmVzTGlicmFyeVNlcnZpY2UgMTIuOS41ICgxMi45LjUpIDwzQ0U0RTQxNS0wNDdELTM2QzctQTdCQS1COTM0NTNDMUI2Mzk+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9pVHVuZXNMaWJyYXJ5LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5pVHVuZXNMaWJyYXJ5U2VydmljZS54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLmlUdW5lc0xpYnJhcnlTZXJ2aWNlCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5NZWRpYUxpYnJhcnlTZXJ2aWNlIFs1MDVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTAuODYgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTllYyAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgIG1haW4gKyAxMDAgKGNvbS5hcHBsZS5NZWRpYUxpYnJhcnlTZXJ2aWNlICsgNDU5MSkgWzB4MTBkMjU1MWVmXSAxCiAgICAgIDEgIC1bTlNYUENMaXN0ZW5lciByZXN1bWVdICsgMTYyIChGb3VuZGF0aW9uICsgMTY4MTU0KSBbMHg3ZmZmMzE3YTMwZGFdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGQyNTQwMDAgLSAgICAgICAgMHgxMGQyNWVmZmYgIGNvbS5hcHBsZS5NZWRpYUxpYnJhcnlTZXJ2aWNlIDEuNS4wICg3NjQpIDw3QTQ4NDU5Ny1GQjZFLTMyRjgtQTc4Ni0zRTg3MzU3QkFERTg+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9NZWRpYUxpYnJhcnkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLk1lZGlhTGlicmFyeVNlcnZpY2UueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5NZWRpYUxpYnJhcnlTZXJ2aWNlCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLlBlcmZvcm1hbmNlQW5hbHlzaXMuYW5pbWF0aW9ucGVyZmQgWzIzMF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA3NjI4IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDg4OCAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwYjQ5YzAwMCAtICAgICAgICAweDEwYjRhNWZmZiAgY29tLmFwcGxlLlBlcmZvcm1hbmNlQW5hbHlzaXMuYW5pbWF0aW9ucGVyZmQgMS4yICgyKSA8MjA4MDhFNEYtQkY4NC0zQUQxLUJEOEItMkM3NjFDNERFQkU0PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1BlcmZvcm1hbmNlQW5hbHlzaXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLlBlcmZvcm1hbmNlQW5hbHlzaXMuYW5pbWF0aW9ucGVyZmQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5QZXJmb3JtYW5jZUFuYWx5c2lzLmFuaW1hdGlvbnBlcmZkCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5QaG90b0luZ2VzdFNlcnZpY2UgWzUxMl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxNTMyIEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWEzMSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIF9kaXNwYXRjaF9zaWdfdGhyZWFkICsgNTMgKGxpYmRpc3BhdGNoLmR5bGliICsgNzc1MzQpIFsweDdmZmY1YjQxZmVkZV0gMQogICAgMSAgX19zaWdzdXNwZW5kX25vY2FuY2VsICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAyMDc3NCkgWzB4N2ZmZjViNTk2MTI2XSAxCiAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NzA3MikgWzB4ZmZmZmZmODAwMDhkODM3MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA2NmQwMDAwIC0gICAgICAgIDB4MTA2NmQ4ZmZmICBjb20uYXBwbGUuUGhvdG9Jbmdlc3RTZXJ2aWNlIDQuMCAoMzQ1MS43LjEyMCkgPDg2MEIyNEMyLTI5NDctMzk2Qy1BOTRELUI3NjZEODZBRDYyRD4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QaG90b0xpYnJhcnkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLlBob3RvSW5nZXN0U2VydmljZS54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLlBob3RvSW5nZXN0U2VydmljZQogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUucGhvdG9tb2RlbCBbMjYzNTldCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTAuNDQgTUIKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyMWM2NzYgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDY2MTYwMDAgLSAgICAgICAgMHgxMDY2MWJmZmYgIGNvbS5hcHBsZS5waG90b21vZGVsIDQuMCAoMzQ1MS43LjEyMCkgPEFFOEVFMTYyLTQyOUMtMzAxQS1BNTc4LTVDRjJDQjc3RDk3QT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QaG90b0xpYnJhcnlQcml2YXRlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvUGhvdG9MaWJyYXJ5U2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLnBob3RvbW9kZWwueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5waG90b21vZGVsCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5waG90b21vbWVudHMgWzUxMV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMC42OSBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxYTJhICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgbWFpbiArIDQ5OCAoY29tLmFwcGxlLnBob3RvbW9tZW50cyArIDc1NjYpIFsweDEwYmYzOGQ4ZV0gMQogICAgICAxICAtW05TWFBDTGlzdGVuZXIgcmVzdW1lXSArIDE2MiAoRm91bmRhdGlvbiArIDE2ODE1NCkgWzB4N2ZmZjMxN2EzMGRhXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg3MDc1OSAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNVUkxDb25uZWN0aW9uTG9hZGVyIiAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtfX0NvcmVTY2hlZHVsaW5nU2V0UnVubmFibGUgcnVuRm9yZXZlcl0gKyAyMTAgKENGTmV0d29yayArIDMxNjI4OCkgWzB4N2ZmZjJlNGE2MzgwXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGJmMzcwMDAgLSAgICAgICAgMHgxMGJmM2NmZmYgIGNvbS5hcHBsZS5waG90b21vbWVudHMgNC4wICgzNDUxLjcuMTIwKSA8MzcyMEJCMDgtNjI5NC0zMkYxLTlEOEItQjMxNDdEODhEMEI1PiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1Bob3RvTGlicmFyeVByaXZhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9QaG90b0xpYnJhcnlTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUucGhvdG9tb21lbnRzLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUucGhvdG9tb21lbnRzCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICA8OUZERUZFNTAtQkUxQi0zODZFLThCM0MtQUVGMjUxMDY5RTUyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5QaG90b3MuTWlncmF0aW9uIFszNzYxMV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxNS4zMCBNQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGM0NDU4ICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNmM0NTAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERDREVFMjYyLTAxOTYtMzdBRS05MDk2LTk2RUFBMTY1NkZBOT4KICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLlBob3Rvcy5NaWdyYXRpb24uUmVhZCBbMzc2MTJdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgOTA2OCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGM0NDYyICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwOGYzNjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDczNkRCNzFBLUMwQjAtMzFBMy05MTkxLUVCMzgwMUU1QUFGMj4KICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLnF1aWNrbG9vay5UaHVtYm5haWxzQWdlbnQgWzQ5Nl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxNDc2IEtCCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTk5OSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLnF1aWNrbG9vay5UaHVtYm5haWxzQWdlbnQgKyA0MjI1MikgWzB4MTA2MDA5NTBjXSAxCiAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA1ZmZmMDAwIC0gICAgICAgIDB4MTA2MDE0ZmZmICBjb20uYXBwbGUucXVpY2tsb29rLlRodW1ibmFpbHNBZ2VudCAoNDkuMykgPDkyREUyQUJELTI4OTYtMzkyMy1BMTM3LUJGOUY5NDFGNTU4OT4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9RdWlja0xvb2tUaHVtYm5haWxpbmcuZnJhbWV3b3JrL1N1cHBvcnQvY29tLmFwcGxlLnF1aWNrbG9vay5UaHVtYm5haWxzQWdlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5TYWZhcmkuSGlzdG9yeSBbNTM0XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEyLjkyIE1CCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWQyMiAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLlNhZmFyaS5IaXN0b3J5ICsgNDA5MCkgWzB4MTA3YTA2ZmZhXSAxCiAgICAgIDEgIFdCU0hpc3RvcnlTZXJ2aWNlTWFpbiArIDMzNSAoU2FmYXJpU2hhcmVkICsgOTIzNjkzKSBbMHg3ZmZmNTJkYTI4MmRdIDEKICAgICAgICAxICAtW05TWFBDTGlzdGVuZXIgcmVzdW1lXSArIDE2MiAoRm91bmRhdGlvbiArIDE2ODE1NCkgWzB4N2ZmZjMxN2EzMGRhXSAxCiAgICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZGMxICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwN2EwNjAwMCAtICAgICAgICAweDEwN2EwN2ZmZiAgY29tLmFwcGxlLlNhZmFyaS5IaXN0b3J5IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8OTdFM0I1MTQtNTk2Mi0zRThDLUEzM0YtOTk2RUE0QjA5RDEwPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1NhZmFyaVNoYXJlZC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuU2FmYXJpLkhpc3RvcnkueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5TYWZhcmkuSGlzdG9yeQogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmY1MmNjMTAwMCAtICAgICAweDdmZmY1MmY1Y2ZmZiAgY29tLmFwcGxlLlNhZmFyaS5TaGFyZWQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICA8M0IyMUU4NUMtQkY0NS0zMDMzLThBNEUtRDY5NEREQUMzRjczPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1NhZmFyaVNoYXJlZC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TYWZhcmlTaGFyZWQKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5TYWZhcmkuSW1hZ2VEZWNvZGVyIFs1NDldCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNjcyNCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDFlNWMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5TYWZhcmkuSW1hZ2VEZWNvZGVyICsgNjU1MCkgWzB4MTA3OWRiOTk2XSAxCiAgICAgIDEgIC1bTlNYUENMaXN0ZW5lciByZXN1bWVdICsgMTYyIChGb3VuZGF0aW9uICsgMTY4MTU0KSBbMHg3ZmZmMzE3YTMwZGFdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDc5ZGEwMDAgLSAgICAgICAgMHgxMDc5ZGJmZmYgIGNvbS5hcHBsZS5TYWZhcmkuSW1hZ2VEZWNvZGVyIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8NjQzQ0E0Q0UtREM1RS0zREYzLThFN0QtNEE4MERFNjIzNTRBPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1NhZmFyaVNoYXJlZC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuU2FmYXJpLkltYWdlRGVjb2Rlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLlNhZmFyaS5JbWFnZURlY29kZXIKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuU2FmYXJpLlNhZmVCcm93c2luZy5TZXJ2aWNlIFs1ODhdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNjgzNiBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweDFmZTggICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBfZGlzcGF0Y2hfc2lnX3RocmVhZCArIDUzIChsaWJkaXNwYXRjaC5keWxpYiArIDc3NTM0KSBbMHg3ZmZmNWI0MWZlZGVdIDEKICAgIDEgIF9fc2lnc3VzcGVuZF9ub2NhbmNlbCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjA3NzQpIFsweDdmZmY1YjU5NjEyNl0gMQogICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgVGhyZWFkIDB4NTVhZDQ3ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHN0YXJ0X3dxdGhyZWFkICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIxMykgWzB4N2ZmZjViNjUwM2ZkXSAxCiAgICAxICBfcHRocmVhZF93cXRocmVhZCArIDQyMSAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5NzQ1KSBbMHg3ZmZmNWI2NTA2MTFdIDEKICAgICAgMSAgX2Rpc3BhdGNoX3dvcmtsb29wX3dvcmtlcl90aHJlYWQgKyA1OTggKGxpYmRpc3BhdGNoLmR5bGliICsgNzU1MDEpIFsweDdmZmY1YjQxZjZlZF0gMQogICAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF9pbnZva2UgKyAyMTAwIChsaWJkaXNwYXRjaC5keWxpYiArIDQ2Njk1KSBbMHg3ZmZmNWI0MTg2NjddIDEKICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX2ludm9rZSArIDQzMyAobGliZGlzcGF0Y2guZHlsaWIgKyA0MTkyNikgWzB4N2ZmZjViNDE3M2M2XSAxCiAgICAgICAgICAgIDEgIF9kaXNwYXRjaF9sYW5lX3NlcmlhbF9kcmFpbiArIDYwMiAobGliZGlzcGF0Y2guZHlsaWIgKyAzOTEzNikgWzB4N2ZmZjViNDE2OGUwXSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgICAxICBfZGlzcGF0Y2hfY2FsbF9ibG9ja19hbmRfcmVsZWFzZSArIDEyIChsaWJkaXNwYXRjaC5keWxpYiArIDk3MjApIFsweDdmZmY1YjQwZjVmOF0gMQogICAgICAgICAgICAgICAgICAxICBpbnZvY2F0aW9uIGZ1bmN0aW9uIGZvciBibG9jayBpbiBRQ29yZVNjaGVkdWxpbmdTZXQ6OnBlcmZvcm1Bc3luYyh2b2lkICgpIGJsb2NrX3BvaW50ZXIpIGNvbnN0ICsgNDEgKENGTmV0d29yayArIDc4MzI4OSkgWzB4N2ZmZjJlNTE4M2I5XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgSFRUUENvbm5lY3Rpb25DYWNoZTo6dGltZW91dElkbGVDb25uZWN0aW9ucygpICsgMzAgKENGTmV0d29yayArIDQyNjQwMCkgWzB4N2ZmZjJlNGMxMWEwXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBIVFRQQ29ubmVjdGlvbkNhY2hlOjpwZXJmb3JtSWRsZVN3ZWVwKCkgKyAxODEgKENGTmV0d29yayArIDQyNzE5OSkgWzB4N2ZmZjJlNGMxNGJmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uQ2FjaGVFbnRyeTo6cHVyZ2VJZGxlQ29ubmVjdGlvbnMoZG91YmxlLCBkb3VibGUpICsgNDQ2IChDRk5ldHdvcmsgKyA0MjgyNDYpIFsweDdmZmYyZTRjMThkNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uQ2FjaGVFbnRyeTo6X3JlbW92ZUNvbm5lY3Rpb24oc3RkOjpfXzE6OnNoYXJlZF9wdHI8SFRUUENvbm5lY3Rpb24+KSArIDE2MiAoQ0ZOZXR3b3JrICsgNDI4OTEyKSBbMHg3ZmZmMmU0YzFiNzBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uQ2FjaGVFbnRyeTo6Q29ubmVjdGlvbkFycmF5OjpzdG9wQW5kUmVtb3ZlKGxvbmcpICsgNzggKENGTmV0d29yayArIDQyOTEwNCkgWzB4N2ZmZjJlNGMxYzMwXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEhUVFBDb25uZWN0aW9uOjpfb25xdWV1ZV9kb05vdEFsbG93TW9yZVJlcXVlc3RzKCkgKyA2MjMgKENGTmV0d29yayArIDQyOTgxMykgWzB4N2ZmZjJlNGMxZWY1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgSFRUUEVuZ2luZTo6X2NsZWFudXBDb25uZWN0aW9uKCkgKyA3NyAoQ0ZOZXR3b3JrICsgNDMwMzQ1KSBbMHg3ZmZmMmU0YzIxMDldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFRDUElPQ29ubmVjdGlvbjo6X2NsZWFudXBDb25uZWN0aW9uKCkgKyAyNzYgKENGTmV0d29yayArIDIyNjMxNikgWzB4N2ZmZjJlNDkwNDBjXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIHRjcF9jb25uZWN0aW9uX2NhbmNlbCArIDYxNSAobGlibmV0d29yay5keWxpYiArIDY5NTI4NykgWzB4N2ZmZjU5OTQxYmY3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfY29ubmVjdGlvbl9jYW5jZWxfaW5uZXIgKyAxOTIgKGxpYm5ldHdvcmsuZHlsaWIgKyA2OTYxMTIpIFsweDdmZmY1OTk0MWYzMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcXVldWVfY29udGV4dF9hc3luY19pZl9uZWVkZWQgKyA4NyAobGlibmV0d29yay5keWxpYiArIDIzOTgzMSkgWzB4N2ZmZjU5OGQyOGQ3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fbndfY29ubmVjdGlvbl9jYW5jZWxfaW5uZXJfYmxvY2tfaW52b2tlICsgOTk4IChsaWJuZXR3b3JrLmR5bGliICsgNjk3NTc0KSBbMHg3ZmZmNTk5NDI0ZTZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19lbmRwb2ludF9oYW5kbGVyX2NhbmNlbCArIDEzMzYgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MDEwODApIFsweDdmZmY1OTkyYWJmOF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgLVtOV0NvbmNyZXRlX253X2VuZHBvaW50X3Jlc29sdmVyIGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdICsgMjM4IChsaWJuZXR3b3JrLmR5bGliICsgNzI4Mjg2KSBbMHg3ZmZmNTk5NDljZGVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgeHBjX2FycmF5X2FwcGx5ICsgNTcgKGxpYnhwYy5keWxpYiArIDQ3ODAyKSBbMHg3ZmZmNWI2OTBhYmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfXzYwLVtOV0NvbmNyZXRlX253X2VuZHBvaW50X3Jlc29sdmVyIGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdX2Jsb2NrX2ludm9rZSArIDI3IChsaWJuZXR3b3JrLmR5bGliICsgNzI5NTYzKSBbMHg3ZmZmNTk5NGExZGJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X2VuZHBvaW50X2hhbmRsZXJfY2FuY2VsICsgMTMzNiAobGlibmV0d29yay5keWxpYiArIDYwMTA4MCkgWzB4N2ZmZjU5OTJhYmY4XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIC1bTldDb25jcmV0ZV9ud19lbmRwb2ludF9mbG93IGNhbmNlbFdpdGhIYW5kbGVyOmZvcmNlZDpdICsgNTA5IChsaWJuZXR3b3JrLmR5bGliICsgNzMwMDc3KSBbMHg3ZmZmNTk5NGEzZGRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9ib3Jpbmdzc2xfZGlzY29ubmVjdCArIDE4OSAobGliYm9yaW5nc3NsLmR5bGliICsgNjkwMDEpIFsweDdmZmY1ODVhOWQ4OV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYm9yaW5nc3NsX3Nlc3Npb25fZGlzY29ubmVjdCArIDEwMiAobGliYm9yaW5nc3NsLmR5bGliICsgNTI0MDIpIFsweDdmZmY1ODVhNWNiMl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBTU0xfc2h1dGRvd24gKyAxODggKGxpYmJvcmluZ3NzbC5keWxpYiArIDQwNDY2OCkgWzB4N2ZmZjU4NWZiY2JjXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6c3NsM19kaXNwYXRjaF9hbGVydChzc2xfc3QqKSArIDM0IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTI5NDYpIFsweDdmZmY1ODVlZjJiMl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6ZG9fc3NsM193cml0ZShzc2xfc3QqLCBpbnQsIHVuc2lnbmVkIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQpICsgNTcyIChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTE5MzMpIFsweDdmZmY1ODVlZWViZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBic3NsOjpzc2wzX3dyaXRlX3BlbmRpbmcoc3NsX3N0KiwgaW50LCB1bnNpZ25lZCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50KSArIDU1IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTMxMzQpIFsweDdmZmY1ODVlZjM2ZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbF93cml0ZV9idWZmZXJfZmx1c2goc3NsX3N0KikgKyAxNzggKGxpYmJvcmluZ3NzbC5keWxpYiArIDM0NjE1MCkgWzB4N2ZmZjU4NWVkODI2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBCSU9fd3JpdGUgKyA0NiAobGliYm9yaW5nc3NsLmR5bGliICsgMjUyODQxKSBbMHg3ZmZmNTg1ZDZiYTldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYmlvX3dyaXRlICsgOTMgKGxpYmJvcmluZ3NzbC5keWxpYiArIDEwMTI3KSBbMHg3ZmZmNTg1OWI3OGZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9ib3Jpbmdzc2xfd3JpdGVfYnl0ZXMgKyAxNjA5IChsaWJib3Jpbmdzc2wuZHlsaWIgKyA1OTg2MikgWzB4N2ZmZjU4NWE3OWQ2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19zb2NrZXRfZmluYWxpemVfb3V0cHV0X2ZyYW1lcyArIDEzNCAobGlibmV0d29yay5keWxpYiArIDYyMDkzNCkgWzB4N2ZmZjU5OTJmOTg2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fbndfc29ja2V0X2ZpbmFsaXplX291dHB1dF9mcmFtZXNfYmxvY2tfaW52b2tlICsgNzMgKGxpYm5ldHdvcmsuZHlsaWIgKyA2MjE3MzcpIFsweDdmZmY1OTkyZmNhOV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9mcmFtZV9vdXRwdXRfZmluYWxpemVyICsgMTAzIChsaWJuZXR3b3JrLmR5bGliICsgNjIyNjMxKSBbMHg3ZmZmNTk5MzAwMjddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9zZXJ2aWNlX3dyaXRlcyArIDE0MyAobGlibmV0d29yay5keWxpYiArIDYyMjg2MykgWzB4N2ZmZjU5OTMwMTBmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fc2VuZG1zZyArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMjY0ODIpIFsweDdmZmY1YjU5Nzc3Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGhuZGxfdW5peF9zY2FsbDY0ICsgMjIgKGtlcm5lbCArIDE0MjYxODIpIFsweGZmZmZmZjgwMDAzNWMzMDZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHVuaXhfc3lzY2FsbDY0ICsgNjM3IChrZXJuZWwgKyA4MTAxMDUzKSBbMHhmZmZmZmY4MDAwOWI5Y2JkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHNlbmRtc2dfbm9jYW5jZWwgKyA0ODQgKGtlcm5lbCArIDc1NjA4NjgpIFsweGZmZmZmZjgwMDA5MzVlYTRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc1NTk1NjApIFsweGZmZmZmZjgwMDA5MzU5ODhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIHNvc2VuZCArIDE5MDYgKGtlcm5lbCArIDc0ODgwOTgpIFsweGZmZmZmZjgwMDA5MjQyNjJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3NDI3NjUzKSBbMHhmZmZmZmY4MDAwOTE1NjQ1XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MjYxMzY3KSBbMHhmZmZmZmY4MDAwOGVjY2I3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc0MDg3MzQpIFsweGZmZmZmZjgwMDA5MTBjNWVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc2NDc3KSBbMHhmZmZmZmY4MDAwOGQ4MTFkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbGNrX210eF9zbGVlcCArIDEyOCAoa2VybmVsICsgMTgzMDA5NikgWzB4ZmZmZmZmODAwMDNiZWNkMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdGhyZWFkX2Jsb2NrX3JlYXNvbiArIDE3NSAoa2VybmVsICsgMTg4MTI0NykgWzB4ZmZmZmZmODAwMDNjYjQ5Zl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDE4ODc2MDkpIFsweGZmZmZmZjgwMDAzY2NkNzldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGQxZTAwMDAgLSAgICAgICAgMHgxMGQxZTJmZmYgIGNvbS5hcHBsZS5TYWZhcmkuU2FmZUJyb3dzaW5nLlNlcnZpY2UgKDc2MDcuMi42LjEuMSkgPEQ3NkRCRUM3LTBFQkItMzdGOC05NzlGLUJBMzJFNzAxNkUwNj4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9TYWZhcmlTYWZlQnJvd3NpbmcuZnJhbWV3b3JrL1ZlcnNpb25zL0EvY29tLmFwcGxlLlNhZmFyaS5TYWZlQnJvd3NpbmcuU2VydmljZQogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmNTg1OTkwMDAgLSAgICAgMHg3ZmZmNTg2NjdmZmYgIGxpYmJvcmluZ3NzbC5keWxpYiAoMTA5LjI1MC4yKSAgICAgICAgICAgICAgICAgICAgICAgPDgwNDRCQkI3LUY2RTAtMzZDMS05NUQxLTlDMkFCMTlDRjk0QT4gIC91c3IvbGliL2xpYmJvcmluZ3NzbC5keWxpYgogICAgICAgIDB4N2ZmZjU5ODk4MDAwIC0gICAgIDB4N2ZmZjU5YmU5ZmZmICBsaWJuZXR3b3JrLmR5bGliICgxMjI5LjI1MC4xNSkgICAgICAgICAgICAgICAgICAgICAgIDw3MkM3RTlFMy1CMkJFLTMzMDAtQkUxQi02NDYwNjIyMjAyMkM+ICAvdXNyL2xpYi9saWJuZXR3b3JrLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0MGQwMDAgLSAgICAgMHg3ZmZmNWI0NDZmZmYgIGxpYmRpc3BhdGNoLmR5bGliICgxMDA4LjI1MC43KSAgICAgICAgICAgICAgICAgICAgICAgPDI2REY1QjFFLUEzODgtMzhFRi1CNzNCLUFGMEU5M0ZCMDJEQj4gIC91c3IvbGliL3N5c3RlbS9saWJkaXNwYXRjaC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5TYWZhcmkuU2FuZGJveEJyb2tlciBbNTQyXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDYwNDAgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWRmMiAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3Mgc3VwcHJlc3NlZCwgdGltZXJzIHRpZXIgNSAodGhyb3R0bGVkKSwgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgIG1haW4gKyAyNjIgKGNvbS5hcHBsZS5TYWZhcmkuU2FuZGJveEJyb2tlciArIDc3OTQpIFsweDEwZTQ3ZWU3Ml0gMQogICAgICAxICBOU1ZpZXdTZXJ2aWNlQXBwbGljYXRpb25NYWluICsgMjgzMCAoVmlld0JyaWRnZSArIDUwNjIwKSBbMHg3ZmZmNTZmYzI1YmNdIDEKICAgICAgICAxICAtW05TWFBDU2hhcmVkTGlzdGVuZXIgcmVzdW1lXSArIDE2IChWaWV3QnJpZGdlICsgMTQzMjApIFsweDdmZmY1NmZiOTdmMF0gMQogICAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA2MTIgKGxpYnhwYy5keWxpYiArIDY5ODExKSBbMHg3ZmZmNWI2OTYwYjNdIDEKICAgICAgICAgICAgICAxICBOU0FwcGxpY2F0aW9uTWFpbiArIDc3NyAoQXBwS2l0ICsgMTE2NDQpIFsweDdmZmYyY2JhMGQ3Y10gMQogICAgICAgICAgICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uIHJ1bl0gKyA2OTkgKEFwcEtpdCArIDc5OTMyKSBbMHg3ZmZmMmNiYjE4M2NdIDEKICAgICAgICAgICAgICAgICAgMSAgLVtOU1ZpZXdTZXJ2aWNlQXBwbGljYXRpb24gbmV4dEV2ZW50TWF0Y2hpbmdNYXNrOnVudGlsRGF0ZTppbk1vZGU6ZGVxdWV1ZTpdICsgOTkgKFZpZXdCcmlkZ2UgKyA3Mjc3MSkgWzB4N2ZmZjU2ZmM3YzQzXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgLVtOU0FwcGxpY2F0aW9uKE5TRXZlbnQpIF9uZXh0RXZlbnRNYXRjaGluZ0V2ZW50TWFzazp1bnRpbERhdGU6aW5Nb2RlOmRlcXVldWU6XSArIDEzNjEgKEFwcEtpdCArIDEwNDIyMykgWzB4N2ZmZjJjYmI3NzFmXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBfRFBTTmV4dEV2ZW50ICsgOTY1IChBcHBLaXQgKyAxMDg5MzUpIFsweDdmZmYyY2JiODk4N10gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBfQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5nTGlzdEluTW9kZVdpdGhGaWx0ZXIgKyA2NCAoSElUb29sYm94ICsgNDIwMzgpIFsweDdmZmYyZTgxZTQzNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFJlY2VpdmVOZXh0RXZlbnRDb21tb24gKyA2MDMgKEhJVG9vbGJveCArIDQyNjYxKSBbMHg3ZmZmMmU4MWU2YTVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFJ1bkN1cnJlbnRFdmVudExvb3BJbk1vZGUgKyAyOTIgKEhJVG9vbGJveCArIDQzMzcxKSBbMHg3ZmZmMmU4MWU5NmJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWUxNiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TRXZlbnRUaHJlYWQiICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHN1cHByZXNzZWQsIHRpbWVycyB0aWVyIDUgKHRocm90dGxlZCksIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfTlNFdmVudFRocmVhZCArIDE3NSAoQXBwS2l0ICsgMTQwOTY2KSBbMHg3ZmZmMmNiYzA2YTZdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBlNDdkMDAwIC0gICAgICAgIDB4MTBlNDdmZmZmICBjb20uYXBwbGUuU2FmYXJpLlNhbmRib3hCcm9rZXIgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDw2MkYyODVBMC01QkVGLTM2RUUtOEU4RC1ENThDRUZBNkJEOUQ+ICAvQXBwbGljYXRpb25zL1NhZmFyaS5hcHAvQ29udGVudHMvWFBDU2VydmljZXMvY29tLmFwcGxlLlNhZmFyaS5TYW5kYm94QnJva2VyLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuU2FmYXJpLlNhbmRib3hCcm9rZXIKICAgICAgICAweDdmZmYyY2I5ZTAwMCAtICAgICAweDdmZmYyZDk1M2ZmZiAgY29tLmFwcGxlLkFwcEtpdCA2LjkgKDE2NzEuNTAuMTExKSAgICAgICAgICAgICAgICAgICA8OTMzMTU1REMtNjQwNC0zNjQ2LUI2QUUtMDg3RDM0RjYxMUJFPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9WZXJzaW9ucy9DL0FwcEtpdAogICAgICAgIDB4N2ZmZjJlODE0MDAwIC0gICAgIDB4N2ZmZjJlYjBhZmZmICBjb20uYXBwbGUuSElUb29sYm94IDIuMS4xICg5MTguNSkgICAgICAgICAgICAgICAgICAgIDxGN0RBNEYyMC0xMjNCLTMwRkItOUMyNy01QUIxNzQ2REVGNjM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNTZmYjYwMDAgLSAgICAgMHg3ZmZmNTcwOGZmZmYgIGNvbS5hcHBsZS5WaWV3QnJpZGdlIDQwMS4xICg0MDEuMSkgICAgICAgICAgICAgICAgICAgPDE4MTQ0RUMxLTVERUYtMzY5Qy04RUJBLTI4MjZFNzE0Mjc4ND4gIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9WaWV3QnJpZGdlLmZyYW1ld29yay9WZXJzaW9ucy9BL1ZpZXdCcmlkZ2UKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuU2FmYXJpLlNlYXJjaEhlbHBlciBbNTkzXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEwLjc4IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDIwZDMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5TYWZhcmkuU2VhcmNoSGVscGVyICsgNzg2NCkgWzB4MTA0OTRlZWI4XSAxCiAgICAgIDEgIC1bTlNYUENMaXN0ZW5lciByZXN1bWVdICsgMTYyIChGb3VuZGF0aW9uICsgMTY4MTU0KSBbMHg3ZmZmMzE3YTMwZGFdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDIzNGIgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTdkOGYgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDQ5NGQwMDAgLSAgICAgICAgMHgxMDQ5NTNmZmYgIGNvbS5hcHBsZS5TYWZhcmkuU2VhcmNoSGVscGVyIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8MTgzRjVCNzYtQzI4OS0zQjBGLUE3QTQtRkFCRjg2N0EwNEQxPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1NhZmFyaVNoYXJlZC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuU2FmYXJpLlNlYXJjaEhlbHBlci54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLlNhZmFyaS5TZWFyY2hIZWxwZXIKICAgICAgICAweDdmZmYyZTQ1OTAwMCAtICAgICAweDdmZmYyZTdmYWZmZiAgY29tLmFwcGxlLkNGTmV0d29yayA5NzguMC43ICg5NzguMC43KSAgICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuU2FmYXJpU2VydmljZXMgWzE2NzldCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTk0MCBLQgpOb3RlOiAgICAgICAgICAgIDEgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZCBvbWl0dGVkCgogIFRocmVhZCAweGNmNzIgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICBtYWluICsgMTYgKGNvbS5hcHBsZS5TYWZhcmlTZXJ2aWNlcyArIDM5NjUpIFsweDEwNTAwNWY3ZF0gMQogICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNTAwNTAwMCAtICAgICAgICAweDEwNTAwN2ZmZiAgY29tLmFwcGxlLlNhZmFyaVNlcnZpY2VzIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8ODJDM0FGNkMtMUNCMy0zRDJELTlCMTgtQTk1Qjc0M0VGQ0ZFPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2FmYXJpU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLlNhZmFyaVNlcnZpY2VzLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuU2FmYXJpU2VydmljZXMKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuc2JkIFsxMDQ0NV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMy4xMiBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgzNzVhNSAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuc2JkICsgMjQ1NTE0KSBbMHgxMGZiY2ZmMGFdIDEKICAgICAgMSAgLVtOU1hQQ0xpc3RlbmVyIHJlc3VtZV0gKyAxNjIgKEZvdW5kYXRpb24gKyAxNjgxNTQpIFsweDdmZmYzMTdhMzBkYV0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4YzQzYTcgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIGRlZmF1bHQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmYjk0MDAwIC0gICAgICAgIDB4MTBmYmViZmZmICBjb20uYXBwbGUuc2JkIDEuMCAoMjk3LjIwMC44KSAgICAgICAgICA8QkNCQ0NDNjQtNTM1OS0zRkQxLTlGNkItQUQ5REVFMTI1NjcwPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Nsb3VkU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLnNiZC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLnNiZAogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICA8OUZERUZFNTAtQkUxQi0zODZFLThCM0MtQUVGMjUxMDY5RTUyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLnNwZWVjaC5zcGVlY2hzeW50aGVzaXNkIFs0MTkxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDE4LjYxIE1CCk5vdGU6ICAgICAgICAgICAgMSBpZGxlIHdvcmsgcXVldWUgdGhyZWFkIG9taXR0ZWQKCiAgVGhyZWFkIDB4MjQzMGUgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDMxIChiYXNlIDMxKQogIDx0aHJlYWQgUW9TIGRlZmF1bHQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLnNwZWVjaC5zcGVlY2hzeW50aGVzaXNkICsgMzgxMikgWzB4MTBhM2Q3ZWU0XSAxCiAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGEzZDcwMDAgLSAgICAgICAgMHgxMGEzZThmZmYgIGNvbS5hcHBsZS5zcGVlY2guc3BlZWNoc3ludGhlc2lzZCAoOC4xLjMpIDxCQ0ZBMTA2Ni1DRURFLTNDMzUtQTZDQi1GNjgzRDVDRUU5Mjg+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvU3BlZWNoU3ludGhlc2lzLmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9jb20uYXBwbGUuc3BlZWNoLnNwZWVjaHN5bnRoZXNpc2QKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLnRvbmVsaWJyYXJ5ZCBbNDIzMF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA5ODQgS0IKTm90ZTogICAgICAgICAgICAxIGlkbGUgd29yayBxdWV1ZSB0aHJlYWQgb21pdHRlZAoKICBUaHJlYWQgMHgyNDgyMiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgX2Rpc3BhdGNoX3NpZ190aHJlYWQgKyA1MyAobGliZGlzcGF0Y2guZHlsaWIgKyA3NzUzNCkgWzB4N2ZmZjViNDFmZWRlXSAxCiAgICAxICBfX3NpZ3N1c3BlbmRfbm9jYW5jZWwgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDIwNzc0KSBbMHg3ZmZmNWI1OTYxMjZdIDEKICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MTc3MDcyKSBbMHhmZmZmZmY4MDAwOGQ4MzcwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDk5NzMwMDAgLSAgICAgICAgMHgxMDk5NzVmZmYgIGNvbS5hcHBsZS50b25lbGlicmFyeWQgMS4wICgxKSAgICAgIDwyMjk2Nzk4OS1FRTA1LTM5NjAtQkRGQS1GQkY0NEU0RTBGMjQ+ICAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvVG9uZUxpYnJhcnkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLnRvbmVsaWJyYXJ5ZC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLnRvbmVsaWJyYXJ5ZAogICAgICAgIDB4N2ZmZjViNDBkMDAwIC0gICAgIDB4N2ZmZjViNDQ2ZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoMTAwOC4yNTAuNykgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgWzUzNl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA3My43MSBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZDJlICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA2MjQ3KSBbMHgxMDI4ODg4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA1ODU4KSBbMHgxMDI4ODg2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFkNDkgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDFkYmUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MjA5NyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLkNGU3RyZWFtLkxlZ2FjeVRocmVhZCIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX2xlZ2FjeVN0cmVhbVJ1bkxvb3Bfd29ya1RocmVhZCArIDI1MSAoQ29yZUZvdW5kYXRpb24gKyA5NTYyODIpIFsweDdmZmYyZjVlMTc3YV0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDIwOWUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IEFzeW5jRmlsZVN0cmVhbSIgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV1RGOjpGdW5jdGlvbjx2b2lkICgpPjo6Q2FsbGFibGVXcmFwcGVyPFdlYkNvcmU6OmNhbGxPbkZpbGVUaHJlYWQoV1RGOjpGdW5jdGlvbjx2b2lkICgpPiYmKTo6JF85OjpvcGVyYXRvcigpKCkgY29uc3Q6OidsYW1iZGEnKCk+OjpjYWxsKCkgKyA5IChXZWJDb3JlICsgMTYxMjY1NTMpIFsweDdmZmYzY2ZmMTI1OV0gMQogICAgICAgICAgICAgIDEgIFdlYkNvcmU6OmNhbGxPbkZpbGVUaHJlYWQoV1RGOjpGdW5jdGlvbjx2b2lkICgpPiYmKTo6JF85OjpvcGVyYXRvcigpKCkgY29uc3Q6OidsYW1iZGEnKCk6Om9wZXJhdG9yKCkoKSBjb25zdCArIDkzIChXZWJDb3JlICsgMTYxMjY2NTMpIFsweDdmZmYzY2ZmMTJiZF0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OnVuaXF1ZV9wdHI8V1RGOjpGdW5jdGlvbjx2b2lkICgpPiwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPFdURjo6RnVuY3Rpb248dm9pZCAoKT4gPiA+IFdURjo6TWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248dm9pZCAoKT4gPjo6d2FpdEZvck1lc3NhZ2VGaWx0ZXJlZFdpdGhUaW1lb3V0PFdURjo6TWVzc2FnZVF1ZXVlPFdURjo6RnVuY3Rpb248dm9pZCAoKT4gPjo6d2FpdEZvck1lc3NhZ2UoKTo6J2xhbWJkYScoV1RGOjpGdW5jdGlvbjx2b2lkICgpPiBjb25zdCYpPihXVEY6Ok1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQmLCBXVEY6Ok1lc3NhZ2VRdWV1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+ID46OndhaXRGb3JNZXNzYWdlKCk6OidsYW1iZGEnKFdURjo6RnVuY3Rpb248dm9pZCAoKT4gY29uc3QmKSYmLCBXVEY6OldhbGxUaW1lKSArIDE3OSAoV2ViQ29yZSArIDY0NDYwMzUpIFsweDdmZmYzYzZiNWJkM10gMQogICAgICAgICAgICAgICAgICAxICBib29sIFdURjo6Q29uZGl0aW9uOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMTU0IChXZWJDb3JlICsgMzE5ODA5MCkgWzB4N2ZmZjNjMzljYzhhXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjM1NCAoSmF2YVNjcmlwdENvcmUgKyAxOTAzMDc0KSBbMHg3ZmZmMzI5YmQ5ZTJdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICsgNjMgKEphdmFTY3JpcHRDb3JlICsgMTk4NjQ5NSkgWzB4N2ZmZjMyOWQxZmJmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMGIxICAgICAgICAgICAgIFRocmVhZCBuYW1lICJJbmRleGVkRGF0YWJhc2UgU2VydmVyIiAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdURjo6Q3Jvc3NUaHJlYWRUYXNrSGFuZGxlcjo6dGFza1J1bkxvb3AoKSArIDExMSAoSmF2YVNjcmlwdENvcmUgKyAxNzg5NzQzKSBbMHg3ZmZmMzI5YTFmMmZdIDEKICAgICAgICAgICAgICAxICBXVEY6OkNyb3NzVGhyZWFkUXVldWU8V1RGOjpDcm9zc1RocmVhZFRhc2s+Ojp3YWl0Rm9yTWVzc2FnZSgpICsgOTUgKEphdmFTY3JpcHRDb3JlICsgMTc4OTkzNSkgWzB4N2ZmZjMyOWExZmVmXSAxCiAgICAgICAgICAgICAgICAxICBib29sIFdURjo6Q29uZGl0aW9uOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMTY1IChKYXZhU2NyaXB0Q29yZSArIDE3NjgyOTMpIFsweDdmZmYzMjk5Y2I2NV0gMQogICAgICAgICAgICAgICAgICAxICBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5SW1wbCh2b2lkIGNvbnN0KiwgV1RGOjpTY29wZWRMYW1iZGE8Ym9vbCAoKT4gY29uc3QmLCBXVEY6OlNjb3BlZExhbWJkYTx2b2lkICgpPiBjb25zdCYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKyAyMzU0IChKYXZhU2NyaXB0Q29yZSArIDE5MDMwNzQpIFsweDdmZmYzMjliZDllMl0gMQogICAgICAgICAgICAgICAgICAgIDEgIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICsgNjMgKEphdmFTY3JpcHRDb3JlICsgMTk4NjQ5NSkgWzB4N2ZmZjMyOWQxZmJmXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIyNmQgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5DRlNvY2tldC5wcml2YXRlIiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzEgKGJhc2UgMzEpCiAgPHRocmVhZCBRb1MgZGVmYXVsdCAocmVxdWVzdGVkIGRlZmF1bHQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fc2VsZWN0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAzNDMzMCkgWzB4N2ZmZjViNTk5NjFhXSAxCiAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDcxNzcwNzIpIFsweGZmZmZmZjgwMDA4ZDgzNzBdIDEKCiAgVGhyZWFkIDB4YjdlZiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLkNGTmV0d29yay5DdXN0b21Qcm90b2NvbHMiICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NTVhZTBiICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgZGVmYXVsdCwgcmVxdWVzdGVkIG92ZXJyaWRlIGRlZmF1bHQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgID8\/PyBbMHg3ZmRkMmMxNWE2YjBdIDEKICAgIDEgIHN0YXJ0X3dxdGhyZWFkICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIxMykgWzB4N2ZmZjViNjUwM2ZkXSAxCiAgICAgIDEgIF9wdGhyZWFkX3dxdGhyZWFkICsgNDIxIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDk3NDUpIFsweDdmZmY1YjY1MDYxMV0gMQogICAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF93b3JrZXJfdGhyZWFkICsgNTk4IChsaWJkaXNwYXRjaC5keWxpYiArIDc1NTAxKSBbMHg3ZmZmNWI0MWY2ZWRdIDEKICAgICAgICAgIDEgIF9kaXNwYXRjaF93b3JrbG9vcF9pbnZva2UgKyAyNDU2IChsaWJkaXNwYXRjaC5keWxpYiArIDQ3MDUxKSBbMHg3ZmZmNWI0MTg3Y2JdIDEKICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NsaWVudF9jYWxsb3V0ICsgOCAobGliZGlzcGF0Y2guZHlsaWIgKyAxMzg4NSkgWzB4N2ZmZjViNDEwNjNkXSAxCiAgICAgICAgICAgICAgMSAgX2Rpc3BhdGNoX2NhbGxfYmxvY2tfYW5kX3JlbGVhc2UgKyAxMiAobGliZGlzcGF0Y2guZHlsaWIgKyA5NzIwKSBbMHg3ZmZmNWI0MGY1ZjhdIDEKICAgICAgICAgICAgICAgIDEgIF9fX1pOMTVUQ1BJT0Nvbm5lY3Rpb241d3JpdGVFUDE1ZGlzcGF0Y2hfZGF0YV9zYlUxM2Jsb2NrX3BvaW50ZXJGdjEzQ0ZTdHJlYW1FcnJvckVfYmxvY2tfaW52b2tlLjE1ICsgNzcgKENGTmV0d29yayArIDE5NjE3MTUpIFsweDdmZmYyZTYzN2VmM10gMQogICAgICAgICAgICAgICAgICAxICBDb25uZWN0aW9uUHJvdG9jb2xTZXJ2aWNlV3JpdGUobndfcHJvdG9jb2wqLCB2b2lkIChDRlN0cmVhbUVycm9yKSBibG9ja19wb2ludGVyLCB1bnNpZ25lZCBsb25nKSArIDg1NiAoQ0ZOZXR3b3JrICsgMjIwMDU3KSBbMHg3ZmZmMmU0OGViOTldIDEKICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9ib3Jpbmdzc2xfZmluYWxpemVfb3V0cHV0X2ZyYW1lcyArIDEyMyAobGliYm9yaW5nc3NsLmR5bGliICsgODAzMTkpIFsweDdmZmY1ODVhYzliZl0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbndfcHJvdG9jb2xfYm9yaW5nc3NsX3dyaXRlX2ZyYW1lcyArIDIzMyAobGliYm9yaW5nc3NsLmR5bGliICsgOTA4MDYpIFsweDdmZmY1ODVhZjJiNl0gMQogICAgICAgICAgICAgICAgICAgICAgICAxICBud19mcmFtZV9hcnJheV9mb3JlYWNoICsgNDggKGxpYm5ldHdvcmsuZHlsaWIgKyA2Nzk1NTIpIFsweDdmZmY1OTkzZGU4MF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fbndfcHJvdG9jb2xfYm9yaW5nc3NsX3dyaXRlX2ZyYW1lc19ibG9ja19pbnZva2UgKyAyMzYgKGxpYmJvcmluZ3NzbC5keWxpYiArIDkxMzQ0KSBbMHg3ZmZmNTg1YWY0ZDBdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fbndfcHJvdG9jb2xfYm9yaW5nc3NsX3dyaXRlX2ZyYW1lc19ibG9ja19pbnZva2VfMiArIDIzOSAobGliYm9yaW5nc3NsLmR5bGliICsgOTE4NDUpIFsweDdmZmY1ODVhZjZjNV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBib3Jpbmdzc2xfc2Vzc2lvbl93cml0ZSArIDExNiAobGliYm9yaW5nc3NsLmR5bGliICsgNDI5ODcpIFsweDdmZmY1ODVhMzdlYl0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIFNTTF93cml0ZSArIDIxNiAobGliYm9yaW5nc3NsLmR5bGliICsgNDA0NDQyKSBbMHg3ZmZmNTg1ZmJiZGFdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbDNfd3JpdGVfYXBwX2RhdGEoc3NsX3N0KiwgYm9vbCosIHVuc2lnbmVkIGNoYXIgY29uc3QqLCBpbnQpICsgMzc1IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAzNTEyMDcpIFsweDdmZmY1ODVlZWJlN10gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBic3NsOjpkb19zc2wzX3dyaXRlKHNzbF9zdCosIGludCwgdW5zaWduZWQgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCkgKyA1NzIgKGxpYmJvcmluZ3NzbC5keWxpYiArIDM1MTkzMykgWzB4N2ZmZjU4NWVlZWJkXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgYnNzbDo6c3NsM193cml0ZV9wZW5kaW5nKHNzbF9zdCosIGludCwgdW5zaWduZWQgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCkgKyA1NSAobGliYm9yaW5nc3NsLmR5bGliICsgMzUzMTM0KSBbMHg3ZmZmNTg1ZWYzNmVdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIGJzc2w6OnNzbF93cml0ZV9idWZmZXJfZmx1c2goc3NsX3N0KikgKyAxNzggKGxpYmJvcmluZ3NzbC5keWxpYiArIDM0NjE1MCkgWzB4N2ZmZjU4NWVkODI2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIEJJT193cml0ZSArIDQ2IChsaWJib3Jpbmdzc2wuZHlsaWIgKyAyNTI4NDEpIFsweDdmZmY1ODVkNmJhOV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3Byb3RvY29sX2Jpb193cml0ZSArIDkzIChsaWJib3Jpbmdzc2wuZHlsaWIgKyAxMDEyNykgWzB4N2ZmZjU4NTliNzhmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBud19wcm90b2NvbF9ib3Jpbmdzc2xfd3JpdGVfYnl0ZXMgKyAxNjA5IChsaWJib3Jpbmdzc2wuZHlsaWIgKyA1OTg2MikgWzB4N2ZmZjU4NWE3OWQ2XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9maW5hbGl6ZV9vdXRwdXRfZnJhbWVzICsgMTM0IChsaWJuZXR3b3JrLmR5bGliICsgNjIwOTM0KSBbMHg3ZmZmNTk5MmY5ODZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX253X3NvY2tldF9maW5hbGl6ZV9vdXRwdXRfZnJhbWVzX2Jsb2NrX2ludm9rZSArIDczIChsaWJuZXR3b3JrLmR5bGliICsgNjIxNzM3KSBbMHg3ZmZmNTk5MmZjYTldIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIG53X3NvY2tldF9mcmFtZV9vdXRwdXRfZmluYWxpemVyICsgMTAzIChsaWJuZXR3b3JrLmR5bGliICsgNjIyNjMxKSBbMHg3ZmZmNTk5MzAwMjddIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgbndfc29ja2V0X3NlcnZpY2Vfd3JpdGVzICsgMTQzIChsaWJuZXR3b3JrLmR5bGliICsgNjIyODYzKSBbMHg3ZmZmNTk5MzAxMGZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICBfX3NlbmRtc2cgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDI2NDgyKSBbMHg3ZmZmNWI1OTc3NzJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgIGhuZGxfdW5peF9zY2FsbDY0ICsgMjIgKGtlcm5lbCArIDE0MjYxODIpIFsweGZmZmZmZjgwMDAzNWMzMDZdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgdW5peF9zeXNjYWxsNjQgKyA2MzcgKGtlcm5lbCArIDgxMDEwNTMpIFsweGZmZmZmZjgwMDA5YjljYmRdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBzZW5kbXNnX25vY2FuY2VsICsgNDg0IChrZXJuZWwgKyA3NTYwODY4KSBbMHhmZmZmZmY4MDAwOTM1ZWE0XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKGtlcm5lbCArIDc1NTk1NjApIFsweGZmZmZmZjgwMDA5MzU5ODhdIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgc29zZW5kICsgMTkwNiAoa2VybmVsICsgNzQ4ODA5OCkgWzB4ZmZmZmZmODAwMDkyNDI2Ml0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzQyNzY1MykgWzB4ZmZmZmZmODAwMDkxNTY0NV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyA3MjYxMzY3KSBbMHhmZmZmZmY4MDAwOGVjY2I3XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzQwODczNCkgWzB4ZmZmZmZmODAwMDkxMGM1ZV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoa2VybmVsICsgNzE3NjQ3NykgWzB4ZmZmZmZmODAwMDhkODExZF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgbGNrX210eF9zbGVlcCArIDEyOCAoa2VybmVsICsgMTgzMDA5NikgWzB4ZmZmZmZmODAwMDNiZWNkMF0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICB0aHJlYWRfYmxvY2tfcmVhc29uICsgMTc1IChrZXJuZWwgKyAxODgxMjQ3KSBbMHhmZmZmZmY4MDAwM2NiNDlmXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/IChrZXJuZWwgKyAxODg3NjA5KSBbMHhmZmZmZmY4MDAwM2NjZDc5XSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICBtYWNoaW5lX3N3aXRjaF9jb250ZXh0ICsgMTk1IChrZXJuZWwgKyAyOTc1ODQzKSBbMHhmZmZmZmY4MDAwNGQ2ODYzXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDI4ODcwMDAgLSAgICAgICAgMHgxMDI4ODhmZmYgIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPDZDOTk5QjQ4LTEzOTYtM0ZFQS05M0ZGLTFERDAxMjhDNjE5Rj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZwogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODU5OTAwMCAtICAgICAweDdmZmY1ODY2N2ZmZiAgbGliYm9yaW5nc3NsLmR5bGliICgxMDkuMjUwLjIpICAgICAgICAgICAgICAgICAgICA8ODA0NEJCQjctRjZFMC0zNkMxLTk1RDEtOUMyQUIxOUNGOTRBPiAgL3Vzci9saWIvbGliYm9yaW5nc3NsLmR5bGliCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNTk4OTgwMDAgLSAgICAgMHg3ZmZmNTliZTlmZmYgIGxpYm5ldHdvcmsuZHlsaWIgKDEyMjkuMjUwLjE1KSAgICAgICAgICAgICAgICAgICAgPDcyQzdFOUUzLUIyQkUtMzMwMC1CRTFCLTY0NjA2MjIyMDIyQz4gIC91c3IvbGliL2xpYm5ldHdvcmsuZHlsaWIKICAgICAgICAweDdmZmY1YjQwZDAwMCAtICAgICAweDdmZmY1YjQ0NmZmZiAgbGliZGlzcGF0Y2guZHlsaWIgKDEwMDguMjUwLjcpICAgICAgICAgICAgICAgICAgICA8MjZERjVCMUUtQTM4OC0zOEVGLUI3M0ItQUYwRTkzRkIwMkRCPiAgL3Vzci9saWIvc3lzdGVtL2xpYmRpc3BhdGNoLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgWzI5MjZdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMjYuMDEgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTcyYzAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDYyNDcpIFsweDEwMjc0Yjg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDU4NTgpIFsweDEwMjc0YjZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MTczMDggICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDE3MzBjICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtfX0NvcmVTY2hlZHVsaW5nU2V0UnVubmFibGUgcnVuRm9yZXZlcl0gKyAyMTAgKENGTmV0d29yayArIDMxNjI4OCkgWzB4N2ZmZjJlNGE2MzgwXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDI3NGEwMDAgLSAgICAgICAgMHgxMDI3NGJmZmYgIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPDZDOTk5QjQ4LTEzOTYtM0ZFQS05M0ZGLTFERDAxMjhDNjE5Rj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZwogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIFs0ODE2M10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA0Mzc2IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweGVhMWQ1ICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA2MjQ3KSBbMHgxMDBjNTU4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA1ODU4KSBbMHgxMDBjNTU2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweGVhMWRmICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHhlYTFlMyAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNVUkxDb25uZWN0aW9uTG9hZGVyIiAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHhlYTIyMSAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuQ0ZTdHJlYW0uTGVnYWN5VGhyZWFkIiAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgZGVmYXVsdCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9sZWdhY3lTdHJlYW1SdW5Mb29wX3dvcmtUaHJlYWQgKyAyNTEgKENvcmVGb3VuZGF0aW9uICsgOTU2MjgyKSBbMHg3ZmZmMmY1ZTE3N2FdIDEKICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAwYzU0MDAwIC0gICAgICAgIDB4MTAwYzU1ZmZmICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDw2Qzk5OUI0OC0xMzk2LTNGRUEtOTNGRi0xREQwMTI4QzYxOUY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcKICAgICAgICAweDdmZmYyZTQ1OTAwMCAtICAgICAweDdmZmYyZTdmYWZmZiAgY29tLmFwcGxlLkNGTmV0d29yayA5NzguMC43ICg5NzguMC43KSAgICAgICAgICAgICA8OUZERUZFNTAtQkUxQi0zODZFLThCM0MtQUVGMjUxMDY5RTUyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyBbOTA0MzhdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzcxMiBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgyZjI2NTAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA2MjQ3KSBbMHgxMGU4OWQ4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA1ODU4KSBbMHgxMGU4OWQ2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDJmMjY2ZSAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDJmMjY3MCAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZTg5YzAwMCAtICAgICAgICAweDEwZTg5ZGZmZiAgY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8NkM5OTlCNDgtMTM5Ni0zRkVBLTkzRkYtMUREMDEyOEM2MTlGPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgWzk4ODI5XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDg2MDAgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MzExMWM2ICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDYyNDcpIFsweDEwNGVmOTg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDU4NTgpIFsweDEwNGVmOTZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MzExMWRkICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDMxMTFkZiAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtfX0NvcmVTY2hlZHVsaW5nU2V0UnVubmFibGUgcnVuRm9yZXZlcl0gKyAyMTAgKENGTmV0d29yayArIDMxNjI4OCkgWzB4N2ZmZjJlNGE2MzgwXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDMxMTIxMyAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5DRlN0cmVhbS5MZWdhY3lUaHJlYWQiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX2xlZ2FjeVN0cmVhbVJ1bkxvb3Bfd29ya1RocmVhZCArIDI1MSAoQ29yZUZvdW5kYXRpb24gKyA5NTYyODIpIFsweDdmZmYyZjVlMTc3YV0gMQogICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDMxMTI5YyAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5DRk5ldHdvcmsuQ3VzdG9tUHJvdG9jb2xzIiAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCBkZWZhdWx0KSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNGVmODAwMCAtICAgICAgICAweDEwNGVmOWZmZiAgY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8NkM5OTlCNDgtMTM5Ni0zRkVBLTkzRkYtMUREMDEyOEM2MTlGPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgWzY5NjczXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDM2NzIgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4M2ZkMGRhICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nICsgNjI0NykgWzB4MTAzN2UwODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nICsgNTg1OCkgWzB4MTAzN2UwNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgzZmQwZmIgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgzZmQxMGMgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuTlNVUkxDb25uZWN0aW9uTG9hZGVyIiAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtfX0NvcmVTY2hlZHVsaW5nU2V0UnVubmFibGUgcnVuRm9yZXZlcl0gKyAyMTAgKENGTmV0d29yayArIDMxNjI4OCkgWzB4N2ZmZjJlNGE2MzgwXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDM3ZGYwMDAgLSAgICAgICAgMHgxMDM3ZTBmZmYgIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPDZDOTk5QjQ4LTEzOTYtM0ZFQS05M0ZGLTFERDAxMjhDNjE5Rj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZwogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIFs4NTE5MV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAzNjkyIEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDQzNzYwYiAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDYyNDcpIFsweDEwZGU5Yzg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDU4NTgpIFsweDEwZGU5YzZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NDM3NjFiICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4NDM3NjNhICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLk5TVVJMQ29ubmVjdGlvbkxvYWRlciIgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBfX05TVGhyZWFkX19zdGFydF9fICsgMTE5NCAoRm91bmRhdGlvbiArIDc1NDc0KSBbMHg3ZmZmMzE3OGM2ZDJdIDEKICAgICAgICAgIDEgIC1bX19Db3JlU2NoZWR1bGluZ1NldFJ1bm5hYmxlIHJ1bkZvcmV2ZXJdICsgMjEwIChDRk5ldHdvcmsgKyAzMTYyODgpIFsweDdmZmYyZTRhNjM4MF0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBkZTliMDAwIC0gICAgICAgIDB4MTBkZTljZmZmICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDw2Qzk5OUI0OC0xMzk2LTNGRUEtOTNGRi0xREQwMTI4QzYxOUY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcKICAgICAgICAweDdmZmYyZTQ1OTAwMCAtICAgICAweDdmZmYyZTdmYWZmZiAgY29tLmFwcGxlLkNGTmV0d29yayA5NzguMC43ICg5NzguMC43KSAgICAgICAgICAgICA8OUZERUZFNTAtQkUxQi0zODZFLThCM0MtQUVGMjUxMDY5RTUyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyBbODgyNDhdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzMxMiBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHg0NTBmNWYgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA2MjQ3KSBbMHgxMGU2NjY4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgKyA1ODU4KSBbMHgxMGU2NjY2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDQ1MGY2NyAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDQ1MGY2YiAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgX19OU1RocmVhZF9fc3RhcnRfXyArIDExOTQgKEZvdW5kYXRpb24gKyA3NTQ3NCkgWzB4N2ZmZjMxNzhjNmQyXSAxCiAgICAgICAgICAxICAtW19fQ29yZVNjaGVkdWxpbmdTZXRSdW5uYWJsZSBydW5Gb3JldmVyXSArIDIxMCAoQ0ZOZXR3b3JrICsgMzE2Mjg4KSBbMHg3ZmZmMmU0YTYzODBdIDEKICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwZTY2NTAwMCAtICAgICAgICAweDEwZTY2NmZmZiAgY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8NkM5OTlCNDgtMTM5Ni0zRkVBLTkzRkYtMUREMDEyOEM2MTlGPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nCiAgICAgICAgMHg3ZmZmMmU0NTkwMDAgLSAgICAgMHg3ZmZmMmU3ZmFmZmYgIGNvbS5hcHBsZS5DRk5ldHdvcmsgOTc4LjAuNyAoOTc4LjAuNykgICAgICAgICAgICAgPDlGREVGRTUwLUJFMUItMzg2RS04QjNDLUFFRjI1MTA2OUU1Mj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcgWzkwNjQwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDUxMTIgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4NDVlM2IxICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyBiYWNrZ3JvdW5kIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCB0aHJlYWQgZGFyd2luYmcsIHByb2Nlc3MgZGFyd2luYmcsIElPIHRpZXIgMj4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDYyNDcpIFsweDEwYTFiODg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyArIDU4NTgpIFsweDEwYTFiODZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4NDVlM2NiICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0IChiYXNlIDQpCiAgPHRocmVhZCBRb1MgYmFja2dyb3VuZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgdGhyZWFkIGRhcndpbmJnLCBwcm9jZXNzIGRhcndpbmJnLCBJTyB0aWVyIDI+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDQ1ZTNjYyAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIiICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNCAoYmFzZSA0KQogIDx0aHJlYWQgUW9TIGJhY2tncm91bmQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHRocmVhZCBkYXJ3aW5iZywgcHJvY2VzcyBkYXJ3aW5iZywgSU8gdGllciAyPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIF9fTlNUaHJlYWRfX3N0YXJ0X18gKyAxMTk0IChGb3VuZGF0aW9uICsgNzU0NzQpIFsweDdmZmYzMTc4YzZkMl0gMQogICAgICAgICAgMSAgLVtfX0NvcmVTY2hlZHVsaW5nU2V0UnVubmFibGUgcnVuRm9yZXZlcl0gKyAyMTAgKENGTmV0d29yayArIDMxNjI4OCkgWzB4N2ZmZjJlNGE2MzgwXSAxCiAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGExYjcwMDAgLSAgICAgICAgMHgxMGExYjhmZmYgIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPDZDOTk5QjQ4LTEzOTYtM0ZFQS05M0ZGLTFERDAxMjhDNjE5Rj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZwogICAgICAgIDB4N2ZmZjJlNDU5MDAwIC0gICAgIDB4N2ZmZjJlN2ZhZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDk3OC4wLjcgKDk3OC4wLjcpICAgICAgICAgICAgIDw5RkRFRkU1MC1CRTFCLTM4NkUtOEIzQy1BRUYyNTEwNjlFNTI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3JrCiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1NTVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODEuMDIgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWVmYyAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwZDliYzg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwZDliYzZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWYwMiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA1YiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGQ5YmIwMDAgLSAgICAgICAgMHgxMGQ5YmNmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU1Nl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAzNi41MyBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZjA0ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTA0NDVkODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTA0NDVkNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZjA5ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDYyICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNDQ1YzAwMCAtICAgICAgICAweDEwNDQ1ZGZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTU4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDY0Ljk4IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmMWEgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDdhMjY4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDdhMjY2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmMWUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwNmUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA3YTI1MDAwIC0gICAgICAgIDB4MTA3YTI2ZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1NTldCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNTQ2OCBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZjIzICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTAxZjBiODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTAxZjBiNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZjJhICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDUxICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMWYwYTAwMCAtICAgICAgICAweDEwMWYwYmZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTYwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDEzMS4xNyBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZjI5ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTBhZTY5ODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTBhZTY5NmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZjJlICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDZiICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MjNiZSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogV29ya2VyIiAgICAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCgpICsgMTAzMiAoV2ViQ29yZSArIDI0MTY5MzY4KSBbMHg3ZmZmM2Q3OWNiOThdIDEKICAgICAgICAgICAgICAxICBXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpydW4oV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGUqKSArIDk2IChXZWJDb3JlICsgMjQxNTc4NTYpIFsweDdmZmYzZDc5OWVhMF0gMQogICAgICAgICAgICAgICAgMSAgV2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6cnVuSW5Nb2RlKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlKiwgV2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCYsIFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OldhaXRNb2RlKSArIDMxMSAoV2ViQ29yZSArIDI0MTU4MjYzKSBbMHg3ZmZmM2Q3OWEwMzddIDEKICAgICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6VGFzaywgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s+ID4gV1RGOjpNZXNzYWdlUXVldWU8V2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6VGFzaz46OndhaXRGb3JNZXNzYWdlRmlsdGVyZWRXaXRoVGltZW91dDxXZWJDb3JlOjpNb2RlUHJlZGljYXRlIGNvbnN0Jj4oV1RGOjpNZXNzYWdlUXVldWVXYWl0UmVzdWx0JiwgV2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCYmJiwgV1RGOjpXYWxsVGltZSkgKyAyMjkgKFdlYkNvcmUgKyAyNDE1OTQ2MSkgWzB4N2ZmZjNkNzlhNGU1XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgYm9vbCBXVEY6OkNvbmRpdGlvbjo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE1NCAoV2ViQ29yZSArIDMxOTgwOTApIFsweDdmZmYzYzM5Y2M4YV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjM1NCAoSmF2YVNjcmlwdENvcmUgKyAxOTAzMDc0KSBbMHg3ZmZmMzI5YmQ5ZTJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgV1RGOjpUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChXVEY6Ok11dGV4JiwgV1RGOjpXYWxsVGltZSkgKyAxMjIgKEphdmFTY3JpcHRDb3JlICsgMTk4NjU1NCkgWzB4N2ZmZjMyOWQxZmZhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwYWU2ODAwMCAtICAgICAgICAweDEwYWU2OWZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTYxXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDU0MzYgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWYzNSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwNjZiOTg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwNjZiOTZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWYzYiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA2YyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDY2YjgwMDAgLSAgICAgICAgMHgxMDY2YjlmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU2Ml0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMTkuMjkgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWYzYSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwYmFjYjg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwYmFjYjZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY0MCAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA3MSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGJhY2EwMDAgLSAgICAgICAgMHgxMGJhY2JmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU2M10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA1Mzk2IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmNDQgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMGQ4MTY4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMGQ4MTY2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmNDkgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwOTIgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBkODE1MDAwIC0gICAgICAgIDB4MTBkODE2ZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1NjRdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMjY3Ljk0IE1CCk5vdGU6ICAgICAgICAgICAgNCBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmNDYgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDZmNjQ4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDZmNjQ2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmNGMgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDI2MiAoSmF2YVNjcmlwdENvcmUgKyAyMjUzNDQ2KSBbMHg3ZmZmMzJhMTMyODZdIDEKICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y3Zfc3RhdHVzIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0X3VudGlsPHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4sIHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICsgOTUgKEphdmFTY3JpcHRDb3JlICsgMjI1ODM2NykgWzB4N2ZmZjMyYTE0NWJmXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y3Zfc3RhdHVzIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXRfdW50aWw8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICsgMTE3IChKYXZhU2NyaXB0Q29yZSArIDIyNTg2NzcpIFsweDdmZmYzMmExNDZmNV0gMQogICAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjpfX2RvX3RpbWVkX3dhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN5c3RlbV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4pICsgOTMgKGxpYmMrKy4xLmR5bGliICsgMzU2MzMpIFsweDdmZmY1ODY4ZmIzMV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwNTQgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHg1NWM0MTQgICAgICAgICAgIFRocmVhZCBuYW1lICJIZWFwIEhlbHBlciBUaHJlYWQiICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdURjo6RnVuY3Rpb248dm9pZCAoKT46OkNhbGxhYmxlV3JhcHBlcjxXVEY6OkF1dG9tYXRpY1RocmVhZDo6c3RhcnQoV1RGOjpBYnN0cmFjdExvY2tlciBjb25zdCYpOjokXzA+OjpjYWxsKCkgKyAxODYgKEphdmFTY3JpcHRDb3JlICsgMTc2OTA2NikgWzB4N2ZmZjMyOTljZTZhXSAxCiAgICAgICAgICAgICAgMSAgYm9vbCBXVEY6OkNvbmRpdGlvbjo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE2NSAoSmF2YVNjcmlwdENvcmUgKyAxNzY4MjkzKSBbMHg3ZmZmMzI5OWNiNjVdIDEKICAgICAgICAgICAgICAgIDEgIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDIzNTQgKEphdmFTY3JpcHRDb3JlICsgMTkwMzA3NCkgWzB4N2ZmZjMyOWJkOWUyXSAxCiAgICAgICAgICAgICAgICAgIDEgIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICsgMTIyIChKYXZhU2NyaXB0Q29yZSArIDE5ODY1NTQpIFsweDdmZmYzMjlkMWZmYV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDU1YzQxOCAgICAgICAgICAgVGhyZWFkIG5hbWUgIkhlYXAgSGVscGVyIFRocmVhZCIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV1RGOjpGdW5jdGlvbjx2b2lkICgpPjo6Q2FsbGFibGVXcmFwcGVyPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChXVEY6OkFic3RyYWN0TG9ja2VyIGNvbnN0Jik6OiRfMD46OmNhbGwoKSArIDE4NiAoSmF2YVNjcmlwdENvcmUgKyAxNzY5MDY2KSBbMHg3ZmZmMzI5OWNlNmFdIDEKICAgICAgICAgICAgICAxICBib29sIFdURjo6Q29uZGl0aW9uOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMTY1IChKYXZhU2NyaXB0Q29yZSArIDE3NjgyOTMpIFsweDdmZmYzMjk5Y2I2NV0gMQogICAgICAgICAgICAgICAgMSAgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjM1NCAoSmF2YVNjcmlwdENvcmUgKyAxOTAzMDc0KSBbMHg3ZmZmMzI5YmQ5ZTJdIDEKICAgICAgICAgICAgICAgICAgMSAgV1RGOjpUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChXVEY6Ok11dGV4JiwgV1RGOjpXYWxsVGltZSkgKyAxMjIgKEphdmFTY3JpcHRDb3JlICsgMTk4NjU1NCkgWzB4N2ZmZjMyOWQxZmZhXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4NTVjNDE5ICAgICAgICAgICBUaHJlYWQgbmFtZSAiSGVhcCBIZWxwZXIgVGhyZWFkIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpDYWxsYWJsZVdyYXBwZXI8V1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KFdURjo6QWJzdHJhY3RMb2NrZXIgY29uc3QmKTo6JF8wPjo6Y2FsbCgpICsgMTg2IChKYXZhU2NyaXB0Q29yZSArIDE3NjkwNjYpIFsweDdmZmYzMjk5Y2U2YV0gMQogICAgICAgICAgICAgIDEgIGJvb2wgV1RGOjpDb25kaXRpb246OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKyAxNjUgKEphdmFTY3JpcHRDb3JlICsgMTc2ODI5MykgWzB4N2ZmZjMyOTljYjY1XSAxCiAgICAgICAgICAgICAgICAxICBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5SW1wbCh2b2lkIGNvbnN0KiwgV1RGOjpTY29wZWRMYW1iZGE8Ym9vbCAoKT4gY29uc3QmLCBXVEY6OlNjb3BlZExhbWJkYTx2b2lkICgpPiBjb25zdCYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKyAyMzU0IChKYXZhU2NyaXB0Q29yZSArIDE5MDMwNzQpIFsweDdmZmYzMjliZDllMl0gMQogICAgICAgICAgICAgICAgICAxICBXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KFdURjo6TXV0ZXgmLCBXVEY6OldhbGxUaW1lKSArIDEyMiAoSmF2YVNjcmlwdENvcmUgKyAxOTg2NTU0KSBbMHg3ZmZmMzI5ZDFmZmFdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHg1NWM0MWEgICAgICAgICAgIFRocmVhZCBuYW1lICJIZWFwIEhlbHBlciBUaHJlYWQiICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdURjo6RnVuY3Rpb248dm9pZCAoKT46OkNhbGxhYmxlV3JhcHBlcjxXVEY6OkF1dG9tYXRpY1RocmVhZDo6c3RhcnQoV1RGOjpBYnN0cmFjdExvY2tlciBjb25zdCYpOjokXzA+OjpjYWxsKCkgKyAxODYgKEphdmFTY3JpcHRDb3JlICsgMTc2OTA2NikgWzB4N2ZmZjMyOTljZTZhXSAxCiAgICAgICAgICAgICAgMSAgYm9vbCBXVEY6OkNvbmRpdGlvbjo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE2NSAoSmF2YVNjcmlwdENvcmUgKyAxNzY4MjkzKSBbMHg3ZmZmMzI5OWNiNjVdIDEKICAgICAgICAgICAgICAgIDEgIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDIzNTQgKEphdmFTY3JpcHRDb3JlICsgMTkwMzA3NCkgWzB4N2ZmZjMyOWJkOWUyXSAxCiAgICAgICAgICAgICAgICAgIDEgIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICsgMTIyIChKYXZhU2NyaXB0Q29yZSArIDE5ODY1NTQpIFsweDdmZmYzMjlkMWZmYV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDU1YzU4ZiAgICAgICAgICAgVGhyZWFkIG5hbWUgIkpJVCBXb3JrbGlzdCBIZWxwZXIgVGhyZWFkIiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV1RGOjpGdW5jdGlvbjx2b2lkICgpPjo6Q2FsbGFibGVXcmFwcGVyPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChXVEY6OkFic3RyYWN0TG9ja2VyIGNvbnN0Jik6OiRfMD46OmNhbGwoKSArIDE4NiAoSmF2YVNjcmlwdENvcmUgKyAxNzY5MDY2KSBbMHg3ZmZmMzI5OWNlNmFdIDEKICAgICAgICAgICAgICAxICBib29sIFdURjo6Q29uZGl0aW9uOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMTY1IChKYXZhU2NyaXB0Q29yZSArIDE3NjgyOTMpIFsweDdmZmYzMjk5Y2I2NV0gMQogICAgICAgICAgICAgICAgMSAgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjM1NCAoSmF2YVNjcmlwdENvcmUgKyAxOTAzMDc0KSBbMHg3ZmZmMzI5YmQ5ZTJdIDEKICAgICAgICAgICAgICAgICAgMSAgV1RGOjpUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChXVEY6Ok11dGV4JiwgV1RGOjpXYWxsVGltZSkgKyAxMjIgKEphdmFTY3JpcHRDb3JlICsgMTk4NjU1NCkgWzB4N2ZmZjMyOWQxZmZhXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNmY2MzAwMCAtICAgICAgICAweDEwNmY2NGZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTY1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDU0NzIgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY0ZSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwNDlmMzg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwNDlmMzZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY1MyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA3YiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDQ5ZjIwMDAgLSAgICAgICAgMHgxMDQ5ZjNmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU2Nl0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMTkuODEgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY1MSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwMWE1ZDg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwMWE1ZDZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY1NyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA1NSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDFhNWMwMDAgLSAgICAgICAgMHgxMDFhNWRmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU2N10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMzcuNzcgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY1OSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwNjhiNTg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwNjhiNTZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY1YyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA2NSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDU0ZTI2YSAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFdvcmtlciIgICAgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKSArIDEwMzIgKFdlYkNvcmUgKyAyNDE2OTM2OCkgWzB4N2ZmZjNkNzljYjk4XSAxCiAgICAgICAgICAgICAgMSAgV2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6cnVuKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlKikgKyA5NiAoV2ViQ29yZSArIDI0MTU3ODU2KSBbMHg3ZmZmM2Q3OTllYTBdIDEKICAgICAgICAgICAgICAgIDEgIFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OnJ1bkluTW9kZShXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZSosIFdlYkNvcmU6Ok1vZGVQcmVkaWNhdGUgY29uc3QmLCBXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpXYWl0TW9kZSkgKyAzMTEgKFdlYkNvcmUgKyAyNDE1ODI2MykgWzB4N2ZmZjNkNzlhMDM3XSAxCiAgICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjp1bmlxdWVfcHRyPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2ssIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpUYXNrPiA+IFdURjo6TWVzc2FnZVF1ZXVlPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s+Ojp3YWl0Rm9yTWVzc2FnZUZpbHRlcmVkV2l0aFRpbWVvdXQ8V2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCY+KFdURjo6TWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCYsIFdlYkNvcmU6Ok1vZGVQcmVkaWNhdGUgY29uc3QmJiYsIFdURjo6V2FsbFRpbWUpICsgMjI5IChXZWJDb3JlICsgMjQxNTk0NjEpIFsweDdmZmYzZDc5YTRlNV0gMQogICAgICAgICAgICAgICAgICAgIDEgIGJvb2wgV1RGOjpDb25kaXRpb246OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKyAxNTQgKFdlYkNvcmUgKyAzMTk4MDkwKSBbMHg3ZmZmM2MzOWNjOGFdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDIzNTQgKEphdmFTY3JpcHRDb3JlICsgMTkwMzA3NCkgWzB4N2ZmZjMyOWJkOWUyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICsgMTIyIChKYXZhU2NyaXB0Q29yZSArIDE5ODY1NTQpIFsweDdmZmYzMjlkMWZmYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDY4YjQwMDAgLSAgICAgICAgMHgxMDY4YjVmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU2OF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA1NDUyIEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmNWUgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDU2YjQ4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDU2YjQ2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmNjMgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwNTMgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA1NmIzMDAwIC0gICAgICAgIDB4MTA1NmI0ZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1NjldCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgODguOTQgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY2MiAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwZGMxYzg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwZGMxYzZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY2NiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMjYyIChKYXZhU2NyaXB0Q29yZSArIDIyNTM0NDYpIFsweDdmZmYzMmExMzI4Nl0gMQogICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjdl9zdGF0dXMgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXRfdW50aWw8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4Piwgc3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+Jiwgc3RkOjpfXzE6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6Ol9fMTo6Y2hyb25vOjpzdGVhZHlfY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+IGNvbnN0JikgKyA5NSAoSmF2YVNjcmlwdENvcmUgKyAyMjU4MzY3KSBbMHg3ZmZmMzJhMTQ1YmZdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjdl9zdGF0dXMgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdF91bnRpbDxzdGQ6Ol9fMTo6Y2hyb25vOjpzdGVhZHlfY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+Jiwgc3RkOjpfXzE6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6Ol9fMTo6Y2hyb25vOjpzdGVhZHlfY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+IGNvbnN0JikgKyAxMTcgKEphdmFTY3JpcHRDb3JlICsgMjI1ODY3NykgWzB4N2ZmZjMyYTE0NmY1XSAxCiAgICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6Ol9fZG9fdGltZWRfd2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3lzdGVtX2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPikgKyA5MyAobGliYysrLjEuZHlsaWIgKyAzNTYzMykgWzB4N2ZmZjU4NjhmYjMxXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA2MCAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGRjMWIwMDAgLSAgICAgICAgMHgxMGRjMWNmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU3MF0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMzYuNzUgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY2OCAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwZDRlNjg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwZDRlNjZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY2YiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA1YSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDU0ZTI3OSAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFdvcmtlciIgICAgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKSArIDEwMzIgKFdlYkNvcmUgKyAyNDE2OTM2OCkgWzB4N2ZmZjNkNzljYjk4XSAxCiAgICAgICAgICAgICAgMSAgV2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6cnVuKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlKikgKyA5NiAoV2ViQ29yZSArIDI0MTU3ODU2KSBbMHg3ZmZmM2Q3OTllYTBdIDEKICAgICAgICAgICAgICAgIDEgIFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OnJ1bkluTW9kZShXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZSosIFdlYkNvcmU6Ok1vZGVQcmVkaWNhdGUgY29uc3QmLCBXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpXYWl0TW9kZSkgKyAzMTEgKFdlYkNvcmUgKyAyNDE1ODI2MykgWzB4N2ZmZjNkNzlhMDM3XSAxCiAgICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjp1bmlxdWVfcHRyPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2ssIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpUYXNrPiA+IFdURjo6TWVzc2FnZVF1ZXVlPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s+Ojp3YWl0Rm9yTWVzc2FnZUZpbHRlcmVkV2l0aFRpbWVvdXQ8V2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCY+KFdURjo6TWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCYsIFdlYkNvcmU6Ok1vZGVQcmVkaWNhdGUgY29uc3QmJiYsIFdURjo6V2FsbFRpbWUpICsgMjI5IChXZWJDb3JlICsgMjQxNTk0NjEpIFsweDdmZmYzZDc5YTRlNV0gMQogICAgICAgICAgICAgICAgICAgIDEgIGJvb2wgV1RGOjpDb25kaXRpb246OndhaXRVbnRpbDxXVEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKyAxNTQgKFdlYkNvcmUgKyAzMTk4MDkwKSBbMHg3ZmZmM2MzOWNjOGFdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3BlZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0JiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDIzNTQgKEphdmFTY3JpcHRDb3JlICsgMTkwMzA3NCkgWzB4N2ZmZjMyOWJkOWUyXSAxCiAgICAgICAgICAgICAgICAgICAgICAgIDEgIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICsgMTIyIChKYXZhU2NyaXB0Q29yZSArIDE5ODY1NTQpIFsweDdmZmYzMjlkMWZmYV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMGQ0ZTUwMDAgLSAgICAgICAgMHgxMGQ0ZTZmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU3M10KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyMjEuMzIgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWY3NiAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwZjIyYTg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwZjIyYTZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWY3YiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA2YSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDI0MjUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5jb3JlbWVkaWEuaW1hZ2VxdWV1ZS5jb3JlYW5pbWF0aW9uLmNvbW1vbiIgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA1NCAoYmFzZSA1NCkKICA8cHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBmaWdUaHJlYWRNYWluICsgMjc2IChDb3JlTWVkaWEgKyA3MjMxOSkgWzB4N2ZmZjMwNWZkYTdmXSAxCiAgICAgICAgICAxICA\/Pz8gKE1lZGlhVG9vbGJveCArIDI5MjI3NjQpIFsweDdmZmYzM2NiZjkwY10gMQogICAgICAgICAgICAxICBGaWdTZW1hcGhvcmVXYWl0UmVsYXRpdmUgKyAxNDUgKENvcmVNZWRpYSArIDgzNTk1KSBbMHg3ZmZmMzA2MDA2OGJdIDEKICAgICAgICAgICAgICAxICBXYWl0T25Db25kaXRpb24gKyAxMSAoQ29yZU1lZGlhICsgMTU0OTA3KSBbMHg3ZmZmMzA2MTFkMWJdIDEKICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjQyYSAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLmNvcmVhdWRpby5BUUNsaWVudCIgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA2MCAoYmFzZSA2MCkKICA8cHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBDQVBUaHJlYWQ6OkVudHJ5KENBUFRocmVhZCopICsgNzcgKEF1ZGlvVG9vbGJveCArIDI0NDA5NykgWzB4N2ZmZjJkZWMzOTgxXSAxCiAgICAgICAgICAxICBHZW5lcmljUnVuTG9vcFRocmVhZDo6RW50cnkodm9pZCopICsgMTU4IChBdWRpb1Rvb2xib3ggKyAyNDQ4MDIpIFsweDdmZmYyZGVjM2M0Ml0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTBmMjI5MDAwIC0gICAgICAgIDB4MTBmMjJhZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZGU4ODAwMCAtICAgICAweDdmZmYyZTBmZmZmZiAgY29tLmFwcGxlLmF1ZGlvLnRvb2xib3guQXVkaW9Ub29sYm94IDEuMTQgKDEuMTQpICA8RUI3MTU4M0MtNThDOS0zQ0Y4LTkyRjktMkQ1N0IyNEJCRDRGPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL0F1ZGlvVG9vbGJveAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMwNWVjMDAwIC0gICAgIDB4N2ZmZjMwNmYwZmZmICBjb20uYXBwbGUuQ29yZU1lZGlhIDEuMCAoMjI4OC40MCkgICAgICAgICAgICAgICAgIDw5QkIwNTRGQi02OEYxLTNGMDMtQThCMy0zRTU1NDcxQTZGOUI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlTWVkaWEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZU1lZGlhCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjMzOWY2MDAwIC0gICAgIDB4N2ZmZjM0MDljZmZmICBjb20uYXBwbGUuTWVkaWFUb29sYm94IDEuMCAoMjI4OC40MCkgICAgICAgICAgICAgIDwwNjI5RTc1Ni0zRDJBLTM2QTQtQjI1Ri05QzA1MEZDODU5QjU+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9NZWRpYVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvTWVkaWFUb29sYm94CiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1NzVdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMzI2LjEzIE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmODIgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDFhZTc4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDFhZTc2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmODUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwN2UgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAxYWU2MDAwIC0gICAgICAgIDB4MTAxYWU3ZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1NzZdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNTQ2MCBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZjg5ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTAyMTA3ODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTAyMTA3NmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZjhkICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDY3ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMjEwNjAwMCAtICAgICAgICAweDEwMjEwN2ZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTc3XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDIwNi43MiBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZjhlICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTA1ZWFiODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTA1ZWFiNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZjkxICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDhjICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNWVhYTAwMCAtICAgICAgICAweDEwNWVhYmZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTc4XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDE1MC41NCBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZjk2ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTAzYzlhODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTAzYzlhNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZjljICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDhkICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwM2M5OTAwMCAtICAgICAgICAweDEwM2M5YWZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTc5XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDExNy45OCBNQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZmE4ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTA4NmU3ODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTA4NmU3NmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZmFjICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAyNjIgKEphdmFTY3JpcHRDb3JlICsgMjI1MzQ0NikgWzB4N2ZmZjMyYTEzMjg2XSAxCiAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmN2X3N0YXR1cyBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdF91bnRpbDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+LCBzdGQ6Ol9fMTo6Y2hyb25vOjpzdGVhZHlfY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4gY29uc3QmKSArIDk1IChKYXZhU2NyaXB0Q29yZSArIDIyNTgzNjcpIFsweDdmZmYzMmExNDViZl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmN2X3N0YXR1cyBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0X3VudGlsPHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4gY29uc3QmKSArIDExNyAoSmF2YVNjcmlwdENvcmUgKyAyMjU4Njc3KSBbMHg3ZmZmMzJhMTQ2ZjVdIDEKICAgICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6X19kb190aW1lZF93YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+Jiwgc3RkOjpfXzE6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6Ol9fMTo6Y2hyb25vOjpzeXN0ZW1fY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+KSArIDkzIChsaWJjKysuMS5keWxpYiArIDM1NjMzKSBbMHg3ZmZmNTg2OGZiMzFdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDg5ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwODZlNjAwMCAtICAgICAgICAweDEwODZlN2ZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTgwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDU0NTYgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWZiMSAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwMGZlMzg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwMGZlMzZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MWZiNCAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjA4YiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2Nyb2xsaW5nIiAgICAgICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFsaXplUnVuTG9vcCgpICsgMjUyIChXZWJDb3JlICsgMjc3NzA4KSBbMHg3ZmZmM2MwZDNjY2NdIDEKICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW4gKyA0MCAoQ29yZUZvdW5kYXRpb24gKyAyMzkzMTQpIFsweDdmZmYyZjUzMjZkMl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIEJpbmFyeSBJbWFnZXM6CiAgICAgICAgICAgMHgxMDBmZTIwMDAgLSAgICAgICAgMHgxMDBmZTNmZmYgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgPEUwRjVENUUyLUJCRTUtMzlDNS05RDM0LUIzNDJGRjhFRDg5Nj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNlcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjL0NvbnRlbnRzL01hY09TL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudAogICAgICAgIDB4N2ZmZjJmNGY4MDAwIC0gICAgIDB4N2ZmZjJmOTNjZmZmICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgIDw2NEMzOEJGMi0xODY5LTMzQzgtQjFCNi1EQ0E5QzgyNEMwRTQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzYzA5MDAwMCAtICAgICAweDdmZmYzZGE1ZmZmZiAgY29tLmFwcGxlLldlYkNvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgICAgICAgICA8RUI5NEMzRkYtMjQyNS0zOTU0LTkzODYtRDQ3RURFMkRGMzczPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU4MV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAyODQuNDggTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MWZiNyAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwNjNhYzg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwNjNhYzZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE3ODYgKENvcmVGb3VuZGF0aW9uICsgMjQyMTg2KSBbMHg3ZmZmMmY1MzMyMGFdIDEKICAgICAgICAgICAgICAgICAgICAxICBDRkFic29sdXRlVGltZUdldEN1cnJlbnQgKyAyMyAoQ29yZUZvdW5kYXRpb24gKyAyMjQ1OTIpIFsweDdmZmYyZjUyZWQ1MF0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgX19jb21tcGFnZV9nZXR0aW1lb2ZkYXkgKyAwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgODcyMSkgWzB4N2ZmZjViNTkzMjExXSAocnVubmluZykgMQoKICBUaHJlYWQgMHgxZmJhICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAyNjIgKEphdmFTY3JpcHRDb3JlICsgMjI1MzQ0NikgWzB4N2ZmZjMyYTEzMjg2XSAxCiAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmN2X3N0YXR1cyBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdF91bnRpbDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+LCBzdGQ6Ol9fMTo6Y2hyb25vOjpzdGVhZHlfY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4gY29uc3QmKSArIDk1IChKYXZhU2NyaXB0Q29yZSArIDIyNTgzNjcpIFsweDdmZmYzMmExNDViZl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmN2X3N0YXR1cyBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0X3VudGlsPHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4gY29uc3QmKSArIDExNyAoSmF2YVNjcmlwdENvcmUgKyAyMjU4Njc3KSBbMHg3ZmZmMzJhMTQ2ZjVdIDEKICAgICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6X19kb190aW1lZF93YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+Jiwgc3RkOjpfXzE6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6Ol9fMTo6Y2hyb25vOjpzeXN0ZW1fY2xvY2ssIHN0ZDo6X18xOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+KSArIDkzIChsaWJjKysuMS5keWxpYiArIDM1NjMzKSBbMHg3ZmZmNTg2OGZiMzFdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDdkICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MjNkZiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiY29tLmFwcGxlLmNvcmVhdWRpby5BUUNsaWVudCIgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA2MCAoYmFzZSA2MCkKICA8cHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBDQVBUaHJlYWQ6OkVudHJ5KENBUFRocmVhZCopICsgNzcgKEF1ZGlvVG9vbGJveCArIDI0NDA5NykgWzB4N2ZmZjJkZWMzOTgxXSAxCiAgICAgICAgICAxICBHZW5lcmljUnVuTG9vcFRocmVhZDo6RW50cnkodm9pZCopICsgMTU4IChBdWRpb1Rvb2xib3ggKyAyNDQ4MDIpIFsweDdmZmYyZGVjM2M0Ml0gMQogICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgyM2UwICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuY29yZW1lZGlhLmF1ZGlvcXVldWUuc291cmNlIiAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDU1IChiYXNlIDU1KQogIDxwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIGZpZ1RocmVhZE1haW4gKyAyNzYgKENvcmVNZWRpYSArIDcyMzE5KSBbMHg3ZmZmMzA1ZmRhN2ZdIDEKICAgICAgICAgIDEgID8\/PyAoTWVkaWFUb29sYm94ICsgODQwMzEwKSBbMHg3ZmZmMzNhYzMyNzZdIDEKICAgICAgICAgICAgMSAgRmlnU2VtYXBob3JlV2FpdFJlbGF0aXZlICsgMTQ1IChDb3JlTWVkaWEgKyA4MzU5NSkgWzB4N2ZmZjMwNjAwNjhiXSAxCiAgICAgICAgICAgICAgMSAgV2FpdE9uQ29uZGl0aW9uICsgMTEgKENvcmVNZWRpYSArIDE1NDkwNykgWzB4N2ZmZjMwNjExZDFiXSAxCiAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIzZTEgICAgICAgICAgICAgVGhyZWFkIG5hbWUgImNvbS5hcHBsZS5jb3JlbWVkaWEuaW1hZ2VxdWV1ZS5jb3JlYW5pbWF0aW9uLmNvbW1vbiIgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA1NCAoYmFzZSA1NCkKICA8cHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBmaWdUaHJlYWRNYWluICsgMjc2IChDb3JlTWVkaWEgKyA3MjMxOSkgWzB4N2ZmZjMwNWZkYTdmXSAxCiAgICAgICAgICAxICA\/Pz8gKE1lZGlhVG9vbGJveCArIDI5MjI3NjQpIFsweDdmZmYzM2NiZjkwY10gMQogICAgICAgICAgICAxICBGaWdTZW1hcGhvcmVXYWl0UmVsYXRpdmUgKyAxNTIgKENvcmVNZWRpYSArIDgzNjAyKSBbMHg3ZmZmMzA2MDA2OTJdIDEKICAgICAgICAgICAgICAxICBXYWl0T25Db25kaXRpb25UaW1lZCArIDkyIChDb3JlTWVkaWEgKyAxNjkwNjEpIFsweDdmZmYzMDYxNTQ2NV0gMQogICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyM2UyICAgICAgICAgICAgIFRocmVhZCBuYW1lICJjb20uYXBwbGUuY29yZW1lZGlhLnZpZGVvbWVkaWFjb252ZXJ0ZXIiICAgICAgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDkgKGJhc2UgNDkpCiAgPHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgZmlnVGhyZWFkTWFpbiArIDI3NiAoQ29yZU1lZGlhICsgNzIzMTkpIFsweDdmZmYzMDVmZGE3Zl0gMQogICAgICAgICAgMSAgPz8\/IChNZWRpYVRvb2xib3ggKyAyOTE3MzczKSBbMHg3ZmZmMzNjYmUzZmRdIDEKICAgICAgICAgICAgMSAgRmlnU2VtYXBob3JlV2FpdFJlbGF0aXZlICsgMTQ1IChDb3JlTWVkaWEgKyA4MzU5NSkgWzB4N2ZmZjMwNjAwNjhiXSAxCiAgICAgICAgICAgICAgMSAgV2FpdE9uQ29uZGl0aW9uICsgMTEgKENvcmVNZWRpYSArIDE1NDkwNykgWzB4N2ZmZjMwNjExZDFiXSAxCiAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIzZTMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzMSAoYmFzZSAzMSkKICA8dGhyZWFkIFFvUyBkZWZhdWx0IChyZXF1ZXN0ZWQgZGVmYXVsdCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgPz8\/IChBcHBsZUdWQSArIDI0Nzg2OSkgWzB4N2ZmZjNmNmM0ODNkXSAxCiAgICAgICAgICAxICA\/Pz8gKEFwcGxlR1ZBICsgMjQ4MTg0KSBbMHg3ZmZmM2Y2YzQ5NzhdIDEKICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDU1YzQxNiAgICAgICAgICAgVGhyZWFkIG5hbWUgIkRGRyBXb3JrbGlzdCBXb3JrZXIgVGhyZWFkIiAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMTMzMjEpIFsweDdmZmYzMjdmMDQwOV0gMQogICAgICAgICAgMSAgV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSArIDE5NCAoSmF2YVNjcmlwdENvcmUgKyAxOTc3NTU0KSBbMHg3ZmZmMzI5Y2ZjZDJdIDEKICAgICAgICAgICAgMSAgV1RGOjpGdW5jdGlvbjx2b2lkICgpPjo6Q2FsbGFibGVXcmFwcGVyPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChXVEY6OkFic3RyYWN0TG9ja2VyIGNvbnN0Jik6OiRfMD46OmNhbGwoKSArIDE4NiAoSmF2YVNjcmlwdENvcmUgKyAxNzY5MDY2KSBbMHg3ZmZmMzI5OWNlNmFdIDEKICAgICAgICAgICAgICAxICBib29sIFdURjo6Q29uZGl0aW9uOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMTY1IChKYXZhU2NyaXB0Q29yZSArIDE3NjgyOTMpIFsweDdmZmYzMjk5Y2I2NV0gMQogICAgICAgICAgICAgICAgMSAgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjM1NCAoSmF2YVNjcmlwdENvcmUgKyAxOTAzMDc0KSBbMHg3ZmZmMzI5YmQ5ZTJdIDEKICAgICAgICAgICAgICAgICAgMSAgV1RGOjpUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChXVEY6Ok11dGV4JiwgV1RGOjpXYWxsVGltZSkgKyAxMjIgKEphdmFTY3JpcHRDb3JlICsgMTk4NjU1NCkgWzB4N2ZmZjMyOWQxZmZhXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwNjNhYjAwMCAtICAgICAgICAweDEwNjNhY2ZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmRlODgwMDAgLSAgICAgMHg3ZmZmMmUwZmZmZmYgIGNvbS5hcHBsZS5hdWRpby50b29sYm94LkF1ZGlvVG9vbGJveCAxLjE0ICgxLjE0KSAgPEVCNzE1ODNDLTU4QzktM0NGOC05MkY5LTJENTdCMjRCQkQ0Rj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BdWRpb1Rvb2xib3gKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMDVlYzAwMCAtICAgICAweDdmZmYzMDZmMGZmZiAgY29tLmFwcGxlLkNvcmVNZWRpYSAxLjAgKDIyODguNDApICAgICAgICAgICAgICAgICA8OUJCMDU0RkItNjhGMS0zRjAzLUE4QjMtM0U1NTQ3MUE2RjlCPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZU1lZGlhLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVNZWRpYQogICAgICAgIDB4N2ZmZjMxNzdhMDAwIC0gICAgIDB4N2ZmZjMxYjI3ZmZmICBjb20uYXBwbGUuRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgICAgIDxBRDI1OEVENy02NEFFLTM2N0MtQUU1Ri00OEQ0NTA4OUQ5RjI+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMjdlZDAwMCAtICAgICAweDdmZmYzMzY1MWZmZiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICA8NjM2MDQxNzgtRUYzQi0zQ0QzLUFENEItRjQxODk5NjNDNTFEPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDdmZmYzMzlmNjAwMCAtICAgICAweDdmZmYzNDA5Y2ZmZiAgY29tLmFwcGxlLk1lZGlhVG9vbGJveCAxLjAgKDIyODguNDApICAgICAgICAgICAgICA8MDYyOUU3NTYtM0QyQS0zNkE0LUIyNUYtOUMwNTBGQzg1OUI1PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvTWVkaWFUb29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL01lZGlhVG9vbGJveAogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmYzZjY4ODAwMCAtICAgICAweDdmZmYzZjc2ZWZmZiAgY29tLmFwcGxlLkFwcGxlR1ZBRnJhbWV3b3JrIDExLjEwLjE2ICgxMS4xMC4xNikgICA8NjVBQzlBODgtQjg3Qy0zNjZBLUIzQzItMUQ0NkNBM0E3RTZDPiAgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcGxlR1ZBLmZyYW1ld29yay9WZXJzaW9ucy9BL0FwcGxlR1ZBCiAgICAgICAgMHg3ZmZmNTg2ODcwMDAgLSAgICAgMHg3ZmZmNTg2ZGFmZmYgIGxpYmMrKy4xLmR5bGliICg0MDAuOS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgPDlBNjBBMTkwLTZDMzQtMzM5Ri1CQjNELUFBQ0U5NDIwMDlBND4gIC91c3IvbGliL2xpYmMrKy4xLmR5bGliCiAgICAgICAgMHg3ZmZmNWI0NDcwMDAgLSAgICAgMHg3ZmZmNWI0NzNmZmYgIGxpYmR5bGQuZHlsaWIgKDY1NS4xLjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgPDAwMjQxOENDLUFEMTEtM0QxMC04NjVCLTAxNTU5MUQyNEU2Qz4gIC91c3IvbGliL3N5c3RlbS9saWJkeWxkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI1OTEwMDAgLSAgICAgMHg3ZmZmNWI1YjlmZmYgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgPDdCMEY1MkM0LTRDQzktMzI4Mi04NDU3LUMxOEM2RkUxQjk5RT4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fa2VybmVsLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2NGUwMDAgLSAgICAgMHg3ZmZmNWI2NThmZmYgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICgzMzAuMjUwLjIpICAgICAgICAgICAgICAgPDJENUMwOEZGLTQ4NEYtM0Q1OS05MTMyLUNFMURDQjNGNzZENz4gIC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fcHRocmVhZC5keWxpYgogICAgICAgIDB4N2ZmZjViNjg1MDAwIC0gICAgIDB4N2ZmZjViNmI0ZmZmICBsaWJ4cGMuZHlsaWIgKDEzMzYuMjYxLjIpICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTBGRkE3OS0wODJGLTMyOTMtQkY0OS02Mzk3NkIwNzNCNzQ+ICAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGliCiAgICoweGZmZmZmZjdmODI3ZjIwMDAgLSAgICAgICAgICAgICAgICA\/Pz8gID8\/PyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4KICAgKjB4ZmZmZmZmODAwMDIwMDAwMCAtIDB4ZmZmZmZmODAwMGJmZmZmZiAga2VybmVsICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8N0M4QkI2MzYtRTU5My0zQ0U0LTg1MjgtOUJEMjRBNjg4ODUxPiAgL1N5c3RlbS9MaWJyYXJ5L0tlcm5lbHMva2VybmVsCgoKUHJvY2VzczogICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzU4Ml0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICA1NDg0IEtCCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmYmMgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDhkZTU4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDhkZTU2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmYmYgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDEzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUzMzIzKSBbMHg3ZmZmMzJhMTMyMGJdIDEKICAgICAgICAgICAgICAxICB2b2lkIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0PHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+JikgKyA4MiAoSmF2YVNjcmlwdENvcmUgKyAyMjM2NzA2KSBbMHg3ZmZmMzJhMGYxMjJdIDEKICAgICAgICAgICAgICAgIDEgIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mKSArIDE4IChsaWJjKysuMS5keWxpYiArIDM1MzM4KSBbMHg3ZmZmNTg2OGZhMGFdIDEKICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwOTAgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA4ZGU0MDAwIC0gICAgICAgIDB4MTA4ZGU1ZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1ODNdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgMTE5LjE5IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmYzEgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDA2ODc4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDA2ODc2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmYzUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDI2MiAoSmF2YVNjcmlwdENvcmUgKyAyMjUzNDQ2KSBbMHg3ZmZmMzJhMTMyODZdIDEKICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y3Zfc3RhdHVzIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0X3VudGlsPHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4sIHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICsgOTUgKEphdmFTY3JpcHRDb3JlICsgMjI1ODM2NykgWzB4N2ZmZjMyYTE0NWJmXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y3Zfc3RhdHVzIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXRfdW50aWw8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICsgMTE3IChKYXZhU2NyaXB0Q29yZSArIDIyNTg2NzcpIFsweDdmZmYzMmExNDZmNV0gMQogICAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjpfX2RvX3RpbWVkX3dhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN5c3RlbV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4pICsgOTMgKGxpYmMrKy4xLmR5bGliICsgMzU2MzMpIFsweDdmZmY1ODY4ZmIzMV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwOGEgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTAwNjg2MDAwIC0gICAgICAgIDB4MTAwNjg3ZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1ODRdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNTQ0MCBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZmM3ICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTAwN2UxODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTAwN2UxNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZmNhICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDg4ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMDdlMDAwMCAtICAgICAgICAweDEwMDdlMWZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTg1XQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDkwLjk3IE1CCk5vdGU6ICAgICAgICAgICAgMiBpZGxlIHdvcmsgcXVldWUgdGhyZWFkcyBvbWl0dGVkCgogIFRocmVhZCAweDFmY2MgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSA0NiAoYmFzZSA0NikKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgc3RhcnQgKyAxIChsaWJkeWxkLmR5bGliICsgOTEwOTMpIFsweDdmZmY1YjQ1ZDNkNV0gMQogICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA2MjQ3KSBbMHgxMDU4OGY4NjddIDEKICAgICAgMSAgPz8\/IChjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKyA1ODU4KSBbMHgxMDU4OGY2ZTJdIDEKICAgICAgICAxICB4cGNfbWFpbiArIDQzMyAobGlieHBjLmR5bGliICsgNjg0NzMpIFsweDdmZmY1YjY5NWI3OV0gMQogICAgICAgICAgMSAgX3hwY19vYmpjX21haW4gKyA1NTIgKGxpYnhwYy5keWxpYiArIDY5NzUxKSBbMHg3ZmZmNWI2OTYwNzddIDEKICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5dICsgNzYgKEZvdW5kYXRpb24gKyAxMTY2NzYpIFsweDdmZmYzMTc5NjdjNF0gMQogICAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuTW9kZTpiZWZvcmVEYXRlOl0gKyAyODAgKEZvdW5kYXRpb24gKyAxMTY5NzUpIFsweDdmZmYzMTc5NjhlZl0gMQogICAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0NTUgKENvcmVGb3VuZGF0aW9uICsgMjM5ODA2KSBbMHg3ZmZmMmY1MzI4YmVdIDEKICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BSdW4gKyAxNjEyIChDb3JlRm91bmRhdGlvbiArIDI0MjAxMikgWzB4N2ZmZjJmNTMzMTVjXSAxCiAgICAgICAgICAgICAgICAgICAgMSAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMjggKENvcmVGb3VuZGF0aW9uICsgMjQ0NzE4KSBbMHg3ZmZmMmY1MzNiZWVdIDEKICAgICAgICAgICAgICAgICAgICAgIDEgIG1hY2hfbXNnX3RyYXAgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDQ2NTApIFsweDdmZmY1YjU5MjIyYV0gMQogICAgICAgICAgICAgICAgICAgICAgICoxICBpcGNfbXF1ZXVlX3JlY2VpdmVfY29udGludWUgKyAwIChrZXJuZWwgKyAxNjUxODA4KSBbMHhmZmZmZmY4MDAwMzkzNDYwXSAxCgogIFRocmVhZCAweDFmZDAgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIkphdmFTY3JpcHRDb3JlIGJtYWxsb2Mgc2NhdmVuZ2VyIiAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgMzcgKGJhc2UgMzcpCiAgPHRocmVhZCBRb1MgdXNlciBpbml0aWF0ZWQgKHJlcXVlc3RlZCB1c2VyIGluaXRpYXRlZCksIHByb2Nlc3MgdW5jbGFtcGVkLCBJTyB0aWVyIDA+CiAgMSAgdGhyZWFkX3N0YXJ0ICsgMTMgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgOTIyOSkgWzB4N2ZmZjViNjUwNDBkXSAxCiAgICAxICBfcHRocmVhZF9zdGFydCArIDY2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDI1MTYxKSBbMHg3ZmZmNWI2NTQyNDldIDEKICAgICAgMSAgX3B0aHJlYWRfYm9keSArIDEyNiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAxMzAzNSkgWzB4N2ZmZjViNjUxMmViXSAxCiAgICAgICAgMSAgdm9pZCogc3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTxzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0LCBzdGQ6Ol9fMTo6ZGVmYXVsdF9kZWxldGU8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdD4gPiwgdm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNjYXZlbmdlcio+ID4odm9pZCopICsgMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1NzgzMSkgWzB4N2ZmZjMyYTE0M2E3XSAxCiAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZEVudHJ5UG9pbnQoYm1hbGxvYzo6U2NhdmVuZ2VyKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDIyNTEzMjEpIFsweDdmZmYzMmExMmEzOV0gMQogICAgICAgICAgICAxICBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSArIDI2MiAoSmF2YVNjcmlwdENvcmUgKyAyMjUzNDQ2KSBbMHg3ZmZmMzJhMTMyODZdIDEKICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y3Zfc3RhdHVzIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGVfYW55Ojp3YWl0X3VudGlsPHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4sIHN0ZDo6X18xOjpjaHJvbm86OnN0ZWFkeV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICsgOTUgKEphdmFTY3JpcHRDb3JlICsgMjI1ODM2NykgWzB4N2ZmZjMyYTE0NWJmXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y3Zfc3RhdHVzIHN0ZDo6X18xOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXRfdW50aWw8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPihzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYsIHN0ZDo6X18xOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpfXzE6OmNocm9ubzo6c3RlYWR5X2Nsb2NrLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICsgMTE3IChKYXZhU2NyaXB0Q29yZSArIDIyNTg2NzcpIFsweDdmZmYzMmExNDZmNV0gMQogICAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjpfX2RvX3RpbWVkX3dhaXQoc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPHN0ZDo6X18xOjptdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6X18xOjpjaHJvbm86OnN5c3RlbV9jbG9jaywgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4pICsgOTMgKGxpYmMrKy4xLmR5bGliICsgMzU2MzMpIFsweDdmZmY1ODY4ZmIzMV0gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgICAqMSAgPz8\/ICg8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPiArIDE5MzI0KSBbMHhmZmZmZmY3ZjgyN2Y2YjdjXSAxCgogIFRocmVhZCAweDIwOTUgICAgICAgICAgICAgVGhyZWFkIG5hbWUgIldlYkNvcmU6IFNjcm9sbGluZyIgICAgICAgICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyA5IChKYXZhU2NyaXB0Q29yZSArIDEzMzIxKSBbMHg3ZmZmMzI3ZjA0MDldIDEKICAgICAgICAgIDEgIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKyAxOTQgKEphdmFTY3JpcHRDb3JlICsgMTk3NzU1NCkgWzB4N2ZmZjMyOWNmY2QyXSAxCiAgICAgICAgICAgIDEgIFdlYkNvcmU6OlNjcm9sbGluZ1RocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKSArIDI1MiAoV2ViQ29yZSArIDI3NzcwOCkgWzB4N2ZmZjNjMGQzY2NjXSAxCiAgICAgICAgICAgICAgMSAgQ0ZSdW5Mb29wUnVuICsgNDAgKENvcmVGb3VuZGF0aW9uICsgMjM5MzE0KSBbMHg3ZmZmMmY1MzI2ZDJdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBCaW5hcnkgSW1hZ2VzOgogICAgICAgICAgIDB4MTA1ODhlMDAwIC0gICAgICAgIDB4MTA1ODhmZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpIDxFMEY1RDVFMi1CQkU1LTM5QzUtOUQzNC1CMzQyRkY4RUQ4OTY+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQKICAgICAgICAweDdmZmYyZjRmODAwMCAtICAgICAweDdmZmYyZjkzY2ZmZiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICA8NjRDMzhCRjItMTg2OS0zM0M4LUIxQjYtRENBOUM4MjRDMEU0PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KICAgICAgICAweDdmZmYzMTc3YTAwMCAtICAgICAweDdmZmYzMWIyN2ZmZiAgY29tLmFwcGxlLkZvdW5kYXRpb24gNi45ICgxNTc1LjEyKSAgICAgICAgICAgICAgICA8QUQyNThFRDctNjRBRS0zNjdDLUFFNUYtNDhENDUwODlEOUYyPiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQy9Gb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzI3ZWQwMDAgLSAgICAgMHg3ZmZmMzM2NTFmZmYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgPDYzNjA0MTc4LUVGM0ItM0NEMy1BRDRCLUY0MTg5OTYzQzUxRD4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0phdmFTY3JpcHRDb3JlCiAgICAgICAgMHg3ZmZmM2MwOTAwMDAgLSAgICAgMHg3ZmZmM2RhNWZmZmYgIGNvbS5hcHBsZS5XZWJDb3JlIDE0NjA3ICgxNDYwNy4yLjYuMS4xKSAgICAgICAgICAgPEVCOTRDM0ZGLTI0MjUtMzk1NC05Mzg2LUQ0N0VERTJERjM3Mz4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZQogICAgICAgIDB4N2ZmZjU4Njg3MDAwIC0gICAgIDB4N2ZmZjU4NmRhZmZmICBsaWJjKysuMS5keWxpYiAoNDAwLjkuNCkgICAgICAgICAgICAgICAgICAgICAgICAgIDw5QTYwQTE5MC02QzM0LTMzOUYtQkIzRC1BQUNFOTQyMDA5QTQ+ICAvdXNyL2xpYi9saWJjKysuMS5keWxpYgogICAgICAgIDB4N2ZmZjViNDQ3MDAwIC0gICAgIDB4N2ZmZjViNDczZmZmICBsaWJkeWxkLmR5bGliICg2NTUuMS4xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwwMDI0MThDQy1BRDExLTNEMTAtODY1Qi0wMTU1OTFEMjRFNkM+ICAvdXNyL2xpYi9zeXN0ZW0vbGliZHlsZC5keWxpYgogICAgICAgIDB4N2ZmZjViNTkxMDAwIC0gICAgIDB4N2ZmZjViNWI5ZmZmICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICg0OTAzLjI2MS40KSAgICAgICAgICAgICAgIDw3QjBGNTJDNC00Q0M5LTMyODItODQ1Ny1DMThDNkZFMUI5OUU+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgICAgIDB4N2ZmZjViNjRlMDAwIC0gICAgIDB4N2ZmZjViNjU4ZmZmICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAoMzMwLjI1MC4yKSAgICAgICAgICAgICAgIDwyRDVDMDhGRi00ODRGLTNENTktOTEzMi1DRTFEQ0IzRjc2RDc+ICAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgICAgICAweDdmZmY1YjY4NTAwMCAtICAgICAweDdmZmY1YjZiNGZmZiAgbGlieHBjLmR5bGliICgxMzM2LjI2MS4yKSAgICAgICAgICAgICAgICAgICAgICAgICA8OUEwRkZBNzktMDgyRi0zMjkzLUJGNDktNjM5NzZCMDczQjc0PiAgL3Vzci9saWIvc3lzdGVtL2xpYnhwYy5keWxpYgogICAqMHhmZmZmZmY3ZjgyN2YyMDAwIC0gICAgICAgICAgICAgICAgPz8\/ICA\/Pz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+CiAgICoweGZmZmZmZjgwMDAyMDAwMDAgLSAweGZmZmZmZjgwMDBiZmZmZmYgIGtlcm5lbCAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDdDOEJCNjM2LUU1OTMtM0NFNC04NTI4LTlCRDI0QTY4ODg1MT4gIC9TeXN0ZW0vTGlicmFyeS9LZXJuZWxzL2tlcm5lbAoKClByb2Nlc3M6ICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IFs1ODZdCkFyY2hpdGVjdHVyZTogICAgeDg2XzY0ClRhc2sgc2l6ZTogICAgICAgNTQ2OCBLQgpOb3RlOiAgICAgICAgICAgIDIgaWRsZSB3b3JrIHF1ZXVlIHRocmVhZHMgb21pdHRlZAoKICBUaHJlYWQgMHgxZmQzICAgICAgICAgICAgIDEgc2FtcGxlICgxKSAgICAgICAgICAgICAgcHJpb3JpdHkgNDYgKGJhc2UgNDYpCiAgPHRocmVhZCBRb1MgdXNlciBpbnRlcmFjdGl2ZSAocmVxdWVzdGVkIHVzZXIgaW50ZXJhY3RpdmUpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTAyOThhODY3XSAxCiAgICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNTg1OCkgWzB4MTAyOThhNmUyXSAxCiAgICAgICAgMSAgeHBjX21haW4gKyA0MzMgKGxpYnhwYy5keWxpYiArIDY4NDczKSBbMHg3ZmZmNWI2OTViNzldIDEKICAgICAgICAgIDEgIF94cGNfb2JqY19tYWluICsgNTUyIChsaWJ4cGMuZHlsaWIgKyA2OTc1MSkgWzB4N2ZmZjViNjk2MDc3XSAxCiAgICAgICAgICAgIDEgIC1bTlNSdW5Mb29wKE5TUnVuTG9vcCkgcnVuXSArIDc2IChGb3VuZGF0aW9uICsgMTE2Njc2KSBbMHg3ZmZmMzE3OTY3YzRdIDEKICAgICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsgMjgwIChGb3VuZGF0aW9uICsgMTE2OTc1KSBbMHg3ZmZmMzE3OTY4ZWZdIDEKICAgICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDU1IChDb3JlRm91bmRhdGlvbiArIDIzOTgwNikgWzB4N2ZmZjJmNTMyOGJlXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wUnVuICsgMTYxMiAoQ29yZUZvdW5kYXRpb24gKyAyNDIwMTIpIFsweDdmZmYyZjUzMzE1Y10gMQogICAgICAgICAgICAgICAgICAgIDEgIF9fQ0ZSdW5Mb29wU2VydmljZU1hY2hQb3J0ICsgMzI4IChDb3JlRm91bmRhdGlvbiArIDI0NDcxOCkgWzB4N2ZmZjJmNTMzYmVlXSAxCiAgICAgICAgICAgICAgICAgICAgICAxICBtYWNoX21zZ190cmFwICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyA0NjUwKSBbMHg3ZmZmNWI1OTIyMmFdIDEKICAgICAgICAgICAgICAgICAgICAgICAqMSAgaXBjX21xdWV1ZV9yZWNlaXZlX2NvbnRpbnVlICsgMCAoa2VybmVsICsgMTY1MTgwOCkgWzB4ZmZmZmZmODAwMDM5MzQ2MF0gMQoKICBUaHJlYWQgMHgxZmQ3ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJKYXZhU2NyaXB0Q29yZSBibWFsbG9jIHNjYXZlbmdlciIgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDM3IChiYXNlIDM3KQogIDx0aHJlYWQgUW9TIHVzZXIgaW5pdGlhdGVkIChyZXF1ZXN0ZWQgdXNlciBpbml0aWF0ZWQpLCBwcm9jZXNzIHVuY2xhbXBlZCwgSU8gdGllciAwPgogIDEgIHRocmVhZF9zdGFydCArIDEzIChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDkyMjkpIFsweDdmZmY1YjY1MDQwZF0gMQogICAgMSAgX3B0aHJlYWRfc3RhcnQgKyA2NiAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyAyNTE2MSkgWzB4N2ZmZjViNjU0MjQ5XSAxCiAgICAgIDEgIF9wdGhyZWFkX2JvZHkgKyAxMjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMTMwMzUpIFsweDdmZmY1YjY1MTJlYl0gMQogICAgICAgIDEgIHZvaWQqIHN0ZDo6X18xOjpfX3RocmVhZF9wcm94eTxzdGQ6Ol9fMTo6dHVwbGU8c3RkOjpfXzE6OnVuaXF1ZV9wdHI8c3RkOjpfXzE6Ol9fdGhyZWFkX3N0cnVjdCwgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3Q+ID4sIHZvaWQgKCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPiA+KHZvaWQqKSArIDM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTc4MzEpIFsweDdmZmYzMmExNDNhN10gMQogICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAyMjUxMzIxKSBbMHg3ZmZmMzJhMTJhMzldIDEKICAgICAgICAgICAgMSAgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCkgKyAxMzkgKEphdmFTY3JpcHRDb3JlICsgMjI1MzMyMykgWzB4N2ZmZjMyYTEzMjBiXSAxCiAgICAgICAgICAgICAgMSAgdm9pZCBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdDxzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+ID4oc3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiYpICsgODIgKEphdmFTY3JpcHRDb3JlICsgMjIzNjcwNikgWzB4N2ZmZjMyYTBmMTIyXSAxCiAgICAgICAgICAgICAgICAxICBzdGQ6Ol9fMTo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxzdGQ6Ol9fMTo6bXV0ZXg+JikgKyAxOCAobGliYysrLjEuZHlsaWIgKyAzNTMzOCkgWzB4N2ZmZjU4NjhmYTBhXSAxCiAgICAgICAgICAgICAgICAgIDEgIF9fcHN5bmNoX2N2d2FpdCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgMTg1MzgpIFsweDdmZmY1YjU5NTg2YV0gMQogICAgICAgICAgICAgICAgICAgKjEgID8\/PyAoPDJERDUxM0EyLTg1MzktMzNDNi1CRjQ5LTY4QjQzQzBBQkQwMT4gKyAxOTMyNCkgWzB4ZmZmZmZmN2Y4MjdmNmI3Y10gMQoKICBUaHJlYWQgMHgyMDk2ICAgICAgICAgICAgIFRocmVhZCBuYW1lICJXZWJDb3JlOiBTY3JvbGxpbmciICAgICAgICAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpTY3JvbGxpbmdUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkgKyAyNTIgKFdlYkNvcmUgKyAyNzc3MDgpIFsweDdmZmYzYzBkM2NjY10gMQogICAgICAgICAgICAgIDEgIENGUnVuTG9vcFJ1biArIDQwIChDb3JlRm91bmRhdGlvbiArIDIzOTMxNCkgWzB4N2ZmZjJmNTMyNmQyXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMjk4OTAwMCAtICAgICAgICAweDEwMjk4YWZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbNTkwXQpBcmNoaXRlY3R1cmU6ICAgIHg4Nl82NApUYXNrIHNpemU6ICAgICAgIDczODQgS0IKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MjBhMiAgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQ2IChiYXNlIDQ2KQogIDx0aHJlYWQgUW9TIHVzZXIgaW50ZXJhY3RpdmUgKHJlcXVlc3RlZCB1c2VyIGludGVyYWN0aXZlKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICBzdGFydCArIDEgKGxpYmR5bGQuZHlsaWIgKyA5MTA5MykgWzB4N2ZmZjViNDVkM2Q1XSAxCiAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDYyNDcpIFsweDEwMTczZTg2N10gMQogICAgICAxICA\/Pz8gKGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCArIDU4NTgpIFsweDEwMTczZTZlMl0gMQogICAgICAgIDEgIHhwY19tYWluICsgNDMzIChsaWJ4cGMuZHlsaWIgKyA2ODQ3MykgWzB4N2ZmZjViNjk1Yjc5XSAxCiAgICAgICAgICAxICBfeHBjX29iamNfbWFpbiArIDU1MiAobGlieHBjLmR5bGliICsgNjk3NTEpIFsweDdmZmY1YjY5NjA3N10gMQogICAgICAgICAgICAxICAtW05TUnVuTG9vcChOU1J1bkxvb3ApIHJ1bl0gKyA3NiAoRm91bmRhdGlvbiArIDExNjY3NikgWzB4N2ZmZjMxNzk2N2M0XSAxCiAgICAgICAgICAgICAgMSAgLVtOU1J1bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDI4MCAoRm91bmRhdGlvbiArIDExNjk3NSkgWzB4N2ZmZjMxNzk2OGVmXSAxCiAgICAgICAgICAgICAgICAxICBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQ1NSAoQ29yZUZvdW5kYXRpb24gKyAyMzk4MDYpIFsweDdmZmYyZjUzMjhiZV0gMQogICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFJ1biArIDE2MTIgKENvcmVGb3VuZGF0aW9uICsgMjQyMDEyKSBbMHg3ZmZmMmY1MzMxNWNdIDEKICAgICAgICAgICAgICAgICAgICAxICBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDMyOCAoQ29yZUZvdW5kYXRpb24gKyAyNDQ3MTgpIFsweDdmZmYyZjUzM2JlZV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgbWFjaF9tc2dfdHJhcCArIDEwIChsaWJzeXN0ZW1fa2VybmVsLmR5bGliICsgNDY1MCkgWzB4N2ZmZjViNTkyMjJhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgKjEgIGlwY19tcXVldWVfcmVjZWl2ZV9jb250aW51ZSArIDAgKGtlcm5lbCArIDE2NTE4MDgpIFsweGZmZmZmZjgwMDAzOTM0NjBdIDEKCiAgVGhyZWFkIDB4MjBhYyAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiSmF2YVNjcmlwdENvcmUgYm1hbGxvYyBzY2F2ZW5nZXIiICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICB2b2lkKiBzdGQ6Ol9fMTo6X190aHJlYWRfcHJveHk8c3RkOjpfXzE6OnR1cGxlPHN0ZDo6X18xOjp1bmlxdWVfcHRyPHN0ZDo6X18xOjpfX3RocmVhZF9zdHJ1Y3QsIHN0ZDo6X18xOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Ol9fMTo6X190aHJlYWRfc3RydWN0PiA+LCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPih2b2lkKikgKyAzOSAoSmF2YVNjcmlwdENvcmUgKyAyMjU3ODMxKSBbMHg3ZmZmMzJhMTQzYTddIDEKICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKSArIDkgKEphdmFTY3JpcHRDb3JlICsgMjI1MTMyMSkgWzB4N2ZmZjMyYTEyYTM5XSAxCiAgICAgICAgICAgIDEgIGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCgpICsgMTM5IChKYXZhU2NyaXB0Q29yZSArIDIyNTMzMjMpIFsweDdmZmYzMmExMzIwYl0gMQogICAgICAgICAgICAgIDEgIHZvaWQgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZV9hbnk6OndhaXQ8c3RkOjpfXzE6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiA+KHN0ZDo6X18xOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4mKSArIDgyIChKYXZhU2NyaXB0Q29yZSArIDIyMzY3MDYpIFsweDdmZmYzMmEwZjEyMl0gMQogICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdChzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8c3RkOjpfXzE6Om11dGV4PiYpICsgMTggKGxpYmMrKy4xLmR5bGliICsgMzUzMzgpIFsweDdmZmY1ODY4ZmEwYV0gMQogICAgICAgICAgICAgICAgICAxICBfX3BzeW5jaF9jdndhaXQgKyAxMCAobGlic3lzdGVtX2tlcm5lbC5keWxpYiArIDE4NTM4KSBbMHg3ZmZmNWI1OTU4NmFdIDEKICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgVGhyZWFkIDB4MjBiMiAgICAgICAgICAgICBUaHJlYWQgbmFtZSAiV2ViQ29yZTogU2VydmljZSBXb3JrZXIiICAgICAgICAgICAgICAgMSBzYW1wbGUgKDEpICAgICAgICAgICAgICBwcmlvcml0eSAzNyAoYmFzZSAzNykKICA8dGhyZWFkIFFvUyB1c2VyIGluaXRpYXRlZCAocmVxdWVzdGVkIHVzZXIgaW5pdGlhdGVkKSwgcHJvY2VzcyB1bmNsYW1wZWQsIElPIHRpZXIgMD4KICAxICB0aHJlYWRfc3RhcnQgKyAxMyAobGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKyA5MjI5KSBbMHg3ZmZmNWI2NTA0MGRdIDEKICAgIDEgIF9wdGhyZWFkX3N0YXJ0ICsgNjYgKGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICsgMjUxNjEpIFsweDdmZmY1YjY1NDI0OV0gMQogICAgICAxICBfcHRocmVhZF9ib2R5ICsgMTI2IChsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiArIDEzMDM1KSBbMHg3ZmZmNWI2NTEyZWJdIDEKICAgICAgICAxICBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgOSAoSmF2YVNjcmlwdENvcmUgKyAxMzMyMSkgWzB4N2ZmZjMyN2YwNDA5XSAxCiAgICAgICAgICAxICBXVEY6OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopICsgMTk0IChKYXZhU2NyaXB0Q29yZSArIDE5Nzc1NTQpIFsweDdmZmYzMjljZmNkMl0gMQogICAgICAgICAgICAxICBXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCgpICsgMTAzMiAoV2ViQ29yZSArIDI0MTY5MzY4KSBbMHg3ZmZmM2Q3OWNiOThdIDEKICAgICAgICAgICAgICAxICBXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpydW4oV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGUqKSArIDk2IChXZWJDb3JlICsgMjQxNTc4NTYpIFsweDdmZmYzZDc5OWVhMF0gMQogICAgICAgICAgICAgICAgMSAgV2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6cnVuSW5Nb2RlKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlKiwgV2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCYsIFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OldhaXRNb2RlKSArIDMxMSAoV2ViQ29yZSArIDI0MTU4MjYzKSBbMHg3ZmZmM2Q3OWEwMzddIDEKICAgICAgICAgICAgICAgICAgMSAgc3RkOjpfXzE6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6VGFzaywgc3RkOjpfXzE6OmRlZmF1bHRfZGVsZXRlPFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s+ID4gV1RGOjpNZXNzYWdlUXVldWU8V2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6VGFzaz46OndhaXRGb3JNZXNzYWdlRmlsdGVyZWRXaXRoVGltZW91dDxXZWJDb3JlOjpNb2RlUHJlZGljYXRlIGNvbnN0Jj4oV1RGOjpNZXNzYWdlUXVldWVXYWl0UmVzdWx0JiwgV2ViQ29yZTo6TW9kZVByZWRpY2F0ZSBjb25zdCYmJiwgV1RGOjpXYWxsVGltZSkgKyAyMjkgKFdlYkNvcmUgKyAyNDE1OTQ2MSkgWzB4N2ZmZjNkNzlhNGU1XSAxCiAgICAgICAgICAgICAgICAgICAgMSAgYm9vbCBXVEY6OkNvbmRpdGlvbjo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE1NCAoV2ViQ29yZSArIDMxOTgwOTApIFsweDdmZmYzYzM5Y2M4YV0gMQogICAgICAgICAgICAgICAgICAgICAgMSAgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjM1NCAoSmF2YVNjcmlwdENvcmUgKyAxOTAzMDc0KSBbMHg3ZmZmMzI5YmQ5ZTJdIDEKICAgICAgICAgICAgICAgICAgICAgICAgMSAgV1RGOjpUaHJlYWRDb25kaXRpb246OnRpbWVkV2FpdChXVEY6Ok11dGV4JiwgV1RGOjpXYWxsVGltZSkgKyAxMjIgKEphdmFTY3JpcHRDb3JlICsgMTk4NjU1NCkgWzB4N2ZmZjMyOWQxZmZhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgX19wc3luY2hfY3Z3YWl0ICsgMTAgKGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgKyAxODUzOCkgWzB4N2ZmZjViNTk1ODZhXSAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICoxICA\/Pz8gKDwyREQ1MTNBMi04NTM5LTMzQzYtQkY0OS02OEI0M0MwQUJEMDE+ICsgMTkzMjQpIFsweGZmZmZmZjdmODI3ZjZiN2NdIDEKCiAgQmluYXJ5IEltYWdlczoKICAgICAgICAgICAweDEwMTczZDAwMCAtICAgICAgICAweDEwMTczZWZmZiAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IDE0NjA3ICgxNDYwNy4yLjYuMS4xKSA8RTBGNUQ1RTItQkJFNS0zOUM1LTlEMzQtQjM0MkZGOEVEODk2PiAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CiAgICAgICAgMHg3ZmZmMmY0ZjgwMDAgLSAgICAgMHg3ZmZmMmY5M2NmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiA2LjkgKDE1NzUuMTIpICAgICAgICAgICAgPDY0QzM4QkYyLTE4NjktMzNDOC1CMUI2LURDQTlDODI0QzBFND4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCiAgICAgICAgMHg3ZmZmMzE3N2EwMDAgLSAgICAgMHg3ZmZmMzFiMjdmZmYgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uIDYuOSAoMTU3NS4xMikgICAgICAgICAgICAgICAgPEFEMjU4RUQ3LTY0QUUtMzY3Qy1BRTVGLTQ4RDQ1MDg5RDlGMj4gIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0MvRm91bmRhdGlvbgogICAgICAgIDB4N2ZmZjMyN2VkMDAwIC0gICAgIDB4N2ZmZjMzNjUxZmZmICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgMTQ2MDcgKDE0NjA3LjIuNi4xLjEpICAgIDw2MzYwNDE3OC1FRjNCLTNDRDMtQUQ0Qi1GNDE4OTk2M0M1MUQ+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgICAgIDB4N2ZmZjNjMDkwMDAwIC0gICAgIDB4N2ZmZjNkYTVmZmZmICBjb20uYXBwbGUuV2ViQ29yZSAxNDYwNyAoMTQ2MDcuMi42LjEuMSkgICAgICAgICAgIDxFQjk0QzNGRi0yNDI1LTM5NTQtOTM4Ni1ENDdFREUyREYzNzM+ICAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYkNvcmUKICAgICAgICAweDdmZmY1ODY4NzAwMCAtICAgICAweDdmZmY1ODZkYWZmZiAgbGliYysrLjEuZHlsaWIgKDQwMC45LjQpICAgICAgICAgICAgICAgICAgICAgICAgICA8OUE2MEExOTAtNkMzNC0zMzlGLUJCM0QtQUFDRTk0MjAwOUE0PiAgL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgICAgICAweDdmZmY1YjQ0NzAwMCAtICAgICAweDdmZmY1YjQ3M2ZmZiAgbGliZHlsZC5keWxpYiAoNjU1LjEuMSkgICAgICAgICAgICAgICAgICAgICAgICAgICA8MDAyNDE4Q0MtQUQxMS0zRDEwLTg2NUItMDE1NTkxRDI0RTZDPiAgL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgICAgICAweDdmZmY1YjU5MTAwMCAtICAgICAweDdmZmY1YjViOWZmZiAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAoNDkwMy4yNjEuNCkgICAgICAgICAgICAgICA8N0IwRjUyQzQtNENDOS0zMjgyLTg0NTctQzE4QzZGRTFCOTlFPiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9rZXJuZWwuZHlsaWIKICAgICAgICAweDdmZmY1YjY0ZTAwMCAtICAgICAweDdmZmY1YjY1OGZmZiAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDMzMC4yNTAuMikgICAgICAgICAgICAgICA8MkQ1QzA4RkYtNDg0Ri0zRDU5LTkxMzItQ0UxRENCM0Y3NkQ3PiAgL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAgICAgMHg3ZmZmNWI2ODUwMDAgLSAgICAgMHg3ZmZmNWI2YjRmZmYgIGxpYnhwYy5keWxpYiAoMTMzNi4yNjEuMikgICAgICAgICAgICAgICAgICAgICAgICAgPDlBMEZGQTc5LTA4MkYtMzI5My1CRjQ5LTYzOTc2QjA3M0I3ND4gIC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgKjB4ZmZmZmZmN2Y4MjdmMjAwMCAtICAgICAgICAgICAgICAgID8\/PyAgPz8\/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8MkRENTEzQTItODUzOS0zM0M2LUJGNDktNjhCNDNDMEFCRDAxPgogICAqMHhmZmZmZmY4MDAwMjAwMDAwIC0gMHhmZmZmZmY4MDAwYmZmZmZmICBrZXJuZWwgKDQ5MDMuMjYxLjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw3QzhCQjYzNi1FNTkzLTNDRTQtODUyOC05QkQyNEE2ODg4NTE+ICAvU3lzdGVtL0xpYnJhcnkvS2VybmVscy9rZXJuZWwKCgpQcm9jZXNzOiAgICAgICAgIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBbMjkyNV0KQXJjaGl0ZWN0dXJlOiAgICB4ODZfNjQKVGFzayBzaXplOiAgICAgICAxMzUuNTMgTUIKTm90ZTogICAgICAgICAgICAyIGlkbGUgd29yayBxdWV1ZSB0aHJlYWRzIG9taXR0ZWQKCiAgVGhyZWFkIDB4MTcyYmYgICAgICAgICAgICAxIHNhbXBsZSAoMSkgICAgICAgICAgICAgIHByaW9yaXR5IDQgKGJhc2UgNCkKICA8dGhyZWFkIFFvUyB1c2VyIGludGVyYWN0aXZlIChyZXF1ZXN0ZWQgdXNlciBpbnRlcmFjdGl2ZSksIHByb2Nlc3Mgc3VwcHJlc3NlZCwgdGltZXJzIHRpZXIgNSAodGhyb3R0bGVkKSwgSU8gdGllciAyPgogIDEgIHN0YXJ0ICsgMSAobGliZHlsZC5keWxpYiArIDkxMDkzKSBbMHg3ZmZmNWI0NWQzZDVdIDEKICAgIDEgID8\/PyAoY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ICsgNjI0NykgWzB4MTBlNWMxODY3XSAxCiAgICAgIDEgID8\/P
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment