LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogS29yZWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDIgSmFjbyBHcmVlZmYKICogQ29weXJpZ2h0IDIwMDMgRGltaXRyaWUgTy4gUGF1bgogKiBDb3B5cmlnaHQgMjAwMy0yMDA0IE1pa2UgSGVhcm4KICogQ29weXJpZ2h0IDIwMDUsMjAwNiBZdW5Tb25nIEh3YW5nCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfS09SRUFOLCBTVUJMQU5HX05FVVRSQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKSURSX1dJTkVDRkcgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIryzwaQiLCBJRENfQVVESU9fQ09ORklHVVJFCiAgICBFTkQKRU5ECgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNzAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgIFBBQ0tBR0VfU1RSSU5HLElEQ19TVEFUSUMsMTE5LDE3LDEyMCw4CiAgICBDT05UUk9MICAgICAgICAgSURCX1dJTkUsSURDX1NUQVRJQywiU3RhdGljIixTU19CSVRNQVAgLDE1LDE3LDE1NywxMTEKICAgIExURVhUICAgICAgICAgICAiaHR0cDovL3d3dy53aW5laHEub3JnLyIsSURDX1NUQVRJQywxMTksMzEsMTA2LDgKICAgIExURVhUICAgICAgICAgICAiwMwgtvPAzLrqt6+4rrTCIMDawK8gvNLHwcauv/6+7sDUtM+02S4gtOe9xcC6IMDawK8gvNLHwcauv/6+7iDA57TcKEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbim/obytILi4tecgR05VIExHUEwoTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UpIL7Gt6G/obytIMDMIMfBt86x17elwLsgwOe56Mb3ILbHtMIgvPbBpMfSILz2IMDWvcC0z7TZLiC288DMvL69usDHILn2wPzAuiAyLjEgtse0wiAovLHFw8D7wLi3zikgsdcgwMzIxCC59sD8wLsgtfu4o7jpILXLtM+02S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTE5LDQ0LDEyNCw3MgpFTkQKCklERF9BUFBDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIMfBt86x17elILyzwaQgIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lwLogsKKwosDHIMfBt86x17elv6EgtOvH2LytILTZuKUgufbA/MDHIMCptbW/7MHuuKYgyOSzu7O+ILz2IMDWvcC0z7TZLiDAzCDFx8C6ILbzwMy66revuK4sILHXt6HHyCDFx7XpsPogv6yw4bXHvu4gwNa+7rytIMDMIMXHtemw+iDH1LKyIL3DvbrF2yDA/MO8ILbHtMIgx8G3zrHXt6W6sCC8s8GkwLsgudmy3CC89iDA1r3AtM+02S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIkFwcGxpY2F0aW9ucyIsSURDX0FQUF9MSVNUVklFVywiU3lzTGlzdFZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IExWU19MSVNUIHwgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTLAogICAgICAgICAgICAgICAgICAgIDE1LDUwLDIzMCwxNTAKICAgIFBVU0hCVVRUT04JICAgICLHwbfOsde3pSDD37Chx8+x4igmQSkuLi4iLElEQ19BUFBfQUREQVBQLCA5MCwyMDQsNzUsMTQKICAgIFBVU0hCVVRUT04JICAgICLHwbfOsde3pSDBprDFx8+x4igmUikiLElEQ19BUFBfUkVNT1ZFQVBQLCAxNzAsMjA0LDc1LDE0CiAgICBMVEVYVCAgICAgICAgICAgIsCptbW/7MHuILn2wa8oJlcpOiIsSURDX1NUQVRJQywxNiwyMjcsNzUsMTQKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDIyNCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QICAgIApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgw6IgvLPBpCAiLElEQ19TVEFUSUMsOCw0LDI0NCwxODAKCiAgICBDT05UUk9MCSAgICAiRGlyZWN0WCDHwbfOsde3pbXpwMwguLa/7L26IMS/vK24piCx17XpwMcgw6K+yL+hIMDivsa1zrDUIMfUIixJRENfRFhfTU9VU0VfR1JBQiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE0LDIzMCw4CiAgICBMVEVYVCAJICAgICJXaW5lw6K16cDMIMOisPy4rsDav6EgwMfH2LytILD8uK61yLTZuOksIFdpbmXDorXpwLogx6XB2CDDosaywLsgsKHB+iCwzcDMuOcsIMDbvvew+LCjILD8uK7A2r/NIMDfIL7uv++4sSCwzcDUtM+02S4gsde4rrDtIMOiuPG3z7+htbUgs6rFuLOvILDNwNS0z7TZLlxuXG64uL7gv6EgV2luZcOitenAzCDDorD8uK7A2r+hIMDHx9ggsPy4rrXHwfYgvsq0wrTZuOksIFdpbmXDorXpwLogw6Kw/LiuwNq/zSC/rLDhtcfB9iC+ysC7ILDNwNS0z7TZLiDAzLDNwLogV2luZcOitenAzCC1pb26xanFvrD6ILnQwaLHz7DUIMXrx9W1x8H2IL7KtMK02bTCILDNwLsgwMe5zMfVtM+02S4gx8/B9ri4IFdpbmXAxyDAqbW1v+zB7iDI5LO7s7ux4rChILT1IMGkudDH2MGuvK0guO647iDHwbfOsde3pbXpwMwgwbsgtPUgwN8gtb/A28fSILz2IMDWtbW3zyC1tb/Nwd20z7TZLiIsCiAgICAJCSAgICBJRENfU1RBVElDLDE1LDM3LDIyOCw4MAogICAgQ09OVFJPTAkgICAgIsOisPy4rsDasKEgV2luZcOiwLsgsPy4rsfPtbW3zyDH1CIsSURDX0VOQUJMRV9NQU5BR0VELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTExLDIzMCw4CiAgICBMVEVYVCAgICAgICAgICAgIrTnvcXAuiC48LXnIMCptbW/7MHuIMfBt86x17elwMwgsKG787WlvbrFqcW+v6G8rSC1v8DPx9Egx+C1v8C7IMfPsNQgx9IgsM3AzsH2LCC8rbfOILTZuKUgx+C1v8C7IMfPsNQgx9IgsM3AzsH2ILyxxcPH0iC89iDA1r3AtM+02S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTI1LDIyOCwyOAogICAKICAgIExURVhUICAgICAgICAgICAitaW9usWpxb4gxamx4joiLElEQ19ERVNLVE9QX1NJWkUsMTUsMTY3LDQ0LDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTA4LDE2Nyw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAisKG78yC1pb26xanFviDI5LO7s7ux4iIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTUyLDIzMCwxMAoJCSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCw2NCwxNjcsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsMTY3LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKCiAgICBHUk9VUEJPWCAgICAgICAgIiC02cDMt7rGriAzRCAiLElEQ19TVEFUSUMsOCwxODksMjQ0LDUwCgogICAgTFRFWFQJICAgICK59sXYvbogvabAzLT1IMH2v/g6ICIsSURDX1NUQVRJQywxNSwxOTksODAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMDAsMTk3LDE0Niw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIsfIvL8gvabAzLT1IMfjv+sgKMfPteW//r7uv6G8rSDB9r/4x9G02bjpKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyMTYsMjMwLDEwCkVORAoKSUREX0RMTENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRExMIL/Aufa288DMteUgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIrW/wPsguLXFqSC288DMuuq3r7iutMIgsLO6sMD7wLi3ziCzu8DlKFdpbmW/oSDAx8fYIMGmsPgpwMyzqiCz18DMxry66ijAqbW1v+zB7rOqIMfBt86x17elv6EgwMfH2CDBprD4KcC4t84gwfbBpLXJvPYgwNa9wLTPtNkuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICK79bfOIL/Aufa288DMteXH0iC288DMuuq3r7iuOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAitPXHz7HiKCZBKSIsSURDX0RMTFNfQURERExMLCAxNjQsNjgsODIsMTMsQlNfREVGUFVTSEJVVFRPTiAKICAgIExURVhUICAgICAgICAgICAix/bA5yC/wLn2tvPAzLXlILjxt886IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIrDtxKGx4igmRSkiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIsH2v+yx4igmUikiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0IApFTkQKCklERF9MT0FET1JERVIgRElBTE9HIERJU0NBUkRBQkxFIDgwLCA5MCwgMTEwLCA5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiv8C59rbzwMy15SC89sGkIgpGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC3zrXlILz4vK0gIixJRENfU1RBVElDLDgsNCw5NCw2NgogICAgQ09OVFJPTCAgICAgICAgICKzu8DlKCZCKShXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNiwxNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICKz18DMxry66igmTikoV2luKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICKzu8DlLCCz18DMxry66igmbCkiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICKz18DMxry66iwgs7vA5SgmdikiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICK757/rx8/B9iC+ysC9KCZEKSIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsNzUsMTAKICAgIERFRlBVU0hCVVRUT04gICAiyK7AziIsSURPSyw4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIsPrvNIiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC15bbzwMy66iC/rLDhICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICLD37ChKCZBKS4uLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiwaawxSgmUikiLElEQ19CVVRUT05fUkVNT1ZFLDU2LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIsDatb8gw6Ox4igmRCkuLi4iLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxOTUsOTgsNTEsMTQKCiAgICAvKiBlZGl0aW5nIGRyaXZlIGRldGFpbHMgKi8KICAgIExURVhUICAgICAgICAgICAisOa3zigmUCk6IixJRENfU1RBVElDLDE1LDEyMywzMCwxMCAgIAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1BBVEgsNTAsMTIwLDE0MCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiw6O+xrq4seIoJkIpLi4uIixJRENfQlVUVE9OX0JST1dTRV9QQVRILDE5NSwxMjAsNTEsMTMKICAgIAogICAgTFRFWFQgICAgICAgICAgICLBvrf5KCZUKToiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMzAsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw1MCwxMzUsNzAsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAKICAgIExURVhUICAgICAgICAgICAitvO6p7D6IL3DuK6+8yC5+MijIixJRENfTEFCRUxTRVJJQUxfU1RBVElDLDE1LDE1NSw5NSwxMAogICAgCiAgICBQVVNIQlVUVE9OICAgICAgIsPfsKG/ybzHILq4wMyx4igmUykiLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE4NiwxMzYsNjAsMTMKICAgIENPTlRST0wgICAgICAgICAiwOXEobfOus7FzSDA2rW/sMvD4igmZik6IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTY2LDkzLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDI3LDE3NiwxNjMsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiw6O+xrq4seIoJncpLi4uIixJRENfQlVUVE9OX0JST1dTRV9ERVZJQ0UsMTk1LDE3Niw1MSwxMwogICAgQ09OVFJPTCAgICAgICAgICK89rW/wLi3ziDB9sGkKCZNKToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE5NSw2OSwxMAoKICAgIExURVhUICAgICAgICAgICAitvO6pygmTCk6IixJRENfU1RBVElDX0xBQkVMLDI3LDIwOCwzNSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDIwNSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAivcO4rr7zKCZlKToiLElEQ19TVEFUSUNfU0VSSUFMLDI3LDIyNSwzNSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw2MywyMjEsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICK8+7HoIMbEwM8oLsC4t84gvcPA28fPtMIgxsTAzykguri/qcHWseIiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC15bbzwMy59iC8scXDICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE5NQogICAgTFRFWFQgICAgICAgICAgICK/+MfPtMIgteW288DMufbAxyC52r26uKYgw7zFqcfPv6kgu+e/7rXlILXltvPAzLn2uKYgvLHFw8fVtM+02S4gvu62siC15bbzwMy59rW1ILyxxcPHz8H2IL7KwLi46SC757/uteWwoSDH2MGmtcu0z7TZLiC/qbevILXltvPAzLn2uKYgvLHFw8fPtMIgsM3AuiDD38O1x8/B9iC+yr3AtM+02S4gteW288DMufYgwKe/obytILi2v+y9uiC/wLilwsogufbGsCDFrLivx8+/qSC15bbzwMy59rimILyzwaTH1bTPtNkuIixJRENfU1RBVElDLDE1LDIwLDIyNyw0MAogICAgQ09OVFJPTCAgICAgICAgICLA5cShIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw2MCwxNjAsMTMwIAogICAgUFVTSEJVVFRPTgkgICAgIsGmvu7GxyIsSURDX0FVRElPX0NPTlRST0xfUEFORUwsMTgwLDYwLDY2LDEzCiAgICBHUk9VUEJPWCAgICAgICAgIiC02cDMt7rGriC757/uteUgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQJICAgICLHz7Xlv/6+7iCwobzTOiAiLElEQ19TVEFUSUMsMTQsMjE2LDcwLDEwCiAgICBDT01CT0JPWAkgICAgSURDX0RTT1VORF9IV19BQ0NFTCw5MCwyMTMsMTYwLDIsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIrHiursgu/nHwyC68cCyOiIsSURDX1NUQVRJQywxNSwyMzIsNzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfUkFURVMsOTAsMjMwLDQyLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICK7+cfDv6EgtOvH0SCx4rq7ILrxwLI6IixJRENfU1RBVElDLDEzNywyMzIsODAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfQklUUywyMjAsMjMwLDMwLDEzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgICAgICK15bbzwMy59iDI5LO7s7ux4iIsSURDX0RTT1VORF9EUlZfRU1VTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE0LDI0NSw2OCwxOApFTkQKCklERF9ERVNLVE9QX0lOVEVHUkFUSU9OIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC/3LD8ICIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgTFRFWFQgICAgICAgICAgICLF17i2OiIsSURDX1NUQVRJQywxNSwxNiwxMzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9USEVNRUNPTUJPLDE1LDI0LDEzMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAixde4tiC8s8ShLi4uIixJRENfVEhFTUVfSU5TVEFMTCwxNTIsMjMsOTMsMTQKICAgIExURVhUICAgICAgICAgICAiu/a78zoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDAsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw0OCwxMTIsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIsWpseI6IixJRENfVEhFTUVfU0laRVRFWFQsMTM1LDQwLDExMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1NJWkVDT01CTywxMzUsNDgsMTEwLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICK48bfPOiIsSURDX1NUQVRJQywxNSw2NCwxMTIsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19TWVNQQVJBTV9DT01CTywxNSw3NCwxMTIsMTIwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUCiAgICBMVEVYVCAgICAgICAgICAgIrv2u/M6IixJRENfU1lTUEFSQU1fQ09MT1JfVEVYVCwxMzUsNjQsMjUsOCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICIiLElEQ19TWVNQQVJBTV9DT0xPUiwxMzUsNzQsMjUsMTMsV1NfRElTQUJMRUQgfCBCU19PV05FUkRSQVcKICAgIExURVhUICAgICAgICAgICAixamx4joiLElEQ19TWVNQQVJBTV9TSVpFX1RFWFQsMTY2LDY0LDMwLDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTUEFSQU1fU0laRSwxNjYsNzQsMjMsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QIHwgV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiIixJRENfU1lTUEFSQU1fU0laRV9VRCxVUERPV05fQ0xBU1MsVURTX1NFVEJVRERZSU5UIHwgV1NfRElTQUJMRUQsMTg3LDc0LDE1LDEzCiAgICBQVVNIQlVUVE9OICAgICAgIrHbssMiLElEQ19TWVNQQVJBTV9GT05ULDIwOCw3NCwzNywxMyxXU19ESVNBQkxFRAogICAgR1JPVVBCT1ggICAgICAgICIgvakgxvq09SAiLElEQ19TVEFUSUMsOCwxMTQsMjQ0LDEwMAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfU0ZQQVRIUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTI2LDIzMCw2NAogICAgQ09OVFJPTCAgICAgICAgICLAzLD3wLi3ziC/rLDhOiIsSURDX0xJTktfU0ZQQVRILCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWHxXU19UQUJTVE9QfFdTX0RJU0FCTEVELDE1LDE5NSw1MCwxMwogICAgRURJVFRFWFQgICAgICAgICBJRENfRURJVF9TRlBBVEgsNjUsMTk1LDE0NSwxMyxFU19BVVRPSFNDUk9MTHxXU19UQUJTVE9QfFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIsOjseIiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfQVBQTElDQVRJT05TICAgICLHwbfOsde3pSIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICK288DMuuq3r7iuIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIrXltvPAzLrqIgogICAgSURTX0NIT09TRV9QQVRIICAgICAgICAgIsCvtNC9uiC48cD7IMb6tPW4piC8scXDx8+9yr3Dv8AuIgogICAgSURTX0hJREVfQURWQU5DRUQgICAgICAgIsPfsKG/ybzHILz7seKx4iIKICAgIElEU19TSE9XX0FEVkFOQ0VEICAgICAgICLD37Chv8m8xyC6uMDMseIiCiAgICBJRFNfTk9USEVNRSAgICAgICAgICAgICAiKMXXuLYgvvjAvSkiCiAgICBJRFNfVEFCX0dSQVBISUNTICAgICAgICAisde3ocfIIgogICAgSURTX1RBQl9ERVNLVE9QX0lOVEVHUkFUSU9OICK1pb26xanFviC8s8GkIgogICAgSURTX1RBQl9BVURJTyAgICAgICAgICAgIr/AtfC/wCIKICAgIElEU19UQUJfQUJPVVQgICAgICAgICAgICLBpLq4IgogICAgSURTX1dJTkVDRkdfVElUTEUgICAgICAgIldpbmUgvLPBpCIKICAgIElEU19XSU5FQ0ZHX1RJVExFX0FQUCAgICIlc7imIMCnx9EgV2luZSC8s8GkIgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIsXXuLYgxsTAzyIKICAgIElEU19USEVNRUZJTEVfU0VMRUNUICAgICLF17i2IMbEwM8gvLHFwyIKICAgIElEU19BVURJT19NSVNTSU5HICAgICAgICLH9sDnILe5wfa9usauuK6/oSC/wLXwv8AgteW288DMufawoSDB9sGktce+7iDA1sH2IL7KvcC0z7TZLlxuXG7D38O1ILXltvPAzLn2sKEgvLHFw776vcC0z7TZLlxuwMwgteW288DMufa4piC757/rx8+wxbOqILChtMnH0SC02bilILXltvPAzLn2uKYgvLHFw8fSILz2IMDWvcC0z7TZLlxuXG68scXDILvnx9fAzCDIv7D6uKYgs6rFuLO7seIgwKfH2LyttMIgwPu/6yC59sawwLsgtK23r77fIMfVtM+02S4iCiAgICBJRFNfU0hFTExfRk9MREVSICAgICAgICAivakgxvq09SIKICAgIElEU19MSU5LU19UTyAgICAgICAgICAgICK/qbHiv6Egv6yw4SIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RMTF9XQVJOSU5HICAgICAgICAgIsDMILbzwMy66revuK7AxyC3zrXlILz4vK24piC52bLZtMIgsM3AuyDD38O1x8/B9iC+yr3AtM+02S4uXG7BpLi7t84gudmy2b3DsNq9wLTPse4/IgogICAgSURTX0RMTF9XQVJOSU5HX0NBUFRJT04gIrDmsO06IL3DvbrF2yC288DMuuq3r7iuIgogICAgSURTX0RMTF9OQVRJVkUgICAgICAgICAgIrPXwMzGvLrqIgogICAgSURTX0RMTF9CVUlMVElOICAgICAgICAgIrO7wOUiCiAgICBJRFNfRExMX05BVElWRV9CVUlMVElOICAis9fAzMa8uuosILO7wOUiCiAgICBJRFNfRExMX0JVSUxUSU5fTkFUSVZFICAis7vA5Swgs9fAzMa8uuoiCiAgICBJRFNfRExMX0RJU0FCTEVEICAgICAgICAiu+e/68fPwfYgvsrAvSIKICAgIElEU19ERUZBVUxUX1NFVFRJTkdTICAgICKx4rq7ILyzwaQiCiAgICBJRFNfRVhFQ1VUQUJMRV9GSUxURVIgICAiV2luZSDHwbfOsde3pSAoKi5leGUsKi5leGUuc28pXDAqLmV4ZTsqLmV4ZS5zb1wwIgogICAgSURTX1VTRV9HTE9CQUxfU0VUVElOR1MgIsD8w7wgvLPBpCC757/rIgogICAgSURTX1NFTEVDVF9FWEVDVVRBQkxFICAgIr3Hx+AgxsTAzyC8scXDIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfU0hBREVSX01PREVfSEFSRFdBUkUgICAgIsfPteW//r7uIgogICAgSURTX1NIQURFUl9NT0RFX05PTkUgICAgICAgICK++MC9IgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgIElEU19EUklWRV9VTktOT1dOICAgICAgICAgICAiwNq1v8C4t84gw6Ox4iIKICAgSURTX0RSSVZFX0ZJWEVEICAgICAgICAgICAgICK/rLDhtcggx8+15SC18L26xakiCiAgIElEU19EUklWRV9SRU1PVEUgICAgICAgICAgICAis9fGrr/2xakgsPjAryIKICAgSURTX0RSSVZFX1JFTU9WQUJMRSAgICAgICAgICLHw7fOx8cgtfC9usWpIgogICBJRFNfRFJJVkVfQ0RST00gICAgICAgICAgICAgIkNELVJPTSIKICAgSURTX0RSSVZFX0xFVFRFUlNfRVhDRUVERUQgICK0573FwLogtPUgwMy78yC15bbzwMy66rimIMPfsKHH0iC89iC++L3AtM+02S5cblxusKIgteW288DMuuq0wiC53bXlvcMgQX5ase7B9sDHILmuwNq4piCwocH9tM+02Swgsde3obytILTnvcXAuiAyNrCzuri02SC09SC4ucDMIMPfsKHH0iC89iC++L3AtM+02SIKICAgSURTX1NZU1RFTV9EUklWRV9MQUJFTCAgICAgICK9w726xdsgteW288DMuuoiCiAgIElEU19DT05GSVJNX0RFTEVURV9DICAgICAgICAitOe9xcC6IMfPteUgteW288DMuuogIEO4piDB9r/sseK4piC/+MfVtM+x7j9cblxutOu6zrrQwMcgwKm1tb/sIMfBt86x17elwLogQ7XltvPAzLrqsKEgwNa02bDtIL+5u/PHz7DtLCAgvvjAuLjpILTZv+61ybDNwNS0z7TZLiC4uL7gILTnvcXAzCCw6LzTIMH4x+DHz7HiuKYgv/jH0bTZuOkgud215b3DILTZvcMguLi15b3KvcO/wCEiCiAgIElEU19DT0xfRFJJVkVMRVRURVIgICAgICAgICAiua7A2iIKICAgSURTX0NPTF9EUklWRU1BUFBJTkcgICAgICAgICK15bbzwMy66iDH0rTnIgogICBJRFNfTk9fRFJJVkVfQyAgICAgICAgICAgICAgIrTnvcXAuiAgQ7XltvPAzLrquKYgsKHB9rDtIMDWwfYgvsq9wLTPtNkuIMDMsM3AuiDBwcC6IMDPwMwgvsa01bTPtNkuXG5cbrXltvPAzLrqIMXHv6G8rSBbw9+woV24piDFrLivx9i8rSC4uLXltMIgsM3AuyDA2MH2ILi2vcq9w7/AIVxuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgIElEU19BQ0NFTF9GVUxMICAgICAgICAgICAgICAiwPzDvCIKICAgSURTX0FDQ0VMX1NUQU5EQVJEICAgICAgICAgICLHpcHYIgogICBJRFNfQUNDRUxfQkFTSUMgICAgICAgICAgICAgIrHiursiCiAgIElEU19BQ0NFTF9FTVVMQVRJT04gICAgICAgICAivta5xLe5wMy8xyIKICAgSURTX0RSSVZFUl9BTFNBICAgICAgICAgICAgICJBTFNBILXltvPAzLn2IgogICBJRFNfRFJJVkVSX0VTT1VORCAgICAgICAgICAgIkVzb3VuRCC15bbzwMy59iIKICAgSURTX0RSSVZFUl9PU1MgICAgICAgICAgICAgICJPU1MgteW288DMufYiCiAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiSkFDSyC15bbzwMy59iIKICAgSURTX0RSSVZFUl9OQVMgICAgICAgICAgICAgICJOQVMgteW288DMufYiCiAgIElEU19EUklWRVJfQVVESU9JTyAgICAgICAgICAiQXVkaW8gSU8gKFNvbGFyaXMpILXltvPAzLn2IgogICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIkNvcmVBdWRpbyC15bbzwMy59iIKICAgSURTX09QRU5fRFJJVkVSX0VSUk9SICAgICAgICIlc7imIL+tILz2IL74vcC0z7TZISIKICAgSURTX1NPVU5ERFJJVkVSUyAgICAgICAgICAgICK757/uteUgteW288DMufYiCiAgIElEU19ERVZJQ0VTX1dBVkVPVVQgICAgICAgICAiV2F2ZSDD4rfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX1dBVkVJTiAgICAgICAgICAiV2F2ZSDA1LfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX01JRElPVVQgICAgICAgICAiTUlESSDD4rfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX01JRElJTiAgICAgICAgICAiTUlESSDA1LfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX0FVWCAgICAgICAgICAgICAiQXV4IMDlxKEiCiAgIElEU19ERVZJQ0VTX01JWEVSICAgICAgICAgICAiTWl4ZXIgwOXEoSIKICAgSURTX1VOQVZBSUxBQkxFX0RSSVZFUiAgICAgICK3ucH2vbrGrriuv6G8rSCwobTJx8/B9iC+ysC6ILXltvPAzLn2sKEgud+w37XHvvq9wLTPtNkhXG5cbiAlc7imILe5wfa9usauuK6/obytIMH2v+yw2r3AtM+x7j8iCiAgIElEU19XQVJOSU5HICAgICAgICAgICAgICAgICAisOaw7SIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICBJRENfU1lTUEFSQU1TX0JVVFRPTiAgICAgICAgICAgICLEwcaut9Egueiw5iIKICAgSURDX1NZU1BBUkFNU19CVVRUT05fVEVYVCAgICAgICAixMHGrrfRILmuwNoiCiAgIElEQ19TWVNQQVJBTVNfREVTS1RPUCAgICAgICAgICAgIrnZxcHIrbjpIgogICBJRENfU1lTUEFSQU1TX01FTlUgICAgICAgICAgICAgICK43rS6ILnosOYiCiAgIElEQ19TWVNQQVJBTVNfTUVOVV9URVhUICAgICAgICAgIrjetLogua7A2iIKICAgSURDX1NZU1BBUkFNU19TQ1JPTExCQVIgICAgICAgICAiuPG3z7nZIgogICBJRENfU1lTUEFSQU1TX1NFTEVDVElPTiAgICAgICAgICK8scXDtcggueiw5iIKICAgSURDX1NZU1BBUkFNU19TRUxFQ1RJT05fVEVYVCAgICAivLHFw7XIILmuwNoiCiAgIElEQ19TWVNQQVJBTVNfVE9PTFRJUCAgICAgICAgICAgIrW1sbjGwSC56LDmIgogICBJRENfU1lTUEFSQU1TX1RPT0xUSVBfVEVYVCAgICAgICK1tbG4xsEgua7A2iIKICAgSURDX1NZU1BBUkFNU19XSU5ET1cgICAgICAgICAgICAiw6Igueiw5iIKICAgSURDX1NZU1BBUkFNU19XSU5ET1dfVEVYVCAgICAgICAiw6Igua7A2iIKICAgSURDX1NZU1BBUkFNU19BQ1RJVkVfVElUTEUgICAgICAiyLC8urXIIMGmuPEguLe06yIKICAgSURDX1NZU1BBUkFNU19BQ1RJVkVfVElUTEVfVEVYVCAiyLC8urXIIMGmuPEgua7A2iIKICAgSURDX1NZU1BBUkFNU19JTkFDVElWRV9USVRMRSAgICAiuvHIsLy6tcggwaa48SC4t7TrIgogICBJRENfU1lTUEFSQU1TX0lOQUNUSVZFX1RJVExFX1RFWFQgIrrxyLC8urXIIMGmuPEgua7A2iIKRU5ECg==