LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogUnVzc2lhbiBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIElnb3IgU3RlcGluCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfUlVTU0lBTiwgU1VCTEFOR19ERUZBVUxUCgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNzAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgIFBBQ0tBR0VfU1RSSU5HLElEQ19TVEFUSUMsMTE5LDE3LDEyMCw4CiAgICBDT05UUk9MICAgICAgICAgSURCX1dJTkUsSURDX1NUQVRJQywiU3RhdGljIixTU19CSVRNQVAgLDE1LDE3LDE1NywxMTEKICAgIExURVhUICAgICAgICAgICAiaHR0cDovL3d3dy53aW5laHEub3JnLyIsSURDX1NUQVRJQywxMTksMzEsMTA2LDgKLyoKICAgIExURVhUICAgICAgICAgICAi3fLgIOHo4evo7vLl6uAg/+Lr/+Xy8f8g8eLu4e7k7fvsIO/w7uPw4Ozs7fvsIO7h5fHv5ffl7ejl7Dsg4vsg7O7m5fLlIPDg8e/w7vHy8ODt//L8IOW4IOgv6OvoIOzu5Oj06Pbo8O7i4PL8IPHu4+vg8e3uIPPx6+7i6P/sIOvo9uXt5+joIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwg7u/z4evo6u7i4O3t7ukgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyDi5fDx6OggMi4xIOvo9uXt5+joIOjr6CAo7eAg4uD45SDz8ezu8vDl7ejlKSDr/uHu6SDh7uvl5SDv7ufk7eXpLiIsCiovCiAgICBMVEVYVCAgICAgICAgICAgIlRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDExOSw0NCwxMjQsNzIKRU5ECgpJRERfQVBQQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiDN4PHy8O7p6uAg7/Do6+7m5e3o6SAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUg7O7m5fIg6Ozo8ujw7uLg8vwg8ODn7fvlIOLl8PHo6CBXaW5kb3dzIOTr/yDw4Oft+/Ug7/Do6+7m5e3o6S4g3fLgIOLq6+Dk6uAg8eL/5+Dt4CDxIOLq6+Dk6uDs6CDB6OHr6O7y5eroIOggw/Dg9Ojq4Cwg5Ov/IPLu4+4g9/Lu4fsg7+7n4u7r6PL8IOLg7CDo5+zl7ejy/CDj6+7h4Ov87fvlIO3g8fLw7unq6CDo6+gg7eDx8vDu6eroIPLu6/zq7iDk6/8g7u/w5eTl67jt7e7j7iDv8Ojr7ubl7ej/IPLg6ublIOgg4iD98uj1IOLq6+Dk6uD1LiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsNjAKICAgIENPTlRST0wgICAgICAgICAiz/Do6+7m5e3o/yIsSURDX0FQUF9MSVNUVklFVywiU3lzTGlzdFZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IExWU19MSVNUIHwgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTLAogICAgICAgICAgICAgICAgICAgIDE1LDY1LDIzMCwxMzQKICAgIFBVU0hCVVRUT04JICAgICImxO7h4OLo8vwg7/Do6+7m5e3o5S4uLiIsSURDX0FQUF9BRERBUFAsIDY4LDIwNCw5NCwxNAogICAgUFVTSEJVVFRPTgkgICAgIibT5ODr6PL8IO/w6Ovu5uXt6OUiLElEQ19BUFBfUkVNT1ZFQVBQLCAxNjQsMjA0LDc4LDE0CiAgICBMVEVYVCAgICAgICAgICAgIibC5fDx6P8gV2luZG93czoiLElEQ19TVEFUSUMsMTcsMjI2LDU4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDIyNCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QICAgIApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQJICAgICLD6/Ph6O3gIPbi5fLgIP3q8ODt4DogIixJRENfU1RBVElDLDgsMTAsMTIwLDMwCiAgICBDT01CT0JPWAkgICAgSURDX1NDUkVFTl9ERVBUSCw5MCw4LDE2MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBHUk9VUEJPWCAgICAgICAgIiDN4PHy8O7p6ugg7urt4CAiLElEQ19TVEFUSUMsOCwyNSwyNDQsMTEwCgogICAgQ09OVFJPTAkgICAgItDg5/Dl+Ojy/CDv8Ojr7ubl7ej+IERpcmVjdFgg8+Tl8Obo4uDy/CDs+/j8IOIg8eLuuOwg7urt5SIsSURDX0RYX01PVVNFX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwzNSwyMzUsOAogICAgQ09OVFJPTAkgICAgIsLq6/736PL8IOTi7unt8/4g4fP05fDo5+D26P4g8ODh7vfl4+4g8fLu6+AiLElEQ19ET1VCTEVfQlVGRkVSLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsNDUsMjMwLDgKICAgIAogICAgLyogRklYTUU6IHRoZSB3b3JkaW5nIG9mIHRoaXMgZXhwbGFuYXRpb24gY291bGQgYmUgYSBsb3QgYmV0dGVyICovCiAgICBMVEVYVCAgICAgICAgICAgIsXx6+gg4urr/vfo8vwg/ezz6//26P4g8ODh7vfl4+4g8fLu6+AsIPLuIOLx5SDu6u3gIOHz5PPyIO7y7uHw4Obg8vzx/yDiIO7k7e7sICfi6PDy8+Dr/O3u7CD96vDg7eUnLCDo7eD35SDu6u3gIPDg5+zl+eD+8vH/IOrg6iDu4fv37fvlLCDt4CDx8uDt5ODw8u3u7CDw4OHu9+XsIPHy7uvlLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSw3MywyMjgsMjgKICAgIExURVhUICAgICAgICAgICAi0ODn7OXwIPDg4e735ePuIPHy7uvgOiIsSURDX0RFU0tUT1BfU0laRSwxNSwxMTUsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgICAgICJYIixJRENfREVTS1RPUF9CWSwxMDgsMTE1LDgsOCxXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICLd7PPr6PDu4uDy/CDi6PDy8+Dr/O376SDw4OHu9+jpIPHy7usiLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDEwMCwyMzAsMTAKCQkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfV0lEVEgsNjQsMTE1LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9IRUlHSFQsMTE3LDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECgogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsMTQwLDI0NCwxMjAKCiAgICBMVEVYVAkgICAgIs/u5OTl8Obq4CBWZXJ0ZXggU2hhZGVyOiAiLElEQ19TVEFUSUMsMTUsMTUwLDEyMCwzMAogICAgQ09NQk9CT1gJICAgIElEQ19EM0RfVlNIQURFUl9NT0RFLDEyMCwxNDgsMTMwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiwurr/vfo8vwgUGl4ZWwgU2hhZGVyICjl8evoIO/u5OTl8Obo4uDl8vH/IO7h7vDz5O7i4O3o5ewpIixJRENfRDNEX1BTSEFERVJfTU9ERSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE2NSwyMzAsMTAKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiDH4Ozl+eXt6P8gRExMICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICLE6O3g7Oj35fHq6CDv7uTq6/734OXs++Ug4ejh6+ju8uXq6CDs7uPz8iDh+/L8IOLx8vDu5e3t++zoIGJ1aWx0aW4gKO/w5eTu8fLg4uv//vLx/yBXaW5lKSDo6+gg8O7k7fvs6CBuYXRpdmUgKOHl8PPy8f8g6OcgV2luZG93cyDo6+gg7/Dl5O7x8uDi6//+8vH/IO/w6Ovu5uXt6OXsKS4iCiAgICAgICAgICAgICAgICAgICAgLElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIs3u4u7lIOfg7OX55e3o5SDk6/8g4ejh6+ju8uXq6DoiLElEQ19TVEFUSUMsMTYsNTgsMTYwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMQ09NQk8sMTYsNjgsMTQwLDE0LENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQgfCBDQlNfTE9XRVJDQVNFCiAgICBQVVNIQlVUVE9OICAgICAgIibE7uHg4ujy/CIsSURDX0RMTFNfQURERExMLCAxNjQsNjgsODIsMTMsQlNfREVGUFVTSEJVVFRPTiAKICAgIExURVhUICAgICAgICAgICAi0fP55fHy4vP++ejlIOfg7OX55e3o/zoiLElEQ19TVEFUSUMsMTYsODYsMTAwLDgKICAgIExJU1RCT1ggICAgICAgICBJRENfRExMU19MSVNULDE2LDk2LDE0MCwxNDAsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJtDl5ODq8ujw7uLg8vwiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIibT5ODr6PL8IixJRENfRExMU19SRU1PVkVETEwsMTY0LDExNCw4MiwxNCAKRU5ECgpJRERfTE9BRE9SREVSIERJQUxPRyBESVNDQVJEQUJMRSA4MCwgOTAsIDEzMCwgOTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItDl5ODq8ujw7uLg8vwg5+Ds5fnl7ejlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiDP7vD/5O7qIOfg4/Dz5+roICIsSURDX1NUQVRJQyw4LDQsMTE1LDY2CiAgICBDT05UUk9MICAgICAgICAgIibC8fLw7uXt7eD/IChXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNiwxNCwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiJtDu5O3g/yAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIsIm8fLw7uXt7eD/IOfg8uXsIPDu5O3g/yIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDM0LDEwNSwxMAogICAgQ09OVFJPTCAgICAgICAgICLQ7uQm7eD/IOfg8uXsIOLx8vDu5e3t4P8iLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiJsHr7uro8O7i4PL8IixJRENfUkFEX0RJU0FCTEUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw1NCwxMDUsMTAKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssOCw3NCw0NSwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLO8uzl7eAiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiDN4PHy8O7p6uAg5Ojx6u7iICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICImxO7h4OLo8vwuLi4iLElEQ19CVVRUT05fQURELDE1LDk4LDQ1LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIibT5ODr6PL8IixJRENfQlVUVE9OX1JFTU9WRSw2Niw5OCw0NywxNAogICAgUFVTSEJVVFRPTiAgICAgICImwOLy7u7v8OXk5evl7ejlLi4uIixJRENfQlVUVE9OX0FVVE9ERVRFQ1QsMTY1LDk4LDgwLDE0CgogICAgLyogZWRpdGluZyBkcml2ZSBkZXRhaWxzICovCiAgICBMVEVYVCAgICAgICAgICAgIibP8/L8OiIsSURDX1NUQVRJQywxNSwxMjMsMjAsOSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibO4efu8C4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwyMDYsMTIwLDQwLDEzCiAgICAKICAgIExURVhUICAgICAgICAgICAiJtLo7zoiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMjEsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw0MSwxMzUsNzcsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAKICAgIExURVhUICAgICAgICAgICAizOXy6uAg6CDx5fDo6e376SDt7uzl8CIsSURDX0xBQkVMU0VSSUFMX1NUQVRJQywxNSwxNTUsOTUsMTAKICAgIAogICAgUFVTSEJVVFRPTiAgICAgICLE7u/u6+3o8uXr/O3uLi4uIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxNTAsMTM2LDk2LDEzCiAgICBDT05UUk9MICAgICAgICAgIsDi8u7u7/Dl5OXr6PL8ICZjIPPx8vDu6fHy4uA6IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTY2LDE1MCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSwyNywxNzYsMTc0LDEzLEVTX0FVVE9IU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIs7hJufu8C4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDIwNiwxNzYsNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiJs3g5+3g9+jy/CDi8PP37fP+OiIsSURDX1JBRElPX0FTU0lHTiwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTk1LDEwMCwxMAoKICAgIExURVhUICAgICAgICAgICAiJszl8urgOiIsSURDX1NUQVRJQ19MQUJFTCwzMywyMDgsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9MQUJFTCwxMDMsMjA1LDExOCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi0eXw6Ont++kg7e7s5fA6IixJRENfU1RBVElDX1NFUklBTCwzMywyMjUsODAsMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsMTAzLDIyMSwxMTgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICLP7urg5/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==