LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogUnVzc2lhbiBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIElnb3IgU3RlcGluCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfUlVTU0lBTiwgU1VCTEFOR19ERUZBVUxUCgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNzAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgICLC5fDx6P8gV2luZToiLElEQ19TVEFUSUMsMTE5LDE3LDU1LDgKICAgIExURVhUICAgICAgICAgICAiQ1ZTIixJRENfV0lORVZFUiwxNzksMTcsNTYsOAogICAgQ09OVFJPTCAgICAgICAgIElEQl9XSU5FLElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfQklUTUFQICwxNSwxNywxNTcsMTExCiAgICBMVEVYVCAgICAgICAgICAgImh0dHA6Ly93d3cud2luZWhxLm9yZy8iLElEQ19TVEFUSUMsMTE5LDMxLDEwNiw4Ci8qCiAgICBDVEVYVCAgICAgICAgICAgIt3y4CDh6OHr6O7y5ergIP/i6//l8vH/IPHi7uHu5O377CDv8O7j8ODs7O377CDu4eXx7+X35e3o5ew7IOL7IOzu5uXy5SDw4PHv8O7x8vDg7f/y/CDluCDoL+jr6CDs7uTo9Oj26PDu4uDy/CDx7uPr4PHt7iDz8evu4uj/7CDr6Pbl7efo6CBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIO7v8+Hr6Oru4uDt7e7pIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg4uXw8ejoIDIuMSDr6Pbl7efo6CDo6+ggKO3gIOLg+OUg8/Hs7vLw5e3o5Skg6/7h7ukg4e7r5eUg7+7n5O3l6S4iLAoqLwogICAgQ1RFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgzeDx8vDu6ergIO/w6Ovu5uXt6OkgIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lIOzu5uXyIOjs6PLo8O7i4PL8IPDg5+375SDi5fDx6OggV2luZG93cyDk6/8g8ODn7fv1IO/w6Ovu5uXt6OkuIN3y4CDi6uvg5OrgIPHi/+fg7eAg8SDi6uvg5Org7Oggwejh6+ju8uXq6CDoIMPw4PTo6uAsIOTr/yDy7uPuIPfy7uH7IO/u5+Lu6+jy/CDi4Owg6Ofs5e3o8vwg4+vu4eDr/O375SDt4PHy8O7p6ugg6OvoIO3g8fLw7unq6CDy7uv86u4g5Ov/IO7v8OXk5eu47e3u4+4g7/Do6+7m5e3o/yDy4Orm5SDoIOIg/fLo9SDi6uvg5Org9S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDYwCiAgICBDT05UUk9MICAgICAgICAgIs/w6Ovu5uXt6P8iLElEQ19BUFBfTElTVFZJRVcsIlN5c0xpc3RWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBMVlNfTElTVCB8IExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUywKICAgICAgICAgICAgICAgICAgICAxNSw2NSwyMzAsMTM0CiAgICBQVVNIQlVUVE9OCSAgICAiJsTu4eDi6PL8IO/w6Ovu5uXt6OUuLi4iLElEQ19BUFBfQUREQVBQLCA2OCwyMDQsOTQsMTQKICAgIFBVU0hCVVRUT04JICAgICIm0+Tg6+jy/CDv8Ojr7ubl7ejlIixJRENfQVBQX1JFTU9WRUFQUCwgMTY0LDIwNCw3OCwxNAogICAgTFRFWFQgICAgICAgICAgICImwuXw8ej/IFdpbmRvd3M6IixJRENfU1RBVElDLDE3LDIyNiw1OCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiw4MywyMjQsMTYzLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCAgICAKRU5ECgpJRERfR1JBUEhDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUCSAgICAiw+vz4ejt4CD24uXy4CD96vDg7eA6ICIsSURDX1NUQVRJQyw4LDEwLDEyMCwzMAogICAgQ09NQk9CT1gJICAgIElEQ19TQ1JFRU5fREVQVEgsOTAsOCwxNjAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgR1JPVVBCT1ggICAgICAgICIgzeDx8vDu6eroIO7q7eAgIixJRENfU1RBVElDLDgsMjUsMjQ0LDExMAoKICAgIENPTlRST0wJICAgICLQ4Ofw5fjo8vwg7/Do6+7m5e3o/iBEaXJlY3RYIPPk5fDm6OLg8vwg7Pv4/CDiIPHi7rjsIO7q7eUiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzUsMjM1LDgKICAgIENPTlRST0wJICAgICLC6uv+9+jy/CDk4u7p7fP+IOHz9OXw6Ofg9uj+IPDg4e735ePuIPHy7uvgIixJRENfRE9VQkxFX0JVRkZFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDQ1LDIzMCw4CiAgICAKICAgIC8qIEZJWE1FOiB0aGUgd29yZGluZyBvZiB0aGlzIGV4cGxhbmF0aW9uIGNvdWxkIGJlIGEgbG90IGJldHRlciAqLwogICAgTFRFWFQgICAgICAgICAgICLF8evoIOLq6/736PL8IP3s8+v/9uj+IPDg4e735ePuIPHy7uvgLCDy7iDi8eUg7urt4CDh8+Tz8iDu8u7h8ODm4PL88f8g4iDu5O3u7CAn4ujw8vPg6/zt7uwg/erw4O3lJywg6O3g9+Ug7urt4CDw4Ofs5fng/vLx/yDq4Oog7uH79+375Swg7eAg8fLg7eTg8PLt7uwg8ODh7vfl7CDx8u7r5S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsNzMsMjI4LDI4CiAgICBMVEVYVCAgICAgICAgICAgItDg5+zl8CDw4OHu9+Xj7iDx8u7r4DoiLElEQ19ERVNLVE9QX1NJWkUsMTUsMTE1LDQ0LDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTA4LDExNSw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAi3ezz6+jw7uLg8vwg4ujw8vPg6/zt++kg8ODh7vfo6SDx8u7rIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMDAsMjMwLDEwCgkJICAgIAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDExNywxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdDNEICIsSURDX1NUQVRJQyw4LDE0MCwyNDQsMTIwCgogICAgTFRFWFQJICAgICLP7uTk5fDm6uAgVmVydGV4IFNoYWRlcjogIixJRENfU1RBVElDLDE1LDE1MCwxMjAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMjAsMTQ4LDEzMCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIsLq6/736PL8IFBpeGVsIFNoYWRlciAo5fHr6CDv7uTk5fDm6OLg5fLx/yDu4e7w8+Tu4uDt6OXsKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxNjUsMjMwLDEwCkVORAoKSUREX0RMTENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgx+Ds5fnl7ej/IERMTCAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAixOjt4Ozo9+Xx6ugg7+7k6uv+9+Dl7PvlIOHo4evo7vLl6ugg7O7j8/Ig4fvy/CDi8fLw7uXt7fvs6CBidWlsdGluICjv8OXk7vHy4OLr//7y8f8gV2luZSkg6OvoIPDu5O377OggbmF0aXZlICjh5fDz8vH/IOjnIFdpbmRvd3Mg6OvoIO/w5eTu8fLg4uv//vLx/yDv8Ojr7ubl7ejl7CkuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICLN7uLu5SDn4Ozl+eXt6OUg5Ov/IOHo4evo7vLl6ug6IixJRENfU1RBVElDLDE2LDU4LDE2MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RMTENPTUJPLDE2LDY4LDE0MCwxNCxDQlNfRFJPUERPV04gfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUIHwgQ0JTX0xPV0VSQ0FTRQogICAgUFVTSEJVVFRPTiAgICAgICImxO7h4OLo8vwiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04gCiAgICBMVEVYVCAgICAgICAgICAgItHz+eXx8uLz/vno5SDn4Ozl+eXt6P86IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIibQ5eTg6vLo8O7i4PL8IixJRENfRExMU19FRElURExMLDE2NCw5Niw4MiwxNAogICAgUFVTSEJVVFRPTiAgICAgICIm0+Tg6+jy/CIsSURDX0RMTFNfUkVNT1ZFRExMLDE2NCwxMTQsODIsMTQgCkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgRElTQ0FSREFCTEUgODAsIDkwLCAxMzAsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLQ5eTg6vLo8O7i4PL8IOfg7OX55e3o5SIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgz+7w/+Tu6iDn4OPw8+fq6CAiLElEQ19TVEFUSUMsOCw0LDExNSw2NgogICAgQ09OVFJPTCAgICAgICAgICImwvHy8O7l7e3g/yAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYsMTQsMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIibQ7uTt4P8gKFdpbmRvd3MpIixJRENfUkFEX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI0LDEwNSwxMAogICAgQ09OVFJPTCAgICAgICAgICLCJvHy8O7l7e3g/yDn4PLl7CDw7uTt4P8iLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAi0O7kJu3g/yDn4PLl7CDi8fLw7uXt7eD/IixJRENfUkFEX05BVElWRV9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNDQsMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIibB6+7q6PDu4uDy/CIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsMTA1LDEwCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDgsNzQsNDUsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAizvLs5e3gIixJRENBTkNFTCw1Nyw3NCw0NSwxNCxXU19HUk9VUApFTkQKCklERF9EUklWRUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgzeDx8vDu6ergIOTo8eru4iAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX0RSSVZFUywiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8IExWU19BVVRPQVJSQU5HRSB8IExWU19BTElHTkxFRlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxOCwyMzIsNzYKICAgIFBVU0hCVVRUT04gICAgICAiJsTu4eDi6PL8Li4uIixJRENfQlVUVE9OX0FERCwxNSw5OCw0NSwxNAogICAgUFVTSEJVVFRPTiAgICAgICIm0+Tg6+jy/CIsSURDX0JVVFRPTl9SRU1PVkUsNjYsOTgsNDcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJsDi8u7u7/Dl5OXr5e3o5S4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE2NSw5OCw4MCwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImz/Py/DoiLElEQ19TVEFUSUMsMTUsMTIzLDIwLDkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUEFUSCw0MSwxMjAsMTYwLDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImzuHn7vAuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIibS6O86IixJRENfU1RBVElDX1RZUEUsMTUsMTM4LDIxLDEwCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsNDEsMTM1LDc3LDYwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgCiAgICBMVEVYVCAgICAgICAgICAgIszl8urgIOgg8eXw6Ont++kg7e7s5fAiLElEQ19MQUJFTFNFUklBTF9TVEFUSUMsMTUsMTU1LDk1LDEwCiAgICAKICAgIFBVU0hCVVRUT04gICAgICAixO7v7uvt6PLl6/zt7i4uLiIsSURDX0JVVFRPTl9TSE9XX0hJREVfQURWQU5DRUQsMTUwLDEzNiw5NiwxMwogICAgQ09OVFJPTCAgICAgICAgICLA4vLu7u/w5eTl6+jy/CAmYyDz8fLw7unx8uLgOiIsSURDX1JBRElPX0FVVE9ERVRFQ1QsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE2NiwxNTAsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMjcsMTc2LDE3NCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICLO4Sbn7vAuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwyMDYsMTc2LDQwLDEzCiAgICBDT05UUk9MICAgICAgICAgIibN4Oft4Pfo8vwg4vDz9+3z/joiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE5NSwxMDAsMTAKCiAgICBMVEVYVCAgICAgICAgICAgIibM5fLq4DoiLElEQ19TVEFUSUNfTEFCRUwsMzMsMjA4LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsMTAzLDIwNSwxMTgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItHl8Ojp7fvpIO3u7OXwOiIsSURDX1NUQVRJQ19TRVJJQUwsMzMsMjI1LDgwLDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDEwMywyMjEsMTE4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiz+7q4Of74uDy/CDx6Ozi7uvo9+Xx6ujlIPHx++vq6CDt4CDq4PLg6+7j6CIsSURDX1NIT1dfRElSU1lNX0xJTkssIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw4LDI1MCwyMzAsOAogICAgQ09OVFJPTCAgICAgICAgICLP7urg5/vi4PL8IPTg6ev7LCDt4Pfo7eD++ejl8f8g8SDy7vfq6CIsSURDX1NIT1dfRE9UX0ZJTEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsOCwyNjAsMjMwLDgKRU5ECgpJRERfQVVESU9DRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUCSLH4vPq7uLu6SDk8ODp4uXwOiAiLElEQ19TVEFUSUMsNDAsMjAsOTAsOAogICAgQ09NQk9CT1gJSURDX0FVRElPX0RSSVZFUiw0MCw0MCw3NSwxMDUsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OCSLO7/Dl5OXr6PL8IODi8u7s4PLo9+Xx6ugiLElEQ19BVURJT19BVVRPREVURUNULDE1MCwyMCwxMDAsMTQKICAgIFBVU0hCVVRUT04JIs3g8fLw7ujy/CIsSURDX0FVRElPX0NPTkZJR1VSRSwxNzAsNDAsODAsMTQKICAgIFBVU0hCVVRUT04JIs/g7eXr/CDz7/Dg4uvl7ej/IixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNzAsNjAsODAsMTQKCiAgICBHUk9VUEJPWCAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDc1LDI0NCwxMjAKCiAgICBMVEVYVAkiwO/v4PDg8u3u5SDz8eru8OXt6OU6ICIsSURDX1NUQVRJQywxNSw4NSw5MCwxMAogICAgQ09NQk9CT1gJSURDX0RTT1VORF9IV19BQ0NFTCwxMDAsODMsMTUwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgIs/w7uPw4Ozs7eD/IP3s8+v/9uj/IixJRENfRFNPVU5EX0RSVl9FTVVMLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTAwLDIzMCwxMAoKRU5ECgpJRERfQVBQRUFSQU5DRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgICLS5ezgOiIsSURDX1NUQVRJQywxNSw1LDIyOCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sMTUsMTMsMjI4LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICLT8fLg7e7i6PL8IPLl7PMuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwzMiw5MCwxNAogICAgTFRFWFQgICAgICAgICAgICLW4uXyOiIsSURDX1RIRU1FX0NPTE9SVEVYVCwxNSw0OCwyMjgsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9DT0xPUkNPTUJPLDE1LDU2LDIyOCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi0ODn7OXwOiIsSURDX1RIRU1FX1NJWkVURVhULDE1LDc0LDIyOCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1NJWkVDT01CTywxNSw4MiwyMjgsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19XSU5FX1ZFUlNJT04gICAgICAgICJDVlMiCiAgICBJRFNfVEFCX0FQUExJQ0FUSU9OUyAgICAiz/Do6+7m5e3o/yIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICLB6OHr6O7y5eroIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIsTo8eroIgogICAgSURTX0NIT09TRV9QQVRIICAgICAgICAgIsL74eXw6PLlIHVuaXgg6uDy4Ovu4yDk6/8g5Ojx6uAuIgogICAgSURTX0hJREVfQURWQU5DRUQgICAgICAgItHq8Pvy/CDk7u/u6+3o8uXr/O375SIKICAgIElEU19TSE9XX0FEVkFOQ0VEICAgICAgICLP7urg5+Dy/CDk7u/u6+3o8uXr/O375SIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIo4eXnIPLl7PspIgogICAgSURTX1RBQl9HUkFQSElDUyAgICAgICAgIsPw4PTo6uAiCiAgICBJRFNfVEFCX0FQUEVBUkFOQ0UgICAgICAiwu3l+O3o6SDi6OQiCiAgICBJRFNfVEFCX0FVRElPICAgICAgICAgICAiwPPk6O4iCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiziDv8O7j8ODs7OUiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAizeDx8vDu6ergIFdpbmUiCiAgICBJRFNfVEhFTUVGSUxFICAgICAgICAgICAi1ODp6/sg8uXsIgogICAgSURTX1RIRU1FRklMRV9TRUxFQ1QgICAgIsL74eXw6PLlIPTg6esg8SDy5ezu6SIKRU5ECg==