LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogVHVya2lzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEZhdGloIEH+/WP9CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfVFVSS0lTSCwgU1VCTEFOR19ERUZBVUxUCgpJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiWWFw/WxhbmT9ciIsIElEQ19BVURJT19DT05GSUdVUkUKICAgIEVORApFTkQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI3MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9TVFJJTkcsSURDX1NUQVRJQywxMTksMTcsMTIwLDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCAsMTUsMTcsMTU3LDExMQogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCiAgICBHUk9VUEJPWCAgICAgICAgIiBXaW5kb3dzIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiAiLCBJRENfU1RBVElDLCAxNSwgMTEwLCAyMzAsIDU1CiAgICBMVEVYVCAgICAgICAgICAgIk93bmVyOiIsIElEQ19TVEFUSUMsIDIyLCAxMjYsIDQwLCAyMAogICAgTFRFWFQgICAgICAgICAgICJPcmdhbml6YXRpb246IiwgSURDX1NUQVRJQywgMjIsIDE0MCwgNTAsIDIwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0FCVF9PV05FUiwgNzUsIDEyNiwgMTYwLCAxMywgRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBFRElUVEVYVCAgICAgICAgSURDX0FCVF9PUkcsIDc1LCAxNDAsIDE2MCwgMTMsIEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKCklERF9BUFBDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFV5Z3VsYW1hIEF5YXJsYXL9ICIsSURDX1NUQVRJQywgOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiV2luZSBoZXIgdXlndWxhbWEgaedpbiBkZfBp/mlrIFdpbmRvd3Mgc/xy/G1sZXJpbmkgdGFrbGl0IGVkZWJpbGlyLiBCdSBzZWttZSBLaXRhcGz9a2xhciB2ZSBHcmFmaWsgc2VrbWVsZXJpIGlsZSBiYfBsYW50/Wz9IG9sdXAgYnUgc2VrbWVsZXJkZSBkZSBzaXN0ZW0g52Fw/W5kYWtpIHZleWEgdXlndWxhbWF5YSD2emVsIGF5YXJsYXL9IHlhcG1hbv16YSBpemluIHZlcmlyLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsMzAKICAgIENPTlRST0wgICAgICAgICAiVXlndWxhbWFsYXIiLElEQ19BUFBfTElTVFZJRVcsIlN5c0xpc3RWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBMVlNfTElTVCB8IExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUywKICAgICAgICAgICAgICAgICAgICAxNSw1MCwyMzAsMTUwCiAgICBQVVNIQlVUVE9OCSAgICAiVXlndWxhbWEgJkVrbGUuLi4iLElEQ19BUFBfQUREQVBQLCA5MCwyMDQsNzUsMTQKICAgIFBVU0hCVVRUT04JICAgICJVeWd1bGFtYSAmS2FsZP1yIixJRENfQVBQX1JFTU9WRUFQUCwgMTcwLDIwNCw3NSwxNAogICAgTFRFWFQgICAgICAgICAgICImV2luZG93cyBT/HL8bfw6IixJRENfU1RBVElDLDE3LDIyNiw1OCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiw4MywyMjQsMTYzLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCAgICAKRU5ECgpJRERfR1JBUEhDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICIgUGVuY2VyZSBheWFybGFy/SAiLElEQ19TVEFUSUMsOCw0LDI0NCw4NAogICAgQ09OVFJPTCAgICAgIkRpcmVjdFggdXlndWxhbWFsYXL9bv1uIGZhcmV5aSBwZW5jZXJlIGnnaW5lIGtpbGl0bGVtZWxlcmluZSBpemluIHZlciIsSURDX0RYX01PVVNFX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyMCwyMzAsOAogICAgQ09OVFJPTCAgICAgIkFsbG93IHRoZSB3aW5kb3cgbWFuYWdlciB0byAmZGVjb3JhdGUgdGhlIHdpbmRvd3MiLElEQ19FTkFCTEVfREVDT1JBVEVELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzIsMjMwLDgKICAgIENPTlRST0wgICAgICJQZW5jZXJlIHn2bmV0aWNpc2luaW4gcGVuY2VyZWxlcmkgefZuZXRtZXNpbmUgaXppbiB2ZXIiLElEQ19FTkFCTEVfTUFOQUdFRCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDQ0LDIzMCw4CiAgICBDT05UUk9MICAgICAiU2FuYWwgbWFzYfxzdPwga3VsbGFuIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDU2LDIzMCw4CiAgICBMVEVYVCAgICAgICAiTWFzYfxzdPwgYvx5/Gts/PD8OiIsSURDX0RFU0tUT1BfU0laRSwxNSw3MCw0NCw4LFdTX0RJU0FCTEVECiAgICBMVEVYVCAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTA5LDcwLDgsOCxXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgSURDX0RFU0tUT1BfV0lEVEgsNjQsNjgsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgSURDX0RFU0tUT1BfSEVJR0hULDExNyw2OCw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECgogICAgR1JPVVBCT1ggICAgIiBEaXJlY3QzRCAiLElEQ19TVEFUSUMsOCw5NSwyNDQsNDkKICAgIExURVhUICAgICAgICJWZXJ0ZXggU2hhZGVyIERlc3Rl8Gk6ICIsSURDX1NUQVRJQywxNSwxMTAsODAsMzIKICAgIENPTUJPQk9YICAgIElEQ19EM0RfVlNIQURFUl9NT0RFLDEwMCwxMDgsMTQ1LDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgIlBpeGVsIFNoYWRlcidhIGl6aW4gdmVyIChkb25hbv1tIGRlc3Rla2xpeW9yc2EpIixJRENfRDNEX1BTSEFERVJfTU9ERSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDEyNiwyMzAsMTAKCiAgICBHUk9VUEJPWCAgICAiIFNjcmVlbiAmUmVzb2x1dGlvbiAiLElEQ19TVEFUSUMsOCwxNTEsMjQ0LDkzCiAgICBDT05UUk9MICAgICAiIiwgSURDX1JFU19UUkFDS0JBUiwgIm1zY3Rsc190cmFja2JhcjMyIixXU19UQUJTVE9QLDEyLDE2MSwxODcsMTUKICAgIEVESVRURVhUICAgIElEQ19SRVNfRFBJRURJVCwyMDQsMTYxLDIzLDEzLEVTX05VTUJFUnxXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAiZHBpIixJRENfU1RBVElDLDIzNSwxNjMsMTAsOAogICAgTFRFWFQgICAgICAgIlRoaXMgaXMgYSBzYW1wbGUgdGV4dCB1c2luZyAxMCBwb2ludCBUYWhvbWEiLElEQ19SRVNfRk9OVF9QUkVWSUVXLDE1LDE4MSwyMzAsNTUKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBETEwg1m5jZWxpa2xlcmkgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIkRldmluZ2VuIEJh8Gz9IEtpdGFwbP1rbGFy/W4gaGVyIGJpcmkgeWVybGX+aWsgKFdpbmUgaWxlIGdlbGVuKSB2ZXlhIGRv8GFsIChXaW5kb3dzJ3RhbiBhbP1ubf3+IHZleWEgdXlndWxhbWEgdGFyYWb9bmRhbiBzYfBsYW5t/f4pIG9sYXJhayBiZWxpcnRpbGViaWxpci4iCiAgICAgICAgICAgICAgICAgICAgLElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIktpdGFwbP1rIGnnaW4geWVuaSD2bmNlbGlrOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAiJkVrbGUiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04gCiAgICBMVEVYVCAgICAgICAgICAgIlZhciBvbGFuIPZuY2VsaWtsZXI6IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIiZE/HplbmxlIixJRENfRExMU19FRElURExMLDE2NCw5Niw4MiwxNAogICAgUFVTSEJVVFRPTiAgICAgICImU2lsIixJRENfRExMU19SRU1PVkVETEwsMTY0LDExNCw4MiwxNCAKRU5ECgpJRERfTE9BRE9SREVSIERJQUxPRyBESVNDQVJEQUJMRSA4MCwgOTAsIDEyNSwgOTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItZuY2VsaWsgRPx6ZW5sZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgWfxrbGVtZSBT/XJhc/0gIixJRENfU1RBVElDLDgsNCwxMTAsNjYKICAgIENPTlRST0wgICAgICAgICAiJlllcmxl/mlrIChXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNiwxNCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiJkRv8GFsIChXaW5kb3dzKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyNCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAi1m5jZSBZZXImbGX+aWsgc29ucmEgRG/wYWwiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAi1m5jZSBEJm/wYWwgc29ucmEgWWVybGX+aWsiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCwxMDAsMTAKICAgIENPTlRST0wgICAgICAgICAiJkV0a2lzaXpsZf50aXIiLElEQ19SQURfRElTQUJMRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDU0LDEwMCwxMAogICAgREVGUFVTSEJVVFRPTiAgICJUYW1hbSIsSURPSyw4LDc0LDUzLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIt1wdGFsIixJRENBTkNFTCw2NCw3NCw1MywxNCxXU19HUk9VUApFTkQKCklERF9EUklWRUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgU/xy/GP8IEX+bGX+dGlybWVzaSAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiRmFpbGVkIHRvIGNvbm5lY3QgdG8gdGhlIG1vdW50IG1hbmFnZXIsIHRoZSBkcml2ZSBjb25maWd1cmF0aW9uIGNhbm5vdCBiZSBlZGl0ZWQuIiwgSURDX1NUQVRJQ19NT1VOVE1HUl9FUlJPUiwgMTUsMzAsMjIwLDc2CiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIiZFa2xlLi4uIixJRENfQlVUVE9OX0FERCwxNSw5OCwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICImS2FsZP1yIixJRENfQlVUVE9OX1JFTU9WRSw1Niw5OCwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICJPdG9tYXRpayAmQWxn/WxhLi4uIixJRENfQlVUVE9OX0FVVE9ERVRFQ1QsMTg2LDk4LDYwLDE0CgogICAgLyogZWRpdGluZyBkcml2ZSBkZXRhaWxzICovCiAgICBMVEVYVCAgICAgICAgICAgIiZZb2w6IixJRENfU1RBVElDX1BBVEgsMTUsMTIzLDIwLDkKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZH9nphdC4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwyMDYsMTIwLDQwLDEzCiAgICAKICAgIExURVhUICAgICAgICAgICAiJlT8cjoiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMjEsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw0MSwxMzUsNzcsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAKICAgIExURVhUICAgICAgICAgICAiRXRpa2V0IHZlIHNlcmkgbm8iLElEQ19MQUJFTFNFUklBTF9TVEFUSUMsMTUsMTU1LDk1LDEwCiAgICAKICAgIFBVU0hCVVRUT04gICAgICAiR2Vsaf5taf4gJlNl52VuZWtsZXIiLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE4NiwxMzYsNjAsMTMKICAgIENPTlRST0wgICAgICAgICAiQXln/XR0YW4gT3RvbWF0aWsgQSZsZ/1sYToiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxNjYsOTMsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMjcsMTc2LDE3NCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJH9iZ6YXQuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwyMDYsMTc2LDQwLDEzCiAgICBDT05UUk9MICAgICAgICAgIiZFbGxlIEF0YToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE5NSw2OSwxMAoKICAgIExURVhUICAgICAgICAgICAiJkV0aWtldDoiLElEQ19TVEFUSUNfTEFCRUwsMzMsMjA4LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMjA1LDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJTJmVyaSBObzoiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDIyNSwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw2MywyMjEsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJOb2t0YXlsYSBiYf5sYXlhbiBkb3N5YWxhcv0gZ/ZzdGVyIixJRENfU0hPV19ET1RfRklMRVMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw4LDI2MCwyMzAsOApFTkQKCklERF9BVURJT0NGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgU/xy/GP8IFNl52ltaSAiLElEQ19TVEFUSUMsOCw0LDI0NCwxOTUKICAgIExURVhUICAgICAgICAgICAi3XN0ZWRp8GluaXogc/xy/GP8bvxuIGt1dHVzdW51IGn+YXJldGxleWVyZWsgYmlyIHNlcyBz/HL8Y/xz/CBzZedpbi4gSGnnYmlyIHP8cvxj/CBzZedtZXllcmVrIHNlc2kgZXRraXNpemxl/nRpcmViaWxpcnNpbml6LiBCaXJkZW4gZmF6bGEgc/xy/GP8IHNl52ltaSD2bmVyaWxtZXouINx6ZXJpbmUgc2HwIHT9a2xheWFyYWsgYmlyIHP8cvxj/Hn8IHlhcP1sYW5k/XL9bi4iLElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIkF5Z/10bGFyIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw1MCwxNDAsMTQwIAogICAgUFVTSEJVVFRPTiAgICAgICImVGVzdCBTb3VuZCIsSURDX0FVRElPX1RFU1QsMTcwLDUwLDU5LDE0CiAgICBQVVNIQlVUVE9OCSAgICAiRGVuZXRpbSBNYXNhc/0iLElEQ19BVURJT19DT05UUk9MX1BBTkVMLDE3MCw3MCw1OSwxNAogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0U291bmQgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQgICAgICAgICAgICJEb25hbv1tIEj9emxhbmT9cm1hc/06ICIsSURDX1NUQVRJQywxNSwyMTUsOTAsMTAKICAgIENPTUJPQk9YCSAgICBJRENfRFNPVU5EX0hXX0FDQ0VMLDEwMCwyMTMsMTUwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLWbnRhbv1tbP0g1nJuZWtsZW1lIEj9ev06IixJRENfU1RBVElDLDE1LDIzMiw3MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9SQVRFUyw5MCwyMzAsNDIsNzYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItZybmVrIEJh/v1uYSBCaXQgU2F5/XP9OiIsSURDX1NUQVRJQywxMzcsMjMyLDgwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRFNPVU5EX0JJVFMsMjIwLDIzMCwzMCw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTlRST0wgICAgICAgICAiU/xy/GP8IFRha2xpZGkiLElEQ19EU09VTkRfRFJWX0VNVUwsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyNTAsMjMwLDEwCkVORAoKSUREX0RFU0tUT1BfSU5URUdSQVRJT04gRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIEf2cvxu/G0gIixJRENfU1RBVElDLDgsNCwyNDQsMTA2CiAgICBMVEVYVCAgICAgICAgICAgIlRlbWE6IixJRENfU1RBVElDLDE1LDE2LDEzMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sMTUsMjQsMTMwLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJUZW1hIGt1ci4uLiIsSURDX1RIRU1FX0lOU1RBTEwsMTUyLDIzLDkzLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlJlbms6IixJRENfVEhFTUVfQ09MT1JURVhULDE1LDQwLDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX0NPTE9SQ09NQk8sMTUsNDgsMTEyLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJCb3l1dDoiLElEQ19USEVNRV9TSVpFVEVYVCwxMzUsNDAsMTEwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDEzNSw0OCwxMTAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkl0ZW06IixJRENfU1RBVElDLDE1LDY0LDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1NZU1BBUkFNX0NPTUJPLDE1LDc0LDExMiwxMjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQKICAgIExURVhUICAgICAgICAgICAiQ29sb3I6IixJRENfU1lTUEFSQU1fQ09MT1JfVEVYVCwxMzUsNjQsMjUsOCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICIiLElEQ19TWVNQQVJBTV9DT0xPUiwxMzUsNzQsMjUsMTMsV1NfRElTQUJMRUQgfCBCU19PV05FUkRSQVcKICAgIExURVhUICAgICAgICAgICAiU2l6ZToiLElEQ19TWVNQQVJBTV9TSVpFX1RFWFQsMTY2LDY0LDMwLDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTUEFSQU1fU0laRSwxNjYsNzQsMjMsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QIHwgV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiIixJRENfU1lTUEFSQU1fU0laRV9VRCxVUERPV05fQ0xBU1MsVURTX1NFVEJVRERZSU5UIHwgV1NfRElTQUJMRUQsMTg3LDc0LDE1LDEzCiAgICBQVVNIQlVUVE9OICAgICAgIkZvbnQiLElEQ19TWVNQQVJBTV9GT05ULDIwOCw3NCwzNywxMyxXU19ESVNBQkxFRAogICAgR1JPVVBCT1ggICAgICAgICIg1nplbCBLbGFz9nJsZXIgIixJRENfU1RBVElDLDgsMTE0LDI0NCwxMDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX1NGUEFUSFMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDEyNiwyMzAsNjQKICAgIENPTlRST0wgICAgICAgICAiSGVkZWYgZGl6aW46IixJRENfTElOS19TRlBBVEgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQsMTUsMTk1LDUwLDEzCiAgICBFRElUVEVYVCAgICAgICAgIElEQ19FRElUX1NGUEFUSCw2NSwxOTUsMTQ1LDEzLEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiR/Z6YXQiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIlV5Z3VsYW1hbGFyIgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIktpdGFwbP1rbGFyIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIlP8cvxj/GxlciIKICAgIElEU19DSE9PU0VfUEFUSCAgICAgICAgICJM/HRmZW4gaGFyaXRhbGFuYWNhayB1bml4IGRpemluaW5pIHNl52luLiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICJUZW1lbCBBeWFybGFyIgogICAgSURTX1NIT1dfQURWQU5DRUQgICAgICAgIkdlbGn+bWn+IEF5YXJsYXIiCiAgICBJRFNfTk9USEVNRSAgICAgICAgICAgICAiKFRlbWEgWW9rKSIKICAgIElEU19UQUJfR1JBUEhJQ1MgICAgICAgICJHcmFmaWsiCiAgICBJRFNfVEFCX0RFU0tUT1BfSU5URUdSQVRJT04gIk1hc2H8c3T8IEVudGVncmFzeW9udSIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICJTZXMiCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiSGFra/1uZGEiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiV2luZSB5YXD9bGFuZP1ybWFz/SIKICAgIElEU19XSU5FQ0ZHX1RJVExFX0FQUCAgICIlcyBp52luIFdpbmUgeWFw/WxhbmT9cm1hc/0iCiAgICBJRFNfVEhFTUVGSUxFICAgICAgICAgICAiVGVtYSBkb3N5YWxhcv0iCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAiVGVtYSBkb3N5YXP9IHNl52luIgogICAgSURTX0FVRElPX01JU1NJTkcgICAgICAgIlNpc3RlbSBrYXlk/W5kYSBiZWxpcmxlbm1p/iBiaXIgc2VzIHP8cvxj/HP8IHlvay5cblxu1m5lcmlsZW4gYmlyIHP8cvxj/CBzaXppbiBp52luIHNl52lsZGkuXG5CdSBz/HL8Y/x5/CBrdWxsYW5hYmlsaXIgdmV5YSB2YXJzYSBiYf5rYSBiaXIgc/xy/GP8efwgc2XnZWJpbGlyc2luaXouXG5cblNl52ltaW4gZXRraWxpIG9sYWJpbG1lc2kgaedpbiBVeWd1bGEnef0gdP1rbGFtYWz9c/1u/XouIgogICAgSURTX1NIRUxMX0ZPTERFUiAgICAgICAgIktsYXP2ciIKICAgIElEU19MSU5LU19UTyAgICAgICAgICAgICJIZWRlZiBEaXppbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RMTF9XQVJOSU5HICAgICAgICAgIkJ1IGtpdGFwbP3w/W4gefxrbGVtZSBz/XJhc/1u/W4gZGXwaf50aXJpbG1lc2kg9m5lcmlsbWV6LlxuQnVudSB5YXBtYWsgaXN0ZWRp8GluaXpkZW4gZW1pbiBtaXNpbml6PyIKICAgIElEU19ETExfV0FSTklOR19DQVBUSU9OICJVeWFy/Togc2lzdGVtIGtpdGFwbP3w/SIKICAgIElEU19ETExfTkFUSVZFICAgICAgICAgICJkb/BhbCIKICAgIElEU19ETExfQlVJTFRJTiAgICAgICAgICJ5ZXJsZf5payIKICAgIElEU19ETExfTkFUSVZFX0JVSUxUSU4gICJkb/BhbCwgeWVybGX+aWsiCiAgICBJRFNfRExMX0JVSUxUSU5fTkFUSVZFICAieWVybGX+aWssIGRv8GFsIgogICAgSURTX0RMTF9ESVNBQkxFRCAgICAgICAgImRldnJlIGT9/v0iCiAgICBJRFNfREVGQVVMVF9TRVRUSU5HUyAgICAi1m50YW79bWz9IEF5YXJsYXIiCiAgICBJRFNfRVhFQ1VUQUJMRV9GSUxURVIgICAiV2luZSBQcm9ncmFtbGFy/SAoKi5leGUsKi5leGUuc28pXDAqLmV4ZTsqLmV4ZS5zb1wwIgogICAgSURTX1VTRV9HTE9CQUxfU0VUVElOR1MgIkdlbmVsIGF5YXJsYXL9IGt1bGxhbiIKICAgIElEU19TRUxFQ1RfRVhFQ1VUQUJMRSAgICLHYWz9/nT9cv1sYWJpbGlyIGJpciBkb3N5YSBzZedpbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1NIQURFUl9NT0RFX0hBUkRXQVJFICAgICJEb25hbv1tIgogICAgSURTX1NIQURFUl9NT0RFX05PTkUgICAgICAgICJIaediaXJpIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfRFJJVkVfVU5LTk9XTiAgICAgICAgICAgIk90b21hdGlrIEFsZ/1sYSIKICAgIElEU19EUklWRV9GSVhFRCAgICAgICAgICAgICAiWWVyZWwgc2FiaXQgZGlzayIKICAgIElEU19EUklWRV9SRU1PVEUgICAgICAgICAgICAiQfAgcGF5bGH+/W39IgogICAgSURTX0RSSVZFX1JFTU9WQUJMRSAgICAgICAgICJEaXNrZXQgc/xy/GP8IgogICAgSURTX0RSSVZFX0NEUk9NICAgICAgICAgICAgICJDRC1ST00iCiAgICBJRFNfRFJJVkVfTEVUVEVSU19FWENFRURFRCAgIkRhaGEgZmF6bGEgc/xy/GP8IGVrbGV5ZW1lenNpbml6LlxuXG5IZXIgc/xy/GP8bvxuIEEtWiBhcmFs/fD9bmRhIGJpciBoYXJmaSBvbG1hbP1k/XIuIERvbGF5/XP9eWxhIDI2J2RhbiBmYXpsYSB0YW79bWxheWFtYXpz/W79ei4iCiAgICBJRFNfU1lTVEVNX0RSSVZFX0xBQkVMICAgICAgIlNpc3RlbSBz/HL8Y/xz/CIKICAgIElEU19DT05GSVJNX0RFTEVURV9DICAgICAgICAiQyBz/HL8Y/xz/G78IHNpbG1layBpc3RlZGnwaW5pemRlbiBlbWluIG1pc2luaXo/XG5cbsdv8HUgV2luZG93cyB1eWd1bGFtYXP9IEMgc/xy/GP8c/xu/G4gdmFyIG9sbWFz/W79IGJla2xlciB2ZSB5b2tzYSBpc3Rlbm1leWVuIGJpciD+ZWtpbGRlIHNvbmxhbv1yLiBF8GVyIGRldmFtIGVkZXJzZW5peiwgZGFoYSBzb25yYSB5ZW5pZGVuIG9sdf50dXJtYXn9IHVudXRtYXn9biEiCiAgICBJRFNfQ09MX0RSSVZFTEVUVEVSICAgICAgICAgIkhhcmYiCiAgICBJRFNfQ09MX0RSSVZFTUFQUElORyAgICAgICAgIlP8cvxj/CBF/mxlbWUiCiAgICBJRFNfTk9fRFJJVkVfQyAgICAgICAgICAgICAgIkMgc/xy/GP8bvx6IHlvay4gQnUgYmVrbGVuZW4gYmlyIGR1cnVtIGRl8GlsLlxuXG5CaXIgdGFuZSBvbHX+dHVybWFrIGnnaW4gU/xy/GP8bGVyIHNla21lc2luZGVuIEVrbGUneWkgdP1rbGFtYXn9IHVudXRtYXn9biFcbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0FDQ0VMX0ZVTEwgICAgICAgICAgICAgICJUYW0iCiAgICBJRFNfQUNDRUxfU1RBTkRBUkQgICAgICAgICAgIlN0YW5kYXJ0IgogICAgSURTX0FDQ0VMX0JBU0lDICAgICAgICAgICAgICJUZW1lbCIKICAgIElEU19BQ0NFTF9FTVVMQVRJT04gICAgICAgICAiVGFrbGl0IgogICAgSURTX0RSSVZFUl9BTFNBICAgICAgICAgICAgICJBTFNBIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9FU09VTkQgICAgICAgICAgICJFc291bkQgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX09TUyAgICAgICAgICAgICAgIk9TUyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiSkFDSyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfTkFTICAgICAgICAgICAgICAiTkFTIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9BVURJT0lPICAgICAgICAgICJBdWRpbyBJTyAoU29sYXJpcykgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIkNvcmVBdWRpbyBT/HL8Y/xz/CIKICAgIElEU19PUEVOX0RSSVZFUl9FUlJPUiAgICAgICAiJXMgYef9bGFtYWT9ISIKICAgIElEU19TT1VORERSSVZFUlMgICAgICAgICAgICAiU2VzIFP8cvxj/GxlcmkiCiAgICBJRFNfREVWSUNFU19XQVZFT1VUICAgICAgICAgIkRhbGdhIMf9a/3+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX1dBVkVJTiAgICAgICAgICAiRGFsZ2EgR2lyaf4gQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfTUlESU9VVCAgICAgICAgICJNSURJIMf9a/3+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX01JRElJTiAgICAgICAgICAiTUlESSBHaXJp/iBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19BVVggICAgICAgICAgICAgIkF1eCBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19NSVhFUiAgICAgICAgICAgIk1peGVyIEF5Z/10bGFy/SIKICAgIElEU19VTkFWQUlMQUJMRV9EUklWRVIgICAgICAiU2lzdGVtIGtheWT9bmRhIGt1bGxhbv1sYWJpbGlyIG9sbWF5YW4gYmlyIHP8cvxj/CBidWx1bmR1IVxuXG5cIiVzXCIgZ2lyaf5pIHNpc3RlbSBrYXlk/W5kYW4gc2lsaW5zaW4gbWk/IgogICAgSURTX1dBUk5JTkcgICAgICAgICAgICAgICAgICJVeWFy/SIKRU5ECg==