LyoKICogQ29weXJpZ2h0IDIwMDYtMjAwNyBieSBKb25hdGhhbiBFcm5zdAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ORVVUUkFMCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZGaWNoaWVyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5vdXZlYXVcdEN0cmwrTiIsICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNICImT3V2cmlyLi4uXHRDdHJsK08iLCAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImRW5yZWdpc3RyZXJcdEN0cmwrUyIsICAgIElEX0ZJTEVfU0FWRQogICAgICAgIE1FTlVJVEVNICJFbnJlZ2lzdHJlciAmc291cy4uLiIsICAgIElEX0ZJTEVfU0FWRUFTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZJbXByaW1lci4uLlx0Q3RybCtQIiwgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiQSZwZXLndSBhdmFudCBpbXByZXNzaW9uLi4uIiwgICAgSURfUFJFVklFVwogICAgICAgIE1FTlVJVEVNICImTWlzZSBlbiBwYWdlLi4uIiwgICAgICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlF1aXR0ZXIiLCAgICAgICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICLJJmRpdGlvbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBbm51bGVyXHRDdHJsK1oiLCAgICAgICAgICAgICAgICBJRF9FRElUX1VORE8KICAgICAgICBNRU5VSVRFTSAiJlLpdGFibGlyXHRDdHJsK1kiLCAgICAgICAgICAgICAgICBJRF9FRElUX1JFRE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkNvdXBlclx0Q3RybCtYIiwgICAgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIkNvJnBpZXJcdEN0cmwrQyIsICAgICAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQyZvbGxlclx0Q3RybCtWIiwgICAgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJkVmZmFjZXJcdERlbCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfQ0xFQVIKICAgICAgICBNRU5VSVRFTSAiJlPpbGVjdGlvbm5lciB0b3V0XHRDdHJsK0EiLCAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZSZWNoZXJjaGVyLi4uXHRDcnRsK0YiLCAgICAgICAgICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIlJlY2hlcmNoZXIgbGUgJnN1aXZhbnRcdEYzIiwgICAgICAgICAgICAgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiJlJlbXBsYWNlci4uLlx0Q3RybCtIIiwgICAgICAgICAgSURfUkVQTEFDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWN0dXJlLSZzZXVsZSIsICAgICAgICAgICAgICAgICAgSURfRURJVF9SRUFET05MWQogICAgICAgIE1FTlVJVEVNICImTW9kaWZp6SIsICAgICAgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICImQXZhbmPpcyIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkluZm9ybWF0aW9uIHPpbGVjdGlvbiIsICAgICAgSURfRURJVF9TRUxFQ1RJT05JTkZPCiAgICAgICAgICAgIE1FTlVJVEVNICImRm9ybWF0IGNhcmFjdOhyZXMiLCAgICAgICAgICBJRF9FRElUX0NIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZE6WYuIGZvcm1hdCBjYXIuIiwgICAgICAgICAgIElEX0VESVRfREVGQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiRm9ybWF0IHBhcmFncmFwJmhlIiwgICAgICAgICAgSURfRURJVF9QQVJBRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVjZXZvaXIgdGV4dGUiLCAgICAgICAgICAgICBJRF9FRElUX0dFVFRFWFQKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIiZBZmZpY2hhZ2UiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQmFycmUgZCdvdXRpbHMiLCAgICAgICAgSURfVE9HR0xFX1RPT0xCQVIKICAgICAgICBNRU5VSVRFTSAiJkJhcnJlIGRlIGZvcm1hdCIsICAgICAgSURfVE9HR0xFX0ZPUk1BVEJBUgogICAgICAgIE1FTlVJVEVNICImQmFycmUgZCfpdGF0IiwgICAgICBJRF9UT0dHTEVfU1RBVFVTQkFSCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZPcHRpb25zLi4uIiwgIElEX1ZJRVdQUk9QRVJUSUVTCiAgICBFTkQKICAgIFBPUFVQICImSW5zZXJ0aW9uIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkRhdGUgZXQgaGV1cmUuLi4iLCAgSURfREFURVRJTUUKICAgIEVORAogICAgUE9QVVAgIkZvcm1hJnQiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImUG9saXZlLi4uIiwgICAgICAgICAgICAgICAgICBJRF9GT05UU0VUVElOR1MKICAgICAgICBNRU5VSVRFTSAiJlB1Y2VzIiAgICAgICAgICAgICAgICBJRF9CVUxMRVQKICAgICAgICBNRU5VSVRFTSAiJlBhcmFncmFwaGUuLi4iICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIiZUYWJ1bGF0aW9ucy4uLiIgICAgICAgICAgICAgICAgICAgSURfVEFCU1RPUFMKICAgICAgICBQT1BVUCAiJkZvbmQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZTeXN06G1lXHRDdHJsKzEiLCAgICAgICAgIElEX0JBQ0tfMQogICAgICAgICAgICBNRU5VSVRFTSAiJkphdW5hc3NlXHRDdHJsKzIiLCAgICAgICAgICAgSURfQkFDS18yCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICJBaWQmZSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIsAgJnByb3BvcyBkdSBXb3JkcGFkIGRlIFdpbmUiICAgICAgIElEX0FCT1VUCiAgICBFTkQKRU5ECgpJRE1fUE9QVVAgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZDb3VwZXIiLCAgICAgICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICJDbyZwaWVyIiwgICAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIkMmb2xsZXIiLCAgICAgICAgICAgICBJRF9FRElUX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZQdWNlcyIgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZQYXJhZ3JhcGhlIiAgICAgSURfUEFSQUZPUk1BVAogICAgRU5ECkVORAoKSUREX0RBVEVUSU1FIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDEzMCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRhdGUgZXQgaGV1cmUiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJBdmFpbGFibGUgZm9ybWF0cyIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDg3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZDYW5jZWwiLElEQ0FOQ0VMLDg3LDI2LDQwLDEyCkVORAoKSUREX05FV0ZJTEUgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMTQwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTm91dmVhdSIKRk9OVCAxMCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBMVEVYVCAgICAgICAgIk5vdXZlYXUgdHlwZSBkZSBkb2N1bWVudCIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX05FV0ZJTEUsMywxMiw5MCw2NSxMQlNfTk9JTlRFR1JBTEhFSUdIVAogICAgUFVTSEJVVFRPTiAgICImT0siLElET0ssOTcsMTIsNDAsMTIKICAgIFBVU0hCVVRUT04gICAiJkFubnVsZXIiLElEQ0FOQ0VMLDk3LDI2LDQwLDEyCkVORAoKSUREX1BBUkFGT1JNQVQgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIkZvcm1hdCBkZSBwYXJhZ3JhcGhlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiSW5kZW50YXRpb24iLCAwLCAxMCwgMTAsIDEyMCwgNjgKICAgIExURVhUICJMZWZ0IiwgMCwgMTUsIDIyLCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0xFRlQsIDU1LCAyMCwgNjAsIDEzCiAgICBMVEVYVCAiUmlnaHQiLCAwLCAxNSwgNDAsIDQwLCAxMwogICAgRURJVFRFWFQgSURDX1BBUkFfUklHSFQsIDU1LCAzOCwgNjAsIDEzCiAgICBMVEVYVCAiRmlyc3QgbGluZSIsIDAsIDE1LCA1OCwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9GSVJTVCwgNTUsIDU2LCA2MCwgMTMKICAgIExURVhUICJBbGlnbm1lbnQiLCAwLCAxNSwgODcsIDQwLCAxMwogICAgQ09NQk9CT1ggSURDX1BBUkFfQUxJR04sIDU1LCA4NSwgNjAsIDEzLCBDQlNfRFJPUERPV05MSVNUCiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGVyIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQpFTkQKCklERF9UQUJTVE9QUyBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiVGFidWxhdGlvbnMiCkZPTlQgOCwgIk1TIFNIZWxsIERMZyIKQkVHSU4KICAgIEdST1VQQk9YICJBcnLqdHMgZGUgdGFidWxhdGlvbiIsIDAsIDEwLCAxMCwgMTIwLCA5MAogICAgQ09NQk9CT1ggSURDX1RBQlNUT1BTLCAyMCwgMjAsIDEwMCwgNjAsIENCU19TSU1QTEUgfCBDQlNfU09SVAogICAgREVGUFVTSEJVVFRPTiAiJkFqb3V0ZXIiLCBJRF9UQUJfQURELCAyMCwgODAsIDQ1LCAxNQogICAgUFVTSEJVVFRPTiAiJlN1cHByaW1lciIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGVyIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQogICAgUFVTSEJVVFRPTiAiU3VwcHJpbWVyICZ0b3VzIiwgSURfVEFCX0VNUFRZLCAxMzcsIDUxLCA1MCwgMTUKRU5ECgpJRERfRk9STUFUT1BUUyBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxMTAKU1RZTEUgRFNfU1lTTU9EQUwKQ2FwdGlvbiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiTGluZSB3cmFwcGluZyIsIDAsIDEwLCAxMCwgMTMwLCA4NQogICAgUkFESU9CVVRUT04gIldyYXAgdGV4dCBieSB0aGUgJndpbmRvdyBib3JkZXIiLCBJRENfUEFHRUZNVF9XVywgMTgsIDI1LCAxMTcsIDE1CiAgICBSQURJT0JVVFRPTiAiV3JhcCB0ZXh0IGJ5IHRoZSAmbWFyZ2luIiwgSURDX1BBR0VGTVRfV00sIDE4LCA0NSwgMTE3LCAxNQogICAgR1JPVVBCT1ggIkJhcnJlcyBkJ291dGlscyIsIDAsIDE1MCwgMTAsIDEyMCwgODUKICAgIENIRUNLQk9YICImQmFycmUgZCdvdXRpbHMiLCBJRENfUEFHRUZNVF9UQiwgMTYwLCAyMCwgODAsIDE1CiAgICBDSEVDS0JPWCAiQmFycmUgZGUgJmZvcm1hdCIsIElEQ19QQUdFRk1UX0ZCLCAxNjAsIDM4LCA4MCwgMTUKICAgIENIRUNLQk9YICJCYXJyZSBkZSAmc3RhdHV0IiwgSURDX1BBR0VGTVRfU0IsIDE2MCwgNTYsIDgwLCAxNQogICAgTFRFWFQgIiIsIElEQ19QQUdFRk1UX0lELCAwLDAsMCwwCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19SSUNIVEVYVF9GSUxFU19SVEYsICAgICAiRG9jdW1lbnRzIHRleHRlIHJpY2hlICgqLnJ0ZikiCiAgICBTVFJJTkdfVEVYVF9GSUxFU19UWFQsICAgICAgICAgIkRvY3VtZW50cyB0ZXh0ZSAoKi50eHQpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVU5JQ09ERV9UWFQsICJEb2N1bWVudHMgdGV4dGUgdW5pY29kZSAoKi50eHQpIgogICAgU1RSSU5HX0FMTF9GSUxFUywgICAgICAgICAgICAgICJUb3VzIGxlcyBkb2N1bWVudHMgKCouKikiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19BTElHTl9MRUZULCAgICAgICAgICAgICJHYXVjaGUiCiAgICBTVFJJTkdfQUxJR05fUklHSFQsICAgICAgICAgICAiRHJvaXRlIgogICAgU1RSSU5HX0FMSUdOX0NFTlRFUiwgICAgICAgICAgIkNlbnRyZXIiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19ORVdGSUxFX1JJQ0hURVhULCAgICAgIkRvY3VtZW50IHRleHRlIHJpY2hlIgogICAgU1RSSU5HX05FV0ZJTEVfVFhULCAgICAgICAgICAiRG9jdW1lbnQgdGV4dGUiCiAgICBTVFJJTkdfTkVXRklMRV9UWFRfVU5JQ09ERSwgICJEb2N1bWVudCB0ZXh0ZSB1bmljb2RlIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUFJJTlRFUl9GSUxFU19QUk4sICAgICAgICAiRmljaGllcnMgZCdpbXByZXNzaW9uICgqLlBSTikiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19WSUVXUFJPUFNfVElUTEUsICAgICAgICAgICJPcHRpb25zIgogICAgU1RSSU5HX1ZJRVdQUk9QU19URVhULCAgICAgICAgICAgIlRleHRlIgogICAgU1RSSU5HX1ZJRVdQUk9QU19SSUNIVEVYVCwgICAgICAgIlRleHRlIHJpY2hlIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUFJFVklFV19QUklOVCwgICAgICAgICAgICAiSW1wcmltZXIiCiAgICBTVFJJTkdfUFJFVklFV19ORVhUUEFHRSwgICAgICAgICAiUGFnZSBzdWl2YW50ZSIKICAgIFNUUklOR19QUkVWSUVXX1BSRVZQQUdFLCAgICAgICAgICJQYWdlIHBy6WPpZGVudGUiCiAgICBTVFJJTkdfUFJFVklFV19DTE9TRSwgICAgICAgICAgICAiRmVybWVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVU5JVFNfQ00sICAgICAgICAgICAgICJjbSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0RFRkFVTFRfRklMRU5BTUUsICAgICAiRG9jdW1lbnQiCiAgICBTVFJJTkdfUFJPTVBUX1NBVkVfQ0hBTkdFUywgICJFbnJlZ2lzdHJlciBsZXMgbW9kaWZpY2F0aW9ucyBkZSCroCVzoLugPyIKICAgIFNUUklOR19TRUFSQ0hfRklOSVNIRUQsICAgICAgIlJlY2hlcmNoZSB0ZXJtaW7pZSBkYW5zIGxlIGRvY3VtZW50LiIKICAgIFNUUklOR19MT0FEX1JJQ0hFRF9GQUlMRUQsICAgIkltcG9zc2libGUgZGUgY2hhcmdlciBsYSBiaWJsaW90aOhxdWUgUmljaEVkaXQuIgogICAgU1RSSU5HX1NBVkVfTE9TRUZPUk1BVFRJTkcsICAiVm91cyBhdmV6IGNob2lzaSBkJ2VucmVnaXN0cmVyIGVuIHRleHRlIHNpbXBsZSwgIiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZSBxdWkgY2F1c2VyYSBsYSBwZXJ0ZSBkZSB0b3V0IGZvcm1hdHRhZ2UuICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVm91bGV6LXZvdXMgdnJhaW1lbnQgY29udGludWVyoD8iCiAgICBTVFJJTkdfSU5WQUxJRF9OVU1CRVIsICAgICAgICJGb3JtYXQgZGUgbm9tYnJlIGludmFsaWRlIgogICAgU1RSSU5HX09MRV9TVE9SQUdFX05PVF9TVVBQT1JURUQsICJMZXMgZG9jdW1lbnRzIGNvbnRlbmV1ciBPTEUgbmUgc29udCBwYXMgc3VwcG9ydOlzIgpFTkQK