LyoKICogQ29weXJpZ2h0IDIwMDQgYnkgS3J6eXN6dG9mIEZvbHRtYW4KICogQ29weXJpZ2h0IDIwMDYgYnkgTWlrb2xhaiBaYWxld3NraQogKiBDb3B5cmlnaHQgMjAxMCBieSCjdWthc3ogV29qbmmzb3dpY3oKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgIndvcmRwYWQuaCIKCkxBTkdVQUdFIExBTkdfUE9MSVNILCBTVUJMQU5HX0RFRkFVTFQKCklETV9NQUlOTUVOVSBNRU5VCkJFR0lOCiAgICBQT1BVUCAiJlBsaWsiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTm93eS4uLlx0Q3RybCtOIiwgICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gIiZPdHfzcnouLi5cdEN0cmwrTyIsICAgICAgSURfRklMRV9PUEVOCiAgICAgICAgTUVOVUlURU0gIiZaYXBpc3pcdEN0cmwrUyIsICAgICAgICAgSURfRklMRV9TQVZFCiAgICAgICAgTUVOVUlURU0gIlomYXBpc3ogamFrby4uLiIsICAgICAgICAgSURfRklMRV9TQVZFQVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkRydWt1ai4uLlx0Q3RybCtQIiwgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiJlBvZGdsuWQgd3lkcnVrdS4uLiIsICAgIElEX1BSRVZJRVcKICAgICAgICBNRU5VSVRFTSAiJlVzdGF3aWVuaWEgc3Ryb255Li4uIiwgICAgICAgSURfUFJJTlRTRVRVUAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJaYSZrb/FjeiIsICAgICAgICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICImRWR5Y2phIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkNvZm5palx0Q3RybCtaIiwgICAgICAgICAgICAgICBJRF9FRElUX1VORE8KICAgICAgICBNRU5VSVRFTSAiJlBvd3TzcnpcdEN0cmwrWSIsICAgICAgICAgICAgICAgSURfRURJVF9SRURPCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIld5JnRuaWpcdEN0cmwrWCIsICAgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWpcdEN0cmwrQyIsICAgICAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIldrbCZlalx0Q3RybCtWIiwgICAgICAgICAgICAgICAgSURfRURJVF9QQVNURQogICAgICAgIE1FTlVJVEVNICImVXN18Vx0RGVsIiwgICAgICAgICAgICAgICAgICAgIElEX0VESVRfQ0xFQVIKICAgICAgICBNRU5VSVRFTSAiJlphem5hY3ogd3N6eXN0a29cdEN0cmwrQSIsICAgICAgICAgSURfRURJVF9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiWm5haiZkny4uLlx0Q3RybCtGIiwgICAgICAgICAgIElEX0ZJTkQKICAgICAgICBNRU5VSVRFTSAiWiZuYWpknyBuYXN06nBueVx0RjMiLCAgICAgICAgICAgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiWmEmbWll8S4uLlx0Q3RybCtIIiwgICAgICAgIElEX1JFUExBQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVHlsa28gZG8gJm9kY3p5dHUiLCAgICAgICAgICAgICAgICAgIElEX0VESVRfUkVBRE9OTFkKICAgICAgICBNRU5VSVRFTSAiJlptb2RpZnlrb3dhbnkiLCAgICAgICAgICAgICAgICAgICBJRF9FRElUX01PRElGSUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgUE9QVVAgIiZEb2RhdGtpIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICJaYXpuYWN6ZW5pZSAtICZpbmZvIiwgICAgICAgICAgICAgSURfRURJVF9TRUxFQ1RJT05JTkZPCiAgICAgICAgICAgIE1FTlVJVEVNICImRm9ybWF0IHpuYWvzdyIsICAgICAgICAgICBJRF9FRElUX0NIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZTdGFuZGFyZG93eSBmb3JtYXQgem5ha/N3IiwgICAgICAgICAgIElEX0VESVRfREVGQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiRm9ybWF0IGFrYSZwaXR1IiwgICAgICAgICAgIElEX0VESVRfUEFSQUZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiJlBvYmllcnogdGVrc3QiLCAgICAgICAgICAgICAgICAgICBJRF9FRElUX0dFVFRFWFQKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIldpZG8mayIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlBhc2VrICZuYXJ66mR6aSIsICAgICAgICBJRF9UT0dHTEVfVE9PTEJBUgogICAgICAgIE1FTlVJVEVNICJQYXNlayAmZm9ybWF0dSIsICAgICAgSURfVE9HR0xFX0ZPUk1BVEJBUgogICAgICAgIE1FTlVJVEVNICImTGluaWprYSIsICAgICAgICAgIElEX1RPR0dMRV9SVUxFUgogICAgICAgIE1FTlVJVEVNICJQYXNlayAmc3RhbnUiLCAgICAgIElEX1RPR0dMRV9TVEFUVVNCQVIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk9wY2plLi4uIiwgIElEX1ZJRVdQUk9QRVJUSUVTCiAgICBFTkQKICAgIFBPUFVQICImV3N0YXciCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRGF0YSBpIGdvZHppbmEuLi4iLCAgSURfREFURVRJTUUKICAgIEVORAogICAgUE9QVVAgIkZvciZtYXQiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQ3pjaW9ua2EuLi4iLCAgICAgICAgICAgICAgICAgIElEX0ZPTlRTRVRUSU5HUwogICAgICAgIE1FTlVJVEVNICImV3lwdW5rdG93YW5pZSIgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZBa2FwaXQuLi4iICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIiZUYWJ1bGF0b3J5Li4uIiAgICAgICAgICAgICAgICAgICBJRF9UQUJTVE9QUwogICAgICAgIFBPUFVQICJUsyZvIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImU3lzdGVtXHRDdHJsKzEiLCAgICAgICAgIElEX0JBQ0tfMQogICAgICAgICAgICBNRU5VSVRFTSAiJlBvc3RUaGF0ICi/87N0eSlcdEN0cmwrMiIsICAgICAgICAgICBJRF9CQUNLXzIKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIlBvbW8mYyIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIldpbmUgV29yZHBhZCAtICZpbmZvcm1hY2plIiAgICAgICBJRF9BQk9VVAogICAgRU5ECkVORAoKSURNX1BPUFVQIE1FTlUKQkVHSU4KICAgIFBPUFVQICIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJXeSZ0bmlqIiwgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIldrbCZlaiIsICAgICAgICAgICAgICAgSURfRURJVF9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImV3lwdW5rdG93YW5pZSIgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImQWthcGl0Li4uIiAgICAgIElEX1BBUkFGT1JNQVQKICAgIEVORApFTkQKCklETV9DT0xPUl9QT1BVUCBNRU5VCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiQ3phcm55IiAgICAgICBJRF9DT0xPUl9CTEFDSwogICAgICAgIE1FTlVJVEVNICJLYXN6dGFub3d5IiAgIElEX0NPTE9SX01BUk9PTgogICAgICAgIE1FTlVJVEVNICJaaWVsb255IiAgICAgIElEX0NPTE9SX0dSRUVOCiAgICAgICAgTUVOVUlURU0gIk9saXdrb3d5IiAgICAgSURfQ09MT1JfT0xJVkUKICAgICAgICBNRU5VSVRFTSAiR3JhbmF0b3d5IiAgICBJRF9DT0xPUl9OQVZZCiAgICAgICAgTUVOVUlURU0gIlB1cnB1cm93eSIgICAgSURfQ09MT1JfUFVSUExFCiAgICAgICAgTUVOVUlURU0gIlppZWxvbm9tb2RyeSIgSURfQ09MT1JfVEVBTAogICAgICAgIE1FTlVJVEVNICJTemFyeSIgICAgICAgIElEX0NPTE9SX0dSQVkKICAgICAgICBNRU5VSVRFTSAiU3JlYnJueSIgICAgICBJRF9DT0xPUl9TSUxWRVIKICAgICAgICBNRU5VSVRFTSAiQ3plcndvbnkiICAgICBJRF9DT0xPUl9SRUQKICAgICAgICBNRU5VSVRFTSAiTGltb25vd3kiICAgICBJRF9DT0xPUl9MSU1FCiAgICAgICAgTUVOVUlURU0gIq/zs3R5IiAgICAgICAgSURfQ09MT1JfWUVMTE9XCiAgICAgICAgTUVOVUlURU0gIk5pZWJpZXNraSIgICAgSURfQ09MT1JfQkxVRQogICAgICAgIE1FTlVJVEVNICJGdWtzamEiICAgICAgIElEX0NPTE9SX0ZVQ0hTSUEKICAgICAgICBNRU5VSVRFTSAiQWt3YW1hcnluYSIgICBJRF9DT0xPUl9BUVVBCiAgICAgICAgTUVOVUlURU0gIkJpYbN5IiAgICAgICAgSURfQ09MT1JfV0hJVEUKICAgICAgICBNRU5VSVRFTSAiQXV0b21hdHljem5pZSIgICAgSURfQ09MT1JfQVVUT01BVElDCiAgICBFTkQKRU5ECgpJRERfREFURVRJTUUgRElBTE9HIDMwLCAyMCwgMTMwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRGF0YSBpIGdvZHppbmEiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJEb3N06nBuZSBmb3JtYXR5IiwtMSwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTk9USUZZCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw4NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW51bHVqIixJRENBTkNFTCw4NywyNiw0MCwxMgpFTkQKCklERF9ORVdGSUxFIERJQUxPRyAzMCwgMjAsIDE0MCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk5vd3kiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJUeXAgbm93ZWdvIGRva3VtZW50dSIsLTEsMywyLDEwMCwxNQogICAgTElTVEJPWCAgICAgIElEQ19ORVdGSUxFLDMsMTIsOTAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDk3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZBbnVsdWoiLElEQ0FOQ0VMLDk3LDI2LDQwLDEyCkVORAoKSUREX1BBUkFGT1JNQVQgRElBTE9HIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIkZvcm1hdCBha2FwaXR1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiV2Np6mNpYSIsIC0xLCAxMCwgMTAsIDEyMCwgNjgKICAgIExURVhUICJaIGxld2VqIiwgLTEsIDE1LCAyMiwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9MRUZULCA1NSwgMjAsIDYwLCAxMwogICAgTFRFWFQgIlogcHJhd2VqIiwgLTEsIDE1LCA0MCwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9SSUdIVCwgNTUsIDM4LCA2MCwgMTMKICAgIExURVhUICJQaWVyd3N6eSB3aWVyc3oiLCAtMSwgMTUsIDU1LCA0MCwgMTkKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIld5cvN3bmFuaWUiLCAtMSwgMTUsIDg3LCA0MCwgMTMKICAgIENPTUJPQk9YIElEQ19QQVJBX0FMSUdOLCA1NSwgODUsIDYwLCA2MCwgQ0JTX0RST1BET1dOTElTVAogICAgUFVTSEJVVFRPTiAiJk9LIiwgSURPSywgMTM3LCAxNSwgNTAsIDE1CiAgICBQVVNIQlVUVE9OICImQW51bHVqIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQpFTkQKCklERF9UQUJTVE9QUyBESUFMT0cgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiVGFidWxhdG9yeSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIlBvenljamUgdGFidWxhdG9y83ciLCAtMSwgMTAsIDEwLCAxMjAsIDkwCiAgICBDT01CT0JPWCBJRENfVEFCU1RPUFMsIDIwLCAyMCwgMTAwLCA2MCwgQ0JTX1NJTVBMRQogICAgREVGUFVTSEJVVFRPTiAiJkRvZGFqIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZVc3XxIiwgSURfVEFCX0RFTCwgNzIsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZPSyIsIElET0ssIDEzNywgMTUsIDU3LCAxNQogICAgUFVTSEJVVFRPTiAiJkFudWx1aiIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1NywgMTUKICAgIFBVU0hCVVRUT04gIlVzdfEgJndzenlzdGtpZSIsIElEX1RBQl9FTVBUWSwgMTM3LCA1MSwgNTcsIDE1CkVORAoKSUREX0ZPUk1BVE9QVFMgRElBTE9HIDAsIDAsIDI4MCwgMTEwClNUWUxFIERTX1NZU01PREFMCkNhcHRpb24gIiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIlphd2lqYW5pZSB3aWVyc3p5IiwgLTEsIDEwLCAxMCwgMTMwLCA4NQogICAgUkFESU9CVVRUT04gIkJleiB6YXdpamFuaWEgd2llcnN6eSIsIElEQ19QQUdFRk1UX1dOLCAxOCwgMjUsIDExNywgMTUKICAgIFJBRElPQlVUVE9OICJaYXdpamFqIGRvICZicnplZ3Ugb2tuYSIsIElEQ19QQUdFRk1UX1dXLCAxOCwgNDUsIDExNywgMTUKICAgIFJBRElPQlVUVE9OICJaYXdpamFqIGRvICZtYXJnaW5lc3UiLCBJRENfUEFHRUZNVF9XTSwgMTgsIDY1LCAxMTcsIDE1CiAgICBHUk9VUEJPWCAiUGFza2kgbmFyeupkemkiLCAtMSwgMTUwLCAxMCwgMTIwLCA4NQogICAgQ0hFQ0tCT1ggIlBhc2VrICZuYXJ66mR6aSIsIElEQ19QQUdFRk1UX1RCLCAxNjAsIDIwLCA4MCwgMTUKICAgIENIRUNLQk9YICJQYXNlayAmZm9ybWF0dSIsIElEQ19QQUdFRk1UX0ZCLCAxNjAsIDM4LCA4MCwgMTUKICAgIENIRUNLQk9YICImTGluaWprYSIsIElEQ19QQUdFRk1UX1JVLCAxNjAsIDU2LCA4MCwgMTUKICAgIENIRUNLQk9YICJQYXNlayAmc3RhbnUiLCBJRENfUEFHRUZNVF9TQiwgMTYwLCA3NCwgODAsIDE1CiAgICBMVEVYVCAiIiwgSURDX1BBR0VGTVRfSUQsIDAsMCwwLDAKRU5ECgpTVFJJTkdUQUJMRQpCRUdJTgogICAgU1RSSU5HX1JJQ0hURVhUX0ZJTEVTX1JURiwgICAgICJUZWtzdCBzZm9ybWF0b3dhbnkgLSBSVEYgKCoucnRmKSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1RYVCwgICAgICAgICAiRG9rdW1lbnQgdGVrc3Rvd3kgKCoudHh0KSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1VOSUNPREVfVFhULCAiRG9rdW1lbnQgdGVrc3Rvd3kgVW5pY29kZSAoKi50eHQpIgogICAgU1RSSU5HX0FMTF9GSUxFUywgICAgICAgICAgICAgICJXc3p5c3RraWUgZG9rdW1lbnR5ICgqLiopIgpFTkQKClNUUklOR1RBQkxFCkJFR0lOCiAgICBTVFJJTkdfQUxJR05fTEVGVCwgICAgICAgICAgICAiRG8gbGV3ZWoiCiAgICBTVFJJTkdfQUxJR05fUklHSFQsICAgICAgICAgICAiRG8gcHJhd2VqIgogICAgU1RSSU5HX0FMSUdOX0NFTlRFUiwgICAgICAgICAgIld5nHJvZGtvd2FuZSIKRU5ECgpTVFJJTkdUQUJMRQpCRUdJTgogICAgU1RSSU5HX05FV0ZJTEVfUklDSFRFWFQsICAgICAiRG9rdW1lbnQgc2Zvcm1hdG93YW55IChSVEYpIgogICAgU1RSSU5HX05FV0ZJTEVfVFhULCAgICAgICAgICAiRG9rdW1lbnQgdGVrc3Rvd3kiCiAgICBTVFJJTkdfTkVXRklMRV9UWFRfVU5JQ09ERSwgICJEb2t1bWVudCB0ZWtzdG93eSBVbmljb2RlIgpFTkQKClNUUklOR1RBQkxFCkJFR0lOCiAgICBTVFJJTkdfUFJJTlRFUl9GSUxFU19QUk4sICAgICAgICAiUGxpa2kgZHJ1a2Fya2kgKCouUFJOKSIKRU5ECgpTVFJJTkdUQUJMRQpCRUdJTgogICAgU1RSSU5HX1ZJRVdQUk9QU19USVRMRSwgICAgICAgICAgIk9wY2plIgogICAgU1RSSU5HX1ZJRVdQUk9QU19URVhULCAgICAgICAgICAgIlRla3N0IgogICAgU1RSSU5HX1ZJRVdQUk9QU19SSUNIVEVYVCwgICAgICAgIlRla3N0IHNmb3JtYXRvd2FueSIKRU5ECgpTVFJJTkdUQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSRVZJRVdfUFJJTlQsICAgICAgICAgICAgIkRydWt1aiIKICAgIFNUUklOR19QUkVWSUVXX05FWFRQQUdFLCAgICAgICAgICJOYXN0LiBzdHJvbmEiCiAgICBTVFJJTkdfUFJFVklFV19QUkVWUEFHRSwgICAgICAgICAiUG9wcnouIHN0cm9uYSIKICAgIFNUUklOR19QUkVWSUVXX1RXT1BBR0VTLCAgICAgICAgICJEd2llIHN0cm9ueSIKICAgIFNUUklOR19QUkVWSUVXX09ORVBBR0UsICAgICAgICAgICJKZWRuYSBzdHJvbmEiCiAgICBTVFJJTkdfUFJFVklFV19aT09NSU4sICAgICAgICAgICAiWmJsab8iCiAgICBTVFJJTkdfUFJFVklFV19aT09NT1VULCAgICAgICAgICAiT2RkYWwiCiAgICBTVFJJTkdfUFJFVklFV19DTE9TRSwgICAgICAgICAgICAiWmFta25paiIKICAgIFNUUklOR19QUkVWSUVXX1BBR0UsICAgICAgICAgICAgICJTdHJvbmEiCiAgICBTVFJJTkdfUFJFVklFV19QQUdFUywgICAgICAgICAgICAiU3Ryb255IgogICAgU1RSSU5HX1VOSVRTX0NNLCAgICAgICAgICAgICAgICAgImNtIgogICAgU1RSSU5HX1VOSVRTX0lOLCAgICAgICAgICAgICAgICAgImNhbCIKICAgIFNUUklOR19VTklUU19JTkNILCAgICAgICAgICAgICAgICJjYWwiCiAgICBTVFJJTkdfVU5JVFNfUFQsICAgICAgICAgICAgICAgICAicHVua3QiCkVORAoKU1RSSU5HVEFCTEUKQkVHSU4KICAgIFNUUklOR19ERUZBVUxUX0ZJTEVOQU1FLCAgICAgIkRva3VtZW50IgogICAgU1RSSU5HX1BST01QVF9TQVZFX0NIQU5HRVMsICAiWmFwaXNh5iB6bWlhbnkgdyBwbGlrdSAnJXMnPyIKICAgIFNUUklOR19TRUFSQ0hfRklOSVNIRUQsICAgICAgIlpha2/xY3pvbm8gcHJ6ZXN6dWtpd2FuaWUgZG9rdW1lbnR1LiIKICAgIFNUUklOR19MT0FEX1JJQ0hFRF9GQUlMRUQsICAgIk5pZSB1ZGGzbyBzaeogemGzYWRvd2HmIGJpYmxpb3Rla2kgc3lzdGVtb3dlaiBSaWNoRWRpdC4iCiAgICBTVFJJTkdfU0FWRV9MT1NFRk9STUFUVElORywgICJXeWJyYW5vIHphcGlzYW5pZSBkb2t1bWVudHUgamFrbyB6d3lrs3kgdGVrc3QsICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidyB3eW5pa3UgY3plZ28gZm9ybWF0b3dhbmllIHpvc3RhbmllIHV0cmFjb25lLiAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkN6eSBuYSBwZXdubyBjaGNlc3ogdG8genJvYmnmPyIKICAgIFNUUklOR19JTlZBTElEX05VTUJFUiwgICAgICAgIlqzeSBmb3JtYXQgbGljemJ5IgogICAgU1RSSU5HX09MRV9TVE9SQUdFX05PVF9TVVBQT1JURUQsICJEb2t1bWVudHkgdHlwdSBPTEUgc3RvcmFnZSBuaWUgc7kgb2Jzs3VnaXdhbmUiCiAgICBTVFJJTkdfV1JJVEVfRkFJTEVELCAgICAgICAgICAgICAgIk5pZSBtb79uYSBiebNvIHphcGlzYeYgcGxpa3UuIgogICAgU1RSSU5HX1dSSVRFX0FDQ0VTU19ERU5JRUQsICAgICAgICJOaWUgbWFzeiBkb3N06nB1IGRvIHphcGlzdSBwbGlrdS4iCiAgICBTVFJJTkdfT1BFTl9GQUlMRUQsICAgICAgICAgICAgICAgIk5pZSBtb79uYSBiebNvIG90d29yennmIHBsaWt1LiIKICAgIFNUUklOR19PUEVOX0FDQ0VTU19ERU5JRUQsICAgICAgICAiTmllIG1hc3ogZG9zdOpwdSBkbyBvdHdhcmNpYSBwbGlrdS4iCiAgICBTVFJJTkdfUFJJTlRJTkdfTk9UX0lNUExFTUVOVEVELCAgIkRydWtvd2FuaWUgbmllemFpbXBsZW1lbnRvd2FuZSIKICAgIFNUUklOR19NQVhfVEFCX1NUT1BTLCAgICAgICAgICAgICAiTmllIG1vv25hIGRvZGHmIHdp6mNlaiBuab8gMzIgcHVua3R5IHRhYnVsYWNqaS4iCkVORAo=