LyoKICogVHVya2lzaCBSZXNvdXJjZXMgZm9yIFByb2dyYW0gTWFuYWdlcgogKgogKiBDb3B5cmlnaHQgMjAwNiBGYXRpaCBB/v1j/QogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAicHJvZ21hbi5oIgoKTEFOR1VBR0UgTEFOR19UVVJLSVNILCBTVUJMQU5HX0RFRkFVTFQKCi8qIE1lbnUgKi8KCk1BSU5fTUVOVSBNRU5VCnsKIFBPUFVQICImRG9zeWEiIHsKICAgTUVOVUlURU0gIiZZZW5pLi4uIiwgICAgICAgICAgICAgICAgICBQTV9ORVcKICAgTUVOVUlURU0gIiZB51x0RW50ZXIiLCAgICAgICAgICAgICAgICBQTV9PUEVOCiAgIE1FTlVJVEVNICImVGH+/S4uLlx0RjciLCAgICAgICAgICAgICAgUE1fTU9WRSwgICAgICBHUkFZRUQKICAgTUVOVUlURU0gIiZLb3B5YWxhLi4uXHRGOCIsICAgICAgICAgICBQTV9DT1BZLCAgICAgIEdSQVlFRAogICBNRU5VSVRFTSAiJlNpbFx0RW50ZiIsICAgICAgICAgICAgICAgIFBNX0RFTEVURQogICBNRU5VSVRFTSAiJtZ6bml0ZWxpa2xlci4uLlx0QWx0K0VudGVyIiwgICAgICAgUE1fQVRUUklCVVRFUwogICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgTUVOVUlURU0gIsdhbP0m/nT9ci4uLiIsICAgICAgICAgICAgICBQTV9FWEVDVVRFCiAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICBNRU5VSVRFTSAiV2luZG93cyd0YW4gJsf9ay4uLiIsICAgICAgIFBNX0VYSVQKIH0KIFBPUFVQICImU2XnZW5la2xlciIgewogICBNRU5VSVRFTSAiT3RvbWF0aWsgJmT8emVubGUiLCAgICAgICAgIFBNX0FVVE9fQVJSQU5HRQogICBNRU5VSVRFTSAiJlNpbWdlIGhhbGluZGUg52Fs/f50/XIiLCAgIFBNX01JTl9PTl9SVU4KICAgTUVOVUlURU0gIibH/Wv9/nRhIGF5YXJsYXL9IHNha2xhIiwgICBQTV9TQVZFX1NFVFRJTkdTCiB9CiBQT1BVUCAiJlBlbmNlcmVsZXIiIHsKICAgTUVOVUlURU0gIibcc3Qg/HN0ZSBkaXpcdFNoaWZ0K0Y1IiwgICBQTV9PVkVSTEFQCiAgIE1FTlVJVEVNICImWWFuIHlhbmEgZGl6XHRTaGlmdCtGNCIsICAgUE1fU0lERV9CWV9TSURFCiAgIE1FTlVJVEVNICImU2ltZ2VsZXJpIGT8emVubGUiLCAgICAgICAgUE1fQVJSQU5HRQogfQogClBPUFVQICImWWFyZP1tIiB7CiAgIE1FTlVJVEVNICIm3edpbmRla2lsZXIiLCAgICAgICAgIFBNX0NPTlRFTlRTCiAgIE1FTlVJVEVNICImQXJhLi4uIiwgICAgICAgICAgIFBNX1NFQVJDSAogICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgTUVOVUlURU0gIiZZYXJk/W0gS3VsbGFu/W39IiwgICAgIFBNX0hFTFBPTkhFTFAKICAgTUVOVUlURU0gIibW8HJldGljaSIsICAgICAgICAgUE1fVFVUT1JJQUwKICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgIE1FTlVJVEVNICImV2luZSBIYWtr/W5kYSIsICAgICBQTV9BQk9VVF9XSU5FCiB9Cn0KCi8qIERpYWxvZyBgTmV3JyAqLwoKRElBTE9HX05FVyBESUFMT0cgMCwgMCwgMTcwLCA2NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJZZW5pIgp7ClJBRElPQlVUVE9OICAgIiIsICAgICAgICAgICAgICAgICBQTV9ORVdfR1JPVVAsICAgIDEwLCAxNSwgIDEwLCAxNQpMVEVYVCAgICAgICAgICJQcm9ncmFtICZncnVidSIsICAgLTEsICAgIDIwLCAxOCwgIDgwLCAxNQpSQURJT0JVVFRPTiAgICIiLCAgICAgICAgICAgICAgICAgUE1fTkVXX1BST0dSQU0sICAxMCwgMzUsICAxMCwgMTUKTFRFWFQgICAgICAgICAiJlByb2dyYW0iLCAgICAgICAgIC0xLCAgMjAsIDM4LCAgODAsIDE1CkRFRlBVU0hCVVRUT04gIlRhbWFtIiwgICAgICAgICAgICBJRE9LLCAgICAgICAgICAgMTA1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICLdcHRhbCIsICAgICAgICAgICAgSURDQU5DRUwsICAgICAgIDEwNSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhZP1tIiwgICAgICAgICAgIFBNX0hFTFAsICAgICAgICAxMDUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIERpYWxvZyBgTW92ZScgKi8KCkRJQUxPR19NT1ZFIERJQUxPRyAwLCAwLCAyNTAsIDY1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb2dyYW39IFRh/v0iCnsKTFRFWFQgICAgICAgICAiVGH+/W5hY2FrIHByb2dyYW06IiwgICAtMSwgICAgICAgICAgICA1LCAgNSwgIDkwLCAxNQpMVEVYVCAgICAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgIFBNX1BST0dSQU0sICAgICAgICAgOTUsICA1LCAgOTAsIDE1CkxURVhUICAgICAgICAgIktheW5hayBncnVwOiIsICAgICAgICAgLTEsICAgICAgICAgICAgNSwgMTMsICA5MCwgMTUKTFRFWFQgICAgICAgICAiIiwgICAgICAgICAgICAgICAgICAgICBQTV9GUk9NX0dST1VQLCAgICAgIDk1LCAxMywgIDkwLCAxNQpMVEVYVCAgICAgICAgICImSGVkZWYgZ3J1cDoiLCAgICAgICAgIFBNX1RPX0dST1VQX1RYVCwgICAgIDUsIDI4LCAxNDAsIDE1CkNPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fVE9fR1JPVVAsICAgICAgICAgNSwgMzgsIDE0MCwgNTAsIFdTX1RBQlNUT1AgfCBDQlNfRFJPUERPV05MSVNUCkRFRlBVU0hCVVRUT04gIlRhbWFtIiwgICAgICAgICAgICAgIElET0ssICAgICAgICAgICAgICAxODUsICA1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIt1wdGFsIiwgICAgICAgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAxODUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZZYXJk/W0iLCAgICAgICAgICAgIFBNX0hFTFAsICAgICAgICAgICAxODUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIERpYWxvZyBgQ29weScgKi8KCkRJQUxPR19DT1BZIERJQUxPRyAwLCAwLCAyNTAsIDY1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb2dyYW0gS29weWFsYSIKewpMVEVYVCAgICAgICAgICJLb3B5YWxhbmFjYWsgcHJvZ3JhbToiLCAgIC0xLCAgICAgICAgICAgIDUsICA1LCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgICAgUE1fUFJPR1JBTSwgICAgICAgICA5NSwgIDUsICA5MCwgMTUKTFRFWFQgICAgICAgICAiS2F5bmFrIGdydXA6IiwgICAgICAgICAgICAtMSwgICAgICAgICAgICA1LCAxMywgIDkwLCAxNQpMVEVYVCAgICAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgICAgIFBNX0ZST01fR1JPVVAsICAgICAgOTUsIDEzLCAgOTAsIDE1CkxURVhUICAgICAgICAgIiZIZWRlZiBncnVwOiIsICAgICAgICAgICAgUE1fVE9fR1JPVVBfVFhULCAgICAgNSwgMjgsIDE0MCwgMTUKQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9UT19HUk9VUCwgICAgICAgICA1LCAzOCwgMTQwLCA1MCwgV1NfVEFCU1RPUCB8IENCU19EUk9QRE9XTkxJU1QKREVGUFVTSEJVVFRPTiAiVGFtYW0iLCAgICAgICAgICAgICAgICAgICBJRE9LLCAgICAgICAgICAgICAgMTg1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICLdcHRhbCIsICAgICAgICAgICAgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAxODUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZZYXJk/W0iLCAgICAgICAgICAgICAgICAgUE1fSEVMUCwgICAgICAgICAgIDE4NSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBHcm91cCBhdHRyaWJ1dGVzJyAqLwoKRElBTE9HX0dST1VQIERJQUxPRyAwLCAwLCAyMzAsIDY1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb2dyYW0gR3J1YnUg1nplbGxpa2xlcmkiCnsKTFRFWFQgICAgICImQef9a2xhbWE6IiwgICAgICAgIFBNX0RFU0NSSVBUSU9OX1RYVCwgICAwNSwgMTgsICA1MCwgMTAKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgIFBNX0RFU0NSSVBUSU9OLCAgICAgICA2MCwgMTgsICA5MCwgMTUsIFdTX1RBQlNUT1AKTFRFWFQgICAgICImR3J1cCBkb3N5YXP9OiIsICAgIFBNX0ZJTEVfVFhULCAgICAgICAgICAwNSwgMzgsICA1MCwgMTAKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgIFBNX0ZJTEUsICAgICAgICAgICAgICA2MCwgMzgsICA5MCwgMTUsIFdTX1RBQlNUT1AKREVGUFVTSEJVVFRPTiAiVGFtYW0iLCAgICAgICAgIElET0ssICAgICAgICAgICAgICAgIDE1NSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAi3XB0YWwiLCAgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAgIDE1NSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhcmT9bSIsICAgICAgIFBNX0hFTFAsICAgICAgICAgICAgIDE1NSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBQcm9ncmFtIGF0dHJpYnV0ZXMnICovCgpESUFMT0dfUFJPR1JBTSBESUFMT0cgMCwgMCwgMjUwLCAxMDUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvZ3JhbSDWemVsbGlrbGVyaSIKewpMVEVYVCAgICAgICAgICImQef9a2xhbWE6IiwgICAgICAgUE1fREVTQ1JJUFRJT05fVFhULCAgIDA1LCAxMCwgIDYwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fREVTQ1JJUFRJT04sICAgICAgIDgwLCAxMCwgIDkwLCAxNSwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICImS29tdXQgc2F0/XL9OiIsICAgUE1fQ09NTUFORF9MSU5FX1RYVCwgIDA1LCAyNSwgIDYwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fQ09NTUFORF9MSU5FLCAgICAgIDgwLCAyNSwgIDkwLCAxNSwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICImx2Fs/f5tYSBkaXppbmk6IiwgUE1fRElSRUNUT1JZX1RYVCwgICAgIDA1LCA0MCwgIDYwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fRElSRUNUT1JZLCAgICAgICAgIDgwLCA0MCwgIDkwLCAxNSwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICImVHX+IGtvbWJpbmFzeW9udToiLCAgICAgICAgUE1fSE9UX0tFWV9UWFQsICAgICAgIDA1LCA1NSwgIDYwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fSE9UX0tFWSwgICAgICAgICAgIDgwLCA1NSwgIDkwLCAxNSwgV1NfVEFCU1RPUApJQ09OICAgICAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fSUNPTiwgICAgICAgICAgICAgIDIwLCA3MApDSEVDS0JPWCAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fU1lNQk9MLCAgICAgICAgICAgIDgwLCA3NSwgIDEwLCAxMCwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICImU2ltZ2UgaGFsaW5kZSDnYWz9/nT9ciIsICAgLTEsICAgICAgICAgICAgIDk1LCA3NSwgIDc1LCAxMApERUZQVVNIQlVUVE9OICJUYW1hbSIsICAgICAgICAgICAgICAgICAgIElET0ssICAgICAgICAgICAgICAgIDE4NSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAi3XB0YWwiLCAgICAgICAgICAgICAgICAgICBJRENBTkNFTCwgICAgICAgICAgICAxODUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZH9nphdC4uLiIsICAgICAgICAgICAgICAgUE1fQlJPV1NFLCAgICAgICAgICAgMTg1LCA0NSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICJTaW1nZSAmZGXwaf50aXIuLi4iLCAgICAgIFBNX09USEVSX1NZTUJPTCwgICAgIDE4NSwgNjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhcmT9bSIsICAgICAgICAgICAgICAgICBQTV9IRUxQLCAgICAgICAgICAgICAxODUsIDg1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIERpYWxvZyBgU3ltYm9sJyAqLwoKRElBTE9HX1NZTUJPTCBESUFMT0cgMCwgMCwgMjAwLCA4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTaW1nZSBEZfBp/nRpciIKewpMVEVYVCAgICAgIiZEb3N5YSBhZP06IiwgICAgIFBNX0lDT05fRklMRV9UWFQsICAgIDUsIDE1LCAgNDAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgUE1fSUNPTl9GSUxFLCAgICAgICA0NSwgMTUsICA4NSwgMTUsIFdTX1RBQlNUT1AKTFRFWFQgICAgICJHZedlcmxpICZzaW1nZToiLCBQTV9TWU1CT0xfTElTVF9UWFQsICA1LCAzMCwgMTI1LCAxMApDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICBQTV9TWU1CT0xfTElTVCwgICAgICA1LCA0MCwgMTI1LCA1MCwKICAgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19PV05FUkRSQVdGSVhFRCB8IFdTX1RBQlNUT1AKREVGUFVTSEJVVFRPTiAiVGFtYW0iLCAgICAgIElET0ssICAgICAgICAgICAgICAxMzUsICA1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIt1wdGFsIiwgICAgICBJRENBTkNFTCwgICAgICAgICAgMTM1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICImR/Z6YXQuLi4iLCAgUE1fQlJPV1NFLCAgICAgICAgIDEzNSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhcmT9bSIsICAgIFBNX0hFTFAsICAgICAgICAgICAxMzUsIDY1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIERpYWxvZyBgRXhlY3V0ZScgKi8KCkRJQUxPR19FWEVDVVRFIERJQUxPRyAwLCAwLCAyMDAsIDg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb2dyYW0gx2Fs/f50/XIiCnsKTFRFWFQgICAgICAgICAiJktvbXV0IHNhdP1y/ToiLCAgICAgICAgLTEsICAgMDUsIDE1LCAxMjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX0NPTU1BTkQsIDA1LCAyNSwgMTIwLCAxNSwgV1NfVEFCU1RPUApDSEVDS0JPWCAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgICBQTV9TWU1CT0wsICAwNSwgNDUsICAxMCwgMTAsIFdTX1RBQlNUT1AKTFRFWFQgICAgICAgICAiJlNpbWdlIGhhbGluZGUgYmH+bGF0IiwgLTEsICAgMjAsIDQ1LCAxMjAsIDEwCkRFRlBVU0hCVVRUT04gIlRhbWFtIiwgICAgICAgICAgICAgICAgIElET0ssICAgICAgMTM1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICLdcHRhbCIsICAgICAgICAgICAgICAgICBJRENBTkNFTCwgIDEzNSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJkf2emF0Li4uIiwgICAgICAgICAgICAgUE1fQlJPV1NFLCAxMzUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZZYXJk/W0iLCAgICAgICAgICAgICAgIFBNX0hFTFAsICAgMTM1LCA2NSwgIDYwLCAxNSwgV1NfVEFCU1RPUAp9CgovKiBTdHJpbmdzICovCgpTVFJJTkdUQUJMRQp7CklEU19QUk9HUkFNX01BTkFHRVIsCQkiUHJvZ3JhbSBZ9m5ldGljaXNpIgpJRFNfRVJST1IsCQkJIkhBVEEiCklEU19XQVJOSU5HLAkJCSJVWUFSSSIKSURTX0lORk8sCQkJIkJpbGdpIgpJRFNfREVMRVRFLAkJCSJTaWwiCklEU19ERUxFVEVfR1JPVVBfcywJCSInJXMnIGdydWJ1IHNpbGluc2luIG1pPyIKSURTX0RFTEVURV9QUk9HUkFNX3MsCQkiJyVzJyBwcm9ncmFt/SBzaWxpbnNpbiBtaT8iCklEU19OT1RfSU1QTEVNRU5URUQsCQkiSGVu/HogVGFu/W1sYW5tYWT9IgpJRFNfRklMRV9SRUFEX0VSUk9SX3MsCQkiJyVzJyBva3VudXJrZW4gaGF0YS4iCklEU19GSUxFX1dSSVRFX0VSUk9SX3MsCQkiJyVzJyB5YXr9bP1ya2VuIGhhdGEuIgpJRFNfR1JQRklMRV9SRUFEX0VSUk9SX3MsCSJcCiclcycgZ3J1cCBkb3N5YXP9IGHn/WxhbWFk/S5cblwKRGFoYSBzb25yYSBkZW5lbnNpbiBtaT8iCklEU19PVVRfT0ZfTUVNT1JZLAkJIkJlbGxlayBkb2x1LiIKSURTX1dJTkhFTFBfRVJST1IsCQkiWWFyZP1tIGt1bGxhbv1sYWJpbGlyIGRl8GlsLiIKSURTX1VOS05PV05fRkVBVFVSRV9zLAkJIiVzIGnnaW5kZSBiaWxpbm1leWVuIPZ6ZWxsaWsiCklEU19GSUxFX05PVF9PVkVSV1JJVFRFTl9zLAkiJyVzJyBkb3N5YXP9IG1ldmN1dC4g3HplcmluZSB5YXr9bG1hZP0uIgpJRFNfU0FWRV9HUk9VUF9BU19zLAkJIkFz/WwgZG9zeWEg/HplcmluZSB5YXptYXn9IGVuZ2VsbGVtZWsgaedpbiBkb3N5YXn9ICclcycgYWT9eWxhIGtheWRldC4iCklEU19OT19IT1RfS0VZLAkJCSJIaediaXJpIgpJRFNfQUxMX0ZJTEVTLAkJCSJU/G0gZG9zeWFsYXIgKCouKikiCklEU19QUk9HUkFNUywJCQkiUHJvZ3JhbWxhciIKSURTX0xJQlJBUklFU19ETEwsCQkiS2l0YXBs/WtsYXIgKCouZGxsKSIKSURTX1NZTUJPTF9GSUxFUywJCSJTaW1nZSBkb3N5YWxhcv0iCklEU19TWU1CT0xTX0lDTywJCSJTaW1nZWxlciAoKi5pY28pIgp9Cg==