LyogSGV5LCBFbWFjcywgb3BlbiB0aGlzIGZpbGUgd2l0aCAtKi0gY29kaW5nOiBjcDEyNTAgLSotCiAqCiAqIENvcHlyaWdodCAxOTk2IFJvbWFuIERvbGVqc2kKICogQ29weXJpZ2h0IDIwMDUgRGF2aWQgS3JlZGJhIChrcmVkYmFAbWF0aC5jYXMuY3opCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCi8qCiAqIFdBUk5JTkc6IERPIE5PVCBDSEFOR0UgVEhFIFNJWkUgT0YgVEhFIFNUQU5EQVJEIERJQUxPRyBURU1QTEFURVMuCiAqLwoKTEFOR1VBR0UgTEFOR19DWkVDSCwgU1VCTEFOR19ERUZBVUxUCgovKiBDemVjaCBzdHJpbmdzIGluIENQMTI1MCAqLwoKT1BFTl9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiT3Rldvhlbu0gc291Ym9ydSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkpt6W5vIHNvdWJvcnU6IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIGVkdDEsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZBZHJlc+H4ZToiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZUeXAgem9icmF6ZW79Y2ggc291Ym9y+ToiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCBjbWIxLCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkRpc2tvdukgamVkbm90a3k6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCBjbWIyLCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPdGV2+O10IiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlN0b3JubyIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJk7hcG927GRhIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImUG91emUgcHJvIOh0ZW7tIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlVsb54gcG9kIGpt6W5lbS4uLiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJkpt6W5vIHNvdWJvcnU6IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIGVkdDEsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZBZHJlc+H4ZToiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZUeXAgem9icmF6ZW79Y2ggc291Ym9y+ToiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCBjbWIxLCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkRpc2tvdukgamVkbm90a3k6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCBjbWIyLCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJVbG+eIHBvZCBqbeluZW0iLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiU3Rvcm5vIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImTuFwb3bsZGEiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZQb3V6ZSBwcm8g6HRlbu0iLCAxMDQwLCAyMDgsIDY4LCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJUaXNrIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJUaXNr4XJuYToiLCAxMDg4LCA2LCA2LCA0MCwgOQogTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKIEdST1VQQk9YICJSb3pzYWggdGlza3UiLCBncnAxLCA2LCAzMCwgMTYwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICJWmiZlIiwgcmFkMSwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImVv1i7HIiLCByYWQyLCAxNiwgNjAsIDYwLCAxMgogUkFESU9CVVRUT04gIiZaYWRhbukgc3Ry4W5reSIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJUaXNrbmkiLCAxLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiU3Rvcm5vIiwgMiwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZOYXN0YXZpdC4uLiIsIHBzaDEsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJk9kOiIsIDEwOTAsIDYwLCA4MCwgMzAsIDkKIExURVhUICImRG86IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICJLdmFsaXRhICZ0aXNrdToiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCBjbWIxLCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJUaXNrIGRvIHNvJnVib3J1IiwgY2h4MSwgMjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJLb25kZW56b3ZhbukiLCBjaHgyLCAxNjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTmFzdGF2ZW7tIHRpc2t1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICJUaXNr4XJuYSIsIGdycDEsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZW/WNob3rtIHRpc2vhcm5hIiwgcmFkMSwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbbm9uZV0iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQogUkFESU9CVVRUT04gIlNwZWNpZmlja+EgJnRpc2vhcm5hIiwgcmFkMiwgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIGNtYjEsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiU3Rvcm5vIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRGFsmu0gdm9sYnkuLi4iLCBwc2gxLCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIk9yaWVudGFjZSIsIGdycDIsIDYsIDg1LCAxMDAsIDUwLCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIk5hICZ2/ZprdSIsIHJhZDMsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIk5hIJrt+CZrdSIsIHJhZDQsIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCBzdGMxMCwgMTAsIDk1LCAzMiwgMzIKIElDT04gIlBPUlRSQUlUIiwgc3RjMTEsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiUGFw7XIiLCBncnAzLCAxMjAsIDg1LCAxODAsIDUwLCBCU19HUk9VUEJPWAogTFRFWFQgIiZGb3Jt4XQiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIiZaZHJvaiIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggY21iMiwgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCBjbWIzLCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgRElTQ0FSREFCTEUgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQ7XNtbyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAJCSAiUO0mc21vOiIsIHN0YzEgLDYsMyw0MCw5CiBDT01CT0JPWCAgICAgICAgY21iMSwgNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKIExURVhUICAgICAgICAgICAiU3QmeWw6IixzdGMyICwxMDgsMyw0NCw5CiBDT01CT0JPWCAgICAgICAgY21iMiwxMDgsMTMsNjQsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiBMVEVYVCAgICAgICAgICAgIiZWZWxpa29zdDoiLHN0YzMsMTc5LDMsMzAsOQogQ09NQk9CT1ggICAgICAgIGNtYjMsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDIxOCw2LDQwLDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiBQVVNIQlVUVE9OICAgICAgIlN0b3JubyIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgICAgICImUG91nu10IiwgcHNoMywyMTgsNDAsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAgICAgIiZO4XBvduxkYSIgLCBwc2hIZWxwLDIxOCw1Nyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICAgICAgICAiRWZla3R5IixncnAxLDYsNzIsODQsMzQsV1NfR1JPVVAKIENIRUNLQk9YICAgICAgICAiUPhlmiZrcnRudXTtIiwgY2h4MSwgMTAsODIsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICAgICAgICAiJlBvZHRynmVu7SIsIGNoeDIsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKIExURVhUICAgICAgICAgICAiJkJhcnZhOiIsIHN0YzQgLDYsMTEwLDMwLDkKIENPTUJPQk9YICAgICAgICBjbWI0LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAogICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggICAgICAgICJVa+F6a2EiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiBDVEVYVCAgICAgICAgICAgIlD47WxpmiCebHWdb3Xoa/0ga/nyIPpw7Gwg7+FiZWxza+kg82R5IixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogTFRFWFQgICAgICAgICAgICJTa3ImaXB0OiIsc3RjNyAsOTgsMTE0LDQwLDkKIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfQ09MT1IgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAzMDAsIDE4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJCYXJ2eSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJlrha2xhZG7tIGJhcnZ5OiIsICAxMDg4LCA0LCAgICAgNCwgMTQwLCAxMAogTFRFWFQgIiZCYXJ2eSBuYSB6YWvhemt1OiIsMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJCYXJ2YXxTcG9qJml04SIsICAgIDEwOTAsIDE1MCwgMTUxLCAgNDgsIDEwCiBMVEVYVCAiyGUmcnZlbuE6IiwgNzI2IC8qMTA5NCovLCAyNDksMTI2LDI0LDEwCiBFRElUVEVYVCA3MDYsIDI3NSwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZaZWxlbuE6Iiw3MjcvKjEwOTUqLywyNDksMTQwLDI0LDEwCiBFRElUVEVYVCA3MDcsIDI3NSwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZNb2Ry4ToiLCA3MjgsIDI0OSwgMTU0LCAyNCwgMTAKIEVESVRURVhUIDcwOCwgMjc1LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJk9kc3TtbjoiICwgNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJlN5dG9zdDoiICwgNzI0LCAyMDIsIDE0MCwgMjIsIDEwCiBFRElUVEVYVCA3MDQsIDIyNiwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZKYXM6IiAsIDcyNSAvKjEwOTMqLywyMDIsMTU0LDIyLDEwCiBFRElUVEVYVCA3MDUsIDIyNiwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ09OVFJPTCAiIiAsNzIwLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTQsMTQwLDg2CiBDT05UUk9MICIiICw3MjEsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxMTYsMTQwLDI4CiBDT05UUk9MICIiICw3MTAsIlNUQVRJQyIsV1NfQk9SREVSfFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsNCwxMTgsMTE2CiBDT05UUk9MICIiICw3MDIsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDI3OCw0LDgsMTE2CiBDT05UUk9MICIiICw3MDksIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1MiwxMjQsNDAsMjYKIERFRlBVU0hCVVRUT04gIk9LIiwgIDEsICA0LCAxNjYsIDQ0LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiU3Rvcm5vIiwgMiwgNTIsIDE2NiwgNDQsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk7hcG927GRhIiwgcHNoSGVscCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIiZQ+GlkYXQgayB2bGFzdG7tbSBiYXJ24W0iLCA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkRlZmlub3ZhdCB2bGFzdG7tIGJhcnZ1ID4+IiwgNzE5LyoxMDI1Ki8sIDQsIDE1MCwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAiJmkiLDcxMywzMDAsMjAwLDQsMTQgICAvKiBqdXN0IGEgZHVtbXk6ICAnaScgaXMgIGxpa2UgICZpICBpbiAic29sJmlkIiAgKi8KfQoKCkZJTkRETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzYsIDYyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkhsZWThbu0iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZWeWhsZWRhdDoiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIGVkdDEsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBvdXplICZjZWzhIHNsb3ZhIiwgY2h4MSwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZSb3psaZpvdmF0IHZlbGlrb3N0IiwgY2h4MiwgNCwgNDIsIDY0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIlNt7HIiLCBncnAxLCAxMDcsIDI2LCA2OCwgMjgKIENPTlRST0wgIk4mYWhvcnUiLCByYWQxLCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxMTEsIDM4LCAyMCwgMTIKIENPTlRST0wgIiZEb2z5IiwgcmFkMiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDEzOCwgMzgsIDMwLCAxMgogCiBERUZQVVNIQlVUVE9OICJOYWrtdCBkJmFsmu0iLCBJRE9LLCAxODIsICA1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWnJ1mml0IiwgSURDQU5DRUwsIDE4MiwgMjMsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImTuFwb3bsZGEiLCBwc2hIZWxwLCAxODIsIDQ1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUkVQTEFDRURMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzMCwgOTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTmFocmF6ZW7tIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImVnlobGVkYXQ6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCBlZHQxLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICImWmFt7G5pdCB6YToiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCBlZHQyLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUG91emUgJmNlbOEgc2xvdmEiLCBjaHgxLCA1LCA0NiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlJvemxpmm92YXQgdmVsaWtvc3QiLCBjaHgyLCA1LCA2MiwgNTksIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJWeWhsZWRhdCBkJmFsmu0iLCBJRE9LLCAxNzQsICA0LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlphJm3sbml0IiwgcHNoMSwgMTc0LCAyMSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlphbexuaSZ0IHaaZSIsIHBzaDIsIDE3NCwgMzgsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaXQiLCBJRENBTkNFTCwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZO4XBvduxkYSIsIHBzaEhlbHAsIDE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVDMyIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIlRpc2siCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsICAgICBJRE9LLCAgICAgMTgwLDE2NCwgNDgsMTQsIFdTX0dST1VQIHwgQlNfREVGUFVTSEJVVFRPTgogICAgUFVTSEJVVFRPTiAgICAgICJacnWaaXQiLCBJRENBTkNFTCwgMjMyLDE2NCwgNDgsMTQsIFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZO4XBvduxkYSIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgogICAgR1JPVVBCT1ggICAgICAgICJUaXNr4XJuYSIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIlRpc2sgZG8gc28mdWJvcnUiLCBjaHgxLCAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiAgICBQVVNIQlVUVE9OICAgICAgIiZWbGFzdG5vc3RpIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTuF6ZXY6IiwgICAgICAgICBzdGM2LCAgMTYsIDIwLCAgMzYsOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjQsICA1MiwgMTgsIDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwgICAgICAgIHN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiyGVr4SIsICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJUeXA6IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJOZXV2ZWRlbiIsICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVW3tc3Tsbu06IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIk5ldXZlZGVubyIsIHN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJLb21lbnTh+DoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFJlbWFyayIsICAgc3RjMTMsIDUyLCA3MiwgMTUyLDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCgogICAgR1JPVVBCT1ggICAgICAgICJLb3BpZSIsICAgICAgICAgZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJQb+hldCAma29wae06IixzdGM1LDE2OCwxMDgsNjgsOAogICAgSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA3NiwyNCwgV1NfR1JPVVAgfCBTU19DRU5URVJJTUFHRQogICAgQ09OVFJPTCAgICAgICAgICJLJm9tcGxldG92YXQiLCAgICAgICBjaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiUm96c2FoIHRpc2t1IiwgICAgZ3JwMSwgICA4LDkyLCAgMTQ0LDY0LCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImVpplIiwgICAgICAgICAgIHJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICJTdCZy4W5reSIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiAgICBDT05UUk9MICAgICAgICAgIlb9JmLsciIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQxLCAgNzQsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MiwgMTE4LDEyMiwgIDI2LDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICImb2Q6IiwgICAgICAgICBzdGMyLCAgNTIsMTI0LCAgMjAsOAogICAgUlRFWFQgICAgICAgICAgICImZG86IiwgICAgICAgICAgIHN0YzMsIDEwMCwxMjQsICAxNiw4Cn0KClBSSU5UMzJfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxNzgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiTmFzdGF2ZW7tIHRpc2t1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDE4MCwxNTYsNDgsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiWnJ1mml0IixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0Ci8qICAgIFBVU0hCVVRUT04gICAgICAiU+2dLi4uIiwgcHNoNSwgMjg0LDE1Niw0OCwxNCAqLwoKICAgIEdST1VQQk9YICAgICAgICAiVGlza+FybmEiLCAgICAgICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImVmxhc3Rub3N0aSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk7hemV2OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIk5lem7hbf0iLCAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiTmV6buFt/SIsICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVW3tc3Tsbu06IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIk5lem7hbekiLCBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiUG9waXM6IiwgICAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBSZW1hcmsiLCAgIHN0YzEzLCA1MiwgNzIsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKICAgIEdST1VQQk9YICAgICAgICAiUGFw7XIiLCAgICAgICAgICBncnAyLCAgIDgsIDkyLCAxNjQsNTYsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlZlbGkma29zdDoiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJaJmRyb2o6IiwgICAgICAgc3RjMywgIDE2LDEyOCwgIDM2LCA4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMywgIDUyLDEyNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCgogICAgR1JPVVBCT1ggICAgICAgICJPcmllbnRhY2UiLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMSwgMTk1LDExMiwgIDE4LDIwLCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJOYSB2/ZprJnUiLCAgICAgIHJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfFdTX1RBQlNUT1AsMjI0LDEwNiw1MiwxMgogICAgQ09OVFJPTCAgICAgICAgICJOJmEgmu34a3UiLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiw1MiwxMgpFTkQKClBBR0VTRVRVUERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJOYXN0YXZlbu0gc3Ry4W5reSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIENPTlRST0wgIiIsIHJjdDEsICJTdGF0aWMiLCBTU19XSElURVJFQ1QsIDgwLCA4LCA4MCwgODAKICBDT05UUk9MICIiLCByY3QyLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsIDE2MCwgMTIsIDQsIDgwCiAgQ09OVFJPTCAiIiwgcmN0MywgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAgODQsIDg4LCA4MCwgNAogIEdST1VQQk9YICJQYXDtciIsIGdycDIsIDgsIDk2LCAyMjQsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICJWZWxpJmtvc3Q6Iiwgc3RjMiwgMTYsIDExMiwgMzYsIDgKICBDT01CT0JPWCBjbWIyLCA2NCwgMTEwLCAxNjAsIDE2MCwgQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgTFRFWFQgIiZUcmF5OiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIEdST1VQQk9YICJPcmllbnRhY2UiLCBncnAxLCA4LCAxNTYsIDY0LCA1NiwgQlNfR1JPVVBCT1gKICBBVVRPUkFESU9CVVRUT04gIk5hIHb9mmsmdSIsIHJhZDEsIDE2LCAxNzAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICJOJmEgmu34a3UiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICJPa3JhamUiLCBncnA0LCA4MCwgMTU2LCAxNTIsIDU2LCBCU19HUk9VUEJPWAogIExURVhUICJMJmV2/ToiLCBzdGMxNSwgODgsIDE3MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ0LCAxMTEsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICJQJnJhdv06Iiwgc3RjMTYsIDE1OSwgMTcyLCAyNywgOAogIEVESVRURVhUIGVkdDYsIDE4NywgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIkgmb3Ju7ToiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMTEsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImRG9sbu06Iiwgc3RjMTgsIDE1OSwgMTkyLCAyMywgOAogIEVESVRURVhUIGVkdDcsIDE4NywgMTkwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA3MSwgMjIwLCA1MCwgMTQsIEJTX1BVU0hCVVRUT04KICBQVVNIQlVUVE9OICJacnWaaXQiLCBJRENBTkNFTCwgMTI2LCAyMjAsIDUwLCAxNAogIFBVU0hCVVRUT04gIlRpc2vhJnJuYS4uLiIsIHBzaDMsIDE4NCwgMjIwLCA0OCwgMTQKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDE2NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19WSVNJQkxFIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX0NMSVBDSElMRFJFTgpDQVBUSU9OICJPdGV2+O10IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUCSJO4WgmbGVkOiIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfTE9PS0lOLDQ5LDMsMTMyLDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIExURVhUCSIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExJU1RCT1gJSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgogICAgTFRFWFQJIiZO4XpldiBzb3Vib3J1OiIsSURDX0ZJTEVOQU1FU1RBVElDLDUsMTEyLDQ2LDgsIFNTX05PVElGWQogICAgRURJVFRFWFQJSURDX0ZJTEVOQU1FLDU0LDExMCwxNTUsMTIsRVNfQVVUT0hTQ1JPTEwKCiAgICBMVEVYVAkiU291Ym9yeSAmdHlwdToiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEyOCw0Miw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wJIkplbiBrZSDodCZlbu0iLElEQ19PUEVOUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw1NCwxNDUsMTAwLDEwCgogICAgREVGUFVTSEJVVFRPTgkiJk90ZXb47XQiLAkJIElET0ssMjIyLDExMCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIlpydZppdCIsCQkgSURDQU5DRUwsMjIyLDEyOCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIiZO4XBvduxkYSIsCQkgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19BQk9VVEJPWCAgICAgICAgICAgICImTyBGb2xkZXJQaWNrZXIgdGVzdHUiCiAgICBJRFNfRE9DVU1FTlRGT0xERVJTICAgICAiU2xvnmt5IGRva3VtZW50+SIKICAgIElEU19QRVJTT05BTCAgICAgICAgICAgICJEb2t1bWVudHkiCiAgICBJRFNfRkFWT1JJVEVTICAgICAgICAgICAiT2Js7WJlbukiCiAgICBJRFNfUEFUSCAgICAgICAgICAgICAgICAiU3lzdOltb3b9IGFkcmVz4fgiCiAgICBJRFNfREVTS1RPUCAgICAgICAgICAgICAiUGxvY2hhIgogICAgSURTX0ZPTlRTICAgICAgICAgICAgICAgIlDtc21hIgogICAgSURTX01ZQ09NUFVURVIgICAgICAgICAgIk35aiBwb+jtdGHoIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfU1lTVEVNRk9MREVSUyAgICAgICAiU3lzdOltb3bpIHNsb55reSIKICAgIElEU19MT0NBTEhBUkRSSVZFUyAgICAgICJN7XN0bu0gamVkbm90a3kgcGV2bv1jaCBkaXNr+SIKICAgIElEU19GSUxFTk9URk9VTkQgICAgICAgICJTb3Vib3IgbmVieWwgbmFsZXplbiIKICAgIElEU19WRVJJRllGSUxFICAgICAgICAgICJPduz4dGUgcHJvc+1tLCCeZSBu4XpldiBzb3Vib3J1IGJ5bCB6YWThbiBzcHLhdm7sLiIKICAgIElEU19DUkVBVEVGSUxFICAgICAgICAgICJTb3Vib3IgbmVleGlzdHVqZS5cbkNoY2V0ZSBobyB2eXR2b/hpdCA/IgogICAgSURTX09WRVJXUklURUZJTEUgICAgICAgIlNvdWJvciBqaZ4gZXhpc3R1amUuXG5DaGNldGUgaG8gcPhlcHNhdCBub3b9bSA/IgogICAgSURTX0lOVkFMSURfRklMRU5BTUVfVElUTEUgIk5lZG92b2xlbv0o6Skgem5hayh5KSB2IGNlc3TsIGsgc291Ym9ydS4iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRSAgICAiTuF6ZXYgc291Ym9ydSBuZXNt7SBvYnNhaG92YXQgnuFkbv0geiBu4XNsZWR1au1j7WNoIHpuYWv5OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiQWRyZXPh+CBuZWV4aXN0dWplIgogICAgSURTX0ZJTEVOT1RFWElTVElORyAgICAgIlNvdWJvciBuZWV4aXN0dWplIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfVVBGT0xERVIgICAgICAgICAiTyBqZWRudSD6cm92ZfIgdv2aZSIKICAgIElEU19ORVdGT0xERVIgICAgICAgICJWeXR2b/hpdCBub3ZvdSBzbG+ea3UiCiAgICBJRFNfTElTVFZJRVcgICAgICAgICAiVv1waXMiCiAgICBJRFNfUkVQT1JUVklFVyAgICAgICAiUG9kcm9ibm9zdGkiCiAgICBJRFNfVE9ERVNLVE9QICAgICAgICAiUHJvaGztnmV0IHBsb2NodSIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgUEQzMl9QUklOVF9USVRMRSAgICAgICAiVGlzayIKCiAgICBQRDMyX1ZBTFVFX1VSRUFEQUJMRSAgICAgICAgICAgICAgICAgICJOZehpdGVsbv0gdnN0dXAiCiAgICBQRDMyX0lOVkFMSURfUEFHRV9SQU5HRSAiVGF0byBob2Rub3RhIHD4ZXNhaHVqZSBtb55ub3N0aSBzdHLhbmt5LlxuXApaYWRlanRlIHByb3PtbSBob2Rub3R1IG1lemkgJWQgYSAlZC4iCiAgICBQRDMyX0ZST01fTk9UX0FCT1ZFX1RPICAgICAgICAgICAgICAgICJIb2Rub3RhICdPZCcgbmVt+Z5lIHD4ZWtyb+hpdCBcCmhvZG5vdHUgJ0RvJy4iCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICJEb3NhnmVu7SBuZWJvIHD4ZXNhaCBva3JhavkgXAp0aXNrbnV0ZWxu6SBvYmxhc3RpLlxuWmFkZWp0ZSBwcm9z7W0gamlu6SBva3JhamUuIgogICAgUEQzMl9OUl9PRl9DT1BJRVNfRU1QVFkgICAgICAgICAgICAgICAiUG/oZXQga29wae0gbXVz7SBi/XQnIFwKemFk4W4uIgogICAgUEQzMl9UT09fTEFSR0VfQ09QSUVTICAgICAgICAgICAgICAgICAiVGFrIHZlbGvpIG1ub55zdHbtIGtvcGntIG5lbu0gXApwb2Rwb3JvduFubyBWYZrtIHRpc2vhcm5vdS5cblphZGVqdGUgcHJvc+1tIGhvZG5vdHUgbWV6aSAxIGEgJWQuIgogICAgUEQzMl9QUklOVF9FUlJPUiAgICAgICAgICAgICAgICAgICAgICAiTmFzdGFsYSBjaHliYSB0aXNrdS4iCiAgICBQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJW/WNob3rtIHRpc2vhcm5hIG5lZXhpc3R1amUuIgogICAgUEQzMl9DQU5UX0ZJTkRfUFJJTlRFUiAgICAgICAgICAgICAgICAiTmVtb2h1IG5hau10IHRpc2vhcm51LiIKICAgIFBEMzJfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgICAgICAgIkRvc3R1cG7hIHBhbeydIGJ5bGEgdnnoZXJw4W5hLiIKICAgIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIlZ5c2t5dGxhIHNlIGNoeWJhLiIKICAgIFBEMzJfRFJJVkVSX1VOS05PV04gICAgICAgICAgICAgICAgICAgIk5lem7hbf0gb3ZsYWRh6CB0aXNr4XJueS4iCgogICAgUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiVv1jaG967SB0aXNr4XJuYTsgIgogICAgUEQzMl9OUl9PRl9ET0NVTUVOVFNfSU5fUVVFVUUgICAgICAgICAiVmUgZnJvbnTsIGplICVkIGRva3VtZW50+SIKICAgIFBEMzJfTUFSR0lOU19JTl9JTkNIRVMgICAgICAgICAgICAgICAgIk9rcmFqZSBbcGFsY2VdIgogICAgUEQzMl9NQVJHSU5TX0lOX01JTExJTUVURVJTICAgICAgICAgICAiT2tyYWplIFttbV0iCiAgICBQRDMyX01JTExJTUVURVJTICAgICAgICAgICAgICAgICAgICAgICJtbSIKCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1JFQURZICAgICAgICAgICAgICJQ+GlwcmF2ZW4iCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBVVNFRCAgICAgICAgICAgICJQb3phc3RhdmVuOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0VSUk9SICAgICAgICAgICAgICJDaHliYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAiUHJvYu1o4SBtYXrhbu07ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfSkFNICAgICAgICAgIlphc2VrbnV0/SBwYXDtcjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAiRG+aZWwgcGFw7XI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTUFOVUFMX0ZFRUQgICAgICAgIlJ16G7tIHpha2zhZOFu7SBwYXDtcnU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfUFJPQkxFTSAgICAgIlByb2Js6W0gcyBwYXDtcmVtOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09GRkxJTkUgICAgICAgICAgICJUaXNr4XJuYSBqZSBuZWRvc3R1cG7hOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0lPX0FDVElWRSAgICAgICAgICJQ+GVub3MgZGF0OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICJQcmFjdWppOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BSSU5USU5HICAgICAgICAgICJUaXNrbmUgc2U7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUUFVUX0JJTl9GVUxMICAgIlb9c3R1cG7tIHrhc29ibu1rIGplIHBsbv07ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9UX0FWQUlMQUJMRSAgICAgIk5lbu0gayBkaXNwb3ppY2k7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FJVElORyAgICAgICAgICAgIshla+Egc2U7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJPQ0VTU0lORyAgICAgICAgIlpwcmFjb3bhduEgc2U7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIkluaWNpYWxpenVqZSBzZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19XQVJNSU5HX1VQICAgICAgICAiWmFo+O124SBzZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19UT05FUl9MT1cgICAgICAgICAiRG9jaOF67SB0b25lcjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAiRG+aZWwgdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlph+GF6b3bhbu07ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVVNFUl9JTlRFUlZFTlRJT04gIlD4ZXJ1mmVubyB1nml2YXRlbGVtOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVF9PRl9NRU1PUlkgICAgICJEb3N0dXBu4SBwYW3snSBieWxhIHZ56GVycOFuYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiS3J5dCB0aXNr4XJueSBqZSBvdGV2+GVuOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1NFUlZFUl9VTktOT1dOICAgICJOZXpu4W39IHRpc2tvdv0gc2VydmVyOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BPV0VSX1NBVkUgICAgICAgICLac3Bvcm79IHJlnmltOyAiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIC8qIENvbG9yIG5hbWVzICovCnsKICAgIElEU19DT0xPUl9CTEFDSyAgICAgIuhlcm7hIgogICAgSURTX0NPTE9SX01BUk9PTiAgICAiaG7sZOEiCiAgICBJRFNfQ09MT1JfR1JFRU4gICAgICJ6ZWxlbuEiCiAgICBJRFNfQ09MT1JfT0xJVkUgICAgICJvbGl2b3bhIgogICAgSURTX0NPTE9SX05BVlkgICAgICAibuFtb/hu7SIKICAgIElEU19DT0xPUl9QVVJQTEUgICAgIm5hY2hvduEiCiAgICBJRFNfQ09MT1JfVEVBTCAgICAgICJzaXbhIgogICAgSURTX0NPTE9SX0dSQVkgICAgICAimmVk4SIKICAgIElEU19DT0xPUl9TSUxWRVIgICAgInN0+O1icm7hIgogICAgSURTX0NPTE9SX1JFRCAgICAgICAi6GVydmVu4SIKICAgIElEU19DT0xPUl9MSU1FICAgICAgImNpdHJvbm924SIKICAgIElEU19DT0xPUl9ZRUxMT1cgICAgIp5sdXThIgogICAgSURTX0NPTE9SX0JMVUUgICAgICAibW9kcuEiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICJmdWNoc2lvduEiCiAgICBJRFNfQ09MT1JfQVFVQSAgICAgICJ2b2RvduEiCiAgICBJRFNfQ09MT1JfV0hJVEUgICAgICJi7WzhIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfRk9OVF9TSVpFICAgIlVy6GV0ZSB2ZWxpa29zdCBmb250dSBtZXppICVkIGEgJWQgYm9keS4iCiAgICBJRFNfU0FWRV9CVVRUT04gIiZVbG+eaXQiCiAgICBJRFNfU0FWRV9JTiAgICAgIlVsb54maXQgdjoiCiAgICBJRFNfU0FWRSAgICAgICAgIlVsb55pdCIKICAgIElEU19TQVZFX0FTICAgICAiVWxvnml0IGpha28iCiAgICBJRFNfT1BFTl9GSUxFICAgIk90ZXb47XQgc291Ym9yIgp9Cg==