IyBDaGFuZ2VMb2cgZm9yIHN5cy1wb3dlci9wbS11dGlscwojIENvcHlyaWdodCAxOTk5LTIwMTEgR2VudG9vIEZvdW5kYXRpb247IERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHUEwgdjIKIyAkSGVhZGVyOiAvdmFyL2N2c3Jvb3QvZ2VudG9vLXg4Ni9zeXMtcG93ZXIvcG0tdXRpbHMvQ2hhbmdlTG9nLHYgMS41OCAyMDExLzA0LzIxIDE1OjAzOjE5IHNjYXJhYmV1cyBFeHAgJAoKKnBtLXV0aWxzLTEuNC4xLXIyICgyMSBBcHIgMjAxMSkKCiAgMjEgQXByIDIwMTE7IFRvbeGaIENoduF0YWwgPHNjYXJhYmV1c0BnZW50b28ub3JnPgogICtmaWxlcy8xLjQuMS1ibHVldG9vdGgtc3luYy5wYXRjaCwgK2ZpbGVzLzEuNC4xLWRpc2FibGUtc2F0YS1hbHBtLnBhdGNoLAogICtmaWxlcy8xLjQuMS1maXgtaW50ZWwtYXVkaW8tcG93ZXJzYXZlLWhvb2sucGF0Y2gsIC1wbS11dGlscy0xLjQuMS1yMS5lYnVpbGQsCiAgK2ZpbGVzLzEuNC4xLWxvZ2dpbmctYXBwZW5kLnBhdGNoLCArcG0tdXRpbHMtMS40LjEtcjIuZWJ1aWxkOgogIEJhY2twb3J0IHNvbWUgcGF0Y2hlcyB0byBmaXggaXNzdWVzIHdpdGggYmx1ZXRvb3RoL3NhdGEvLi4uIFBlciBidWcgIzMzNjY1NC4KCiAgMTIgRGVjIDIwMTA7IFJh+mwgUG9yY2VsIDxhcm1pbjc2QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuNC4xLmVidWlsZCwKICBwbS11dGlscy0xLjQuMS1yMS5lYnVpbGQ6CiAgc3BhcmMgc3RhYmxlCgogIDEzIE5vdiAyMDEwOyBSYfpsIFBvcmNlbCA8YXJtaW43NkBnZW50b28ub3JnPiBwbS11dGlscy0xLjQuMS5lYnVpbGQsCiAgcG0tdXRpbHMtMS40LjEtcjEuZWJ1aWxkOgogIGFscGhhL2lhNjQgc3RhYmxlIHdydCAjMzM4OTg4CgoqcG0tdXRpbHMtMS40LjEtcjEgKDEwIE5vdiAyMDEwKQoKICAxMCBOb3YgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICArcG0tdXRpbHMtMS40LjEtcjEuZWJ1aWxkOgogIFJlbW92ZSBVU0U9Im5ldHdvcmttYW5hZ2VyIiBhbmQgNTVOZXR3b3JrTWFuYWdlciBiZWNhdXNlIE5ldHdvcmtNYW5hZ2VyID49CiAgMC44LjIgaXMgaGFuZGxpbmcgc3VzcGVuZC9yZXN1bWUgb24gaXQncyBvd24gd2l0aCBVUG93ZXIuCgogIDA5IFNlcCAyMDEwOyBKb3NlcGggSmV6YWsgPGpvc2VqeEBnZW50b28ub3JnPiBwbS11dGlscy0xLjQuMS5lYnVpbGQ6CiAgTWFya2VkIHBwYy9wcGM2NCBzdGFibGUgZm9yIGJ1ZyAjMzI5NjI1LgoKICAyMSBBdWcgMjAxMDsgTWFya3VzIE1laWVyIDxtYWVra2VAZ2VudG9vLm9yZz4gcG0tdXRpbHMtMS40LjEuZWJ1aWxkOgogIGFybSBzdGFibGUsIGJ1ZyAjMzI5NjI1CgogIDMwIEp1bCAyMDEwOyBNYXJrb3MgQ2hhbmRyYXMgPGh3b2FyYW5nQGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuNC4xLmVidWlsZDoKICBTdGFibGUgb24gYW1kNjQgd3J0IGJ1ZyAjMzI5NjI1CgogIDI1IEp1bCAyMDEwOyBDaHJpc3RpYW4gRmF1bGhhbW1lciA8ZmF1bGlAZ2VudG9vLm9yZz4KICBwbS11dGlscy0xLjQuMS5lYnVpbGQ6CiAgc3RhYmxlIHg4NiwgYnVnIDMyOTYyNQoKICAwOCBKdWwgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4gcG0tdXRpbHMtMS40LjEuZWJ1aWxkOgogIEJsb2NrIG9ubHkgY29uZmxpY3RpbmcgbGFwdG9wLW1vZGUtdG9vbHMgd3J0ICMzMjc0NDMuCgogIDA4IEp1bCAyMDEwOyBTYW11bGkgU3VvbWluZW4gPHNzdW9taW5lbkBnZW50b28ub3JnPiBwbS11dGlscy0xLjQuMS5lYnVpbGQ6CiAgRG9uJ3QgYmxvY2sgc3lzLXBvd2VyL3Bvd2VybWdtdC1iYXNlIGFueW1vcmUgaWYgVVNFPSJwbS11dGlscyIgaXMgZW5hYmxlZAogIHdydCAjMjU1MjQ5LgoKKnBtLXV0aWxzLTEuNC4xICgwOCBKdWwgMjAxMCkKCiAgMDggSnVsIDIwMTA7IFNhbXVsaSBTdW9taW5lbiA8c3N1b21pbmVuQGdlbnRvby5vcmc+CiAgK3BtLXV0aWxzLTEuNC4xLmVidWlsZDoKICBWZXJzaW9uIGJ1bXAuCgogIDA4IEp1bCAyMDEwOyBTYW11bGkgU3VvbWluZW4gPHNzdW9taW5lbkBnZW50b28ub3JnPiBwbS11dGlscy0xLjQuMC5lYnVpbGQ6CiAgQmxvY2sgYXBwLWxhcHRvcC9sYXB0b3AtbW9kZS10b29scyB3cnQgdXBzdHJlYW0gQ2hhbmdlTG9nOyAiVXBkYXRlIGdpdAogIHRyZWUgcGFja2FnaW5nIHRvIGNvbmZsaWN0IHdpdGggbGFwdG9wLW1vZGUtdG9vbHMuIFRoZSBuZXcgcG93ZXJtYW5hZ2VtZW50CiAgc2NyaXB0cyBjb25mbGljdCB3aXRoIGxhcHRvcC1tb2RlLXRvb2xzLiBNYWtlIHN1cmUgYm90aCBhcmUgbm90IGluc3RhbGxlZAogIGF0IHRoZSBzYW1lIHRpbWUuIgoKICAwMyBKdWwgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICBwbS11dGlscy0xLjMuMC1yMi5lYnVpbGQ6CiAgcHBjNjQgc3RhYmxlIHdydCAjMzE4MjA5CgogIDIzIEp1biAyMDEwOyBTYW11bGkgU3VvbWluZW4gPHNzdW9taW5lbkBnZW50b28ub3JnPiBwbS11dGlscy0xLjQuMC5lYnVpbGQ6CiAgTWFrZSBuZXQtbWlzYy9vcGVubnRwZCBvcHRpb24gZm9yIFVTRT0ibnRwIiB3cnQgIzMxNDg5MSBieSBUaG9tYXMgS2FobGUuCgoqcG0tdXRpbHMtMS40LjAgKDIzIEp1biAyMDEwKQoKICAyMyBKdW4gMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICArcG0tdXRpbHMtMS40LjAuZWJ1aWxkOgogIFZlcnNpb24gYnVtcC4KCiAgMDUgSnVuIDIwMTA7IFJh+mwgUG9yY2VsIDxhcm1pbjc2QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMy4wLXIyLmVidWlsZCwKICBwbS11dGlscy0xLjMuMC1yMy5lYnVpbGQ6CiAgQWRkIH5hcm0KCiAgMDUgSnVuIDIwMTA7IFJh+mwgUG9yY2VsIDxhcm1pbjc2QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMi41LmVidWlsZCwKICBwbS11dGlscy0xLjMuMC1yMi5lYnVpbGQsIHBtLXV0aWxzLTEuMy4wLXIzLmVidWlsZDoKICBBZGQgfmFybQoKICAyMCBNYXkgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICBwbS11dGlscy0xLjMuMC1yMy5lYnVpbGQsICtmaWxlcy8xLjMuMC1maXhfYXV0b3Rvb2xzLTIucGF0Y2g6CiAgVXNlIHByZWdlbmVyYXRlZCBtYW5wYWdlcyB3cnQgIzMyMDczMSBieSBNYXJ0aW4gVuR0aC4KCiAgMTcgTWF5IDIwMTA7IFBhd2VsIEhhamRhbiBqciA8cGhhamRhbi5qckBnZW50b28ub3JnPgogIHBtLXV0aWxzLTEuMy4wLXIyLmVidWlsZDoKICB4ODYgc3RhYmxlIHdydCBidWcgIzMxODIwOQoKKnBtLXV0aWxzLTEuMy4wLXIzICgxNCBNYXkgMjAxMCkKCiAgMTQgTWF5IDIwMTA7IFNhbXVsaSBTdW9taW5lbiA8c3N1b21pbmVuQGdlbnRvby5vcmc+CiAgK3BtLXV0aWxzLTEuMy4wLXIzLmVidWlsZDoKICBEb24ndCBoYXJkY29kZSAvdXNyL2xvY2FsL2xpYiBpbiBpbXBvcnQtZmRpLXF1aXJrZGIgc2NyaXB0IHdydCAjMzE5MTM5IGJ5CiAgUGV0ZXIgR2FudG5lci4KCiAgMTAgTWF5IDIwMTA7IG5peG51dCA8bml4bnV0QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMy4wLXIyLmVidWlsZDoKICBwcGMgc3RhYmxlICMzMTgyMDkKCiAgMDMgTWF5IDIwMTA7IFNhbXVsaSBTdW9taW5lbiA8c3N1b21pbmVuQGdlbnRvby5vcmc+CiAgcG0tdXRpbHMtMS4zLjAtcjIuZWJ1aWxkOgogIGFtZDY0IHN0YWJsZSB3cnQgIzMxODIwOQoKICAwMyBNYXkgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICBmaWxlcy8xLjMuMC1maXhfYXV0b3Rvb2xzLnBhdGNoLCBwbS11dGlscy0xLjMuMC1yMi5lYnVpbGQ6CiAgQ2hhbmdlIHBhdGNoIGZyb20gLS1lbmFibGUtZG9jIHRvIC0tZW5hYmxlLW1hbnBhZ2VzIGFuZCBhbHdheXMgYnVpbGQgdGhlbQogIChubyBwb2ludCBpbiBhdm9pZGluZyBzbWFsbCB4bWx0byBkZXBlbmQpLgoKICAyMCBBcHIgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICBwbS11dGlscy0xLjMuMC1yMi5lYnVpbGQ6CiAgRml4IGRvY3VtZW50YXRpb24gZGlyZWN0b3J5IHdydCAjMzE2NDIzIGJ5IENocmlzIE1heW8uCgoqcG0tdXRpbHMtMS4zLjAtcjIgKDE3IEFwciAyMDEwKQoKICAxNyBBcHIgMjAxMDsgU2FtdWxpIFN1b21pbmVuIDxzc3VvbWluZW5AZ2VudG9vLm9yZz4KICArZmlsZXMvMS4zLjAtb25fYWNfcG93ZXItdXBvd2VyLnBhdGNoLCArcG0tdXRpbHMtMS4zLjAtcjIuZWJ1aWxkOgogIFRyeSBVUG93ZXIgZm9yIG9uX2FjX3Bvd2VyIGJlZm9yZSBEZXZpY2VLaXQtcG93ZXIgYW5kIEhBTCB3cnQgIzMxNTY2My4KCiAgMDcgQXByIDIwMTA7IFRvbeGaIENoduF0YWwgPHNjYXJhYmV1c0BnZW50b28ub3JnPgogIHBtLXV0aWxzLTEuMy4wLXIxLmVidWlsZDoKICBVcGRhdGUgRGVzY3JpcHRpb24gZmllbGQuCgogIDA3IEFwciAyMDEwOyBUb23hmiBDaHbhdGFsIDxzY2FyYWJldXNAZ2VudG9vLm9yZz4KICBmaWxlcy8xLjMuMC1maXhfYXV0b3Rvb2xzLnBhdGNoOgogIEZpeCB0eXBvIGluIHBhdGNoIGRlc2NyaXB0aW9uLgoKKnBtLXV0aWxzLTEuMy4wLXIxICgwNSBBcHIgMjAxMCkKCiAgMDUgQXByIDIwMTA7IFRvbeGaIENoduF0YWwgPHNjYXJhYmV1c0BnZW50b28ub3JnPgogIC1wbS11dGlscy0xLjMuMC5lYnVpbGQsICtwbS11dGlscy0xLjMuMC1yMS5lYnVpbGQ6CiAgQWRkIHdyb25nbHkgcmVtb3ZlZCBkZXBzIGZvciB2aWRlb19jYXJkcy4gUmV2YnVtcCBmb3IgdGhhdC4gUGVyIGJ1ZwogICMzMTMyMTEuCgogIDA0IEFwciAyMDEwOyBUb23hmiBDaHbhdGFsIDxzY2FyYWJldXNAZ2VudG9vLm9yZz4KICBmaWxlcy8xLjMuMC1maXhfYXV0b3Rvb2xzLnBhdGNoOgogIFVwZGF0ZSBwYXRjaCB0byB3b3JrIHdpdGggK2RvYy4KCipwbS11dGlscy0xLjMuMCAoMDQgQXByIDIwMTApCgogIDA0IEFwciAyMDEwOyBUb23hmiBDaHbhdGFsIDxzY2FyYWJldXNAZ2VudG9vLm9yZz4KICArZmlsZXMvMS4zLjAtZml4X2F1dG90b29scy5wYXRjaCwgK3BtLXV0aWxzLTEuMy4wLmVidWlsZCwgbWV0YWRhdGEueG1sOgogIFZlcnNpb24gYnVtcCBwZXIgYnVnICMzMTEwNTkuCgoqcG0tdXRpbHMtMS4yLjYuMSAoMjQgSmFuIDIwMTApCgogIDI0IEphbiAyMDEwOyBHaWxsZXMgRGFydGlndWVsb25ndWUgPGV2YUBnZW50b28ub3JnPgogIC1wbS11dGlscy0xLjEuMS5lYnVpbGQsIC1wbS11dGlscy0xLjEuMi4xLmVidWlsZCwgLXBtLXV0aWxzLTEuMi4zLmVidWlsZCwKICAtcG0tdXRpbHMtMS4yLjMtcjEuZWJ1aWxkLCAtZmlsZXMvcG0tdXRpbHMtMS4yLjMtc2VydmljZS1zdGF0dXMucGF0Y2gsCiAgLXBtLXV0aWxzLTEuMi40LmVidWlsZCwgK3BtLXV0aWxzLTEuMi42LjEuZWJ1aWxkOgogIFZlcnNpb24gYnVtcCwgYnVnICMyOTU4NjcuIENsZWFuIHVwIG9sZCByZXZpc2lvbnMuCgogIDMwIE5vdiAyMDA5OyBKb3NlcGggSmV6YWsgPGpvc2VqeEBnZW50b28ub3JnPiBwbS11dGlscy0xLjIuNS5lYnVpbGQ6CiAgTWFya2VkIHBwYzY0IHN0YWJsZS4KCiAgMDggTm92IDIwMDk7IEpvc2VwaCBKZXphayA8am9zZWp4QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMi41LmVidWlsZDoKICBNYXJrZWQgfnBwYzY0LgoKICAwOSBBdWcgMjAwOTsgbml4bnV0IDxuaXhudXRAZ2VudG9vLm9yZz4gcG0tdXRpbHMtMS4yLjUuZWJ1aWxkOgogIHBwYyBzdGFibGUgIzI3NjIxNwoKICAxMSBKdWwgMjAwOTsgPGNoYWluc2F3QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMi41LmVidWlsZDoKICBNYXJrZWQgc3RhYmxlIG9uIEFNRDY0IGZvciBidWcgIzI3NjIxNzsgdGVzdGVkIG9uIGEgZHVhbCBPcHRlcm9uIDIzNTQuCgogIDA4IEp1bCAyMDA5OyBDaHJpc3RpYW4gRmF1bGhhbW1lciA8ZmF1bGlAZ2VudG9vLm9yZz4KICBwbS11dGlscy0xLjIuNS5lYnVpbGQ6CiAgc3RhYmxlIHg4NiwgYnVnIDI3NjIxNwoKICAxMiBNYXkgMjAwOTsgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAZ2VudG9vLm9yZz4gcG0tdXRpbHMtMS4yLjUuZWJ1aWxkOgogIEZpeCBidWcgMjY5MzM5IC0tIGFwcC10ZXh0L3htbHRvIGlzbid0IGNvbXB1bHNhcnkgKGJ1dCBzdGlsbCBhdXRvbWFnaWMpCgogIDI2IEFwciAyMDA5OyBCcmVudCBCYXVkZSA8cmFuZ2VyQGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMi40LmVidWlsZDoKICBzdGFibGUgcHBjLCBidWcgMjY2Njk4CgogIDIzIEFwciAyMDA5OyBNYXJrdXMgTWVpZXIgPG1hZWtrZUBnZW50b28ub3JnPiBwbS11dGlscy0xLjIuNDoKICBhbWQ2NC94ODYgc3RhYmxlLCBidWcgIzI2NjY5OAoKKnBtLXV0aWxzLTEuMi41ICgyMCBBcHIgMjAwOSkKCiAgMjAgQXByIDIwMDk7IEdpbGxlcyBEYXJ0aWd1ZWxvbmd1ZSA8ZXZhQGdlbnRvby5vcmc+CiAgK3BtLXV0aWxzLTEuMi41LmVidWlsZDoKICBCdW1wIHRvIDEuMi41LiBBZGQgc3VwcG9ydCBmb3IgS01TLgoKICAyMiBNYXIgMjAwOTsgR2lsbGVzIERhcnRpZ3VlbG9uZ3VlIDxldmFAZ2VudG9vLm9yZz4gcG0tdXRpbHMtMS4yLjQuZWJ1aWxkOgogIFJlbW92ZSAtV2Vycm9yIGZyb20gY29uZmlndXJlLCBidWcgIzI2MDk0My4KCiAgMTYgRmViIDIwMDk7IDxjaGFpbnNhd0BnZW50b28ub3JnPiBwbS11dGlscy0xLjIuMy1yMS5lYnVpbGQ6CiAgU3RhYmxlIG9uIFBvd2VyUEMgZm9yIGJ1ZyAjMjU5MDgwLCBiYXNlZCBvbiBhcmNoIHRlc3RpbmcgYnkgQ2hyaXN0aWFuCiAgU2NobWl0dCA8Y2hyc2NobWl0dEBnbWFpbC5jb20+LgoKKnBtLXV0aWxzLTEuMi40ICgxNSBGZWIgMjAwOSkKCiAgMTUgRmViIDIwMDk7IEdpbGxlcyBEYXJ0aWd1ZWxvbmd1ZSA8ZXZhQGdlbnRvby5vcmc+CiAgK3BtLXV0aWxzLTEuMi40LmVidWlsZDoKICBCdW1wIHRvIDEuMi40LiBJbnRlZ3JhdGUgc2VydmljZSBzdGF0dXMgcGF0Y2ggYW5kIHBrZy1jb25maWcgZml4LgoKICAxNSBGZWIgMjAwOTsgTWFya3VzIE1laWVyIDxtYWVra2VAZ2VudG9vLm9yZz4gcG0tdXRpbHMtMS4yLjMtcjEuZWJ1aWxkOgogIGFtZDY0L3g4NiBzdGFibGUsIGJ1ZyAjMjU4NDgyCgogIDE4IEphbiAyMDA5OyBHaWxsZXMgRGFydGlndWVsb25ndWUgPGV2YUBnZW50b28ub3JnPgogICtmaWxlcy9wbS11dGlscy0xLjIuMy1zZXJ2aWNlLXN0YXR1cy5wYXRjaCwgcG0tdXRpbHMtMS4yLjMtcjEuZWJ1aWxkOgogIEZpeCBzZXJ2aWNlIHN0YXR1cyBkZXRlY3Rpb24sIGJ1ZyAjMjU1NDMxLgoKKnBtLXV0aWxzLTEuMi4zLXIxICgxOCBKYW4gMjAwOSkKCiAgMTggSmFuIDIwMDk7IEdpbGxlcyBEYXJ0aWd1ZWxvbmd1ZSA8ZXZhQGdlbnRvby5vcmc+CiAgLXBtLXV0aWxzLTAuOTkuNC5lYnVpbGQsICtwbS11dGlscy0xLjIuMy1yMS5lYnVpbGQ6CiAgRml4IHBrZ2NvbmZpZyBmaWxlLCBidWcgIzI1NDQ5Mi4gRml4IGdlbmVyYXRpb24gb2YgaG9vayBleGNlcHRpb24gZmlsZSwKICBidWcgIzI1MzgzNS4gS2lsbCBwbS11dGlscy0wLjk5LjQsIGJ1ZyAjMjQwNzIwLgoKICAxNSBKYW4gMjAwOTsgUGV0ZXIgQWxmcmVkc2VuIDxsb2tpX3ZhbEBnZW50b28ub3JnPiBtZXRhZGF0YS54bWw6CiAgQ29tcG5lcmQgcmV0aXJlZC4KCiAgMTUgSmFuIDIwMDk7IE1hcmt1cyBNZWllciA8bWFla2tlQGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMS4xLmVidWlsZDoKICBhbWQ2NC94ODYgc3RhYmxlLCBidWcgIzI1MjYyNQoKICAxMyBKYW4gMjAwOTsgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBnZW50b28ub3JnPiBtZXRhZGF0YS54bWw6CiAgZ2VudG9waWEgaXMgYmVjb21pbmcgZnJlZWRlc2t0b3AKCiAgMDkgSmFuIDIwMDk7IEpvc2VwaCBKZXphayA8am9zZWp4QGdlbnRvby5vcmc+IHBtLXV0aWxzLTEuMi4zLmVidWlsZDoKICBNYXJrZWQgfnBwYyBhbmQgYWRkZWQgQ2hyaXN0aWFuIFNjaG1pdHQncyBjaGFuZ2UgdG8gcHJldmVudCBkZXBlbmRpbmcgb24geDg2CiAgb25seSBhcHBzLiBTZWUgYnVnICMyNTM4NjggZm9yIGRldGFpbHMuCgoqcG0tdXRpbHMtMS4yLjMgKDEwIERlYyAyMDA4KQoKICAxMCBEZWMgMjAwODsgSmVyZW15IE9sZXhhIDxkYXJrc2lkZUBnZW50b28ub3JnPiArcG0tdXRpbHMtMS4yLjMuZWJ1aWxkOgogIChub24gbWFpbnRhaW5lciBjb21taXQpIFZlcnNpb24gYnVtcCwgYnVnIDIyNTQ0MyB3aXRoIHRoZSByZW1vdmFsIG9mIGFsc2EKICBVU0UgZmxhZyBiZWNhdXNlIHVwc3RyZWFtIGRyb3BwZWQgc3VwcG9ydCBmb3IgaXQKCiAgMjMgT2N0IDIwMDg7IFLpbWkgQ2FyZG9uYSA8cmVtaUBnZW50b28ub3JnPiBwbS11dGlscy0xLjEuMS5lYnVpbGQsCiAgcG0tdXRpbHMtMS4xLjIuMS5lYnVpbGQ6CiAgcGtnbW92ZSBmcm9tIHhmODYtdmlkZW8taTgxMCB0byB4Zjg2LXZpZGVvLWludGVsCgogIDE2IEF1ZyAyMDA4OyBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGdlbnRvby5vcmc+IG1ldGFkYXRhLnhtbDoKICBhZGQgR0xFUCA1NiBVU0UgZmxhZyBkZXNjIGZyb20gdXNlLmxvY2FsLmRlc2MKCiAgMjggSnVsIDIwMDg7IFJh+mwgUG9yY2VsIDxhcm1pbjc2QGdlbnRvby5vcmc+IHBtLXV0aWxzLTAuOTkuNC5lYnVpbGQ6CiAgeDg2IHN0YWJsZSB3cnQgIzIyMjIxOQoKICAxOSBKdW4gMjAwODsgT2xpdmllciBDcup0ZSA8dGVzdGVyQGdlbnRvby5vcmc+IHBtLXV0aWxzLTAuOTkuNC5lYnVpbGQ6CiAgYW1kNjQgc3RhYmxlLCBidWcgIzIyMjIxOQoKKnBtLXV0aWxzLTEuMS4yLjEgKDI5IE1heSAyMDA4KQoKICAyOSBNYXkgMjAwODsgU2FsZWVtIEFiZHVscmFzb29sIDxjb21wbmVyZEBnZW50b28ub3JnPgogICtwbS11dGlscy0xLjEuMi4xLmVidWlsZDoKICBWZXJzaW9uIGJ1bXAgZnJvbSB1cHN0cmVhbQoKKnBtLXV0aWxzLTEuMS4xICgyMCBNYXkgMjAwOCkKCiAgMjAgTWF5IDIwMDg7IFNhbGVlbSBBYmR1bHJhc29vbCA8Y29tcG5lcmRAZ2VudG9vLm9yZz4KICArcG0tdXRpbHMtMS4xLjEuZWJ1aWxkOgogIFZlcnNpb24gYnVtcCBmcm9tIHVwc3RyZWFtCgogIDIzIE5vdiAyMDA3OyBTYWxlZW0gQWJkdWxyYXNvb2wgPGNvbXBuZXJkQGdlbnRvby5vcmc+CiAgcG0tdXRpbHMtMC45OS40LmVidWlsZDoKICBBZGQgbWlzc2luZyB1c2VmbGFnCgoqcG0tdXRpbHMtMC45OS40ICgyMyBOb3YgMjAwNykKCiAgMjMgTm92IDIwMDc7IFNhbGVlbSBBYmR1bHJhc29vbCA8Y29tcG5lcmRAZ2VudG9vLm9yZz4gK21ldGFkYXRhLnhtbCwKICArcG0tdXRpbHMtMC45OS40LmVidWlsZDoKICBJbml0aWFsIGNvbW1pdCBvZiBwbS11dGlscyBmb3IgSEFMIDAuNS4xMAoK