ICAgICAgICAgc29tZSBCQ0NzICdpbnRlcmVzdCBvbmx5JyAtIHlvdSBkZWNpZGUuCgoqUHJvYmFi bHkgd29ydGggcmVhZGluZyBpbiBzb21lIGRldGFpbCBieSBhbnlvbmUgaW50ZXJlc3RlZCBpbiDi gIt0aGUgY29zdHMKYW5kIGltcGxpY2F0aW9ucyBvZiB1dGlsaXNpbmcgYSB2ZXJ5IGhpZ2ggcHJv cG9ydGlvbiBvZiAicmVuZXdhYmxlcyIgaW4gYW4KZW5lcmd5IGdyaWQuICoKClRpdGxlIGNoYW5n ZWQgZnJvbSBteSBvcmlnaW5hbDogQ29tcGV0ZW50IGFsYmVpdCBzb21ld2hhdCBqYXVuZGljZWQg Y29tbWVudApvbiBVSyAiVXBncmFkaW5nIE91ciBFbmVyZ3kgU3lzdGVtIFNtYXJ0IFN5c3RlbXMg YW5kIEZsZXhpYmlsaXR5IFBsYW4gSnVseQoyMDE3IgoKUGFydCBYSVggb2YgYSBzZXJpZXMgb24g cmVuZXdhYmxlIGVuZXJneSBzb3VyY2VzLgpPbmdvaW5nIGNvbW1lbnRzIGFyZSB3b3J0aHdoaWxl IGFzIHRoZSB3cml0ZXIgcmVzcG9uZHMgaW4gc29tZSBkZXB0aCB0bwpzb21lIGNvbW1lbnRzLgoK QmV0dGVyIHRoYW4gbW9zdCAgLSBkZXRhaWxlZCBhbmQgZXhwYW5kaW5nIGNvbW1lbnRhcnkgb24g dGhlIGFiaWxpdHkgdG8KYnVpbGQgYW4gJ2VuZXJneSBncmlkJyB3aXRoIGFuIGV4dHJlbWVseSBo aWdoIHJlbmV3YWJsZXMgY29udGVudCAod2luZCwKc29sYXIsIHB1bXBlZCBoeWRybywgKGh5ZHJv KSosIC4uLikgYW5kIGEgbG93IHByb3BvcnRpb24gb2YgJ2Rlc3BhdGNoYWJsZScKZW5lcmd5IHNv dXJjZXMKVGhlIHdyaXRlciBpcyBjb21wZXRlbnQgYW5kIGdlbmVyYWxseSBzZWVzIGhpbXNlbGYg YXMgYW4gb2JqZWN0aXZlICJtaWRkbGUKb2YgdGhlIHJvYWRlciIuIEFsdGhvdWdoIGhlJ3Mgbm90 IHF1aXRlIHRoYXQsIGhlJ3MgbW9yZSBvYmplY3RpdmUgdGhhbiBtYW55CmFuZCB3aWxsaW5nIHRv IG1ha2UgaG9uZXN0IGF0dGVtcHRzIHRvIGFuYWx5dGljYWxseSBleGFtaW5lIHRoZSB2YXJpb3Vz CnRlY2huaWNhbCBhbmQgb3RoZXIgYXNwZWN0cy4gV29ydGggbG9va2luZyBhdCwgYXMgaXMgbW9z dCBvZiBoaXMgbWF0ZXJpYWwuCgpIZSBub3RlczogKknigJlsbCBqdXN0IGFnYWluIHJlcGVhdCBz b21ldGhpbmcgSeKAmXZlIHNhaWQgYSBmZXcgdGltZXMgaW4gdGhpcwpzZXJpZXMuIEnigJltIG5v dCB0cnlpbmcgdG8ga25vY2sgcmVuZXdhYmxlIGVuZXJneSBvciBkZWNhcmJvbml6aW5nIGVuZXJn eS4KQnV0IHNvbHZpbmcgYSBwcm9ibGVtIHJlcXVpcmVzIHVuZGVyc3RhbmRpbmcgdGhlIHNjYWxl IG9mIHRoZSBwcm9ibGVtIGFuZAplc3BlY2lhbGx5IHRoZSBoYXJkZXN0IGNoYWxsZW5nZXMg4oCT IGJlZm9yZSB5b3Ugc3RhcnQgb24gdGhlIG1haW4gcHJvamVjdC4qCgoKIFtbKiAiaHlkcm8iIiBp cyBhIGRlc3BhdGNoYWJsZSAod2l0aGluIGxpbWl0cyoqKSByZW5ld2FibGUgdGhhdCBzaXRzCmJl dHdlZW4gdHJhZGl0aW9uYWwgYW5kIG90aGVyIHJlbmV3YWJsZSBzeXN0ZW1zIGFuZCBtYWtlcyB0 aGUgY2FzZSBsZXNzCmNsZWFyIGVpdGhlciB3YXkgaWYgaW5jbHVkZWQgd2l0aG91dCBjb21tZW50 XV0uIFtbRldJVzogKiogd2l0aGluIGxpbWl0cwppbmNsdWRlcyAibGFrZXMgcnVuIGRyeSIgYW5k IGluIE5ldyBaZWFsYW5kLCBpbiBiYWQgeWVhcnMsIHRoZSBjb3VudHJ5IGlzCnNvIGRlcGVuZGFu dCBvbiB0aGlzIGVuZXJneSBzb3VyY2UgdGhhdCBhIHNlYXNvbiB3aXRoIHZlcnkgbG93IHJhaW5m YWxsIGNhbgpzZWUgdGhlIHdob2xlIGNvdW50cnkgb3BlcmF0ZSBpbiBkZW1hbmQgbGltaXRpbmcg bW9kZSBmb3IgZXh0ZW5kZWQgcGVyaW9kcy4KCkJlbG93LCBtYXRlcmlhbCBpbiBbWyAuLi4uLiBd XSBpcyBjb21tZW50IGJ5IG1lLiBTb21lIG9mIG15IGlucHV0IGlzIG5vdCBzbwptYXJrZWQgYnV0 IGlzIGhvcGVmdWxseSBvYnZpb3VzbHkgZW5vdWdoIHNvIGFuZCBub24gcGl2b3RhbC4KCgogICAg IFJ1c3NlbGwKCl9fX19fX19fX19fX19fX19fX18KUmVuZXdhYmxlcyBYSVgg4oCTIEJlaGluZCB0 aGUgRXhlY3V0aXZlIFN1bW1hcnkgYW5kIFJlYWxpdHkgdnMgRHJlYW1zCgpKdWx5IDI2LCAyMDE3 IGJ5IHNjaWVuY2VvZmRvb20KPGh0dHBzOi8vc2NpZW5jZW9mZG9vbS5jb20vYXV0aG9yL3NjaWVu Y2VvZmRvb20vPgpodHRwczovL3NjaWVuY2VvZmRvb20uY29tLzIwMTcvMDcvMjYvcmVuZXdhYmxl cy14aXgtYmVoaW5kLXRoZS1leGVjdXRpdmUtc3VtbWFyeS1hbmQtcmVhbGl0eS12cy1kcmVhbXMv CgoKW1tNYW55IGdvb2QgbGlua3MgdG8gdGhlIG1haW4gcmVsYXRlZCByZXBvcnQgYW5kIGl0cyBj b21wb25lbnRzIGFuZCBvdGhlcgpyZWxhdGVkIG1hdGVyaWFsOl1dCgpfX19fX19fX19fX19fX18K CiJBIHNtYXJ0LCBmbGV4aWJsZSBlbGVjdHJpY2l0eSBncmlkIGNvdWxkIGhlbHAgdGhlIFVLIGN1 dCBjYXJib24gbW9yZQpjaGVhcGx5LCBzYXZpbmcgdXAgdG8gwqM0MGJuCjxodHRwOi8vd3d3LmJi Yy5jby51ay9uZXdzL2J1c2luZXNzLTQwNjk5OTg2PiBiZXR3ZWVuCm5vdyBhbmQgMjA1MC4iCltb QXMgVFNPRCBub3RlcywgIlNhdmUgcmVsYXRpdmUgdG8gd2hhdD8iIGlzIGEga2V5IHF1ZXN0aW9u LiBdXQoKCmh0dHBzOi8vd3d3LmNhcmJvbmJyaWVmLm9yZy9pbi1kZXB0aC1ob3ctc21hcnQtZmxl eGlibGUtZ3JpZC1jb3VsZC1zYXZlLXVrLTQwLWJpbGxpb24KCipfX19fX19fX19fX19fX19fX19f X18qCgoqS2V5IFJlcG9ydCoKCkFuIGFuYWx5c2lzIG9mIGVsZWN0cmljaXR5IHN5c3RlbSBmbGV4 aWJpbGl0eSBmb3IgR3JlYXQgQnJpdGFpbiBOb3ZlbWJlcgoyMDE2CkNhcmJvbiBUcnVzdCwgSW1w ZXJpYWwgQ29sbGVnZSwgTG9uZG9uLgpbW1RoZXNlIHBlb3BsZSBhcmUgbm90IHN0dXBpZCAtIGJ1 dCBhcmUgYWxzbyAob3IgY29uc2VxdWVudGx5KSBub3Qgd2lsbGluZwp0byBzcGVsbCBvdXQgc29t ZSBvZiB0aGUgbGFyZ2VyIGNvbnNlcXVlbmNlcywgaW1wbGljYXRpb25zIGFuZCBjb3N0cyBvZgp0 aGVpciAnY29uY2x1c2lvbnMnLiBXaGF0IFRTT0QgaXMgZG9pbmcgaXMgYXR0ZW1wdGluZyB0byBl eHRyaWNhdGUgcG9pbnRlcnMKdG8gc3VjaCBtYXRlcmlhbCBmcm9tIHRoZWlyIHdvcmtdXS4KCgpo dHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC91cGxvYWRzL3N5c3RlbS91cGxvYWRzL2F0dGFj aG1lbnRfZGF0YS9maWxlLzU2ODk4Mi9Bbl9hbmFseXNpc19vZl9lbGVjdHJpY2l0eV9mbGV4aWJp bGl0eV9mb3JfR3JlYXRfQnJpdGFpbi5wZGYKCl9fX19fX19fX19fX19fX19fX18KClVwZ3JhZGlu ZyBPdXIgRW5lcmd5IFN5c3RlbSBTbWFydCBTeXN0ZW1zIGFuZCBGbGV4aWJpbGl0eSBQbGFuIEp1 bHkgMjAxNwpITSBHb3Zlcm5tZW50LCBVSywgSnVseSAyMDE3CgpodHRwczovL3d3dy5nb3YudWsv Z292ZXJubWVudC91cGxvYWRzL3N5c3RlbS91cGxvYWRzL2F0dGFjaG1lbnRfZGF0YS9maWxlLzYz MzQ0Mi91cGdyYWRpbmctb3VyLWVuZXJneS1zeXN0ZW0tanVseS0yMDE3LnBkZgoKX19fX19fX19f X19fX19fX19fX19fX18KClJlbGF0ZWQgYXJ0aWNsZXMgaW4gdGhpcyBzZXJpZXMgLSBoaXMgbGlz dC4KClRoZSBpbXBvbmRlcmFibGVzIGFyZSB0aGF0IHdpbmQgcG93ZXIgaXMgaW50ZXJtaXR0ZW50 IChhbmQgdGhlcmXigJlzIG5vdCBtdWNoCnNvbGFyIGF0IGhpZ2ggbGF0aXR1ZGVzKSBzbyB5b3Ug aGF2ZSBzb21lIGRpZmZpY3VsdCBjaG9pY2VzOgoKICAgLSBEZW1hbmQgbWFuYWdlbWVudD8gKHNl ZSBYVklJSSDigJMgRGVtYW5kIE1hbmFnZW1lbnQgJiBMZXZlbGl6ZWQgQ29zdAogICA8aHR0cHM6 Ly9zY2llbmNlb2Zkb29tLmNvbS8yMDE3LzAxLzMxL3JlbmV3YWJsZXMteHZpaWktZGVtYW5kLW1h bmFnZW1lbnQtbGV2ZWxpemVkLWNvc3QvPgogICApCgogICAtIFN0b3JhZ2U/IChzZWUgUmVuZXdh YmxlIEVuZXJneSBJCiAgIDxodHRwczovL3NjaWVuY2VvZmRvb20uY29tLzIwMTUvMDcvMzAvcmVu ZXdhYmxlLWVuZXJneS1pLz4gYW5kIFhJViDigJMKICAgTWluaW1pemVkIENvc3Qgb2YgOTkuOSUg UmVuZXdhYmxlIFN0dWR5CiAgIDxodHRwczovL3NjaWVuY2VvZmRvb20uY29tLzIwMTUvMTAvMjAv cmVuZXdhYmxlcy14aXYtbWluaW1pemVkLWNvc3Qtb2YtOTktOS1yZW5ld2FibGUtc3R1ZHkvPgog ICApCgogICAtIE1hc3NpdmUgaW50ZXJjb25uZWN0b3JzIHRvIG90aGVyIGNvdW50cmllcz8gKHNl ZSBWSUlJIOKAkyBUcmFuc21pc3Npb24KICAgQ29zdHMgQW5kIE91dHNvdXJjaW5nIFJlbmV3YWJs ZSBHZW5lcmF0aW9uCiAgIDxodHRwczovL3NjaWVuY2VvZmRvb20uY29tLzIwMTUvMDkvMDEvcmVu ZXdhYmxlcy12aWlpLXRyYW5zbWlzc2lvbi1jb3N0cy1hbmQtb3V0c291cmNpbmctcmVuZXdhYmxl LWdlbmVyYXRpb24vPgogICAgYW5kIFhJSSDigJMgV2luZHBvd2VyIGFzIEJhc2Vsb2FkIGFuZCBT dXBlckdyaWRzCiAgIDxodHRwczovL3NjaWVuY2VvZmRvb20uY29tLzIwMTUvMDkvMTkvcmVuZXdh Ymxlcy14aWktd2luZHBvd2VyLWFzLWJhc2Vsb2FkLWFuZC1zdXBlcmdyaWRzLz4KICAgKQoKICAg LSBNb3JlIGdhcyBmaXJlZCBwb3dlciBzdGF0aW9uIGJhY2t1cD8gKHNlZSBJViDigJMgV2luZCwg Rm9yZWNhc3QgSG9yaXpvbgogICAmIEJhY2t1cHMKICAgPGh0dHBzOi8vc2NpZW5jZW9mZG9vbS5j b20vMjAxNS8wOC8xMC9yZW5ld2FibGVzLWl2LXdpbmQtZm9yZWNhc3QtaG9yaXpvbi1iYWNrdXBz Lz4KICAgIGFuZCBYSUlJIOKAkyBPbmUgb2YgV2luZOKAmXMgSGlkZGVuIENvc3RzCiAgIDxodHRw czovL3NjaWVuY2VvZmRvb20ud29yZHByZXNzLmNvbS8yMDE1LzEwLzA3L3JlbmV3YWJsZXMteGlp aS1vbmUtb2Ytd2luZHMtaGlkZGVuLWNvc3RzLz4KICAgKQoKICAgLSBNYXhpbXVtIHBlYWsgcGVu ZXRyYXRpb24gb2YgcmVuZXdhYmxlIGVuZXJneSBvbnRvIHRoZSBncmlkPyAoU2VlIFYg4oCTCiAg IEdyaWQgU3RhYmlsaXR5IEFzIFdpbmQgUG93ZXIgUGVuZXRyYXRpb24gSW5jcmVhc2VzCiAgIDxo dHRwczovL3NjaWVuY2VvZmRvb20uY29tLzIwMTUvMDgvMjIvcmVuZXdhYmxlcy12LWdyaWQtc3Rh YmlsaXR5LWFzLXdpbmQtcG93ZXItcGVuZXRyYXRpb24taW5jcmVhc2VzLz4KICAgKQotLSAKaHR0 cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJj aGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1h bi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .