Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2luY2x1ZGUgImFmeHJlcy5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIFJ1c3NpYW4gcmVzb3VyY2VzCgojaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19SVVMpCiNpZmRlZiBfV0lOMzIKTEFOR1VBR0UgTEFOR19SVVNTSUFOLCBTVUJMQU5HX0RFRkFVTFQKI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MSkKI2VuZGlmIC8vX1dJTjMyCgojaWZuZGVmIF9NQUMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gVmVyc2lvbgovLwoKVlNfVkVSU0lPTl9JTkZPIFZFUlNJT05JTkZPCiBGSUxFVkVSU0lPTiAxLDAsMCwxCiBQUk9EVUNUVkVSU0lPTiAxLDAsMCwxCiBGSUxFRkxBR1NNQVNLIDB4M2ZMCiNpZmRlZiBfREVCVUcKIEZJTEVGTEFHUyAweDFMCiNlbHNlCiBGSUxFRkxBR1MgMHgwTAojZW5kaWYKIEZJTEVPUyAweDRMCiBGSUxFVFlQRSAweDJMCiBGSUxFU1VCVFlQRSAweDBMCkJFR0lOCiAgICBCTE9DSyAiU3RyaW5nRmlsZUluZm8iCiAgICBCRUdJTgogICAgICAgIEJMT0NLICIwNDA5MDRiMCIKICAgICAgICBCRUdJTgogICAgICAgICAgICBWQUxVRSAiQ29tbWVudHMiLCAiXDAiCiAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsICJJQk0gQ29ycG9yYXRpb25cMCIKICAgICAgICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJEaWFncmFtUHJpbnQgRExMXDAiCiAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsICIxLCAwLCAwLCAxXDAiCiAgICAgICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLCAiRGlhZ3JhbVByaW50XDAiCiAgICAgICAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICJMaWNlbnNlZCBNYXRlcmlhbHMgLS0gUHJvcGVydHkgb2YgSUJNIC0gKEMpIENvcHlyaWdodCBJQk0gQ29ycG9yYXRpb24sIDIwMDMsMjAwOCAtIFVTIEdvdmVybm1lbnQgVXNlcnMgUmVzdHJpY3RlZCBSaWdodHMgLSBVc2UsIGR1cGxpY2F0aW9uIG9yIGRpc2Nsb3N1cmUgcmVzdHJpY3RlZCBieSBHU0EgQURQIFNjaGVkdWxlIENvbnRyYWN0IHdpdGggSUJNIENvcnAuXDAiCiAgICAgICAgICAgIFZBTFVFICJMZWdhbFRyYWRlbWFya3MiLCAiKFIpIElCTSBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIG9mIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24uICBXaW5kb3dzKFRNKSBpcyBhIHRyYWRlbWFyayBvZiBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXDAiCiAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgIkRpYWdyYW1QcmludC5ETExcMCIKICAgICAgICAgICAgVkFMVUUgIlByaXZhdGVCdWlsZCIsICJcMCIKICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwgIkRpYWdyYW1QcmludCBEeW5hbWljIExpbmsgTGlicmFyeVwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCAiMiwgMSwgMCwgMFwwIgogICAgICAgICAgICBWQUxVRSAiU3BlY2lhbEJ1aWxkIiwgIlwwIgogICAgICAgIEVORAogICAgRU5ECiAgICBCTE9DSyAiVmFyRmlsZUluZm8iCiAgICBCRUdJTgogICAgICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCiAgICBFTkQKRU5ECgojZW5kaWYgICAgLy8gIV9NQUMKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBEaWFsb2cKLy8KCjE1MzggRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDMxMywgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiz+X34PL8IgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwxMDc1LDgsNCwyOTUsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJsjs/zoiLDEwOTMsMTYsMjEsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibR4u7p8fLi4C4uLiIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0e7x8u7/7ejlOiIsMTA5NSwxNiwzNiw0OSwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDc0LDM2LDIxNiwxMAogICAgTFRFWFQgICAgICAgICAgICLS6O86IiwxMDk0LDE2LDQ4LDQ5LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNzQsNDgsMjE2LDEwCiAgICBMVEVYVCAgICAgICAgICAgIsPk5ToiLDEwOTcsMTYsNjAsNDksMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw3NCw2MCwyMTUsMTAKICAgIExURVhUICAgICAgICAgICAiyu7s7OXt8uDw6Ok6IiwxMDk2LDE2LDc1LDQ5LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNzQsNzQsMTQ2LDEwCiAgICBDT05UUk9MICAgICAgICAgIs/l9+Dy/CDiICb04OnrIiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMzAsNzMsNjksMTIKICAgIEdST1VQQk9YICAgICAgICAixOjg7+Dn7u0g7+X34PLoIOTo4OPw4OzsIiwxMDcyLDgsOTMsMjk2LDEwNixXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICLSJuXq8/ng/yDk6ODj8ODs7OAiLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE3LDEwNCwyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAiwvHlICbk6ODj8ODs7Psg7vLq8Pvy+/Ug7O7k5evl6SIsSURDX0FMTF9ESUFHUkFNUywKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTcsMTE5LDI1MywxMgogICAgQ09OVFJPTCAgICAgICAgICLCJvvh8ODt7fvlIOTo4OPw4Ozs+zoiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTcsMTM1LDI1MywxMgogICAgTElTVEJPWCAgICAgICAgIElEQ19ESUFHUkFNUywyOCwxNTMsMjQzLDM5LExCU19NVUxUSVBMRVNFTCB8IAogICAgICAgICAgICAgICAgICAgIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0hTQ1JPTEwgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIszg8fjy4OEiLElEQ19TVEFUSUMsOCwyMDIsMjk2LDUxCiAgICBDT05UUk9MICAgICAgICAgIsfgJuTg8vwg4iAlIO7yIO7h+/ft7uPuIPDg5+zl8OA6IixJRENfU0NBTEVfUEVSQ0VOVCwKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsCiAgICAgICAgICAgICAgICAgICAgMjE3LDEzMCwxMgogICAgQ09OVFJPTCAgICAgICAgICLPJu7k7uPt4PL8IOo6IixJRENfU0NBTEVfRklULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX1RBQlNUT1AsMTYsMjMzLDYyLDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BFUkNFTlQsMTU2LDIxOCwzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAi8fLwLiDiICb46PDo7fM6IiwxMTA1LDkzLDIzNSw1OCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTSwxNTYsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICLx8vAuIOIg4vvx7iby8zoiLElEQ19TVEFUSUMsMTk0LDIzNSw1OCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19QQUdFU04sMjU4LDIzMywzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAiIixJRENfU1RBVElDLDI2MCwyMzUsOCw4LE5PVCBXU19WSVNJQkxFCiAgICBHUk9VUEJPWCAgICAgICAgIsTo4O/g5+7tIO/l9+Dy6CIsMTA3NCw4LDI1NywxMzIsNjQsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJsLx5SIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjcyLDczLDEyCiAgICBDT05UUk9MICAgICAgICAgItHy8OAm7ej2+yIsMTA1OCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMjg2LDgxLAogICAgICAgICAgICAgICAgICAgIDEyCiAgICBSVEVYVCAgICAgICAgICAgIibu8joiLDEwODksMjQsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUyLDQ4LDMwMCwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgUlRFWFQgICAgICAgICAgICIm5O46IiwxMDkwLDgwLDMwMiwxNiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxMDAsMzAwLDI3LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIsru7+joIiwxMDczLDE0NywyNTcsMTU3LDY0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgItfo8evuICbq7u/o6ToiLDEwOTIsMTU5LDI3MSw1NCwxMgogICAgRURJVFRFWFQgICAgICAgIDExNTQsMjI1LDI3MSwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICLRJu7w8ujw7uLg8vwiLDEwNDEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIzMCwyOTgsNzAsMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjA1LDMyOSw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLO8uzl7eAiLElEQ0FOQ0VMLDI1NywzMjksNDgsMTQKICAgIElDT04gICAgICAgICAgICAiIiwxMDg2LDE1NiwyOTAsNzAsMjUsV1NfR1JPVVAKRU5ECgoxNTM5IERJQUxPRyBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIs3g8fLw7unq4CDv8Ojt8uXw4CIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiz/Do7fLl8CIsMTA3NSw4LDQsMjcyLDg0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIibI7P86IiwxMDkzLDE2LDIwLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM2LDUyLDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICIm0eLu6fHy4uAiLDEwMjUsMjEyLDE3LDYwLDE0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgItHu8fLu/+3o5ToiLDEwOTUsMTYsMzYsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1MiwzNiwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAi0ujvOiIsMTA5NCwxNiw0OCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDQ4LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICLD5OU6IiwxMDk3LDE2LDYwLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNjAsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIsru7Ozl7fLg8OjpOiIsMTA5NiwxNiw3MiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDcyLDIyNCwxMAogICAgR1JPVVBCT1ggICAgICAgICLB8+zg4+AiLDEwNzMsOCw5MiwxNjQsNTYsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0OAm5+zl8DoiLDEwODksMTYsMTA4LDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDUyLDEwNiwxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiJsjx8u737ejqOiIsMTA5MCwxNiwxMjgsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzgsNTIsMTI2LDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICLO8Ojl7fLg9uj/IiwxMDcyLDE4MCw5MiwxMDAsNTYsV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwxMDg0LDE5NSwxMTIsMTgsMjAsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiyibt6Obt4P8iLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIyNCwxMDYsNTIsMTIKICAgIENPTlRST0wgICAgICAgICAiwCbr/OHu7O3g/yIsMTA1NywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiw1MiwKICAgICAgICAgICAgICAgICAgICAxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt4CIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNApFTkQKCjE1NDYgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiz+Dw4Ozl8vD7IPHy8ODt6Pb7IgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODAsIlN0YXRpYyIsU1NfV0hJVEVSRUNUIHwgV1NfR1JPVVAsODAsOCw4MCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODEsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCwxNjAsMTIsNCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODIsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCw4NCw4OCw4MCw0CiAgICBHUk9VUEJPWCAgICAgICAgIsHz7ODj4CIsMTA3Myw4LDk2LDIyNCw1NixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLQ4Cbn7OXwOiIsMTA4OSwxNiwxMTIsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzcsNjQsMTEwLDE2MCwxNjAsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImyPHy7vft6Oo6IiwxMDkwLDE2LDEzMiwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzOCw2NCwxMzAsMTYwLDE2MCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIs7w6OXt8uD26P8iLDEwNzIsOCwxNTYsNjQsNTYsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiyibt6Obt4P8iLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDE3MCw1MiwxMgogICAgQ09OVFJPTCAgICAgICAgICLAJuv84e7s7eD/IiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxOTAsNTIsCiAgICAgICAgICAgICAgICAgICAgMTIKICAgIEdST1VQQk9YICAgICAgICAiz+7r/yIsMTA3NSw4MCwxNTYsMTUyLDU2LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIibR6+Xi4DoiLDExMDIsODgsMTcyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU1LDEyMCwxNzAsMjgsMTIsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJtHv8ODi4DoiLDExMDMsMTY0LDE3MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NywxOTYsMTcwLDI4LDEyLFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIibR4uXw9fM6IiwxMTA0LDg4LDE5MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NiwxMjAsMTkwLDI4LDEyLFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgItEm7ejn8zoiLDExMDUsMTY0LDE5MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1OCwxOTYsMTkwLDI4LDEyLFdTX0dST1VQCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDgwLDIyMCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLO8uzl7eAiLElEQ0FOQ0VMLDEzMiwyMjAsNDgsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJs/w6O3y5fAuLi4iLDEwMjYsMTg0LDIyMCw0OCwxNApFTkQKCjEyMzQgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiz+X34PL8IgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJsjs/zoiLDEwOTMsMTYsMjAsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibR4u7p8fLi4CIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0e7x8u7/7ejlOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICLS6O86IiwxMDk0LDE2LDQ4LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNDgsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIsPk5ToiLDEwOTcsMTYsNjAsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw2MCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiyu7s7OXt8uDw6Ok6IiwxMDk2LDE2LDcyLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNzIsMTUyLDEwCiAgICBDT05UUk9MICAgICAgICAgIs/l9+Dy/CDiICb04OnrIiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIEdST1VQQk9YICAgICAgICAixOjg7+Dn7u0g7+X34PLoIiwxMDcyLDgsOTIsMTQ0LDY0LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibC8eUiLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICLR8vDgJu3o9vsiLDEwNTgsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMiwzNiwKICAgICAgICAgICAgICAgICAgICAxMgogICAgQ09OVFJPTCAgICAgICAgICImwvvh7vAiLDEwNTcsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogICAgUlRFWFQgICAgICAgICAgICIm7vI6IiwxMDg5LDUyLDEyNCwyMCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1Miw3NCwxMjIsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIFJURVhUICAgICAgICAgICAiJuTuOiIsMTA5MCwxMDAsMTI0LDE2LDgKICAgIEVESVRURVhUICAgICAgICAxMTUzLDExOCwxMjIsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiyu7v6OgiLDEwNzMsMTYwLDkyLDEyMCw2NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLX6PHr7iAm6u7v6Ok6IiwxMDkyLDE2OCwxMDgsNjgsOAogICAgRURJVFRFWFQgICAgICAgIDExNTQsMjQwLDEwNiwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgSUNPTiAgICAgICAgICAgICIiLDEwODYsMTYyLDEyNCw3NiwyNCxTU19DRU5URVJJTUFHRSB8IFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgItEm7vDy6PDu4uDy/CIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjQwLDEzMCwzNiwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTY0LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt4CIsSURDQU5DRUwsMjMyLDE2NCw0OCwxNApFTkQKCjE1NDcgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OSwgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiz+X34PL8IgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJsjs/zoiLDEwOTMsMTYsMjEsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibR4u7p8fLi4C4uLiIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0e7x8u7/7ejlOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICLS6O86IiwxMDk0LDE2LDQ4LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNDgsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIsPk5ToiLDEwOTcsMTYsNjAsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw2MCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiyu7s7OXt8uDw6Ok6IiwxMDk2LDE2LDcyLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNzIsMTUyLDEwCiAgICBDT05UUk9MICAgICAgICAgIs/l9+Dy/CDiICb04OnrIiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIEdST1VQQk9YICAgICAgICAixOjg7+Dn7u0g7+X34PLoIOTo4OPw4OzsIiwxMDcyLDgsOTMsMjcyLDEwNixXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICLSJuXq8/ng/yDk6ODj8ODs7OAiLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNywyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAiwvHlICbk6ODj8ODs7Psg7vLq8Pvy+/Ug7O7k5evl6SIsSURDX0FMTF9ESUFHUkFNUywKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIxLDI1MywxMgogICAgQ09OVFJPTCAgICAgICAgICLCJvvh8ODt7fvlIOTo4OPw4Ozs+zoiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTYsMTM1LDI1MywxMgogICAgTElTVEJPWCAgICAgICAgIElEQ19ESUFHUkFNUywyOCwxNDksMjQzLDQzLExCU19NVUxUSVBMRVNFTCB8IAogICAgICAgICAgICAgICAgICAgIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0hTQ1JPTEwgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIszg8fjy4OEiLElEQ19TVEFUSUMsOCwyMDIsMjcyLDUxCiAgICBDT05UUk9MICAgICAgICAgIsfgJuTg8vwg4iAlIO7yIO7h+/ft7uPuIPDg5+zl8OA6IixJRENfU0NBTEVfUEVSQ0VOVCwKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsCiAgICAgICAgICAgICAgICAgICAgMjE4LDEwNCwxMgogICAgQ09OVFJPTCAgICAgICAgICLPJu7k7uPt4PL8IOo6IixJRENfU0NBTEVfRklULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX1RBQlNUT1AsMTYsMjMzLDM0LDEyCiAgICBMVEVYVCAgICAgICAgICAgIsfgJuTg8vwg4iAlIO7yIO7h+/ft7uPuIPDg5+zl8OA6IiwxMTAyLDMwLDIxOSw4OCw4LE5PVCAKICAgICAgICAgICAgICAgICAgICBXU19WSVNJQkxFCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BFUkNFTlQsMTIyLDIxNywzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAi8fLwLiDiICb46PDo7fM6IiwxMTA1LDcxLDIzNSw0Myw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTSwxMjIsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICLx8vAuIOIg4vvx7iby8zoiLElEQ19TVEFUSUMsMTc3LDIzNSw1NCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19QQUdFU04sMjM1LDIzMywzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAiIixJRENfU1RBVElDLDI2MCwyMzUsNyw4LE5PVCBXU19WSVNJQkxFCiAgICBHUk9VUEJPWCAgICAgICAgIsTo4O/g5+7tIO/l9+Dy6CIsMTA3NCw4LDI1NywxMzIsNjQsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJsLx5SIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjcyLDQ3LDEyCiAgICBDT05UUk9MICAgICAgICAgItHy8OAm7ej2+yIsMTA1OCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMjg2LDQ2LAogICAgICAgICAgICAgICAgICAgIDEyCiAgICBSVEVYVCAgICAgICAgICAgIibu8joiLDEwODksMjQsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUyLDQ4LDMwMCwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgUlRFWFQgICAgICAgICAgICIm5O46IiwxMDkwLDc2LDMwMiwyMCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxMDAsMzAwLDI3LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIsru7+joIiwxMDczLDE0NywyNTcsMTMyLDY0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgItfo8evuICbq7u/o6ToiLDEwOTIsMTYzLDI3Myw2OCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NCwyMzUsMjcxLDMyLDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgItEm7vDy6PDu4uDy/CIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjM1LDI5NSwzNiwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMzI4LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt4CIsSURDQU5DRUwsMjMyLDMyOCw0OCwxNAogICAgSUNPTiAgICAgICAgICAgICIiLDEwODYsMTU2LDI5MCwyMCwyMCxXU19HUk9VUApFTkQKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBERVNJR05JTkZPCi8vCgojaWZkZWYgQVBTVFVESU9fSU5WT0tFRApHVUlERUxJTkVTIERFU0lHTklORk8gRElTQ0FSREFCTEUgCkJFR0lOCiAgICAxNTM4LCBESUFMT0cKICAgIEJFR0lOCiAgICAgICAgUklHSFRNQVJHSU4sIDMxMAogICAgICAgIEJPVFRPTU1BUkdJTiwgMzQ5CiAgICBFTkQKCiAgICAxNTQ3LCBESUFMT0cKICAgIEJFR0lOCiAgICAgICAgUklHSFRNQVJHSU4sIDI4NgogICAgICAgIEJPVFRPTU1BUkdJTiwgMzQyCiAgICBFTkQKRU5ECiNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECgojZW5kaWYgICAgLy8gUnVzc2lhbiByZXNvdXJjZXMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VUwojcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQojZW5kaWYgLy9fV0lOMzIKCiNpZmRlZiBBUFNUVURJT19JTlZPS0VECi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIFRFWFRJTkNMVURFCi8vCgoxIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgInJlc291cmNlLmhcMCIKRU5ECgoyIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgIiNpbmNsdWRlICIiYWZ4cmVzLmgiIlxyXG4iCiAgICAiXDAiCkVORAoKMyBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKQkVHSU4KICAgICIjZGVmaW5lIF9BRlhfTk9fU1BMSVRURVJfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fT0xFX1JFU09VUkNFU1xyXG4iCiAgICAiI2RlZmluZSBfQUZYX05PX1RSQUNLRVJfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fUFJPUEVSVFlfUkVTT1VSQ0VTXHJcbiIKICAgICJcclxuIgogICAgIiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSlcclxuIgogICAgIiNpZmRlZiBfV0lOMzJcclxuIgogICAgIkxBTkdVQUdFIDksIDFcclxuIgogICAgIiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpXHJcbiIKICAgICIjZW5kaWYgLy9fV0lOMzJcclxuIgogICAgIiNpbmNsdWRlICIicmVzXFxEaWFncmFtUHJpbnQucmMyIiIgIC8vIG5vbi1NaWNyb3NvZnQgVmlzdWFsIEMrKyBlZGl0ZWQgcmVzb3VyY2VzXHJcbiIKICAgICIjaW5jbHVkZSAiImFmeHJlcy5yYyIiICAgICAgICAgLy8gU3RhbmRhcmQgY29tcG9uZW50c1xyXG4iCiAgICAiI2VuZGlmXHJcbiIKICAgICJcMCIKRU5ECgojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAoKI2VuZGlmICAgIC8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgojaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi8vCiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX09MRV9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX1RSQUNLRVJfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSA5LCAxCiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCiNlbmRpZiAvL19XSU4zMgojaW5jbHVkZSAicmVzXERpYWdyYW1QcmludC5yYzIiICAvLyBub24tTWljcm9zb2Z0IFZpc3VhbCBDKysgZWRpdGVkIHJlc291cmNlcwojaW5jbHVkZSAiYWZ4cmVzLnJjIiAgICAgICAgIC8vIFN0YW5kYXJkIGNvbXBvbmVudHMKI2VuZGlmCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwojZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQKCg==