LyoKICogQ29weXJpZ2h0IDE5OTkgR3VzdGF2byBKdW5pb3IgQWx2ZXMKICogQ29weXJpZ2h0IDIwMDMgTWFyY2VsbyBEdWFydGUKICogQ29weXJpZ2h0IDIwMDYtMjAwNyBBbelyaWNvIEpvc+kgTWVsbwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpTVFJJTkdUQUJMRSBMQU5HVUFHRSBMQU5HX1BPUlRVR1VFU0UsIFNVQkxBTkdfUE9SVFVHVUVTRV9CUkFaSUxJQU4KCkJFR0lOCgovKiBNTVNZUyBlcnJvcnMgKi8KTU1TWVNFUlJfTk9FUlJPUiwgCQkiTyBjb21hbmRvIGVzcGVjaWZpY2FkbyBmb2kgZGVzY2FycmVnYWRvLiIKTU1TWVNFUlJfRVJST1IsIAkJIkVycm8gZXh0ZXJubyBpbmRlZmluaWRvLiIKTU1TWVNFUlJfQkFEREVWSUNFSUQsIAkJIk8gSUQgZG8gZGlzcG9zaXRpdm8gdXRpbGl6YWRvIGVzdOEgZm9yYSBkb3MgcGFy4m1ldHJvcyBkbyBzZXUgc2lzdGVtYS4iCk1NU1lTRVJSX05PVEVOQUJMRUQsIAkJIk8gZHJpdmVyIG7jbyBmb2kgaGFiaWxpdGFkby4iCk1NU1lTRVJSX0FMTE9DQVRFRCwgCQkiTyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8gauEgZXN04SBlbSB1c28uIEFndWFyZGUgYXTpIHF1ZSBzZWphIGxpYmVyYWRvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1NU1lTRVJSX0lOVkFMSEFORExFLCAJCSJPIGhhbmRsZSBkbyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8g6SBpbnbhbGlkby4iCk1NU1lTRVJSX05PRFJJVkVSLCAJCSJO428gaOEgbmVuaHVtIGRyaXZlciBpbnN0YWxhZG8gZW0gc2V1IHNpc3RlbWEgIVxuIgpNTVNZU0VSUl9OT01FTSwgCQkiTuNvIGjhIG1lbfNyaWEgZGlzcG9u7XZlbCBzdWZpY2llbnRlIHBhcmEgZXNzYSB0YXJlZmEuIEZlY2hlIHVtYSBvdSBtYWlzIGFwbGljYef1ZXMgcGFyYSBhdW1lbnRhciBhIG1lbfNyaWEgZGlzcG9u7XZlbCwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNTVNZU0VSUl9OT1RTVVBQT1JURUQsIAkJIkVzc2EgZnVu5+NvIG7jbyDpIHN1cG9ydGFkYS4gVXRpbGl6ZSBhIGZ1bufjbyBDYXBhY2lkYWRlcyBwYXJhIGRldGVybWluYXIgcXVhaXMgZnVu5/VlcyBlIG1lbnNhZ2VucyBvIGRyaXZlciBzdXBvcnRhLiIKTU1TWVNFUlJfQkFERVJSTlVNLCAJCSJVbSBu+m1lcm8gZGUgZXJybyBmb2kgZXNwZWNpZmljYWRvIGUgbuNvIGVzdOEgZGVmaW5pZG8gZW0gc2V1IHNpc3RlbWEuIgpNTVNZU0VSUl9JTlZBTEZMQUcsIAkJIlVtIGZsYWcgaW524WxpZG8gZm9pIHBhc3NhZG8gcGFyYSB1bWEgZnVu5+NvIGRvIHNpc3RlbWEuIgpNTVNZU0VSUl9JTlZBTFBBUkFNLCAJCSJVbSBwYXLibWV0cm8gaW524WxpZG8gZm9pIHBhc3NhZG8gcGFyYSB1bWEgZnVu5+NvIGRvIHNpc3RlbWEuIgoKLyogV0FWRSBlcnJvcnMgKi8KV0FWRVJSX0JBREZPUk1BVCwgCQkiTyBmb3JtYXRvIGVzcGVjaWZpY2FkbyBu428g6SBzdXBvcnRhZG8gb3UgbuNvIHBvZGUgc2VyIHRyYWR1emlkby4gVXNlIGEgZnVu5+NvIENhcGFjaWRhZGVzIHBhcmEgZGV0ZXJtaW5hciBvcyBmb3JtYXRvcyBzdXBvcnRhZG9zLiIKV0FWRVJSX1NUSUxMUExBWUlORywgCQkiTuNvIOkgcG9zc+12ZWwgZXhlY3V0YXIgZXN0YSBvcGVyYefjbyBlbnF1YW5kbyBvcyBkYWRvcyBkZSBt7WRpYSBlc3RpdmVyZW0gdG9jYW5kby4gUmVpbmljaWUgbyBkaXNwb3NpdGl2bywgb3UgYWd1YXJkZSBhdOkgbyB06XJtaW5vIGRhIGV4ZWN15+NvLiIKV0FWRVJSX1VOUFJFUEFSRUQsIAkJIk8gY2FiZedhbGhvIGRvIHdhdmUgbuNvIGVzdOEgcHJlcGFyYWRvLiBVc2UgYSBmdW7n428gUHJlcGFyYXIgcGFyYSBwcmVwYXJhciBvIGNhYmXnYWxobywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpXQVZFUlJfU1lOQywgCQkJIk7jbyDpIHBvc3PtdmVsIGFicmlyIG8gZGlzcG9zaXRpdm8gc2VtIHV0aWxpemFyIGEgZmxhZyBXQVZFX0FMTE9XU1lOQy4gVXNlIGEgZmxhZywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgoKLyogTUlESSBlcnJvcnMgKi8KTUlESUVSUl9VTlBSRVBBUkVELCAJCSJPIGNhYmXnYWxobyBNSURJIG7jbyBlc3ThIHByZXBhcmFkby4gVXNlIGEgZnVu5+NvIFByZXBhcmFyIHBhcmEgcHJlcGFyYXIgbyBjYWJl52FsaG8sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUlESUVSUl9TVElMTFBMQVlJTkcsIAkJIk7jbyDpIHBvc3PtdmVsIGV4ZWN1dGFyIGVzdGEgb3BlcmHn428gZW5xdWFudG8gb3MgZGFkb3MgZGEgbe1kaWEgZXN0aXZlcmVtIHNlbmRvIGV4ZWN1dGFkb3MuIFJlaW5pY2llIG8gZGlzcG9zaXRpdm8sIG91IGFndWFyZGUgYXTpIG9zIGRhZG9zIHRlcm1pbmFyZW0gZGUgc2VyIHRvY2Fkb3MuIgpNSURJRVJSX05PTUFQLCAJCQkiTyBtYXBhIE1JREkgbuNvIGZvaSBlbmNvbnRyYWRvLiBUYWx2ZXogc2VqYSB1bSBwcm9ibGVtYSBjb20gbyBkcml2ZXIsIG91IG8gYXJxdWl2byBNSURJTUFQLkNGRyBwb2RlIGVzdGFyIGNvcnJvbXBpZG8gb3UgZmFsdGFuZG8uIgpNSURJRVJSX05PVFJFQURZLCAJCSJBIHBvcnRhIGVzdOEgdHJhbnNtaXRpbmRvIGRhZG9zIHBhcmEgbyBkaXNwb3NpdGl2by4gQWd1YXJkZSBhdOkgb3MgZGFkb3MgdGVybWluYXJlbSBkZSBzZXIgdHJhbnNtaXRpZG9zLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1JRElFUlJfTk9ERVZJQ0UsIAkJIkEgY29uZmlndXJh5+NvIGF0dWFsIGRvIE1JREkgTWFwcGVyIHJlZmVyZS1zZSBhIHVtIGRpc3Bvc2l0aXZvIE1JREkgcXVlIG7jbyBlc3ThIGluc3RhbGFkbyBubyBzaXN0ZW1hLiBVc2UgTUlESSBNYXBwZXIgcGFyYSBlZGl0YXIgYSBjb25maWd1cmHn428uIgpNSURJRVJSX0lOVkFMSURTRVRVUCwgCQkiQSBjb25maWd1cmHn428gYXR1YWwgZG8gTUlESSBlc3ThIGNvcnJvbXBpZGEuIENvcGllIG8gYXJxdWl2byBvcmlnaW5hbCBNSURJTUFQLkNGRyBwYXJhIG8gZGlyZXTzcmlvIFdpbmRvd3MgU1lTVEVNLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCgovKiBNQ0kgZXJyb3JzICovCk1DSUVSUl9JTlZBTElEX0RFVklDRV9JRCwgCSJJRCBpbnbhbGlkbyBkbyBkaXNwb3NpdGl2byBNQ0kuIFVzZSBvIElEIHJldG9ybmFkbyBwYXJhIGFicmlyIG8gZGlzcG9zaXRpdm8gTUNJLiIKTUNJRVJSX1VOUkVDT0dOSVpFRF9LRVlXT1JELCAJIk8gZHJpdmVyIG7jbyBwb2RlIHJlY29uaGVjZXIgbyBwYXLibWV0cm8gZGUgY29tYW5kbyBlc3BlY2lmaWNhZG8uIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0NPTU1BTkQsCSJPIGRyaXZlciBu428gcG9kZSByZWNvbmhlY2VyIG8gY29tYW5kbyBlc3BlY2lmaWNhZG8uIgpNQ0lFUlJfSEFSRFdBUkUsIAkJIkjhIHVtIHByb2JsZW1hIGNvbSBzZXUgZGlzcG9zaXRpdm8gZGUgbe1kaWEuIFRlbmhhIGNlcnRlemEgcXVlIGVzdGVqYSBmdW5jaW9uYW5kbyBjb3JyZXRhbWVudGUgb3UgY29udGFjdGUgbyBmYWJyaWNhbnRlIGRvIGRpc3Bvc2l0aXZvLiIKTUNJRVJSX0lOVkFMSURfREVWSUNFX05BTUUsIAkiTyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8gbuNvIGVzdOEgYWJlcnRvIG91IG7jbyDpIHJlY29uaGVjaWRvIHBlbG8gTUNJLiIKTUNJRVJSX09VVF9PRl9NRU1PUlksIAkJIk7jbyBq4SBtZW3zcmlhIGRpc3Bvbu12ZWwgc3VmdWNpZW50ZSBwYXJhIGVzdGEgdGFyZWZhLlxuRmVjaGUgdW1hIG91IG1haXMgYXBsaWNh5/VlcyBwYXJhIGF1bWVudGFyIGEgbWVt83JpYSBkaXNwb27tdmVsLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9ERVZJQ0VfT1BFTiwgCQkiTyBub21lIGRvIGRpc3Bvc2l0aXZvIGrhIGVzdOEgc2VuZG8gdXNhZG8gY29tbyB1bSBhbGlhcyBwb3IgZXN0YSBhcGxpY2Hn428uIFVzZSB1bSBhbGlhcyD6bmljby4iCk1DSUVSUl9DQU5OT1RfTE9BRF9EUklWRVIsIAkiQWNvbnRlY2V1IHVtIHByb2JsZW1hIGRlc2NvbmhlY2lkbyBlbnF1YW50byBjYXJyZWdhdmEgbyBkcml2ZXIgZG8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvLiIKTUNJRVJSX01JU1NJTkdfQ09NTUFORF9TVFJJTkcsIAkiTmVuaHVtIGNvbWFuZG8gZm9pIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9QQVJBTV9PVkVSRkxPVywgCQkiQSBzdHJpbmcgZGUgc2HtZGEgZm9pIG11aXRvIGdyYW5kZSBwYXJhIHNlciBjb2xvY2FkYSBubyBidWZmZXIgZGUgcmV0b3Juby4gQXVtZW50ZSBvIHRhbWFuaG8gZG8gYnVmZmVyLiIKTUNJRVJSX01JU1NJTkdfU1RSSU5HX0FSR1VNRU5ULCAiTyBjb21hbmRvIGVzcGVjaWZpY2FkbyByZXF1ZXIgY29tbyBwYXLibWV0cm8gdW1hIHN0cmluZyBkZSBjYXJhY3RlcnMuIFBvciBmYXZvciwgZm9ybmXnYS1hLiIKTUNJRVJSX0JBRF9JTlRFR0VSLCAJCSJPIGludGVpcm8gZXNwZWNpZmljYWRvIOkgaW524WxpZG8gcGFyYSBlc3RlIGNvbWFuZG8uIgpNQ0lFUlJfUEFSU0VSX0lOVEVSTkFMLCAJIk8gZHJpdmVyIGRvIGRpc3Bvc2l0aXZvIHJldG9ybm91IHVtIHRpcG8gaW524WxpZG8uIFZlcmlmaXF1ZSBjb20gbyBmYWJyaWNhbnRlIGRvIGRpc3Bvc2l0aXZvIGNvbW8gb2J0ZXIgdW0gbm92byBkcml2ZXIuIgpNQ0lFUlJfRFJJVkVSX0lOVEVSTkFMLCAJIkV4aXN0ZSB1bSBwcm9ibGVtYSBjb20gbyBzZXUgZHJpdmVyIGRlIGRpc3Bvc2l0aXZvLiBWZXJpZmlxdWUgY29tIG8gZmFicmljYW50ZSBkbyBkaXNwb3NpdGl2byBjb21vIG9idGVyIHVtIG5vdm8gZHJpdmVyLiIKTUNJRVJSX01JU1NJTkdfUEFSQU1FVEVSLCAJIk8gY29tYW5kbyBlc3BlY2lmaWNhZG8gcmVxdWVyIHVtIHBhcuJtZXRyby4gUG9yIGZhdm9yIGZvcm5l52Etby4iCk1DSUVSUl9VTlNVUFBPUlRFRF9GVU5DVElPTiwgCSJPIGRpc3Bvc2l0aXZvIE1DSSBxdWUgdm9j6iBlc3ThIHVzYW5kbyBu428gc3Vwb3J0YSBvIGNvbWFuZG8gZXNwZWNpZmljYWRvLiIKTUNJRVJSX0ZJTEVfTk9UX0ZPVU5ELCAJCSJO428g6SBwb3Nz7XZlbCBlbmNvbnRyYXIgbyBhcnF1aXZvIGVzcGVjaWZpY2Fkby4gQ2VydGlmaXF1ZS1zZSBxdWUgbyBjYW1pbmhvIGUgbyBub21lIGRvIGFycXVpdm8gZXN0428gY29ycmV0b3MuIgpNQ0lFUlJfREVWSUNFX05PVF9SRUFEWSwgCSJPIGRyaXZlciBkbyBkaXNwb3NpdGl2byBu428gZXN04SBwcmVwYXJhZG8uIgpNQ0lFUlJfSU5URVJOQUwsIAkJIlVtIHByb2JsZW1hIG9jb3JyZXUgbmEgaW5pY2lhbGl6YefjbyBkbyBNQ0kuIFRlbnRlIHJlaW5pY2lhciBvIFdpbmRvd3MuIgpNQ0lFUlJfRFJJVkVSLCAJCQkiSOEgdW0gcHJvYmxlbWEgY29tIG8gZHJpdmVyIGRvIGRpc3Bvc2l0aXZvLiBPIGRyaXZlciBmb2kgZmVjaGFkby4gTuNvIOkgcG9zc+12ZWwgYWNlc3NhciBvIGVycm8uIgpNQ0lFUlJfQ0FOTk9UX1VTRV9BTEwsIAkJIk7jbyDpIHBvc3PtdmVsIHVzYXIgJ2FsbCcgY29tbyBub21lIGRvIGRpc3Bvc2l0aXZvIGNvbSBvIGNvbWFuZG8gZXNwZWNpZmljYWRvLiIKTUNJRVJSX01VTFRJUExFLCAJCSJFcnJvcyBvY29ycmVyYW0gZW0gbWFpcyBkZSB1bSBkaXNwb3NpdGl2by4gRXNwZWNpZmlxdWUgY2FkYSBjb21hbmRvIGUgZGlzcG9zaXRpdm8gc2VwYXJhZGFtZW50ZSBwYXJhIGRldGVybWluYXIgcXVhaXMgZGlzcG9zaXRpdm9zIGNhdXNhcmFtIG8gZXJyby4iCk1DSUVSUl9FWFRFTlNJT05fTk9UX0ZPVU5ELCAJIk7jbyDpIHBvc3PtdmVsIGRldGVybWluYXIgbyB0aXBvIGRlIGRpc3Bvc2l0aXZvIGRhZGEgYSBleHRlbnPjbyBkZSBhcnF1aXZvLiIKTUNJRVJSX09VVE9GUkFOR0UsIAkJIk8gcGFy4m1ldHJvIGVzcGVjaWZpY2FkbyBlc3ThIGZvcmEgZGEgZXNjYWxhIHBhcmEgbyBjb21hbmRvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9GTEFHU19OT1RfQ09NUEFUSUJMRSwgCSJPcyBwYXLibWV0cm9zIGVzcGVjaWZpY2Fkb3MgbuNvIHBvZGVtIHNlciB1dGlsaXphZG9zIGp1bnRvcy4iCk1DSUVSUl9GSUxFX05PVF9TQVZFRCwgCQkiTuNvIOkgcG9zc+12ZWwgc2FsdmFyIG8gYXJxdWl2byBlc3BlY2lmaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIHRlbmhhIGVzcGHnbyBlbSBkaXNjbyBzdWZpY2llbnRlIG91IHF1ZSBhaW5kYSBlc3RlamEgY29uZWN0YWRvIGEgcmVkZS4iCk1DSUVSUl9ERVZJQ0VfVFlQRV9SRVFVSVJFRCwgCSJO428g6SBwb3Nz7XZlbCBlbmNvbnRyYXIgbyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIGVzdOEgaW5zdGFsYWRvIG91IHF1ZSBvIG5vbWUgZG8gZGlzcG9zaXRpdm8gZm9pIGVzY3JpdG8gY29ycmV0YW1lbnRlLiIKTUNJRVJSX0RFVklDRV9MT0NLRUQsIAkJIk8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvIGVzdOEgc2VuZG8gZmVjaGFkbyBhZ29yYS4gQWd1YXJkZSBhbGd1bnMgc2VndW5kb3MsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX0RVUExJQ0FURV9BTElBUywgCSJPIGFsaWFzIGVzcGVjaWZpY2FkbyBq4SBlc3ThIHNlbmRvIHV0aWxpemFkbyBuZXN0YSBhcGxpY2Hn428uIFVzZSB1bSBhbGlhcyD6bmljby4iCk1DSUVSUl9CQURfQ09OU1RBTlQsIAkJIk8gcGFy4m1ldHJvIGVzcGVjaWZpY2FkbyDpIGluduFsaWRvIHBhcmEgZXN0ZSBjb21hbmRvLiIKTUNJRVJSX01VU1RfVVNFX1NIQVJFQUJMRSwgCSJPIGRyaXZlciBkZSBkaXNwb3NpdGl2byBq4SBlc3ThIGVtIHVzby4gUGFyYSBjb21wYXJ0aWxoYS1sbywgdXNlIG8gcGFy4m1ldHJvICdzaGFyZWFibGUnIHBhcmEgY2FkYSBjb21hbmRvICdvcGVuJy4iCk1DSUVSUl9NSVNTSU5HX0RFVklDRV9OQU1FLCAJIk8gY29tYW5kbyBlc3BlY2lmaWNhZG8gcmVxdWVyIHVtIGFsaWFzLCBhcnF1aXZvLCBkcml2ZXIgb3Ugbm9tZSBkZSBkaXNwb3NpdGl2by4gUG9yIGZhdm9yLCBmb3JuZedhIHVtLiIKTUNJRVJSX0JBRF9USU1FX0ZPUk1BVCwgCSJPIHZhbG9yIGVzcGVjaWZpY2FkbyBwYXJhIG8gZm9ybWF0byBkZSBob3JhIOkgaW524WxpZG8uIFZlcmlmaXF1ZSBuYSBkb2N1bWVudGHn428gZG8gTUNJIHNvYnJlIGZvcm1hdG9zIHbhbGlkb3MuIgpNQ0lFUlJfTk9fQ0xPU0lOR19RVU9URSwgCSJBIGFzcGEtZHVwbGEgZGUgZmVjaGFtZW50byBlc3ThIGZhbHRhbmRvIHBhcmEgbyB2YWxvciBkbyBwYXLibWV0cm8uIFBvciBmYXZvciBmb3JuZedhIHVtYS4iCk1DSUVSUl9EVVBMSUNBVEVfRkxBR1MsIAkiVW0gcGFy4m1ldHJvIG91IHZhbG9yIGZvaSBlc3BlY2lmaWNhZG8gZHVhcyB2ZXplcy4gQXBlbmFzIGVzcGVjaWZpcXVlLW8gdW1hIPpuaWNhIHZlei4iCk1DSUVSUl9JTlZBTElEX0ZJTEUsIAkJIk8gYXJxdWl2byBlc3BlZmljaWRhZG8gbuNvIHBvZGUgc2VyIHRvY2FkbyBubyBkaXNwb3NpdGl2byBNQ0kgZXNwZWNpZmljYWRvLiBPIGFycXVpdm8gcG9kZSBlc3RhciBjb3Jyb21waWRvLCBvdSBu428gZXN0YXIgbm8gZm9ybWF0byBjb3JyZXRvLiIKTUNJRVJSX05VTExfUEFSQU1FVEVSX0JMT0NLLCAJIlVtIGJsb2NvIGRlIHBhcuJtZXRybyBudWxvIGZvaSBwYXNzYWRvIHBhcmEgbyBNQ0kuLiIKTUNJRVJSX1VOTkFNRURfUkVTT1VSQ0UsIAkiTuNvIOkgcG9zc+12ZWwgc2FsdmFyIHVtIGFycXVpdm8gc2VtIG5vbWUuIFBvciBmYXZvciBmb3JuZedhIHVtIG5vbWUgZGUgYXJxdWl2by4iCk1DSUVSUl9ORVdfUkVRVUlSRVNfQUxJQVMsIAkiVm9j6iBwcmVjaXNhIGVzcGVjaWZpY2FyIHVtIGFsaWFzIHF1YW5kbyB1dGlsaXphciBvIHBhcuJtZXRybyAnbmV3Jy4iCk1DSUVSUl9OT1RJRllfT05fQVVUT19PUEVOLCAJIk7jbyDpIHBvc3PtdmVsIHV0aWxpemFyIG8gZmxhZyAnbm90aWZ5JyBlbSBkaXNwb3NpdGl2b3MgYWJlcnRvcyBhdXRvbWF0aWNhbWVudGUuIgpNQ0lFUlJfTk9fRUxFTUVOVF9BTExPV0VELCAJIk7jbyDpIHBvc3PtdmVsIHVzYXIgdW0gbm9tZSBkZSBhcnF1aXZvIGNvbSBvIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9OT05BUFBMSUNBQkxFX0ZVTkNUSU9OLCAJIk7jbyDpIHBvc3PtdmVsIGRlc2NhcnJlZ2FyIG9zIGNvbWFuZG9zIG5hIG9yZGVtIGVzcGVjaWZpY2FkYS4gQ29ycmlqYSBhIHNlcXXqbmNpYSBkb3MgY29tYW5kb3MsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX0lMTEVHQUxfRk9SX0FVVE9fT1BFTiwgCSJO428g6SBwb3Nz7XZlbCBkZXNjYXJyZWdhciBvIGNvbWFuZG8gZXNwZWNpZmljYWRvIGVtIHVtIGRpc3Bvc2l0aXZvIGFiZXJ0byBhdXRvbWFudGljYW1lbnRlLiBBZ3VhcmRlIGF06SBvIGRpc3Bvc2l0aXZvIHNlciBmZWNoYWRvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9GSUxFTkFNRV9SRVFVSVJFRCwgCSJPIG5vbWUgZG8gYXJxdWl2byDpIGluduFsaWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBvIG5vbWUgZG8gYXJxdWl2byBu428g6SBtYWlvciBxdWUgOCBjYXJhY3RlcmVzLCBzZWd1aWRvIHBvciB1bSBwb250byBlIHVtYSBleHRlbnPjby4iCk1DSUVSUl9FWFRSQV9DSEFSQUNURVJTLCAJIk7jbyDpIHBvc3PtdmVsIGVzcGVjaWZpY2FyIGNhcmFjdGVyZXMgZXh0cmFzIGFw83MgdW1hIHN0cmluZyBlbnRyZSBhc3Bhcy4iCk1DSUVSUl9ERVZJQ0VfTk9UX0lOU1RBTExFRCwgCSJPIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2FkbyBu428gZXN0YSBpbnN0YWxhZG8gbm8gc2lzdGVtYS4gVXRpbGl6ZSBvIG9w5+NvIERyaXZlcnMgbm8gUGFpbmVsIGRlIENvbnRyb2xlIHBhcmEgaW5zdGFsYXIgbyBkaXNwb3NpdGl2by4iCk1DSUVSUl9HRVRfQ0QsIAkJCSJO428g6SBwb3Nz7XZlbCBhY2Vzc2FyIG8gYXJxdWl2byBlc3BlY2lmaWNhZG8gb3UgbyBkaXNwb3NpdGl2byBNQ0kuIFRlbnRlIG11ZGFyIGRlIGRpcmV083JpbyBvdSByZWluaWNpYXIgc2V1IGNvbXB1dGFkb3IuIgpNQ0lFUlJfU0VUX0NELCAJCQkiTuNvIOkgcG9zc+12ZWwgYWNlc3NhciBvIGFycXVpdm8gZXNwZWNpZmljYWRvIG91IG8gZGlzcG9zaXRpdm8gTUNJIHBvcnF1ZSBhIGFwbGljYefjbyBu428gcG9kZSBtdWRhciBkZSBkaXJldPNyaW8uIgpNQ0lFUlJfU0VUX0RSSVZFLCAJCSJO428gcG9zc28gYWNlc3NhciBvIGFycXVpdm8gZXNwZWNpZmljYWRvIG91IG8gZGlzcG9zaXRpdm8gTUNJIHBvcnF1ZSBhIGFwbGljYefjbyBu428gcG9kZSBtdWRhciBkZSBkcml2ZS4iCk1DSUVSUl9ERVZJQ0VfTEVOR1RILCAJCSJFc3BlY2lmaXF1ZSB1bSBkaXNwb3NpdGl2byBvdSBub21lIGRlIGRyaXZlciBxdWUgc2VqYSBtZW5vciBxdWUgNzkgY2FyYWN0ZXJlcy4iCk1DSUVSUl9ERVZJQ0VfT1JEX0xFTkdUSCwgCSJFc3BlY2lmaXF1ZSB1bSBkaXNwb3NpdGl2byBvdSBub21lIGRlIGRyaXZlciBxdWUgc2VqYSBtZW5vciBxdWUgNjkgY2FyYWN0ZXJlcy4iCk1DSUVSUl9OT19JTlRFR0VSLCAJCSJPIGNvbWFuZG8gZXNwZWNpZmljYWRvIHJlcXVlciB1bSBwYXLibWV0cm8gaW50ZWlyby4gUG9yIGZhdm9yIGZvcm5l52EgdW0uIgpNQ0lFUlJfV0FWRV9PVVRQVVRTSU5VU0UsIAkiVG9kb3Mgb3MgZGlzcG9zaXRpdm9zIHdhdmUgcXVlIHBvZGVtIHRvY2FyIGFycXVpdm9zIG5vIGZvcm1hdG8gYXR1YWwgZXN0428gZW0gdXNvLiBBZ3VhcmRlIGF06SB1bSBkaXNwb3NpdGl2byB3YXZlIGZpY2FyIG9jaW9zbyBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVElOVVNFLCAJIk7jbyDpIHBvc3PtdmVsIGRlZmluaXIgbyBkaXNwb3NpdGl2byB3YXZlIGF0dWFsIHBhcmEgdG9jYXIgcG9ycXVlIGVzdOEgZW0gdXNvLiBBZ3VhcmRlIGF06SBvIGRpc3Bvc2l0aXZvIGZpY2FyIG9jaW9zbyBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9XQVZFX0lOUFVUU0lOVVNFLCAJIlRvZG9zIG9zIGRpc3Bvc2l0aXZvcyB3YXZlIHF1ZSBwb2RlbSBncmF2YXIgYXJxdWl2b3Mgbm8gZm9ybWF0byBhdHVhbCBlc3TjbyBlbSB1c28uIEFndWFyZGUgYXTpIG8gZGlzcG9zaXRpdm8gd2F2ZSBmaWNhciBvY2lvc28sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX1dBVkVfU0VUSU5QVVRJTlVTRSwgCSJO428gZm9pIHBvc3NpdmVsIGRlZmluaXIgbyBkaXNwb3NpdGl2byB3YXZlIGNvcnJlbnRlIHBhcmEgZ3JhdmFyIHBvcnF1ZSBlbGUgZXN04SBlbSB1c28uIEFndWFyZGUgYXTpIGVsZSBmaWNhciBsaXZyZSwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9PVVRQVVRVTlNQRUNJRklFRCwJIlF1YWxxdWVyIGRpc3Bvc2l0aXZvIHRvY2Fkb3IgY29tcGF07XZlbCBjb20gbyBmb3JtYXRvIHdhdmUgcG9kZSBzZXIgdXRpbGl6YWRvLiIKTUNJRVJSX1dBVkVfSU5QVVRVTlNQRUNJRklFRCwgCSJRdWFscXVlciBkaXNwb3NpdGl2byBncmF2YWRvciBjb21wYXTtdmVsIGNvbSBvIGZvcm1hdG8gd2F2ZSBwb2RlIHNlciB1dGlsaXphZG8uIgpNQ0lFUlJfV0FWRV9PVVRQVVRTVU5TVUlUQUJMRSwgCSJOZW5odW0gZGlzcG9zaXRpdm8gd2F2ZSBxdWUgcG9zc2EgdG9jYXIgYXJxdWl2b3Mgbm8gZm9ybWF0byB3YXZlIGVzdOEgaW5zdGFsYWRvLiBVc2UgYSBvcOfjbyBEcml2ZXJzIHBhcmEgaW5zdGFsYXIgbyBkaXNwb3NpdGl2byB3YXZlLiIKTUNJRVJSX1dBVkVfU0VUT1VUUFVUVU5TVUlUQUJMRSwiTyBkaXNwb3NpdGl2byBxdWUgdm9j6iBlc3ThIHRlbnRhbmRvIHRvY2FyIG7jbyByZWNvbmhlY2UgbyBmb3JtYXRvIGRvIGFycXVpdm8gYXR1YWwuIgpNQ0lFUlJfV0FWRV9JTlBVVFNVTlNVSVRBQkxFLCAJIk5lbmh1bSBkaXNwb3NpdGl2byB3YXZlIHF1ZSBwb3NzYSBncmF2YXIgYXJxdWl2b3Mgbm8gZm9ybWF0byBhdHVhbCBlc3ThIGluc3RhbGFkby4gVXNlIG8gb3Dn428gRHJpdmVycyBwYXJhIGluc3RhbGFyIG8gZGlzcG9zaXRpdm8gd2F2ZS4iCk1DSUVSUl9XQVZFX1NFVElOUFVUVU5TVUlUQUJMRSwgIk8gZGlzcG9zaXRpdm8gZGUgb25kZSB2b2PqIGVzdOEgdGVudGFuZG8gZ3JhdmFyIG7jbyBwb2RlIHJlY29uaGVjZXIgbyBmb3JtYXRvIGRvIGFycXVpdm8gYXR1YWwuIgpNQ0lFUlJfTk9fV0lORE9XLCAJCSJO428gaOEgbmVuaHVtYSBqYW5lbGEgZGUgdmlzdWFsaXph5+NvLiIKTUNJRVJSX0NSRUFURVdJTkRPVywgCQkiTuNvIOkgcG9zc+12ZWwgY3JpYXIgb3UgdXRpbGl6YXIgYSBqYW5lbGEuIgpNQ0lFUlJfRklMRV9SRUFELCAJCSJO428g6SBwb3Nz7XZlbCBsZXIgbyBhcnF1aXZvIGVzcGVjaWZpY2Fkby4gQ2VydGlmaXF1ZS1zZSBxdWUgbyBhcnF1aXZvIGFpbmRhIGVzdOEgcHJlc2VudGUsIG91IHZlcmlmaXF1ZSBzZXUgZGlzY28gb3UgY29uZWPn428gZGUgcmVkZS4iCk1DSUVSUl9GSUxFX1dSSVRFLCAJCSJO428g6SBwb3Nz7XZlbCBncmF2YXIgbm8gYXJxdWl2byBlc3BlY2lmaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIHZvY+ogcG9zc3VpIGVzcGHnbyBlbSBkaXNjbyBzdWZpY2llbnRlIG91IHF1ZSBhaW5kYSBlc3RlamEgY29uZWN0YWRvIG5hIHJlZGUuIgpNQ0lFUlJfU0VRX0RJVl9JTkNPTVBBVElCTEUsIAkiTyBmb3JtYXRvIGRlIGhvcmEgZG8gIiJzb25nIHBvaW50ZXIiIiBlIFNNUFRFIHPjbyBtdXR1YWxtZW50ZSBleGNsdXNpdm9zLiBWb2PqIG7jbyBwb2RlIHV0aWxpeuEtbG9zIGp1bnRvcy4iCk1DSUVSUl9TRVFfTk9NSURJUFJFU0VOVCwgCSJPIHNpc3RlbWEgbuNvIHBvc3N1aSBkaXNwb3NpdGl2b3MgTUlESSBpbnN0YWxhZG9zLiBVc2UgYSBvcOfjbyBEcml2ZXJzIG5vIFBhaW5lbCBkZSBDb250cm9sZSBwYXJhIGluc3RhbGFyIHVtIGRyaXZlciBNSURJLiIKTUNJRVJSX1NFUV9QT1JUX0lOVVNFLCAJCSJBIHBvcnRhIE1JREkgZXNwZWNpZmljYWRhIGrhIGVzdGEgZW0gdXNvLiBBZ3VhcmRlIGF06SBxdWUgZXN0ZWphIGxpdnJlLCBlIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9TRVFfUE9SVF9NQVBOT0RFVklDRSwgCSJBIGNvbmZpZ3VyYefjbyBhdHVhbCBkbyBNSURJIE1hcHBlciByZWZlcmUtc2UgYSB1bSBkaXNwb3NpdGl2byBNSURJIHF1ZSBu428gZXN04SBpbnN0YWxhZG8gZW0gc2V1IHNpc3RlbWEuIFVzZSBhIG9w5+NvIE1JREkgTWFwcGVyIGRvIFBhaW5lbCBkZSBDb250cm9sZSBwYXJhIGVkaXRhciBhIGNvbmZpZ3VyYefjby4iCk1DSUVSUl9TRVFfUE9SVF9NSVNDRVJST1IsIAkiVW0gZXJybyBvY29ycmV1IGNvbSBhIHBvcnRhIGVzcGVjaWZpY2FkYS4iCk1DSUVSUl9TRVFfUE9SVF9OT05FWElTVEVOVCwgCSJPIGRpc3Bvc2l0aXZvIE1JREkgZXNwZWNpZmljYWRvIG7jbyBlc3ThIGluc3RhbGFkbyBlbSBzZXUgc2lzdGVtYS4gVXNlIGEgb3Dn428gRHJpdmVycyBubyBQYWluZWwgZGUgQ29udHJvbGUgcGFyYSBpbnN0YWxhciB1bSBkaXNwb3NpdGl2byBNSURJLiIKTUNJRVJSX1NFUV9QT1JUVU5TUEVDSUZJRUQsIAkiTyBzaXN0ZW1hIG7jbyB06m0gYXR1YWxtZW50ZSB1bWEgcG9ydGEgTUlESSBlc3BlY2lmaWNhZGEuIgpNQ0lFUlJfU0VRX1RJTUVSLCAJCSJUb2RvcyBvcyB0ZW1wb3JpemFkb3JlcyBkZSBtdWx0aW3tZGlhIGVzdONvIHNlbmRvIHV0aWxpemFkb3MgcG9yIG91dHJhcyBhcGxpY2Hn9WVzLiBGZWNoZSB1bWEgZGVzc2FzIGFwbGljYef1ZXMsIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCgpFTkQKClNUUklOR1RBQkxFIExBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19QT1JUVUdVRVNFCgpCRUdJTgoKLyogTU1TWVMgZXJyb3JzICovCk1NU1lTRVJSX05PRVJST1IsIAkJIk8gY29tYW5kbyBpbmRpY2FkbyBmb2kgcmVhbGl6YWRvLiIKTU1TWVNFUlJfRVJST1IsIAkJIkVycm8gZXh0ZXJubyBu428gZGVmaW5pZG8uIgpNTVNZU0VSUl9CQURERVZJQ0VJRCwgCQkiTyBJRCBkZSB1bSBkaXNwb3NpdGl2byB1c2FkbyBlc3ThIGZvcmEgZG9zIHBhcuJtZXRyb3MgZG8gc2V1IHNpc3RlbWEuIgpNTVNZU0VSUl9OT1RFTkFCTEVELCAJCSJPIGNvbnRyb2xhZG9yIG7jbyBmb2kgYWN0aXZhZG8uIgpNTVNZU0VSUl9BTExPQ0FURUQsIAkJIk8gZGlzcG9zaXRpdm8gaW5kaWNhZG8gauEgZXN04SBlbSB1c28uIEFndWFyZGUgYXTpIHF1ZSBlc3RlamEgbGl2cmUsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTU1TWVNFUlJfSU5WQUxIQU5ETEUsIAkJIk8gbWFudXNlYW1lbnRvIGRvIGRpc3Bvc2l0aXZvIGluZGljYWRvIOkgaW524WxpZG8uIgpNTVNZU0VSUl9OT0RSSVZFUiwgCQkiTuNvIGV4aXN0ZSBuZW5odW0gY29udHJvbGFkb3IgaW5zdGFsYWRvIG5vIHNldSBzaXN0ZW1hICFcbiIKTU1TWVNFUlJfTk9NRU0sIAkJIk7jbyBleGlzdGUgbWVt83JpYSBkaXNwb27tdmVsIHN1ZmljaWVudGUgcGFyYSBlc3RhIHRhcmVmYS4gRmVjaGUgdW1hIG91IG1haXMgYXBsaWNh5/VlcyBwYXJhIGF1bWVudGFyIGEgbWVt83JpYSBkaXNwb27tdmVsLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1NU1lTRVJSX05PVFNVUFBPUlRFRCwgCQkiRXN0YSBmdW7n428gbuNvIOkgc3Vwb3J0YWRhLiBVc2UgYSBmdW7n428gQ2FwYWNpZGFkZXMgcGFyYSBkZXRlcm1pbmFyIHF1ZSBmdW7n9WVzIGUgbWVuc2FnZW5zIG8gY29udHJvbGFkb3Igc3Vwb3J0YS4iCk1NU1lTRVJSX0JBREVSUk5VTSwgCQkiVW0gbvptZXJvIGRlIGVycm8gZm9pIGluZGljYWRvIHF1ZSBu428gZXN04SBkZWZpbmlkbyBubyBzZXUgc2lzdGVtYS4iCk1NU1lTRVJSX0lOVkFMRkxBRywgCQkiVW1hIG9w5+NvIGluduFsaWRhIGZvaSBwYXNzYWRhIHBhcmEgdW1hIGZ1bufjbyBkbyBzaXN0ZW1hLiIKTU1TWVNFUlJfSU5WQUxQQVJBTSwgCQkiVW0gcGFy4m1ldHJvIGluduFsaWRvIGZvaSBwYXNzYWRvIHBhcmEgdW1hIGZ1bufjbyBkbyBzaXN0ZW1hLiIKCi8qIFdBVkUgZXJyb3JzICovCldBVkVSUl9CQURGT1JNQVQsIAkJIk8gZm9ybWF0byBpbmRpY2FkbyBu428g6SBzdXBvcnRhZG8gb3UgbuNvIHBvZGUgc2VyIHRyYWR1emlkby4gVXNlIGEgZnVu5+NvIENhcGFjaWRhZGVzIHBhcmEgZGV0ZXJtaW5hciBvcyBmb3JtYXRvcyBzdXBvcnRhZG9zLiIKV0FWRVJSX1NUSUxMUExBWUlORywgCQkiTuNvIOkgcG9zc+12ZWwgZXhlY3V0YXIgZXN0YSBvcGVyYefjbyBlbnF1YW5kbyBvcyBkYWRvcyBkYSBt6WRpYSBlc3RpdmVyZW0gYSByZXByb2R1emlyLiBSZWluaWNpZSBvIGRpc3Bvc2l0aXZvLCBvdSBhZ3VhcmRlIGF06SBxdWUgYSByZXByb2R15+NvIGRvcyBkYWRvcyB0ZXJtaW5lLiIKV0FWRVJSX1VOUFJFUEFSRUQsIAkJIk8gY2FiZedhbGhvIGRvIHdhdmUgbuNvIGVzdOEgcHJlcGFyYWRvLiBVc2UgYSBmdW7n428gUHJlcGFyYXIgcGFyYSBwcmVwYXJhciBvIGNhYmXnYWxobywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpXQVZFUlJfU1lOQywgCQkJIk7jbyDpIHBvc3PtdmVsIGFicmlyIG8gZGlzcG9zaXRpdm8gc2VtIHVzYXIgYSBvcOfjbyBXQVZFX0FMTE9XU1lOQy4gVXNlIGEgb3Dn428sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKCi8qIE1JREkgZXJyb3JzICovCk1JRElFUlJfVU5QUkVQQVJFRCwgCQkiTyBjYWJl52FsaG8gTUlESSBu428gZXN04SBwcmVwYXJhZG8uIFVzZSBhIGZ1bufjbyBQcmVwYXJhciBwYXJhIHByZXBhcmFyIG8gY2FiZedhbGhvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1JRElFUlJfU1RJTExQTEFZSU5HLCAJCSJO428g6SBwb3Nz7XZlbCBleGVjdXRhciBlc3RhIG9wZXJh5+NvIGVucXVhbnRvIG9zIGRhZG9zIGRhIG3pZGlhIGVzdGl2ZXJlbSBhIHNlciByZXByb2R1emlkb3MuIFJlaW5pY2llIG8gZGlzcG9zaXRpdm8sIG91IGFndWFyZGUgYXTpIHF1ZSBhIHJlcHJvZHXn428gZG9zIGRhZG9zIHRlcm1pbmUuIgpNSURJRVJSX05PTUFQLCAJCQkiTuNvIGZvaSBlbmNvbnRyYWRvIHVtIG1hcGEgTUlESS4gVGFsdmV6IHNlamEgdW0gcHJvYmxlbWEgY29tIG8gY29udHJvbGFkb3IsIG91IG8gZmljaGVpcm8gTUlESU1BUC5DRkcgcG9kZSBlc3RhciBjb3Jyb21waWRvIG91IGVtIGZhbHRhLiIKTUlESUVSUl9OT1RSRUFEWSwgCQkiTyBwb3J0byBlc3ThIGEgdHJhbnNtaXRpciBkYWRvcyBwYXJhIG8gZGlzcG9zaXRpdm8uIEFndWFyZGUgYXTpIHF1ZSBvcyBkYWRvcyB0ZXJtaW5lbSBkZSBzZXIgdHJhbnNtaXRpZG9zLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1JRElFUlJfTk9ERVZJQ0UsIAkJIkEgY29uZmlndXJh5+NvIGFjdHVhbCBkbyBNYXBlYWRvciBNSURJIHJlZmVyZS1zZSBhIHVtIGRpc3Bvc2l0aXZvIE1JREkgcXVlIG7jbyBlc3ThIGluc3RhbGFkbyBubyBzaXN0ZW1hLiBVc2UgbyBNYXBlYWRvciBNSURJIHBhcmEgZWRpdGFyIGEgY29uZmlndXJh5+NvLiIKTUlESUVSUl9JTlZBTElEU0VUVVAsIAkJIkEgY29uZmlndXJh5+NvIGFjdHVhbCBkbyBNSURJIGVzdOEgY29ycm9tcGlkYS4gQ29waWUgbyBmaWNoZWlybyBvcmlnaW5hbCBNSURJTUFQLkNGRyBwYXJhIG8gZGlyZWN083JpbyBXaW5kb3dzIFNZU1RFTSwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgoKLyogTUNJIGVycm9ycyAqLwpNQ0lFUlJfSU5WQUxJRF9ERVZJQ0VfSUQsIAkiSUQgaW524WxpZG8gZG8gZGlzcG9zaXRpdm8gTUNJLiBVc2UgbyBJRCByZXRvcm5hZG8gcGFyYSBhYnJpciBvIGRpc3Bvc2l0aXZvIE1DSS4iCk1DSUVSUl9VTlJFQ09HTklaRURfS0VZV09SRCwgCSJPIGNvbnRyb2xhZG9yIG7jbyBwb2RlIHJlY29uaGVjZXIgbyBwYXLibWV0cm8gZG8gY29tYW5kbyBpbmRpY2Fkby4iCk1DSUVSUl9VTlJFQ09HTklaRURfQ09NTUFORCwJIk8gY29udHJvbGFkb3IgbuNvIHBvZGUgcmVjb25oZWNlciBvIGNvbWFuZG8gaW5kaWNhZG8uIgpNQ0lFUlJfSEFSRFdBUkUsIAkJIkV4aXN0ZSB1bSBwcm9ibGVtYSBjb20gbyBzZXUgZGlzcG9zaXRpdm8gZGUgbelkaWEuIENlcnRpZmlxdWUtc2UgcXVlIGVzdOEgYSBmdW5jaW9uYXIgY29ycmVjdGFtZW50ZSBvdSBjb250YWN0ZSBvIGZhYnJpY2FudGUgZG8gZGlzcG9zaXRpdm8uIgpNQ0lFUlJfSU5WQUxJRF9ERVZJQ0VfTkFNRSwgCSJPIGRpc3Bvc2l0aXZvIGluZGljYWRvIG7jbyBlc3ThIGFiZXJ0byBvdSBu428g6SByZWNvbmhlY2lkbyBwZWxvIE1DSS4iCk1DSUVSUl9PVVRfT0ZfTUVNT1JZLCAJCSJO428gaOEgbWVt83JpYSBkaXNwb27tdmVsIHN1ZmljaWVudGUgcGFyYSBlc3RhIHRhcmVmYS5cbkZlY2hlIHVtYSBvdSBtYWlzIGFwbGljYef1ZXMgcGFyYSBhdW1lbnRhciBhIG1lbfNyaWEgZGlzcG9u7XZlbCwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfREVWSUNFX09QRU4sIAkJIk8gbm9tZSBkbyBkaXNwb3NpdGl2byBq4SBlc3ThIGEgc2VyIHVzYWRvIGNvbW8gdW1hIGFsaWFzIHBvciBlc3RhIGFwbGljYefjby4gVXNlIHVtYSBhbGlhcyD6bmljYS4iCk1DSUVSUl9DQU5OT1RfTE9BRF9EUklWRVIsIAkiT2NvcnJldSB1bSBwcm9ibGVtYSBkZXNjb25oZWNpZG8gZW5xdWFudG8gY2FycmVnYXZhIG8gY29udHJvbGFkb3IgZG8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvLiIKTUNJRVJSX01JU1NJTkdfQ09NTUFORF9TVFJJTkcsIAkiTmVuaHVtIGNvbWFuZG8gaW5kaWNhZG8uIgpNQ0lFUlJfUEFSQU1fT1ZFUkZMT1csIAkJIkEgc3RyaW5nIGRlIHNh7WRhIGVyYSBkZW1hc2RpYWRvIGNvbXByaWRhIHBhcmEgc2VyIGNvbG9jYWRhIG5vICdidWZmZXInIGRlIHJldG9ybm8uIEF1bWVudGUgbyB0YW1hbmhvIGRvICdidWZmZXInLiIKTUNJRVJSX01JU1NJTkdfU1RSSU5HX0FSR1VNRU5ULCAiTyBjb21hbmRvIGluZGljYWRvIHJlcXVlciBjb21vIHBhcuJtZXRybyB1bWEgc3RyaW5nIGRlIGNhcmFjdGVyZXMuIFBvciBmYXZvciwgZm9ybmXnYS1hLiIKTUNJRVJSX0JBRF9JTlRFR0VSLCAJCSJPIGludGVpcm8gaW5kaWNhZG8g6SBpbnbhbGlkbyBwYXJhIGVzdGUgY29tYW5kby4iCk1DSUVSUl9QQVJTRVJfSU5URVJOQUwsIAkiTyBjb250cm9sYWRvciBkbyBkaXNwb3NpdGl2byByZXRvcm5vdSB1bSB0aXBvIGluduFsaWRvLiBWZXJpZmlxdWUgY29tIG8gZmFicmljYW50ZSBkbyBkaXNwb3NpdGl2byBjb21vIG9idGVyIHVtIG5vdm8gY29udHJvbGFkb3IuIgpNQ0lFUlJfRFJJVkVSX0lOVEVSTkFMLCAJIk9jb3JyZXUgdW0gcHJvYmxlbWEgY29tIG8gc2V1IGNvbnRyb2xhZG9yIGRlIGRpc3Bvc2l0aXZvLiBWZXJpZmlxdWUgY29tIG8gZmFicmljYW50ZSBkbyBkaXNwb3NpdGl2byBjb21vIG9idGVyIHVtIG5vdm8gY29udHJvbGFkb3IuIgpNQ0lFUlJfTUlTU0lOR19QQVJBTUVURVIsIAkiTyBjb21hbmRvIGluZGljYWRvIHJlcXVlciB1bSBwYXLibWV0cm8uIFBvciBmYXZvciBmb3JuZedhLW8uIgpNQ0lFUlJfVU5TVVBQT1JURURfRlVOQ1RJT04sIAkiTyBkaXNwb3NpdGl2byBNQ0kgcXVlIGVzdOEgYSB1c2FyIG7jbyBzdXBvcnRhIG8gY29tYW5kbyBpbmRpY2Fkby4iCk1DSUVSUl9GSUxFX05PVF9GT1VORCwgCQkiTuNvIOkgcG9zc+12ZWwgZW5jb250cmFyIG8gZmljaGVpcm8gaW5kaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIGEgbG9jYWxpemHn428gZSBvIG5vbWUgZG8gZmljaGVpcm8gZXN0428gY29ycmVjdG9zLiIKTUNJRVJSX0RFVklDRV9OT1RfUkVBRFksIAkiTyBjb250cm9sYWRvciBkbyBkaXNwb3NpdGl2byBu428gZXN04SBwcmVwYXJhZG8uIgpNQ0lFUlJfSU5URVJOQUwsIAkJIk9jb3JyZXUgdW0gcHJvYmxlbWEgbmEgaW5pY2lhbGl6YefjbyBkbyBNQ0kuIFRlbnRlIHJlaW5pY2lhciBvIFdpbmRvd3MuIgpNQ0lFUlJfRFJJVkVSLCAJCQkiRXhpc3RlIHVtIHByb2JsZW1hIGNvbSBvIGNvbnRyb2xhZG9yIGRvIGRpc3Bvc2l0aXZvLiBPIGNvbnRyb2xhZG9yIGZvaSBmZWNoYWRvLiBO428g6SBwb3Nz7XZlbCBhY2VkZXIgYW8gZXJyby4iCk1DSUVSUl9DQU5OT1RfVVNFX0FMTCwgCQkiTuNvIOkgcG9zc+12ZWwgdXNhciAnYWxsJyBjb21vIG5vbWUgZG8gZGlzcG9zaXRpdm8gY29tIG8gY29tYW5kbyBpbmRpY2Fkby4iCk1DSUVSUl9NVUxUSVBMRSwgCQkiT2NvcnJlcmFtIGVycm9zIGVtIG1haXMgZGUgdW0gZGlzcG9zaXRpdm8uIEluZGlxdWUgY2FkYSBjb21hbmRvIGUgZGlzcG9zaXRpdm8gc2VwYXJhZGFtZW50ZSBwYXJhIGRldGVybWluYXIgcXVlIGRpc3Bvc2l0aXZvcyBjYXVzYXJhbSBvIGVycm8uIgpNQ0lFUlJfRVhURU5TSU9OX05PVF9GT1VORCwgCSJO428g6SBwb3Nz7XZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkZSBkaXNwb3NpdGl2byBkYWRhIGEgZXh0ZW5z428gZG8gZmljaGVpcm8uIgpNQ0lFUlJfT1VUT0ZSQU5HRSwgCQkiTyBwYXLibWV0cm8gaW5kaWNhZG8gZXN04SBmb3JhIGRhIGVzY2FsYSBwYXJhIG8gY29tYW5kbyBpbmRpY2Fkby4iCk1DSUVSUl9GTEFHU19OT1RfQ09NUEFUSUJMRSwgCSJPcyBwYXLibWV0cm9zIGluZGljYWRvcyBu428gcG9kZW0gc2VyIHV0aWxpemFkb3MganVudG9zLiIKTUNJRVJSX0ZJTEVfTk9UX1NBVkVELCAJCSJO428g6SBwb3Nz7XZlbCBncmF2YXIgbyBmaWNoZWlybyBpbmRpY2Fkby4gQ2VydGlmaXF1ZS1zZSBxdWUgdGVtIGVzcGHnbyBlbSBkaXNjbyBzdWZpY2llbnRlIG91IHF1ZSBhaW5kYSBlc3ThIGNvbmVjdGFkbyBuYSByZWRlLiIKTUNJRVJSX0RFVklDRV9UWVBFX1JFUVVJUkVELCAJIk7jbyDpIHBvc3PtdmVsIGVuY29udHJhciBvIGRpc3Bvc2l0aXZvIGluZGljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBlc3ThIGluc3RhbGFkbyBvdSBxdWUgbyBub21lIGRvIGRpc3Bvc2l0aXZvIGZvaSBlc2NyaXRvIGNvcnJlY3RhbWVudGUuIgpNQ0lFUlJfREVWSUNFX0xPQ0tFRCwgCQkiTyBkaXNwb3NpdGl2byBpbmljYWRvIGVzdOEgYSBzZXIgZmVjaGFkbyBhZ29yYS4gQWd1YXJkZSBhbGd1bnMgc2VndW5kb3MsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX0RVUExJQ0FURV9BTElBUywgCSJBICdhbGlhcycgaW5kaWNhZGEgauEgZXN04SBhIHNlciB1c2FkYSBuZXN0YSBhcGxpY2Hn428uIFVzZSB1bWEgYWxpYXMg+m5pY2EuIgpNQ0lFUlJfQkFEX0NPTlNUQU5ULCAJCSJPIHBhcuJtZXRybyBpbmRpY2FkbyDpIGluduFsaWRvIHBhcmEgZXN0ZSBjb21hbmRvLiIKTUNJRVJSX01VU1RfVVNFX1NIQVJFQUJMRSwgCSJPIGNvbnRyb2xhZG9yIGRlIGRpc3Bvc2l0aXZvIGrhIGVzdOEgZW0gdXNvLiBQYXJhIG8gcGFydGlsaGFyLCB1c2UgbyBwYXLibWV0cm8gJ3NoYXJlYWJsZScgcGFyYSBjYWRhIGNvbWFuZG8gJ29wZW4nLiIKTUNJRVJSX01JU1NJTkdfREVWSUNFX05BTUUsIAkiTyBjb21hbmRvIGluZGljYWRvIHJlcXVlciB1bWEgJ2FsaWFzJywgZmljaGVpcm8sIGNvbnRyb2xhZG9yIG91IG5vbWUgZGUgZGlzcG9zaXRpdm8uIFBvciBmYXZvciwgZm9ybmXnYSB1bS4iCk1DSUVSUl9CQURfVElNRV9GT1JNQVQsIAkiTyB2YWxvciBpbmRpY2FkbyBwYXJhIG8gZm9ybWF0byBob3LhcmlvIOkgaW524WxpZG8uIFZlcmlmaXF1ZSBuYSBkb2N1bWVudGHn428gTUNJIGFjZXJjYSBkb3MgZm9ybWF0b3MgduFsaWRvcy4iCk1DSUVSUl9OT19DTE9TSU5HX1FVT1RFLCAJIkEgYXNwYS1kdXBsYSBkZSBmZWNobyBlc3ThIGVtIGZhbHRhIHBhcmEgbyB2YWxvciBkbyBwYXLibWV0cm8uIFBvciBmYXZvciBmb3JuZedhIHVtYS4iCk1DSUVSUl9EVVBMSUNBVEVfRkxBR1MsIAkiVW0gcGFy4m1ldHJvIG91IHZhbG9yIGZvaSBpbmRpY2FkbyBkdWFzIHZlemVzLiBJbmRpcXVlLW8gYXBlbmFzIHVtYSD6bmljYSB2ZXouIgpNQ0lFUlJfSU5WQUxJRF9GSUxFLCAJCSJPIGZpY2hlaXJvIGluZGljYWRvIG7jbyBwb2RlIHNlciByZXByb2R1emlkbyBubyBkaXNwb3NpdGl2byBNQ0kgZXNwZWNpZmljYWRvLiBPIGZpY2hlaXJvIHBvZGUgZXN0YXIgY29ycm9tcGlkbywgb3UgcG9kZSBu428gZXN0YXIgbm8gZm9ybWF0byBjb3JyZWN0by4iCk1DSUVSUl9OVUxMX1BBUkFNRVRFUl9CTE9DSywgCSJVbSBibG9jbyBkZSBwYXLibWV0cm8gbnVsbyBmb2kgcGFzc2FkbyBwYXJhIG8gTUNJLi4iCk1DSUVSUl9VTk5BTUVEX1JFU09VUkNFLCAJIk7jbyDpIHBvc3PtdmVsIGdyYXZhciB1bSBmaWNoZWlybyBzZW0gbm9tZS4gUG9yIGZhdm9yIGluZGlxdWUgdW0gbm9tZSBkZSBmaWNoZWlyby4iCk1DSUVSUl9ORVdfUkVRVUlSRVNfQUxJQVMsIAkiUHJlY2lzYSBpbmRpY2FyIHVtYSAnYWxpYXMnIHF1YW5kbyB1c2FyIG8gcGFy4m1ldHJvICduZXcnLiIKTUNJRVJSX05PVElGWV9PTl9BVVRPX09QRU4sIAkiTuNvIOkgcG9zc+12ZWwgdXNhciBhIG9w5+NvICdub3RpZnknIGVtIGRpc3Bvc2l0aXZvcyBhYmVydG9zIGF1dG9tYXRpY2FtZW50ZS4iCk1DSUVSUl9OT19FTEVNRU5UX0FMTE9XRUQsIAkiTuNvIOkgcG9zc+12ZWwgdXNhciB1bSBub21lIGRlIGZpY2hlaXJvIGNvbSBvIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9OT05BUFBMSUNBQkxFX0ZVTkNUSU9OLCAJIk7jbyDpIHBvc3PtdmVsIGRlc2NhcnJlZ2FyIG9zIGNvbWFuZG9zIG5hIG9yZGVtIGluZGljYWRhLiBDb3JyaWphIGEgc2VxdepuY2lhIGRlIGNvbWFuZG9zLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9JTExFR0FMX0ZPUl9BVVRPX09QRU4sIAkiTuNvIOkgcG9zc+12ZWwgZGVzY2FycmVnYXIgbyBjb21hbmRvIGluZGljYWRvIG51bSBkaXNwb3NpdGl2byBhYmVydG8gYXV0b21hbnRpY2FtZW50ZS4gQWd1YXJkZSBhdOkgcXVlIG8gZGlzcG9zaXRpdm8gZXN0ZWphIGZlY2hhZG8sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX0ZJTEVOQU1FX1JFUVVJUkVELCAJIk8gbm9tZSBkbyBmaWNoZWlybyDpIGluduFsaWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBvIG5vbWUgZG8gZmljaGVpcm8gbuNvIOkgbWFpb3IgcXVlIDggY2FyYWN0ZXJlcywgc2VndWlkbyBwb3IgdW0gcG9udG8gZSB1bWEgZXh0ZW5z428uIgpNQ0lFUlJfRVhUUkFfQ0hBUkFDVEVSUywgCSJO428g6SBwb3Nz7XZlbCBpbmRpY2FyIGNhcmFjdGVyZXMgZXh0cmFzIGFw83MgdW1hIHN0cmluZyBlbnRyZSBhc3Bhcy4iCk1DSUVSUl9ERVZJQ0VfTk9UX0lOU1RBTExFRCwgCSJPIGRpc3Bvc2l0aXZvIGluZGljYWRvIG7jbyBlc3ThIGluc3RhbGFkbyBubyBzaXN0ZW1hLiBVc2UgYSBvcOfjbyBDb250cm9sYWRvcmVzIG5vIFBhaW5lbCBkZSBDb250cm9sbyBwYXJhIGluc3RhbGFyIG8gZGlzcG9zaXRpdm8uIgpNQ0lFUlJfR0VUX0NELCAJCQkiTuNvIOkgcG9zc+12ZWwgYWNlZGVyIGFvIGZpY2hlaXJvIGluZGljYWRvIG91IGFvIGRpc3Bvc2l0aXZvIE1DSS4gVGVudGUgbXVkYXIgZGUgZGlyZWN083JpbyBvdSByZWluaWNpZSBvIHNldSBjb21wdXRhZG9yLiIKTUNJRVJSX1NFVF9DRCwgCQkJIk7jbyDpIHBvc3PtdmVsIGFjZWRlciBhbyBmaWNoZWlybyBpbmRpY2FkbyBvdSBhbyBkaXNwb3NpdGl2byBNQ0kgcG9ycXVlIGEgYXBsaWNh5+NvIG7jbyBwb2RlIG11ZGFyIGRlIGRpcmVjdPNyaW8uIgpNQ0lFUlJfU0VUX0RSSVZFLCAJCSJO428g6SBwb3Nz7XZlbCBhY2VkZXIgYW8gZmljaGVpcm8gaW5kaWNhZG8gb3UgbyBkaXNwb3NpdGl2byBNQ0kgcG9ycXVlIGEgYXBsaWNh5+NvIG7jbyBwb2RlIG11ZGFyIGRlIGNvbnRyb2xhZG9yLiIKTUNJRVJSX0RFVklDRV9MRU5HVEgsIAkJIkluZGlxdWUgdW0gZGlzcG9zaXRpdm8gb3Ugbm9tZSBkZSBjb250cm9sYWRvciBxdWUgc2VqYSBtZW5vciBxdWUgNzkgY2FyYWN0ZXJlcy4iCk1DSUVSUl9ERVZJQ0VfT1JEX0xFTkdUSCwgCSJJbmRpcXVlIHVtIGRpc3Bvc2l0aXZvIG91IG5vbWUgZGUgY29udHJvbGFkb3IgcXVlIHNlamEgbWVub3IgcXVlIDY5IGNhcmFjdGVyZXMuIgpNQ0lFUlJfTk9fSU5URUdFUiwgCQkiTyBjb21hbmRvIGluZGljYWRvIHJlcXVlciB1bSBwYXLibWV0cm8gaW50ZWlyby4gUG9yIGZhdm9yIGZvcm5l52EgdW0uIgpNQ0lFUlJfV0FWRV9PVVRQVVRTSU5VU0UsIAkiVG9kb3Mgb3MgZGlzcG9zaXRpdm9zIHdhdmUgcXVlIHBvZGVtIHJlcHJvZHV6aXIgZmljaGVpcm9zIG5vIGZvcm1hdG8gYWN0dWFsIGVzdONvIGVtIHVzby4gQWd1YXJkZSBhdOkgdW0gZGlzcG9zaXRpdm8gd2F2ZSBmaXF1ZSAgbGl2cmUgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9TRVRPVVRQVVRJTlVTRSwgCSJO428g6SBwb3Nz7XZlbCBkZWZpbmlyIG8gZGlzcG9zaXRpdm8gd2F2ZSBhY3R1YWwgcGFyYSByZXByb2R1emlyIHBvcnF1ZSBlc3ThIGVtIHVzby4gQWd1YXJkZSBhdOkgbyBkaXNwb3NpdGl2byBmaXF1ZSBsaXZyZSBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9XQVZFX0lOUFVUU0lOVVNFLCAJIlRvZG9zIG9zIGRpc3Bvc2l0aXZvcyB3YXZlIHF1ZSBwb2RlbSBncmF2YXIgZmljaGVpcm9zIG5vIGZvcm1hdG8gYWN0dWFsIGVzdONvIGVtIHVzby4gQWd1YXJkZSBhdOkgbyBkaXNwb3NpdGl2byB3YXZlIGZpcXVlIGxpdnJlLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9XQVZFX1NFVElOUFVUSU5VU0UsIAkiTuNvIGZvaSBwb3NzaXZlbCBkZWZpbmlyIG8gZGlzcG9zaXRpdm8gd2F2ZSBhY3R1YWwgcGFyYSBncmF2YXIgcG9ycXVlIGVzdOEgZW0gdXNvLiBBZ3VhcmRlIGF06SBxdWUgbyBkaXNwb3NpdGl2byBmaXF1ZSBsaXZyZSwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9PVVRQVVRVTlNQRUNJRklFRCwJIlF1YWxxdWVyIGRpc3Bvc2l0aXZvIGNvbXBhdO12ZWwgcXVlIHJlcHJvZHV6IG5vIGZvcm1hdG8gd2F2ZSBwb2RlIHNlciB1c2Fkby4iCk1DSUVSUl9XQVZFX0lOUFVUVU5TUEVDSUZJRUQsIAkiUXVhbHF1ZXIgZGlzcG9zaXRpdm8gY29tcGF07XZlbCBxdWUgZ3JhdmUgbm8gZm9ybWF0byB3YXZlIHBvZGUgc2VyIHVzYWRvLiIKTUNJRVJSX1dBVkVfT1VUUFVUU1VOU1VJVEFCTEUsIAkiTmVuaHVtIGRpc3Bvc2l0aXZvIHdhdmUgcXVlIHBvc3NhIHJlcHJvZHV6aXIgZmljaGVpcm9zIG5vIGZvcm1hdG8gd2F2ZSBlc3ThIGluc3RhbGFkby4gVXNlIGEgb3Dn428gQ29udHJvbGFkb3JlcyBwYXJhIGluc3RhbGFyIG8gZGlzcG9zaXRpdm8gd2F2ZS4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVFVOU1VJVEFCTEUsIk8gZGlzcG9zaXRpdm8gcXVlIGVzdOEgYSB0ZW50YXIgcmVwcm9kdXppciBu428gcmVjb25oZWNlIG8gZm9ybWF0byBkbyBmaWNoZWlybyBhY3R1YWwuIgpNQ0lFUlJfV0FWRV9JTlBVVFNVTlNVSVRBQkxFLCAJIk5lbmh1bSBkaXNwb3NpdGl2byB3YXZlIHF1ZSBwb3NzYSBncmF2YXIgZmljaGVpcm9zIG5vIGZvcm1hdG8gYWN0dWFsIGVzdOEgaW5zdGFsYWRvLiBVc2UgYSBvcOfjbyBDb250cm9sYWRvcmVzIHBhcmEgaW5zdGFsYXIgbyBkaXNwb3NpdGl2byB3YXZlLiIKTUNJRVJSX1dBVkVfU0VUSU5QVVRVTlNVSVRBQkxFLCAiTyBkaXNwb3NpdGl2byBxdWUgZXN04SBhIHVzYXIgcGFyYSBncmF2YXIgbuNvIHBvZGUgcmVjb25oZWNlciBvIGZvcm1hdG8gZG8gZmljaGVpcm8gYWN0dWFsLiIKTUNJRVJSX05PX1dJTkRPVywgCQkiTuNvIGV4aXN0ZSBuZW5odW1hIGphbmVsYSBkZSB2aXN1YWxpemHn428uIgpNQ0lFUlJfQ1JFQVRFV0lORE9XLCAJCSJO428g6SBwb3Nz7XZlbCBjcmlhciBvdSB1c2FyIGEgamFuZWxhLiIKTUNJRVJSX0ZJTEVfUkVBRCwgCQkiTuNvIOkgcG9zc+12ZWwgbGVyIG8gZmljaGVpcm8gaW5kaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIG8gZmljaGVpcm8gYWluZGEgZXN04SBwcmVzZW50ZSwgb3UgdmVyaWZpcXVlIG8gc2V1IGRpc2NvIG91IGNvbmV4428gZGEgcmVkZS4iCk1DSUVSUl9GSUxFX1dSSVRFLCAJCSJO428g6SBwb3Nz7XZlbCBncmF2YXIgbm8gZmljaGVpcm8gaW5kaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIHBvc3N1aSBlc3Bh528gZW0gZGlzY28gc3VmaWNpZW50ZSBvdSBxdWUgYWluZGEgZXN04SBjb25lY3RhZG8gbmEgcmVkZS4iCk1DSUVSUl9TRVFfRElWX0lOQ09NUEFUSUJMRSwgCSJPIGZvcm1hdG8gZGUgaG9yYSBkbyAiInNvbmcgcG9pbnRlciIiIGUgU01QVEUgc+NvIG11dHVhbG1lbnRlIGV4Y2x1c2l2b3MuIE7jbyBwb2RlIHVz4S1sb3MganVudG9zLiIKTUNJRVJSX1NFUV9OT01JRElQUkVTRU5ULCAJIk8gc2lzdGVtYSBu428gcG9zc3VpIGRpc3Bvc2l0aXZvcyBNSURJIGluc3RhbGFkb3MuIFVzZSBhIG9w5+NvIENvbnRyb2xhZG9yZXMgbm8gUGFpbmVsIGRlIENvbnRyb2xvIHBhcmEgaW5zdGFsYXIgdW0gY29udHJvbGFkb3IgTUlESS4iCk1DSUVSUl9TRVFfUE9SVF9JTlVTRSwgCQkiTyBwb3J0byBNSURJIGluZGljYWRvIGrhIGVzdOEgZW0gdXNvLiBBZ3VhcmRlIGF06SBxdWUgZXN0ZWphIGxpdnJlLCBlIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9TRVFfUE9SVF9NQVBOT0RFVklDRSwgCSJBIGNvbmZpZ3VyYefjbyBhY3R1YWwgZG8gTWFwZWFkb3IgTUlESSByZWZlcmUtc2UgYSB1bSBkaXNwb3NpdGl2byBNSURJIHF1ZSBu428gZXN04SBpbnN0YWxhZG8gbm8gc2V1IHNpc3RlbWEuIFVzZSBhIG9w5+NvIE1hcGVhZG9yIE1JREkgZG8gUGFpbmVsIGRlIENvbnRyb2xvIHBhcmEgZWRpdGFyIGEgY29uZmlndXJh5+NvLiIKTUNJRVJSX1NFUV9QT1JUX01JU0NFUlJPUiwgCSJPY29ycmV1IHVtIGVycm8gbm8gcG9ydG8gaW5kaWNhZG8uIgpNQ0lFUlJfU0VRX1BPUlRfTk9ORVhJU1RFTlQsIAkiTyBkaXNwb3NpdGl2byBNSURJIGluZGljYWRvIG7jbyBlc3ThIGluc3RhbGFkbyBubyBzZXUgc2lzdGVtYS4gVXNlIGEgb3Dn428gQ29udHJvbGFkb3JlcyBubyBQYWluZWwgZGUgQ29udHJvbG8gcGFyYSBpbnN0YWxhciB1bSBkaXNwb3NpdGl2byBNSURJLiIKTUNJRVJSX1NFUV9QT1JUVU5TUEVDSUZJRUQsIAkiTyBzaXN0ZW1hIGFjdHVhbG1lbnRlIG7jbyB0ZW0gdW0gcG9ydG8gTUlESSBkZWZpbmlkby4iCk1DSUVSUl9TRVFfVElNRVIsIAkJIlRvZG9zIG9zIHRlbXBvcml6YWRvcmVzIGRlIG11bHRpbelkaWEgZXN0428gYSBzZXIgdXNhZG9zIHBvciBvdXRyYXMgYXBsaWNh5/Vlcy4gRmVjaGUgdW1hIGRlc3NhcyBhcGxpY2Hn9WVzLCBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgoKRU5ECg==