LyoKICogUG9ydHVndWVzZSBMYW5ndWFnZSBGaWxlCiAqCiAqIENvcHlyaWdodCAyMDA4IFJpY2FyZG8gRmlsaXBlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ORVVUUkFMCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZGaWNoZWlybyIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZOb3ZvLi4uXHRDdHJsK04iLCAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNICImQWJyaXIuLi5cdEN0cmwrTyIsICAgICAgSURfRklMRV9PUEVOCiAgICAgICAgTUVOVUlURU0gIiZHdWFyZGFyXHRDdHJsK1MiLCAgICAgICAgIElEX0ZJTEVfU0FWRQogICAgICAgIE1FTlVJVEVNICJHdWFyZGFyICZjb21vLi4uIiwgICAgICAgICAgIElEX0ZJTEVfU0FWRUFTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZJbXByaW1pci4uLlx0Q3RybCtQIiwgICAgIElEX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIiZQcukgdmlzdWFsaXphci4uLiIsICAgICBJRF9QUkVWSUVXCiAgICAgICAgTUVOVUlURU0gIkMmb25maWd1cmFyIHDhZ2luYS4uLiIsICAgICAgICBJRF9QUklOVFNFVFVQCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZTYWlyIiwgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJkVkaXRhciIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBbnVsYXJcdEN0cmwrWiIsICAgICAgICAgICAgICAgSURfRURJVF9VTkRPCiAgICAgICAgTUVOVUlURU0gIiZSZWZhemVyXHRDdHJsK1kiLCAgICAgICAgICAgICAgIElEX0VESVRfUkVETwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQ29ydGFyXHRDdHJsK1giLCAgICAgICAgICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICJDJm9waWFyXHRDdHJsK0MiLCAgICAgICAgICAgICAgIElEX0VESVRfQ09QWQogICAgICAgIE1FTlVJVEVNICJDb2wmYXJcdEN0cmwrViIsICAgICAgICAgICAgICBJRF9FRElUX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZMaW1wYXJcdERFTCIsICAgICAgICAgICAgICAgICBJRF9FRElUX0NMRUFSCiAgICAgICAgTUVOVUlURU0gIiZTZWxlY2Npb25hciB0dWRvXHRDdHJsK0EiLCAgICAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxvY2FsJml6YXIuLi5cdENydGwrRiIsICAgICAgICAgICAgSURfRklORAogICAgICAgIE1FTlVJVEVNICImRW5jb250cmFyIFNlZ3VpbnRlXHRGMyIsICAgICAgICAgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiJlN1YnN0aXR1aXIuLi5cdEN0cmwrSCIsICAgICAgICAgSURfUkVQTEFDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTb21lJm50ZSBsZWl0dXJhIiwgICAgICAgICAgICAgICAgICBJRF9FRElUX1JFQURPTkxZCiAgICAgICAgTUVOVUlURU0gIiZNb2RpZmljYWRvIiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJFJnh0cmFzIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImSW5mb3JtYefjbyBkYSBzZWxlY+fjbyIsICAgICAgICAgICAgIElEX0VESVRfU0VMRUNUSU9OSU5GTwogICAgICAgICAgICBNRU5VSVRFTSAiJkZvcm1hdG8gZG9zIGNhcmFjdGVyZXMiLCAgICAgICAgICAgSURfRURJVF9DSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImRGVmaW5pciBmb3JtYXRvIGRvcyBjYXJhY3RlcmVzIiwgICAgICAgICAgIElEX0VESVRfREVGQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiRiZvcm1hdG8gZG9zIHBhcuFncmFmb3MiLCAgICAgICAgICAgSURfRURJVF9QQVJBRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImQnVzY2FyIHRleHRvIiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9HRVRURVhUCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICImVmVyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkJhcnJhIGRlIEZlcnJhbWVudGFzIiwgICAgICAgIElEX1RPR0dMRV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIkJhcnJhIGRlICZGb3JtYXRh5+NvIiwgICAgICBJRF9UT0dHTEVfRk9STUFUQkFSCiAgICAgICAgTUVOVUlURU0gIiZS6Wd1YSIsICAgICAgICAgIElEX1RPR0dMRV9SVUxFUgogICAgICAgIE1FTlVJVEVNICJCYXJyYSBkZSAmRXN0YWRvIiwgICAgICBJRF9UT0dHTEVfU1RBVFVTQkFSCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZPcOf1ZXMuLi4iLCAgICAgSURfVklFV1BST1BFUlRJRVMKICAgIEVORAogICAgUE9QVVAgIiZJbnNlcmlyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkRhdGEgZSBob3JhLi4uIiwgIElEX0RBVEVUSU1FCiAgICBFTkQKICAgIFBPUFVQICJGJm9ybWF0byIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZUaXBvIGRlIExldHJhLi4uIiwgICAgICAgICAgICAgICAgICAgICBJRF9GT05UU0VUVElOR1MKICAgICAgICBNRU5VSVRFTSAiJkxpc3RhIGRlIG1hcmNhcyIgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZQYXLhZ3JhZm8uLi4iICAgICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIlQmYWJ1bGHn9WVzLi4uIiAgICAgICAgICAgICAgICAgICAgICBJRF9UQUJTVE9QUwogICAgICAgIFBPUFVQICImRnVuZG8iCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZTaXN0ZW1hXHRDdHJsKzEiLCAgICAgICAgIElEX0JBQ0tfMQogICAgICAgICAgICBNRU5VSVRFTSAiJlBvc3RUaGF0IGFtYXJlbG9cdEN0cmwrMiIsICAgICAgICAgICBJRF9CQUNLXzIKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIiZBanVkYSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZTb2JyZSBXaW5lIFdvcmRwYWQiICAgICAgIElEX0FCT1VUCiAgICBFTkQKRU5ECgpJRE1fUE9QVVAgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZDb3J0YXIiLCAgICAgICAgICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICJDJm9waWFyIiwgICAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQ28mbGFyIiwgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkxpc3RhIGRlIG1hcmNhcyIgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZQYXLhZ3JhZm8uLi4iICAgICAgICBJRF9QQVJBRk9STUFUCiAgICBFTkQKRU5ECgpJRERfREFURVRJTUUgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMTMwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRGF0YSBlIGhvcmEiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJGb3JtYXRvcyBEaXNwb27tdmVpcyIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTk9USUZZCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw4NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQ2FuY2VsYXIiLElEQ0FOQ0VMLDg3LDI2LDQwLDEyCkVORAoKSUREX05FV0ZJTEUgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMTQwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTm92byIKRk9OVCAxMCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBMVEVYVCAgICAgICAgIk5vdm8gdGlwbyBkZSBkb2N1bWVudG8iLDAsMywyLDEwMCwxNQogICAgTElTVEJPWCAgICAgIElEQ19ORVdGSUxFLDMsMTIsOTAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDk3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZDYW5jZWxhciIsSURDQU5DRUwsOTcsMjYsNDAsMTIKRU5ECgpJRERfUEFSQUZPUk1BVCBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiUGFy4WdyYWZvIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiSWRlbnRh5+NvIiwgMCwgMTAsIDEwLCAxMjAsIDY4CiAgICBMVEVYVCAiRXNxdWVyZGEiLCAwLCAxNSwgMjIsIDQwLCAxMwogICAgRURJVFRFWFQgSURDX1BBUkFfTEVGVCwgNTUsIDIwLCA2MCwgMTMKICAgIExURVhUICJEaXJlaXRhIiwgMCwgMTUsIDQwLCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX1JJR0hULCA1NSwgMzgsIDYwLCAxMwogICAgTFRFWFQgIlByaW1laXJhIExpbmhhIiwgMCwgMTUsIDU4LCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIkFsaW5oYW1lbnRvIiwgMCwgMTUsIDg3LCA0MCwgMTMKICAgIENPTUJPQk9YIElEQ19QQVJBX0FMSUdOLCA1NSwgODUsIDYwLCA2MCwgQ0JTX0RST1BET1dOTElTVAogICAgUFVTSEJVVFRPTiAiJk9LIiwgSURPSywgMTM3LCAxNSwgNTAsIDE1CiAgICBQVVNIQlVUVE9OICImQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTM3LCAzMywgNTAsIDE1CkVORAoKSUREX1RBQlNUT1BTIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDIwMCwgMTEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDYXB0aW9uICJUYWJ1bGHn9WVzIgpGT05UIDgsICJNUyBTSGVsbCBETGciCkJFR0lOCiAgICBHUk9VUEJPWCAiTWFyY2EgZGUgdGFidWxh5+NvIiwgMCwgMTAsIDEwLCAxMjAsIDkwCiAgICBDT01CT0JPWCBJRENfVEFCU1RPUFMsIDIwLCAyMCwgMTAwLCA2MCwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiAgICBERUZQVVNIQlVUVE9OICImQWRpY2lvbmFyIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZSZW1vdmVyIiwgSURfVEFCX0RFTCwgNzIsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZPSyIsIElET0ssIDEzNSwgMTUsIDU1LCAxNQogICAgUFVTSEJVVFRPTiAiJkNhbmNlbGFyIiwgSURDQU5DRUwsIDEzNSwgMzMsIDU1LCAxNQogICAgUFVTSEJVVFRPTiAiUmVtb3ZlciAmdG9kb3MiLCBJRF9UQUJfRU1QVFksIDEzNSwgNTEsIDU1LCAxNQpFTkQKCklERF9GT1JNQVRPUFRTIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDExMApTVFlMRSBEU19TWVNNT0RBTApDYXB0aW9uICIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICJNb2xkYXIgbyB0ZXh0byIsIDAsIDEwLCAxMCwgMTMwLCA4NQogICAgUkFESU9CVVRUT04gIiZTZW0gbW9sZGFnZW0iLCBJRENfUEFHRUZNVF9XTiwgMTgsIDI1LCAxMTcsIDE1CiAgICBSQURJT0JVVFRPTiAiJk1vbGRhciDgIGphbmVsYSIsIElEQ19QQUdFRk1UX1dXLCAxOCwgNDUsIDExNywgMTUKICAgIFJBRElPQlVUVE9OICJNb2xkYXIgcGVsYSAmculndWEiLCBJRENfUEFHRUZNVF9XTSwgMTgsIDY1LCAxMTcsIDE1CiAgICBHUk9VUEJPWCAiQmFycmFzIGRlIEZlcnJhbWVudGFzIiwgMCwgMTUwLCAxMCwgMTIwLCA4NQogICAgQ0hFQ0tCT1ggIiZCYXJyYSBkZSBGZXJyYW1lbnRhcyIsIElEQ19QQUdFRk1UX1RCLCAxNjAsIDIwLCA5MCwgMTUKICAgIENIRUNLQk9YICJCYXJyYSBkZSAmRm9ybWF0YefjbyIsIElEQ19QQUdFRk1UX0ZCLCAxNjAsIDM4LCA5MCwgMTUKICAgIENIRUNLQk9YICImUulndWEiLCBJRENfUEFHRUZNVF9SVSwgMTYwLCA1NiwgOTAsIDE1CiAgICBDSEVDS0JPWCAiQmFycmEgZGUgJkVzdGFkbyIsIElEQ19QQUdFRk1UX1NCLCAxNjAsIDc0LCA5MCwgMTUKICAgIExURVhUICIiLCBJRENfUEFHRUZNVF9JRCwgMCwwLDAsMApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUklDSFRFWFRfRklMRVNfUlRGLCAgICAgIlJpY2ggdGV4dCBmb3JtYXQgKCoucnRmKSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1RYVCwgICAgICAgICAiRG9jdW1lbnRvcyBkZSB0ZXh0byAoKi50eHQpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVU5JQ09ERV9UWFQsICJEb2N1bWVudG9zIGRlIHRleHRvIFVuaWNvZGUgKCoudHh0KSIKICAgIFNUUklOR19BTExfRklMRVMsICAgICAgICAgICAgICAiVG9kb3Mgb3MgZG9jdW1lbnRvcyAoKi4qKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0FMSUdOX0xFRlQsICAgICAgICAgICAgIkVzcXVlcmRhIgogICAgU1RSSU5HX0FMSUdOX1JJR0hULCAgICAgICAgICAgIkRpcmVpdGEiCiAgICBTVFJJTkdfQUxJR05fQ0VOVEVSLCAgICAgICAgICAiQ2VudHJvIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfTkVXRklMRV9SSUNIVEVYVCwgICAgICJSaWNoIHRleHQgZG9jdW1lbnQiCiAgICBTVFJJTkdfTkVXRklMRV9UWFQsICAgICAgICAgICJEb2N1bWVudG8gZGUgdGV4dG8iCiAgICBTVFJJTkdfTkVXRklMRV9UWFRfVU5JQ09ERSwgICJEb2N1bWVudG8gZGUgdGV4dG8gVW5pY29kZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSSU5URVJfRklMRVNfUFJOLCAgICAgICAgIkZpY2hlaXJvcyBkZSBpbXByZXNzb3JhICgqLlBSTikiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19WSUVXUFJPUFNfVElUTEUsICAgICAgICAgICJPcOf1ZXMiCiAgICBTVFJJTkdfVklFV1BST1BTX1RFWFQsICAgICAgICAgICAiVGV4dG8iCiAgICBTVFJJTkdfVklFV1BST1BTX1JJQ0hURVhULCAgICAgICAiUmljaCB0ZXh0IgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUFJFVklFV19QUklOVCwgICAgICAgICAgICAiSW1wcmltaXIiCiAgICBTVFJJTkdfUFJFVklFV19ORVhUUEFHRSwgICAgICAgICAiUHLzeGltYSBw4WdpbmEiCiAgICBTVFJJTkdfUFJFVklFV19QUkVWUEFHRSwgICAgICAgICAiUOFnaW5hIGFudGVyaW9yIgogICAgU1RSSU5HX1BSRVZJRVdfVFdPUEFHRVMsICAgICAgICAgIkR1YXMgcOFnaW5hcyIKICAgIFNUUklOR19QUkVWSUVXX09ORVBBR0UsICAgICAgICAgICJVbWEgcOFnaW5hIgogICAgU1RSSU5HX1BSRVZJRVdfQ0xPU0UsICAgICAgICAgICAgIkZlY2hhciIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1VOSVRTX0NNLCAgICAgICAgICAgICAiY20iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19ERUZBVUxUX0ZJTEVOQU1FLCAgICAgIkRvY3VtZW50byIKICAgIFNUUklOR19QUk9NUFRfU0FWRV9DSEFOR0VTLCAgIkd1YXJkYXIgYWx0ZXJh5/VlcyBhICclcyc/IgogICAgU1RSSU5HX1NFQVJDSF9GSU5JU0hFRCwgICAgICAiQWNhYm91IGEgcGVzcXVpc2EgZG8gZG9jdW1lbnRvLiIKICAgIFNUUklOR19MT0FEX1JJQ0hFRF9GQUlMRUQsICAgIkZhbGhvdSBvIGNhcnJlZ2FtZW50byBkYSBiaWJsaW90ZWNhIFJpY2hFZGl0LiIKICAgIFNUUklOR19TQVZFX0xPU0VGT1JNQVRUSU5HLCAgIkVzY29saGV1IGd1YXJkYXIgZW0gZm9ybWF0byBkZSB0ZXh0byBzaW1wbGVzLCAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm8gcXVlIHZhaSBhbnVsYXIgdG9kYXMgYXMgZm9ybWF0Yef1ZXMuICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVtIGEgY2VydGV6YSBxdWUgcXVlciBmYXplciBpc3RvPyIKICAgIFNUUklOR19JTlZBTElEX05VTUJFUiwgICAgICAgIkZvcm1hdG8gZGUgbvptZXJvIGluduFsaWRvIgogICAgU1RSSU5HX09MRV9TVE9SQUdFX05PVF9TVVBQT1JURUQsICJEb2N1bWVudG9zIE9MRSBu428gc+NvIHN1cG9ydGFkb3MiCiAgICBTVFJJTkdfV1JJVEVfRkFJTEVELCAgICAgICAgICAgICAgIk7jbyBmb2kgcG9zc+12ZWwgZ3VhcmRhciBvIGZpY2hlaXJvLiIKICAgIFNUUklOR19XUklURV9BQ0NFU1NfREVOSUVELCAgICAgICAiTuNvIHRlbSBwZXJtaXNz9WVzIHBhcmEgZ3VhcmRhciBvIGZpY2hlaXJvLiIKICAgIFNUUklOR19PUEVOX0ZBSUxFRCwgICAgICAgICAgICAgICAiTuNvIGZvaSBwb3Nz7XZlbCBhYnJpciBvIGZpY2hlaXJvLiIKICAgIFNUUklOR19PUEVOX0FDQ0VTU19ERU5JRUQsICAgICAgICAiTuNvIHRlbSBwZXJtaXNz9WVzIHBhcmEgYWJyaXIgbyBmaWNoZWlyby4iCiAgICBTVFJJTkdfUFJJTlRJTkdfTk9UX0lNUExFTUVOVEVELCAiSW1wcmVzc+NvIG7jbyBpbXBsZW1lbnRhZGEiCkVORAo=