From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Artur Frenszek-Iwicki To: git-commits@fedoraproject.org Subject: [rpms/Maelstrom] f45: Update to v4.0.2 (rhbz#2495895) Date: Sun, 20 Sep 2026 11:43:53 GMT Message-ID: <178990463307.1.8843174682941015983.rpms-Maelstrom-2c6b69ef5a6c@fedoraproject.org> List-ID: X-Git-Repo: rpms/Maelstrom X-Git-Branch: f45 X-Git-Rev: 2c6b69ef5a6c15a38c8b8680eeff6e53d1adadfb ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvTWFlbHN0cm9tCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NQogICAgICAgICAg ICBDb21taXQgOiAyYzZiNjllZjVhNmMxNWEzOGM4Yjg2ODBlZWZmNmU1M2QxYWRhZGZiCiAgICAg ICAgICAgIEF1dGhvciA6IEFydHVyIEZyZW5zemVrLUl3aWNraSA8ZmVkb3JhQHN2Z2FtZXMucGw+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDktMjBUMTM6MTM6MTMrMDI6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzQxOS8tNDExIGluIDE0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDog aHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9NYWVsc3Ryb20vYy8yYzZiNjllZjVh NmMxNWEzOGM4Yjg2ODBlZWZmNmU1M2QxYWRhZGZiP2JyYW5jaD1mNDUKCiAgICAgICAgICAgIExv ZzoKICAgICAgICAgICAgVXBkYXRlIHRvIHY0LjAuMiAocmhieiMyNDk1ODk1KQoKVGhpcyBjb21t aXQgdW5jZXJlbW9uaW91c2x5IGRyb3BzIHRoZSBwYXRjaGVzIGZvciBzeXN0ZW0td2lkZSBzaGFy ZWQKaGktc2NvcmVzLCBhcyB0aGUgZ2FtZSBzd2l0Y2hlZCBmcm9tIHN0b3JpbmcgYSBzaW1wbGUg bGlzdCBvZiBzY29yZXMKdG8gc3RvcmluZyBhIGRpcmVjdG9yeSBvZiBnYW1lIHJlcGxheXMuCgot LS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDZiODM1MTMuLjhl NjYwZmQgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSwyICsx LDQgQEAKIE1hZWxzdHJvbS0zLjAuNi50YXIuZ3oKIC9NYWVsc3Ryb20tMy4wLjcudGFyLmd6Cisv TWFlbHN0cm9tLXJlbGVhc2UtNC4wLjIudGFyLmd6CisvcGh5c2ZzLTQ5Y2ZkNWZkZDQ2ZjM4YjRj MjYxMTU1NmI0NGVlOWIwZDMwOGUxNjIudGFyLmd6CgpkaWZmIC0tZ2l0IGEvNjRiaXQucGF0Y2gg Yi82NGJpdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMwOTFlZi4uMDAw MDAwMAotLS0gYS82NGJpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLWRp ZmYgLS1naXQgYS9zY3JlZW5saWIvU0RMX0ZyYW1lQnVmLmNwcCBiL3NjcmVlbmxpYi9TRExfRnJh bWVCdWYuY3BwCi1pbmRleCAyZjdiNDRjLi5kYmNmMzc5IDEwMDY0NAotLS0tIGEvc2NyZWVubGli L1NETF9GcmFtZUJ1Zi5jcHAKLSsrKyBiL3NjcmVlbmxpYi9TRExfRnJhbWVCdWYuY3BwCi1AQCAt ODg4LDcgKzg4OCw3IEBAIEZyYW1lQnVmOjogQWRkRGlydHlSZWN0KFNETF9SZWN0ICpyZWN0KQot IAkJCWZvciAoIGk9MDsgaTxkaXJ0eW1hcGxlbjsgKytpICkgewotIAkJCQlpZiAoIGRpcnR5bWFw W2ldICE9IE5VTEwgKSB7Ci0gCQkJCQlkaXJ0eW1hcFtpXSA9IChTRExfUmVjdCAqKSgKLS0JCQkJ CSgoaW50cHRyX3QpZGlydHltYXBbaV0tKGludHB0cl90KXVwZGF0ZWxpc3QpICsgKGludHB0cl90 KW5ld2xpc3QKLSsJCQkJCSgobG9uZylkaXJ0eW1hcFtpXS0obG9uZyl1cGRhdGVsaXN0KSArIChs b25nKW5ld2xpc3QKLSAJCQkJCSk7Ci0gCQkJCX0KLSAJCQl9CgpkaWZmIC0tZ2l0IGEvQ0MtQlkt My4wLnR4dCBiL0NDLUJZLTMuMC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMWExNmUwNQotLS0gL2Rldi9udWxsCisrKyBiL0NDLUJZLTMuMC50eHQKQEAgLTAsMCArMSwz MTkgQEAKK0NyZWF0aXZlIENvbW1vbnMgTGVnYWwgQ29kZQorCitBdHRyaWJ1dGlvbiAzLjAgVW5w b3J0ZWQKKworICAgIENSRUFUSVZFIENPTU1PTlMgQ09SUE9SQVRJT04gSVMgTk9UIEEgTEFXIEZJ Uk0gQU5EIERPRVMgTk9UIFBST1ZJREUKKyAgICBMRUdBTCBTRVJWSUNFUy4gRElTVFJJQlVUSU9O IE9GIFRISVMgTElDRU5TRSBET0VTIE5PVCBDUkVBVEUgQU4KKyAgICBBVFRPUk5FWS1DTElFTlQg UkVMQVRJT05TSElQLiBDUkVBVElWRSBDT01NT05TIFBST1ZJREVTIFRISVMKKyAgICBJTkZPUk1B VElPTiBPTiBBTiAiQVMtSVMiIEJBU0lTLiBDUkVBVElWRSBDT01NT05TIE1BS0VTIE5PIFdBUlJB TlRJRVMKKyAgICBSRUdBUkRJTkcgVEhFIElORk9STUFUSU9OIFBST1ZJREVELCBBTkQgRElTQ0xB SU1TIExJQUJJTElUWSBGT1IKKyAgICBEQU1BR0VTIFJFU1VMVElORyBGUk9NIElUUyBVU0UuCisK K0xpY2Vuc2UKKworVEhFIFdPUksgKEFTIERFRklORUQgQkVMT1cpIElTIFBST1ZJREVEIFVOREVS IFRIRSBURVJNUyBPRiBUSElTIENSRUFUSVZFCitDT01NT05TIFBVQkxJQyBMSUNFTlNFICgiQ0NQ TCIgT1IgIkxJQ0VOU0UiKS4gVEhFIFdPUksgSVMgUFJPVEVDVEVEIEJZCitDT1BZUklHSFQgQU5E L09SIE9USEVSIEFQUExJQ0FCTEUgTEFXLiBBTlkgVVNFIE9GIFRIRSBXT1JLIE9USEVSIFRIQU4g QVMKK0FVVEhPUklaRUQgVU5ERVIgVEhJUyBMSUNFTlNFIE9SIENPUFlSSUdIVCBMQVcgSVMgUFJP SElCSVRFRC4KKworQlkgRVhFUkNJU0lORyBBTlkgUklHSFRTIFRPIFRIRSBXT1JLIFBST1ZJREVE IEhFUkUsIFlPVSBBQ0NFUFQgQU5EIEFHUkVFCitUTyBCRSBCT1VORCBCWSBUSEUgVEVSTVMgT0Yg VEhJUyBMSUNFTlNFLiBUTyBUSEUgRVhURU5UIFRISVMgTElDRU5TRSBNQVkKK0JFIENPTlNJREVS RUQgVE8gQkUgQSBDT05UUkFDVCwgVEhFIExJQ0VOU09SIEdSQU5UUyBZT1UgVEhFIFJJR0hUUwor Q09OVEFJTkVEIEhFUkUgSU4gQ09OU0lERVJBVElPTiBPRiBZT1VSIEFDQ0VQVEFOQ0UgT0YgU1VD SCBURVJNUyBBTkQKK0NPTkRJVElPTlMuCisKKzEuIERlZmluaXRpb25zCisKKyBhLiAiQWRhcHRh dGlvbiIgbWVhbnMgYSB3b3JrIGJhc2VkIHVwb24gdGhlIFdvcmssIG9yIHVwb24gdGhlIFdvcmsg YW5kCisgICAgb3RoZXIgcHJlLWV4aXN0aW5nIHdvcmtzLCBzdWNoIGFzIGEgdHJhbnNsYXRpb24s IGFkYXB0YXRpb24sCisgICAgZGVyaXZhdGl2ZSB3b3JrLCBhcnJhbmdlbWVudCBvZiBtdXNpYyBv ciBvdGhlciBhbHRlcmF0aW9ucyBvZiBhCisgICAgbGl0ZXJhcnkgb3IgYXJ0aXN0aWMgd29yaywg b3IgcGhvbm9ncmFtIG9yIHBlcmZvcm1hbmNlIGFuZCBpbmNsdWRlcworICAgIGNpbmVtYXRvZ3Jh cGhpYyBhZGFwdGF0aW9ucyBvciBhbnkgb3RoZXIgZm9ybSBpbiB3aGljaCB0aGUgV29yayBtYXkg YmUKKyAgICByZWNhc3QsIHRyYW5zZm9ybWVkLCBvciBhZGFwdGVkIGluY2x1ZGluZyBpbiBhbnkg Zm9ybSByZWNvZ25pemFibHkKKyAgICBkZXJpdmVkIGZyb20gdGhlIG9yaWdpbmFsLCBleGNlcHQg dGhhdCBhIHdvcmsgdGhhdCBjb25zdGl0dXRlcyBhCisgICAgQ29sbGVjdGlvbiB3aWxsIG5vdCBi ZSBjb25zaWRlcmVkIGFuIEFkYXB0YXRpb24gZm9yIHRoZSBwdXJwb3NlIG9mCisgICAgdGhpcyBM aWNlbnNlLiBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgd2hlcmUgdGhlIFdvcmsgaXMgYSBt dXNpY2FsCisgICAgd29yaywgcGVyZm9ybWFuY2Ugb3IgcGhvbm9ncmFtLCB0aGUgc3luY2hyb25p emF0aW9uIG9mIHRoZSBXb3JrIGluCisgICAgdGltZWQtcmVsYXRpb24gd2l0aCBhIG1vdmluZyBp bWFnZSAoInN5bmNoaW5nIikgd2lsbCBiZSBjb25zaWRlcmVkIGFuCisgICAgQWRhcHRhdGlvbiBm b3IgdGhlIHB1cnBvc2Ugb2YgdGhpcyBMaWNlbnNlLgorIGIuICJDb2xsZWN0aW9uIiBtZWFucyBh IGNvbGxlY3Rpb24gb2YgbGl0ZXJhcnkgb3IgYXJ0aXN0aWMgd29ya3MsIHN1Y2ggYXMKKyAgICBl bmN5Y2xvcGVkaWFzIGFuZCBhbnRob2xvZ2llcywgb3IgcGVyZm9ybWFuY2VzLCBwaG9ub2dyYW1z IG9yCisgICAgYnJvYWRjYXN0cywgb3Igb3RoZXIgd29ya3Mgb3Igc3ViamVjdCBtYXR0ZXIgb3Ro ZXIgdGhhbiB3b3JrcyBsaXN0ZWQKKyAgICBpbiBTZWN0aW9uIDEoZikgYmVsb3csIHdoaWNoLCBi eSByZWFzb24gb2YgdGhlIHNlbGVjdGlvbiBhbmQKKyAgICBhcnJhbmdlbWVudCBvZiB0aGVpciBj b250ZW50cywgY29uc3RpdHV0ZSBpbnRlbGxlY3R1YWwgY3JlYXRpb25zLCBpbgorICAgIHdoaWNo IHRoZSBXb3JrIGlzIGluY2x1ZGVkIGluIGl0cyBlbnRpcmV0eSBpbiB1bm1vZGlmaWVkIGZvcm0g YWxvbmcKKyAgICB3aXRoIG9uZSBvciBtb3JlIG90aGVyIGNvbnRyaWJ1dGlvbnMsIGVhY2ggY29u c3RpdHV0aW5nIHNlcGFyYXRlIGFuZAorICAgIGluZGVwZW5kZW50IHdvcmtzIGluIHRoZW1zZWx2 ZXMsIHdoaWNoIHRvZ2V0aGVyIGFyZSBhc3NlbWJsZWQgaW50byBhCisgICAgY29sbGVjdGl2ZSB3 aG9sZS4gQSB3b3JrIHRoYXQgY29uc3RpdHV0ZXMgYSBDb2xsZWN0aW9uIHdpbGwgbm90IGJlCisg ICAgY29uc2lkZXJlZCBhbiBBZGFwdGF0aW9uIChhcyBkZWZpbmVkIGFib3ZlKSBmb3IgdGhlIHB1 cnBvc2VzIG9mIHRoaXMKKyAgICBMaWNlbnNlLgorIGMuICJEaXN0cmlidXRlIiBtZWFucyB0byBt YWtlIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIHRoZSBvcmlnaW5hbCBhbmQKKyAgICBjb3BpZXMg b2YgdGhlIFdvcmsgb3IgQWRhcHRhdGlvbiwgYXMgYXBwcm9wcmlhdGUsIHRocm91Z2ggc2FsZSBv cgorICAgIG90aGVyIHRyYW5zZmVyIG9mIG93bmVyc2hpcC4KKyBkLiAiTGljZW5zb3IiIG1lYW5z IHRoZSBpbmRpdmlkdWFsLCBpbmRpdmlkdWFscywgZW50aXR5IG9yIGVudGl0aWVzIHRoYXQKKyAg ICBvZmZlcihzKSB0aGUgV29yayB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorIGUu ICJPcmlnaW5hbCBBdXRob3IiIG1lYW5zLCBpbiB0aGUgY2FzZSBvZiBhIGxpdGVyYXJ5IG9yIGFy dGlzdGljIHdvcmssCisgICAgdGhlIGluZGl2aWR1YWwsIGluZGl2aWR1YWxzLCBlbnRpdHkgb3Ig ZW50aXRpZXMgd2hvIGNyZWF0ZWQgdGhlIFdvcmsKKyAgICBvciBpZiBubyBpbmRpdmlkdWFsIG9y IGVudGl0eSBjYW4gYmUgaWRlbnRpZmllZCwgdGhlIHB1Ymxpc2hlcjsgYW5kIGluCisgICAgYWRk aXRpb24gKGkpIGluIHRoZSBjYXNlIG9mIGEgcGVyZm9ybWFuY2UgdGhlIGFjdG9ycywgc2luZ2Vy cywKKyAgICBtdXNpY2lhbnMsIGRhbmNlcnMsIGFuZCBvdGhlciBwZXJzb25zIHdobyBhY3QsIHNp bmcsIGRlbGl2ZXIsIGRlY2xhaW0sCisgICAgcGxheSBpbiwgaW50ZXJwcmV0IG9yIG90aGVyd2lz ZSBwZXJmb3JtIGxpdGVyYXJ5IG9yIGFydGlzdGljIHdvcmtzIG9yCisgICAgZXhwcmVzc2lvbnMg b2YgZm9sa2xvcmU7IChpaSkgaW4gdGhlIGNhc2Ugb2YgYSBwaG9ub2dyYW0gdGhlIHByb2R1Y2Vy CisgICAgYmVpbmcgdGhlIHBlcnNvbiBvciBsZWdhbCBlbnRpdHkgd2hvIGZpcnN0IGZpeGVzIHRo ZSBzb3VuZHMgb2YgYQorICAgIHBlcmZvcm1hbmNlIG9yIG90aGVyIHNvdW5kczsgYW5kLCAoaWlp KSBpbiB0aGUgY2FzZSBvZiBicm9hZGNhc3RzLCB0aGUKKyAgICBvcmdhbml6YXRpb24gdGhhdCB0 cmFuc21pdHMgdGhlIGJyb2FkY2FzdC4KKyBmLiAiV29yayIgbWVhbnMgdGhlIGxpdGVyYXJ5IGFu ZC9vciBhcnRpc3RpYyB3b3JrIG9mZmVyZWQgdW5kZXIgdGhlIHRlcm1zCisgICAgb2YgdGhpcyBM aWNlbnNlIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IHByb2R1Y3Rpb24gaW4gdGhl CisgICAgbGl0ZXJhcnksIHNjaWVudGlmaWMgYW5kIGFydGlzdGljIGRvbWFpbiwgd2hhdGV2ZXIg bWF5IGJlIHRoZSBtb2RlIG9yCisgICAgZm9ybSBvZiBpdHMgZXhwcmVzc2lvbiBpbmNsdWRpbmcg ZGlnaXRhbCBmb3JtLCBzdWNoIGFzIGEgYm9vaywKKyAgICBwYW1waGxldCBhbmQgb3RoZXIgd3Jp dGluZzsgYSBsZWN0dXJlLCBhZGRyZXNzLCBzZXJtb24gb3Igb3RoZXIgd29yaworICAgIG9mIHRo ZSBzYW1lIG5hdHVyZTsgYSBkcmFtYXRpYyBvciBkcmFtYXRpY28tbXVzaWNhbCB3b3JrOyBhCisg ICAgY2hvcmVvZ3JhcGhpYyB3b3JrIG9yIGVudGVydGFpbm1lbnQgaW4gZHVtYiBzaG93OyBhIG11 c2ljYWwKKyAgICBjb21wb3NpdGlvbiB3aXRoIG9yIHdpdGhvdXQgd29yZHM7IGEgY2luZW1hdG9n cmFwaGljIHdvcmsgdG8gd2hpY2ggYXJlCisgICAgYXNzaW1pbGF0ZWQgd29ya3MgZXhwcmVzc2Vk IGJ5IGEgcHJvY2VzcyBhbmFsb2dvdXMgdG8gY2luZW1hdG9ncmFwaHk7CisgICAgYSB3b3JrIG9m IGRyYXdpbmcsIHBhaW50aW5nLCBhcmNoaXRlY3R1cmUsIHNjdWxwdHVyZSwgZW5ncmF2aW5nIG9y CisgICAgbGl0aG9ncmFwaHk7IGEgcGhvdG9ncmFwaGljIHdvcmsgdG8gd2hpY2ggYXJlIGFzc2lt aWxhdGVkIHdvcmtzCisgICAgZXhwcmVzc2VkIGJ5IGEgcHJvY2VzcyBhbmFsb2dvdXMgdG8gcGhv dG9ncmFwaHk7IGEgd29yayBvZiBhcHBsaWVkCisgICAgYXJ0OyBhbiBpbGx1c3RyYXRpb24sIG1h cCwgcGxhbiwgc2tldGNoIG9yIHRocmVlLWRpbWVuc2lvbmFsIHdvcmsKKyAgICByZWxhdGl2ZSB0 byBnZW9ncmFwaHksIHRvcG9ncmFwaHksIGFyY2hpdGVjdHVyZSBvciBzY2llbmNlOyBhCisgICAg cGVyZm9ybWFuY2U7IGEgYnJvYWRjYXN0OyBhIHBob25vZ3JhbTsgYSBjb21waWxhdGlvbiBvZiBk YXRhIHRvIHRoZQorICAgIGV4dGVudCBpdCBpcyBwcm90ZWN0ZWQgYXMgYSBjb3B5cmlnaHRhYmxl IHdvcms7IG9yIGEgd29yayBwZXJmb3JtZWQgYnkKKyAgICBhIHZhcmlldHkgb3IgY2lyY3VzIHBl cmZvcm1lciB0byB0aGUgZXh0ZW50IGl0IGlzIG5vdCBvdGhlcndpc2UKKyAgICBjb25zaWRlcmVk IGEgbGl0ZXJhcnkgb3IgYXJ0aXN0aWMgd29yay4KKyBnLiAiWW91IiBtZWFucyBhbiBpbmRpdmlk dWFsIG9yIGVudGl0eSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzCisgICAgTGljZW5zZSB3 aG8gaGFzIG5vdCBwcmV2aW91c2x5IHZpb2xhdGVkIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2Ug d2l0aAorICAgIHJlc3BlY3QgdG8gdGhlIFdvcmssIG9yIHdobyBoYXMgcmVjZWl2ZWQgZXhwcmVz cyBwZXJtaXNzaW9uIGZyb20gdGhlCisgICAgTGljZW5zb3IgdG8gZXhlcmNpc2UgcmlnaHRzIHVu ZGVyIHRoaXMgTGljZW5zZSBkZXNwaXRlIGEgcHJldmlvdXMKKyAgICB2aW9sYXRpb24uCisgaC4g IlB1YmxpY2x5IFBlcmZvcm0iIG1lYW5zIHRvIHBlcmZvcm0gcHVibGljIHJlY2l0YXRpb25zIG9m IHRoZSBXb3JrIGFuZAorICAgIHRvIGNvbW11bmljYXRlIHRvIHRoZSBwdWJsaWMgdGhvc2UgcHVi bGljIHJlY2l0YXRpb25zLCBieSBhbnkgbWVhbnMgb3IKKyAgICBwcm9jZXNzLCBpbmNsdWRpbmcg Ynkgd2lyZSBvciB3aXJlbGVzcyBtZWFucyBvciBwdWJsaWMgZGlnaXRhbAorICAgIHBlcmZvcm1h bmNlczsgdG8gbWFrZSBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYyBXb3JrcyBpbiBzdWNoIGEgd2F5 IHRoYXQKKyAgICBtZW1iZXJzIG9mIHRoZSBwdWJsaWMgbWF5IGFjY2VzcyB0aGVzZSBXb3JrcyBm cm9tIGEgcGxhY2UgYW5kIGF0IGEKKyAgICBwbGFjZSBpbmRpdmlkdWFsbHkgY2hvc2VuIGJ5IHRo ZW07IHRvIHBlcmZvcm0gdGhlIFdvcmsgdG8gdGhlIHB1YmxpYworICAgIGJ5IGFueSBtZWFucyBv ciBwcm9jZXNzIGFuZCB0aGUgY29tbXVuaWNhdGlvbiB0byB0aGUgcHVibGljIG9mIHRoZQorICAg IHBlcmZvcm1hbmNlcyBvZiB0aGUgV29yaywgaW5jbHVkaW5nIGJ5IHB1YmxpYyBkaWdpdGFsIHBl cmZvcm1hbmNlOyB0bworICAgIGJyb2FkY2FzdCBhbmQgcmVicm9hZGNhc3QgdGhlIFdvcmsgYnkg YW55IG1lYW5zIGluY2x1ZGluZyBzaWducywKKyAgICBzb3VuZHMgb3IgaW1hZ2VzLgorIGkuICJS ZXByb2R1Y2UiIG1lYW5zIHRvIG1ha2UgY29waWVzIG9mIHRoZSBXb3JrIGJ5IGFueSBtZWFucyBp bmNsdWRpbmcKKyAgICB3aXRob3V0IGxpbWl0YXRpb24gYnkgc291bmQgb3IgdmlzdWFsIHJlY29y ZGluZ3MgYW5kIHRoZSByaWdodCBvZgorICAgIGZpeGF0aW9uIGFuZCByZXByb2R1Y2luZyBmaXhh dGlvbnMgb2YgdGhlIFdvcmssIGluY2x1ZGluZyBzdG9yYWdlIG9mIGEKKyAgICBwcm90ZWN0ZWQg cGVyZm9ybWFuY2Ugb3IgcGhvbm9ncmFtIGluIGRpZ2l0YWwgZm9ybSBvciBvdGhlciBlbGVjdHJv bmljCisgICAgbWVkaXVtLgorCisyLiBGYWlyIERlYWxpbmcgUmlnaHRzLiBOb3RoaW5nIGluIHRo aXMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byByZWR1Y2UsCitsaW1pdCwgb3IgcmVzdHJpY3QgYW55 IHVzZXMgZnJlZSBmcm9tIGNvcHlyaWdodCBvciByaWdodHMgYXJpc2luZyBmcm9tCitsaW1pdGF0 aW9ucyBvciBleGNlcHRpb25zIHRoYXQgYXJlIHByb3ZpZGVkIGZvciBpbiBjb25uZWN0aW9uIHdp dGggdGhlCitjb3B5cmlnaHQgcHJvdGVjdGlvbiB1bmRlciBjb3B5cmlnaHQgbGF3IG9yIG90aGVy IGFwcGxpY2FibGUgbGF3cy4KKworMy4gTGljZW5zZSBHcmFudC4gU3ViamVjdCB0byB0aGUgdGVy bXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLAorTGljZW5zb3IgaGVyZWJ5IGdyYW50 cyBZb3UgYSB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSwgbm9uLWV4Y2x1c2l2ZSwKK3BlcnBldHVh bCAoZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgYXBwbGljYWJsZSBjb3B5cmlnaHQpIGxpY2Vuc2Ug dG8KK2V4ZXJjaXNlIHRoZSByaWdodHMgaW4gdGhlIFdvcmsgYXMgc3RhdGVkIGJlbG93OgorCisg YS4gdG8gUmVwcm9kdWNlIHRoZSBXb3JrLCB0byBpbmNvcnBvcmF0ZSB0aGUgV29yayBpbnRvIG9u ZSBvciBtb3JlCisgICAgQ29sbGVjdGlvbnMsIGFuZCB0byBSZXByb2R1Y2UgdGhlIFdvcmsgYXMg aW5jb3Jwb3JhdGVkIGluIHRoZQorICAgIENvbGxlY3Rpb25zOworIGIuIHRvIGNyZWF0ZSBhbmQg UmVwcm9kdWNlIEFkYXB0YXRpb25zIHByb3ZpZGVkIHRoYXQgYW55IHN1Y2ggQWRhcHRhdGlvbiwK KyAgICBpbmNsdWRpbmcgYW55IHRyYW5zbGF0aW9uIGluIGFueSBtZWRpdW0sIHRha2VzIHJlYXNv bmFibGUgc3RlcHMgdG8KKyAgICBjbGVhcmx5IGxhYmVsLCBkZW1hcmNhdGUgb3Igb3RoZXJ3aXNl IGlkZW50aWZ5IHRoYXQgY2hhbmdlcyB3ZXJlIG1hZGUKKyAgICB0byB0aGUgb3JpZ2luYWwgV29y ay4gRm9yIGV4YW1wbGUsIGEgdHJhbnNsYXRpb24gY291bGQgYmUgbWFya2VkICJUaGUKKyAgICBv cmlnaW5hbCB3b3JrIHdhcyB0cmFuc2xhdGVkIGZyb20gRW5nbGlzaCB0byBTcGFuaXNoLCIgb3Ig YQorICAgIG1vZGlmaWNhdGlvbiBjb3VsZCBpbmRpY2F0ZSAiVGhlIG9yaWdpbmFsIHdvcmsgaGFz IGJlZW4gbW9kaWZpZWQuIjsKKyBjLiB0byBEaXN0cmlidXRlIGFuZCBQdWJsaWNseSBQZXJmb3Jt IHRoZSBXb3JrIGluY2x1ZGluZyBhcyBpbmNvcnBvcmF0ZWQKKyAgICBpbiBDb2xsZWN0aW9uczsg YW5kLAorIGQuIHRvIERpc3RyaWJ1dGUgYW5kIFB1YmxpY2x5IFBlcmZvcm0gQWRhcHRhdGlvbnMu CisgZS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQ6CisKKyAgICAgaS4gTm9uLXdhaXZhYmxl IENvbXB1bHNvcnkgTGljZW5zZSBTY2hlbWVzLiBJbiB0aG9zZSBqdXJpc2RpY3Rpb25zIGluCisg ICAgICAgIHdoaWNoIHRoZSByaWdodCB0byBjb2xsZWN0IHJveWFsdGllcyB0aHJvdWdoIGFueSBz dGF0dXRvcnkgb3IKKyAgICAgICAgY29tcHVsc29yeSBsaWNlbnNpbmcgc2NoZW1lIGNhbm5vdCBi ZSB3YWl2ZWQsIHRoZSBMaWNlbnNvcgorICAgICAgICByZXNlcnZlcyB0aGUgZXhjbHVzaXZlIHJp Z2h0IHRvIGNvbGxlY3Qgc3VjaCByb3lhbHRpZXMgZm9yIGFueQorICAgICAgICBleGVyY2lzZSBi eSBZb3Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZTsKKyAgICBpaS4g V2FpdmFibGUgQ29tcHVsc29yeSBMaWNlbnNlIFNjaGVtZXMuIEluIHRob3NlIGp1cmlzZGljdGlv bnMgaW4KKyAgICAgICAgd2hpY2ggdGhlIHJpZ2h0IHRvIGNvbGxlY3Qgcm95YWx0aWVzIHRocm91 Z2ggYW55IHN0YXR1dG9yeSBvcgorICAgICAgICBjb21wdWxzb3J5IGxpY2Vuc2luZyBzY2hlbWUg Y2FuIGJlIHdhaXZlZCwgdGhlIExpY2Vuc29yIHdhaXZlcyB0aGUKKyAgICAgICAgZXhjbHVzaXZl IHJpZ2h0IHRvIGNvbGxlY3Qgc3VjaCByb3lhbHRpZXMgZm9yIGFueSBleGVyY2lzZSBieSBZb3UK KyAgICAgICAgb2YgdGhlIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZTsgYW5kLAor ICAgaWlpLiBWb2x1bnRhcnkgTGljZW5zZSBTY2hlbWVzLiBUaGUgTGljZW5zb3Igd2FpdmVzIHRo ZSByaWdodCB0bworICAgICAgICBjb2xsZWN0IHJveWFsdGllcywgd2hldGhlciBpbmRpdmlkdWFs bHkgb3IsIGluIHRoZSBldmVudCB0aGF0IHRoZQorICAgICAgICBMaWNlbnNvciBpcyBhIG1lbWJl ciBvZiBhIGNvbGxlY3Rpbmcgc29jaWV0eSB0aGF0IGFkbWluaXN0ZXJzCisgICAgICAgIHZvbHVu dGFyeSBsaWNlbnNpbmcgc2NoZW1lcywgdmlhIHRoYXQgc29jaWV0eSwgZnJvbSBhbnkgZXhlcmNp c2UKKyAgICAgICAgYnkgWW91IG9mIHRoZSByaWdodHMgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vu c2UuCisKK1RoZSBhYm92ZSByaWdodHMgbWF5IGJlIGV4ZXJjaXNlZCBpbiBhbGwgbWVkaWEgYW5k IGZvcm1hdHMgd2hldGhlciBub3cKK2tub3duIG9yIGhlcmVhZnRlciBkZXZpc2VkLiBUaGUgYWJv dmUgcmlnaHRzIGluY2x1ZGUgdGhlIHJpZ2h0IHRvIG1ha2UKK3N1Y2ggbW9kaWZpY2F0aW9ucyBh cyBhcmUgdGVjaG5pY2FsbHkgbmVjZXNzYXJ5IHRvIGV4ZXJjaXNlIHRoZSByaWdodHMgaW4KK290 aGVyIG1lZGlhIGFuZCBmb3JtYXRzLiBTdWJqZWN0IHRvIFNlY3Rpb24gOChmKSwgYWxsIHJpZ2h0 cyBub3QgZXhwcmVzc2x5CitncmFudGVkIGJ5IExpY2Vuc29yIGFyZSBoZXJlYnkgcmVzZXJ2ZWQu CisKKzQuIFJlc3RyaWN0aW9ucy4gVGhlIGxpY2Vuc2UgZ3JhbnRlZCBpbiBTZWN0aW9uIDMgYWJv dmUgaXMgZXhwcmVzc2x5IG1hZGUKK3N1YmplY3QgdG8gYW5kIGxpbWl0ZWQgYnkgdGhlIGZvbGxv d2luZyByZXN0cmljdGlvbnM6CisKKyBhLiBZb3UgbWF5IERpc3RyaWJ1dGUgb3IgUHVibGljbHkg UGVyZm9ybSB0aGUgV29yayBvbmx5IHVuZGVyIHRoZSB0ZXJtcworICAgIG9mIHRoaXMgTGljZW5z ZS4gWW91IG11c3QgaW5jbHVkZSBhIGNvcHkgb2YsIG9yIHRoZSBVbmlmb3JtIFJlc291cmNlCisg ICAgSWRlbnRpZmllciAoVVJJKSBmb3IsIHRoaXMgTGljZW5zZSB3aXRoIGV2ZXJ5IGNvcHkgb2Yg dGhlIFdvcmsgWW91CisgICAgRGlzdHJpYnV0ZSBvciBQdWJsaWNseSBQZXJmb3JtLiBZb3UgbWF5 IG5vdCBvZmZlciBvciBpbXBvc2UgYW55IHRlcm1zCisgICAgb24gdGhlIFdvcmsgdGhhdCByZXN0 cmljdCB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIG9yIHRoZSBhYmlsaXR5IG9mCisgICAgdGhl IHJlY2lwaWVudCBvZiB0aGUgV29yayB0byBleGVyY2lzZSB0aGUgcmlnaHRzIGdyYW50ZWQgdG8g dGhhdAorICAgIHJlY2lwaWVudCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIExpY2Vuc2UuIFlvdSBt YXkgbm90IHN1YmxpY2Vuc2UgdGhlCisgICAgV29yay4gWW91IG11c3Qga2VlcCBpbnRhY3QgYWxs IG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kCisgICAgdG8gdGhlIGRpc2Ns YWltZXIgb2Ygd2FycmFudGllcyB3aXRoIGV2ZXJ5IGNvcHkgb2YgdGhlIFdvcmsgWW91CisgICAg RGlzdHJpYnV0ZSBvciBQdWJsaWNseSBQZXJmb3JtLiBXaGVuIFlvdSBEaXN0cmlidXRlIG9yIFB1 YmxpY2x5CisgICAgUGVyZm9ybSB0aGUgV29yaywgWW91IG1heSBub3QgaW1wb3NlIGFueSBlZmZl Y3RpdmUgdGVjaG5vbG9naWNhbAorICAgIG1lYXN1cmVzIG9uIHRoZSBXb3JrIHRoYXQgcmVzdHJp Y3QgdGhlIGFiaWxpdHkgb2YgYSByZWNpcGllbnQgb2YgdGhlCisgICAgV29yayBmcm9tIFlvdSB0 byBleGVyY2lzZSB0aGUgcmlnaHRzIGdyYW50ZWQgdG8gdGhhdCByZWNpcGllbnQgdW5kZXIKKyAg ICB0aGUgdGVybXMgb2YgdGhlIExpY2Vuc2UuIFRoaXMgU2VjdGlvbiA0KGEpIGFwcGxpZXMgdG8g dGhlIFdvcmsgYXMKKyAgICBpbmNvcnBvcmF0ZWQgaW4gYSBDb2xsZWN0aW9uLCBidXQgdGhpcyBk b2VzIG5vdCByZXF1aXJlIHRoZSBDb2xsZWN0aW9uCisgICAgYXBhcnQgZnJvbSB0aGUgV29yayBp dHNlbGYgdG8gYmUgbWFkZSBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGlzCisgICAgTGljZW5z ZS4gSWYgWW91IGNyZWF0ZSBhIENvbGxlY3Rpb24sIHVwb24gbm90aWNlIGZyb20gYW55IExpY2Vu c29yIFlvdQorICAgIG11c3QsIHRvIHRoZSBleHRlbnQgcHJhY3RpY2FibGUsIHJlbW92ZSBmcm9t IHRoZSBDb2xsZWN0aW9uIGFueSBjcmVkaXQKKyAgICBhcyByZXF1aXJlZCBieSBTZWN0aW9uIDQo YiksIGFzIHJlcXVlc3RlZC4gSWYgWW91IGNyZWF0ZSBhbgorICAgIEFkYXB0YXRpb24sIHVwb24g bm90aWNlIGZyb20gYW55IExpY2Vuc29yIFlvdSBtdXN0LCB0byB0aGUgZXh0ZW50CisgICAgcHJh Y3RpY2FibGUsIHJlbW92ZSBmcm9tIHRoZSBBZGFwdGF0aW9uIGFueSBjcmVkaXQgYXMgcmVxdWly ZWQgYnkKKyAgICBTZWN0aW9uIDQoYiksIGFzIHJlcXVlc3RlZC4KKyBiLiBJZiBZb3UgRGlzdHJp YnV0ZSwgb3IgUHVibGljbHkgUGVyZm9ybSB0aGUgV29yayBvciBhbnkgQWRhcHRhdGlvbnMgb3IK KyAgICBDb2xsZWN0aW9ucywgWW91IG11c3QsIHVubGVzcyBhIHJlcXVlc3QgaGFzIGJlZW4gbWFk ZSBwdXJzdWFudCB0bworICAgIFNlY3Rpb24gNChhKSwga2VlcCBpbnRhY3QgYWxsIGNvcHlyaWdo dCBub3RpY2VzIGZvciB0aGUgV29yayBhbmQKKyAgICBwcm92aWRlLCByZWFzb25hYmxlIHRvIHRo ZSBtZWRpdW0gb3IgbWVhbnMgWW91IGFyZSB1dGlsaXppbmc6IChpKSB0aGUKKyAgICBuYW1lIG9m IHRoZSBPcmlnaW5hbCBBdXRob3IgKG9yIHBzZXVkb255bSwgaWYgYXBwbGljYWJsZSkgaWYgc3Vw cGxpZWQsCisgICAgYW5kL29yIGlmIHRoZSBPcmlnaW5hbCBBdXRob3IgYW5kL29yIExpY2Vuc29y IGRlc2lnbmF0ZSBhbm90aGVyIHBhcnR5CisgICAgb3IgcGFydGllcyAoZS5nLiwgYSBzcG9uc29y IGluc3RpdHV0ZSwgcHVibGlzaGluZyBlbnRpdHksIGpvdXJuYWwpIGZvcgorICAgIGF0dHJpYnV0 aW9uICgiQXR0cmlidXRpb24gUGFydGllcyIpIGluIExpY2Vuc29yJ3MgY29weXJpZ2h0IG5vdGlj ZSwKKyAgICB0ZXJtcyBvZiBzZXJ2aWNlIG9yIGJ5IG90aGVyIHJlYXNvbmFibGUgbWVhbnMsIHRo ZSBuYW1lIG9mIHN1Y2ggcGFydHkKKyAgICBvciBwYXJ0aWVzOyAoaWkpIHRoZSB0aXRsZSBvZiB0 aGUgV29yayBpZiBzdXBwbGllZDsgKGlpaSkgdG8gdGhlCisgICAgZXh0ZW50IHJlYXNvbmFibHkg cHJhY3RpY2FibGUsIHRoZSBVUkksIGlmIGFueSwgdGhhdCBMaWNlbnNvcgorICAgIHNwZWNpZmll cyB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIFdvcmssIHVubGVzcyBzdWNoIFVSSSBkb2VzIG5v dAorICAgIHJlZmVyIHRvIHRoZSBjb3B5cmlnaHQgbm90aWNlIG9yIGxpY2Vuc2luZyBpbmZvcm1h dGlvbiBmb3IgdGhlIFdvcms7CisgICAgYW5kIChpdikgLCBjb25zaXN0ZW50IHdpdGggU2VjdGlv biAzKGIpLCBpbiB0aGUgY2FzZSBvZiBhbiBBZGFwdGF0aW9uLAorICAgIGEgY3JlZGl0IGlkZW50 aWZ5aW5nIHRoZSB1c2Ugb2YgdGhlIFdvcmsgaW4gdGhlIEFkYXB0YXRpb24gKGUuZy4sCisgICAg IkZyZW5jaCB0cmFuc2xhdGlvbiBvZiB0aGUgV29yayBieSBPcmlnaW5hbCBBdXRob3IsIiBvciAi U2NyZWVucGxheQorICAgIGJhc2VkIG9uIG9yaWdpbmFsIFdvcmsgYnkgT3JpZ2luYWwgQXV0aG9y IikuIFRoZSBjcmVkaXQgcmVxdWlyZWQgYnkKKyAgICB0aGlzIFNlY3Rpb24gNCAoYikgbWF5IGJl IGltcGxlbWVudGVkIGluIGFueSByZWFzb25hYmxlIG1hbm5lcjsKKyAgICBwcm92aWRlZCwgaG93 ZXZlciwgdGhhdCBpbiB0aGUgY2FzZSBvZiBhIEFkYXB0YXRpb24gb3IgQ29sbGVjdGlvbiwgYXQK KyAgICBhIG1pbmltdW0gc3VjaCBjcmVkaXQgd2lsbCBhcHBlYXIsIGlmIGEgY3JlZGl0IGZvciBh bGwgY29udHJpYnV0aW5nCisgICAgYXV0aG9ycyBvZiB0aGUgQWRhcHRhdGlvbiBvciBDb2xsZWN0 aW9uIGFwcGVhcnMsIHRoZW4gYXMgcGFydCBvZiB0aGVzZQorICAgIGNyZWRpdHMgYW5kIGluIGEg bWFubmVyIGF0IGxlYXN0IGFzIHByb21pbmVudCBhcyB0aGUgY3JlZGl0cyBmb3IgdGhlCisgICAg b3RoZXIgY29udHJpYnV0aW5nIGF1dGhvcnMuIEZvciB0aGUgYXZvaWRhbmNlIG9mIGRvdWJ0LCBZ b3UgbWF5IG9ubHkKKyAgICB1c2UgdGhlIGNyZWRpdCByZXF1aXJlZCBieSB0aGlzIFNlY3Rpb24g Zm9yIHRoZSBwdXJwb3NlIG9mIGF0dHJpYnV0aW9uCisgICAgaW4gdGhlIG1hbm5lciBzZXQgb3V0 IGFib3ZlIGFuZCwgYnkgZXhlcmNpc2luZyBZb3VyIHJpZ2h0cyB1bmRlciB0aGlzCisgICAgTGlj ZW5zZSwgWW91IG1heSBub3QgaW1wbGljaXRseSBvciBleHBsaWNpdGx5IGFzc2VydCBvciBpbXBs eSBhbnkKKyAgICBjb25uZWN0aW9uIHdpdGgsIHNwb25zb3JzaGlwIG9yIGVuZG9yc2VtZW50IGJ5 IHRoZSBPcmlnaW5hbCBBdXRob3IsCisgICAgTGljZW5zb3IgYW5kL29yIEF0dHJpYnV0aW9uIFBh cnRpZXMsIGFzIGFwcHJvcHJpYXRlLCBvZiBZb3Ugb3IgWW91cgorICAgIHVzZSBvZiB0aGUgV29y aywgd2l0aG91dCB0aGUgc2VwYXJhdGUsIGV4cHJlc3MgcHJpb3Igd3JpdHRlbgorICAgIHBlcm1p c3Npb24gb2YgdGhlIE9yaWdpbmFsIEF1dGhvciwgTGljZW5zb3IgYW5kL29yIEF0dHJpYnV0aW9u CisgICAgUGFydGllcy4KKyBjLiBFeGNlcHQgYXMgb3RoZXJ3aXNlIGFncmVlZCBpbiB3cml0aW5n IGJ5IHRoZSBMaWNlbnNvciBvciBhcyBtYXkgYmUKKyAgICBvdGhlcndpc2UgcGVybWl0dGVkIGJ5 IGFwcGxpY2FibGUgbGF3LCBpZiBZb3UgUmVwcm9kdWNlLCBEaXN0cmlidXRlIG9yCisgICAgUHVi bGljbHkgUGVyZm9ybSB0aGUgV29yayBlaXRoZXIgYnkgaXRzZWxmIG9yIGFzIHBhcnQgb2YgYW55 CisgICAgQWRhcHRhdGlvbnMgb3IgQ29sbGVjdGlvbnMsIFlvdSBtdXN0IG5vdCBkaXN0b3J0LCBt dXRpbGF0ZSwgbW9kaWZ5IG9yCisgICAgdGFrZSBvdGhlciBkZXJvZ2F0b3J5IGFjdGlvbiBpbiBy ZWxhdGlvbiB0byB0aGUgV29yayB3aGljaCB3b3VsZCBiZQorICAgIHByZWp1ZGljaWFsIHRvIHRo ZSBPcmlnaW5hbCBBdXRob3IncyBob25vciBvciByZXB1dGF0aW9uLiBMaWNlbnNvcgorICAgIGFn cmVlcyB0aGF0IGluIHRob3NlIGp1cmlzZGljdGlvbnMgKGUuZy4gSmFwYW4pLCBpbiB3aGljaCBh bnkgZXhlcmNpc2UKKyAgICBvZiB0aGUgcmlnaHQgZ3JhbnRlZCBpbiBTZWN0aW9uIDMoYikgb2Yg dGhpcyBMaWNlbnNlICh0aGUgcmlnaHQgdG8KKyAgICBtYWtlIEFkYXB0YXRpb25zKSB3b3VsZCBi ZSBkZWVtZWQgdG8gYmUgYSBkaXN0b3J0aW9uLCBtdXRpbGF0aW9uLAorICAgIG1vZGlmaWNhdGlv biBvciBvdGhlciBkZXJvZ2F0b3J5IGFjdGlvbiBwcmVqdWRpY2lhbCB0byB0aGUgT3JpZ2luYWwK KyAgICBBdXRob3IncyBob25vciBhbmQgcmVwdXRhdGlvbiwgdGhlIExpY2Vuc29yIHdpbGwgd2Fp dmUgb3Igbm90IGFzc2VydCwKKyAgICBhcyBhcHByb3ByaWF0ZSwgdGhpcyBTZWN0aW9uLCB0byB0 aGUgZnVsbGVzdCBleHRlbnQgcGVybWl0dGVkIGJ5IHRoZQorICAgIGFwcGxpY2FibGUgbmF0aW9u YWwgbGF3LCB0byBlbmFibGUgWW91IHRvIHJlYXNvbmFibHkgZXhlcmNpc2UgWW91cgorICAgIHJp Z2h0IHVuZGVyIFNlY3Rpb24gMyhiKSBvZiB0aGlzIExpY2Vuc2UgKHJpZ2h0IHRvIG1ha2UgQWRh cHRhdGlvbnMpCisgICAgYnV0IG5vdCBvdGhlcndpc2UuCisKKzUuIFJlcHJlc2VudGF0aW9ucywg V2FycmFudGllcyBhbmQgRGlzY2xhaW1lcgorCitVTkxFU1MgT1RIRVJXSVNFIE1VVFVBTExZIEFH UkVFRCBUTyBCWSBUSEUgUEFSVElFUyBJTiBXUklUSU5HLCBMSUNFTlNPUgorT0ZGRVJTIFRIRSBX T1JLIEFTLUlTIEFORCBNQUtFUyBOTyBSRVBSRVNFTlRBVElPTlMgT1IgV0FSUkFOVElFUyBPRiBB TlkKK0tJTkQgQ09OQ0VSTklORyBUSEUgV09SSywgRVhQUkVTUywgSU1QTElFRCwgU1RBVFVUT1JZ IE9SIE9USEVSV0lTRSwKK0lOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBXQVJSQU5USUVT IE9GIFRJVExFLCBNRVJDSEFOVElCSUxJVFksCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSwgTk9OSU5GUklOR0VNRU5ULCBPUiBUSEUgQUJTRU5DRSBPRgorTEFURU5UIE9SIE9USEVS IERFRkVDVFMsIEFDQ1VSQUNZLCBPUiBUSEUgUFJFU0VOQ0UgT0YgQUJTRU5DRSBPRiBFUlJPUlMs CitXSEVUSEVSIE9SIE5PVCBESVNDT1ZFUkFCTEUuIFNPTUUgSlVSSVNESUNUSU9OUyBETyBOT1Qg QUxMT1cgVEhFIEVYQ0xVU0lPTgorT0YgSU1QTElFRCBXQVJSQU5USUVTLCBTTyBTVUNIIEVYQ0xV U0lPTiBNQVkgTk9UIEFQUExZIFRPIFlPVS4KKworNi4gTGltaXRhdGlvbiBvbiBMaWFiaWxpdHku IEVYQ0VQVCBUTyBUSEUgRVhURU5UIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUKK0xBVywgSU4gTk8g RVZFTlQgV0lMTCBMSUNFTlNPUiBCRSBMSUFCTEUgVE8gWU9VIE9OIEFOWSBMRUdBTCBUSEVPUlkg Rk9SCitBTlkgU1BFQ0lBTCwgSU5DSURFTlRBTCwgQ09OU0VRVUVOVElBTCwgUFVOSVRJVkUgT1Ig RVhFTVBMQVJZIERBTUFHRVMKK0FSSVNJTkcgT1VUIE9GIFRISVMgTElDRU5TRSBPUiBUSEUgVVNF IE9GIFRIRSBXT1JLLCBFVkVOIElGIExJQ0VOU09SIEhBUworQkVFTiBBRFZJU0VEIE9GIFRIRSBQ T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisKKzcuIFRlcm1pbmF0aW9uCisKKyBhLiBUaGlz IExpY2Vuc2UgYW5kIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJldW5kZXIgd2lsbCB0ZXJtaW5hdGUK KyAgICBhdXRvbWF0aWNhbGx5IHVwb24gYW55IGJyZWFjaCBieSBZb3Ugb2YgdGhlIHRlcm1zIG9m IHRoaXMgTGljZW5zZS4KKyAgICBJbmRpdmlkdWFscyBvciBlbnRpdGllcyB3aG8gaGF2ZSByZWNl aXZlZCBBZGFwdGF0aW9ucyBvciBDb2xsZWN0aW9ucworICAgIGZyb20gWW91IHVuZGVyIHRoaXMg TGljZW5zZSwgaG93ZXZlciwgd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcworICAgIHRlcm1p bmF0ZWQgcHJvdmlkZWQgc3VjaCBpbmRpdmlkdWFscyBvciBlbnRpdGllcyByZW1haW4gaW4gZnVs bAorICAgIGNvbXBsaWFuY2Ugd2l0aCB0aG9zZSBsaWNlbnNlcy4gU2VjdGlvbnMgMSwgMiwgNSwg NiwgNywgYW5kIDggd2lsbAorICAgIHN1cnZpdmUgYW55IHRlcm1pbmF0aW9uIG9mIHRoaXMgTGlj ZW5zZS4KKyBiLiBTdWJqZWN0IHRvIHRoZSBhYm92ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucywgdGhl IGxpY2Vuc2UgZ3JhbnRlZCBoZXJlIGlzCisgICAgcGVycGV0dWFsIChmb3IgdGhlIGR1cmF0aW9u IG9mIHRoZSBhcHBsaWNhYmxlIGNvcHlyaWdodCBpbiB0aGUgV29yaykuCisgICAgTm90d2l0aHN0 YW5kaW5nIHRoZSBhYm92ZSwgTGljZW5zb3IgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIHJlbGVhc2Ug dGhlCisgICAgV29yayB1bmRlciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBvciB0byBzdG9wIGRp c3RyaWJ1dGluZyB0aGUgV29yayBhdAorICAgIGFueSB0aW1lOyBwcm92aWRlZCwgaG93ZXZlciB0 aGF0IGFueSBzdWNoIGVsZWN0aW9uIHdpbGwgbm90IHNlcnZlIHRvCisgICAgd2l0aGRyYXcgdGhp cyBMaWNlbnNlIChvciBhbnkgb3RoZXIgbGljZW5zZSB0aGF0IGhhcyBiZWVuLCBvciBpcworICAg IHJlcXVpcmVkIHRvIGJlLCBncmFudGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2Up LCBhbmQgdGhpcworICAgIExpY2Vuc2Ugd2lsbCBjb250aW51ZSBpbiBmdWxsIGZvcmNlIGFuZCBl ZmZlY3QgdW5sZXNzIHRlcm1pbmF0ZWQgYXMKKyAgICBzdGF0ZWQgYWJvdmUuCisKKzguIE1pc2Nl bGxhbmVvdXMKKworIGEuIEVhY2ggdGltZSBZb3UgRGlzdHJpYnV0ZSBvciBQdWJsaWNseSBQZXJm b3JtIHRoZSBXb3JrIG9yIGEgQ29sbGVjdGlvbiwKKyAgICB0aGUgTGljZW5zb3Igb2ZmZXJzIHRv IHRoZSByZWNpcGllbnQgYSBsaWNlbnNlIHRvIHRoZSBXb3JrIG9uIHRoZSBzYW1lCisgICAgdGVy bXMgYW5kIGNvbmRpdGlvbnMgYXMgdGhlIGxpY2Vuc2UgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhp cyBMaWNlbnNlLgorIGIuIEVhY2ggdGltZSBZb3UgRGlzdHJpYnV0ZSBvciBQdWJsaWNseSBQZXJm b3JtIGFuIEFkYXB0YXRpb24sIExpY2Vuc29yCisgICAgb2ZmZXJzIHRvIHRoZSByZWNpcGllbnQg YSBsaWNlbnNlIHRvIHRoZSBvcmlnaW5hbCBXb3JrIG9uIHRoZSBzYW1lCisgICAgdGVybXMgYW5k IGNvbmRpdGlvbnMgYXMgdGhlIGxpY2Vuc2UgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNl bnNlLgorIGMuIElmIGFueSBwcm92aXNpb24gb2YgdGhpcyBMaWNlbnNlIGlzIGludmFsaWQgb3Ig dW5lbmZvcmNlYWJsZSB1bmRlcgorICAgIGFwcGxpY2FibGUgbGF3LCBpdCBzaGFsbCBub3QgYWZm ZWN0IHRoZSB2YWxpZGl0eSBvciBlbmZvcmNlYWJpbGl0eSBvZgorICAgIHRoZSByZW1haW5kZXIg b2YgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwgYW5kIHdpdGhvdXQgZnVydGhlciBhY3Rpb24K KyAgICBieSB0aGUgcGFydGllcyB0byB0aGlzIGFncmVlbWVudCwgc3VjaCBwcm92aXNpb24gc2hh bGwgYmUgcmVmb3JtZWQgdG8KKyAgICB0aGUgbWluaW11bSBleHRlbnQgbmVjZXNzYXJ5IHRvIG1h a2Ugc3VjaCBwcm92aXNpb24gdmFsaWQgYW5kCisgICAgZW5mb3JjZWFibGUuCisgZC4gTm8gdGVy bSBvciBwcm92aXNpb24gb2YgdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGRlZW1lZCB3YWl2ZWQgYW5k IG5vCisgICAgYnJlYWNoIGNvbnNlbnRlZCB0byB1bmxlc3Mgc3VjaCB3YWl2ZXIgb3IgY29uc2Vu dCBzaGFsbCBiZSBpbiB3cml0aW5nCisgICAgYW5kIHNpZ25lZCBieSB0aGUgcGFydHkgdG8gYmUg Y2hhcmdlZCB3aXRoIHN1Y2ggd2FpdmVyIG9yIGNvbnNlbnQuCisgZS4gVGhpcyBMaWNlbnNlIGNv bnN0aXR1dGVzIHRoZSBlbnRpcmUgYWdyZWVtZW50IGJldHdlZW4gdGhlIHBhcnRpZXMgd2l0aAor ICAgIHJlc3BlY3QgdG8gdGhlIFdvcmsgbGljZW5zZWQgaGVyZS4gVGhlcmUgYXJlIG5vIHVuZGVy c3RhbmRpbmdzLAorICAgIGFncmVlbWVudHMgb3IgcmVwcmVzZW50YXRpb25zIHdpdGggcmVzcGVj dCB0byB0aGUgV29yayBub3Qgc3BlY2lmaWVkCisgICAgaGVyZS4gTGljZW5zb3Igc2hhbGwgbm90 IGJlIGJvdW5kIGJ5IGFueSBhZGRpdGlvbmFsIHByb3Zpc2lvbnMgdGhhdAorICAgIG1heSBhcHBl YXIgaW4gYW55IGNvbW11bmljYXRpb24gZnJvbSBZb3UuIFRoaXMgTGljZW5zZSBtYXkgbm90IGJl CisgICAgbW9kaWZpZWQgd2l0aG91dCB0aGUgbXV0dWFsIHdyaXR0ZW4gYWdyZWVtZW50IG9mIHRo ZSBMaWNlbnNvciBhbmQgWW91LgorIGYuIFRoZSByaWdodHMgZ3JhbnRlZCB1bmRlciwgYW5kIHRo ZSBzdWJqZWN0IG1hdHRlciByZWZlcmVuY2VkLCBpbiB0aGlzCisgICAgTGljZW5zZSB3ZXJlIGRy YWZ0ZWQgdXRpbGl6aW5nIHRoZSB0ZXJtaW5vbG9neSBvZiB0aGUgQmVybmUgQ29udmVudGlvbgor ICAgIGZvciB0aGUgUHJvdGVjdGlvbiBvZiBMaXRlcmFyeSBhbmQgQXJ0aXN0aWMgV29ya3MgKGFz IGFtZW5kZWQgb24KKyAgICBTZXB0ZW1iZXIgMjgsIDE5NzkpLCB0aGUgUm9tZSBDb252ZW50aW9u IG9mIDE5NjEsIHRoZSBXSVBPIENvcHlyaWdodAorICAgIFRyZWF0eSBvZiAxOTk2LCB0aGUgV0lQ TyBQZXJmb3JtYW5jZXMgYW5kIFBob25vZ3JhbXMgVHJlYXR5IG9mIDE5OTYKKyAgICBhbmQgdGhl IFVuaXZlcnNhbCBDb3B5cmlnaHQgQ29udmVudGlvbiAoYXMgcmV2aXNlZCBvbiBKdWx5IDI0LCAx OTcxKS4KKyAgICBUaGVzZSByaWdodHMgYW5kIHN1YmplY3QgbWF0dGVyIHRha2UgZWZmZWN0IGlu IHRoZSByZWxldmFudAorICAgIGp1cmlzZGljdGlvbiBpbiB3aGljaCB0aGUgTGljZW5zZSB0ZXJt cyBhcmUgc291Z2h0IHRvIGJlIGVuZm9yY2VkCisgICAgYWNjb3JkaW5nIHRvIHRoZSBjb3JyZXNw b25kaW5nIHByb3Zpc2lvbnMgb2YgdGhlIGltcGxlbWVudGF0aW9uIG9mCisgICAgdGhvc2UgdHJl YXR5IHByb3Zpc2lvbnMgaW4gdGhlIGFwcGxpY2FibGUgbmF0aW9uYWwgbGF3LiBJZiB0aGUKKyAg ICBzdGFuZGFyZCBzdWl0ZSBvZiByaWdodHMgZ3JhbnRlZCB1bmRlciBhcHBsaWNhYmxlIGNvcHly aWdodCBsYXcKKyAgICBpbmNsdWRlcyBhZGRpdGlvbmFsIHJpZ2h0cyBub3QgZ3JhbnRlZCB1bmRl ciB0aGlzIExpY2Vuc2UsIHN1Y2gKKyAgICBhZGRpdGlvbmFsIHJpZ2h0cyBhcmUgZGVlbWVkIHRv IGJlIGluY2x1ZGVkIGluIHRoZSBMaWNlbnNlOyB0aGlzCisgICAgTGljZW5zZSBpcyBub3QgaW50 ZW5kZWQgdG8gcmVzdHJpY3QgdGhlIGxpY2Vuc2Ugb2YgYW55IHJpZ2h0cyB1bmRlcgorICAgIGFw cGxpY2FibGUgbGF3LgorCisKK0NyZWF0aXZlIENvbW1vbnMgTm90aWNlCisKKyAgICBDcmVhdGl2 ZSBDb21tb25zIGlzIG5vdCBhIHBhcnR5IHRvIHRoaXMgTGljZW5zZSwgYW5kIG1ha2VzIG5vIHdh cnJhbnR5CisgICAgd2hhdHNvZXZlciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIFdvcmsuIENyZWF0 aXZlIENvbW1vbnMgd2lsbCBub3QgYmUKKyAgICBsaWFibGUgdG8gWW91IG9yIGFueSBwYXJ0eSBv biBhbnkgbGVnYWwgdGhlb3J5IGZvciBhbnkgZGFtYWdlcworICAgIHdoYXRzb2V2ZXIsIGluY2x1 ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGdlbmVyYWwsIHNwZWNpYWwsCisgICAgaW5jaWRl bnRhbCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgYXJpc2luZyBpbiBjb25uZWN0aW9uIHRvIHRo aXMKKyAgICBsaWNlbnNlLiBOb3R3aXRoc3RhbmRpbmcgdGhlIGZvcmVnb2luZyB0d28gKDIpIHNl bnRlbmNlcywgaWYgQ3JlYXRpdmUKKyAgICBDb21tb25zIGhhcyBleHByZXNzbHkgaWRlbnRpZmll ZCBpdHNlbGYgYXMgdGhlIExpY2Vuc29yIGhlcmV1bmRlciwgaXQKKyAgICBzaGFsbCBoYXZlIGFs bCByaWdodHMgYW5kIG9ibGlnYXRpb25zIG9mIExpY2Vuc29yLgorCisgICAgRXhjZXB0IGZvciB0 aGUgbGltaXRlZCBwdXJwb3NlIG9mIGluZGljYXRpbmcgdG8gdGhlIHB1YmxpYyB0aGF0IHRoZQor ICAgIFdvcmsgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDUEwsIENyZWF0aXZlIENvbW1vbnMgZG9l cyBub3QgYXV0aG9yaXplCisgICAgdGhlIHVzZSBieSBlaXRoZXIgcGFydHkgb2YgdGhlIHRyYWRl bWFyayAiQ3JlYXRpdmUgQ29tbW9ucyIgb3IgYW55CisgICAgcmVsYXRlZCB0cmFkZW1hcmsgb3Ig bG9nbyBvZiBDcmVhdGl2ZSBDb21tb25zIHdpdGhvdXQgdGhlIHByaW9yCisgICAgd3JpdHRlbiBj b25zZW50IG9mIENyZWF0aXZlIENvbW1vbnMuIEFueSBwZXJtaXR0ZWQgdXNlIHdpbGwgYmUgaW4K KyAgICBjb21wbGlhbmNlIHdpdGggQ3JlYXRpdmUgQ29tbW9ucycgdGhlbi1jdXJyZW50IHRyYWRl bWFyayB1c2FnZQorICAgIGd1aWRlbGluZXMsIGFzIG1heSBiZSBwdWJsaXNoZWQgb24gaXRzIHdl YnNpdGUgb3Igb3RoZXJ3aXNlIG1hZGUKKyAgICBhdmFpbGFibGUgdXBvbiByZXF1ZXN0IGZyb20g dGltZSB0byB0aW1lLiBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwKKyAgICB0aGlzIHRyYWRl bWFyayByZXN0cmljdGlvbiBkb2VzIG5vdCBmb3JtIHBhcnQgb2YgdGhpcyBMaWNlbnNlLgorCisg ICAgQ3JlYXRpdmUgQ29tbW9ucyBtYXkgYmUgY29udGFjdGVkIGF0IGh0dHBzOi8vY3JlYXRpdmVj b21tb25zLm9yZy8uCgpkaWZmIC0tZ2l0IGEvTWFlbHN0cm9tLmRlc2t0b3AgYi9NYWVsc3Ryb20u ZGVza3RvcAppbmRleCAyZjU2MTljLi42YzFiYmVkIDEwMDY0NAotLS0gYS9NYWVsc3Ryb20uZGVz a3RvcAorKysgYi9NYWVsc3Ryb20uZGVza3RvcApAQCAtMiw3ICsyLDcgQEAKIE5hbWU9TWFlbHN0 cm9tCiBDb21tZW50PVNwYWNlIGNvbWJhdCBnYW1lCiBFeGVjPU1hZWxzdHJvbQotSWNvbj1tYWVs c3Ryb20ucG5nCitJY29uPU1hZWxzdHJvbQogVGVybWluYWw9ZmFsc2UKIFR5cGU9QXBwbGljYXRp b24KIENhdGVnb3JpZXM9R2FtZTtBcmNhZGVHYW1lOwoKZGlmZiAtLWdpdCBhL01hZWxzdHJvbS5z cGVjIGIvTWFlbHN0cm9tLnNwZWMKaW5kZXggZTYwMjQzOC4uOWY5NjZmNCAxMDA2NDQKLS0tIGEv TWFlbHN0cm9tLnNwZWMKKysrIGIvTWFlbHN0cm9tLnNwZWMKQEAgLTEsMzAgKzEsNDAgQEAKIE5h bWU6ICAgICAgICAgICBNYWVsc3Ryb20KLVZlcnNpb246ICAgICAgICAzLjAuNworVmVyc2lvbjog ICAgICAgIDQuMC4yCiBSZWxlYXNlOiAgICAgICAgJWF1dG9yZWxlYXNlCiBTdW1tYXJ5OiAgICAg ICAgQSBzcGFjZSBjb21iYXQgZ2FtZQotCi0jIFNlZSBNYWVsc3Ryb20tQ29udGVudC1MaWNlbnNl LnR4dCBmb3IgZGV0YWlscyBvbiB0aGUgdXBkYXRlZCBjb250ZW50IGxpY2Vuc2luZwotTGljZW5z ZTogICAgICAgIEdQTC0yLjAtb3ItbGF0ZXIgQU5EIENDLUJZLTMuMAogVVJMOiAgICAgICAgICAg IGh0dHA6Ly93d3cubGlic2RsLm9yZy9wcm9qZWN0cy9NYWVsc3Ryb20vCi1Tb3VyY2UwOiAgICAg ICAgaHR0cDovL3d3dy5saWJzZGwub3JnL3Byb2plY3RzL01hZWxzdHJvbS9zcmMvTWFlbHN0cm9t LSV7dmVyc2lvbn0udGFyLmd6Ci1Tb3VyY2UxOiAgICAgICAgbWFlbHN0cm9tLnBuZwotU291cmNl MjogICAgICAgIE1hZWxzdHJvbS5kZXNrdG9wCi1Tb3VyY2UzOiAgICAgICAgTWFlbHN0cm9tLUNv bnRlbnQtTGljZW5zZS50eHQKLVNvdXJjZTQ6ICAgICAgICBNYWVsc3Ryb20uYXBwZGF0YS54bWwK LVBhdGNoOiAgICAgICAgICBzZXRnaWQucGF0Y2gKLVBhdGNoOiAgICAgICAgICBnY2MzNC5wYXRj aAotUGF0Y2g6ICAgICAgICAgIDY0Yml0LnBhdGNoCi1QYXRjaDogICAgICAgICAgaW5zdGFsbC5w YXRjaAotUGF0Y2g6ICAgICAgICAgIGdjYzUucGF0Y2gKLVBhdGNoOiAgICAgICAgICBuZXRkLWM5 OS5wYXRjaAotUGF0Y2g6ICAgICAgICAgIE1ha2VmaWxlLnBhdGNoCisKKyMgTWFlbHN0cm9tIGl0 c2VsZiBpcyBabGliLgorIyByYXBpZHhtbCBpcyBCU0wgb3IgTUlULiBFdmVuIHRob3VnaCB3ZSB1 bmJ1bmRsZSBpdCwgaXQncyBzdGlsbCBhIHNpbmdsZS1oZWFkZXIgc3RhdGljIGxpYnJhcnkuCitM aWNlbnNlOiAgICAgICAgWmxpYiBBTkQgKEJTTC0xLjAgT1IgTUlUKQorCitTb3VyY2UwOiAgICAg ICAgaHR0cHM6Ly9naXRodWIuY29tL2xpYnNkbC1vcmcvTWFlbHN0cm9tL2FyY2hpdmUvcmVsZWFz ZS0le3ZlcnNpb259L01hZWxzdHJvbS1yZWxlYXNlLSV7dmVyc2lvbn0udGFyLmd6CisKKyMgRXZl biB3aGVuIGJ1aWxkaW5nIGFnYWluc3Qgc3lzdGVtIFBoeXNGUywgdGhlIHZlbmRvcmVkIFBoeXNG UyBwYWNrYWdlCisjIGlzIHJlcXVpcmVkLCBhcyBpdCBjb250YWlucyBzb21lIGV4dHJhIFBoeXNG UzwtPlNETDMgZ2x1ZSBjb2RlLgorJWdsb2JhbCBwaHlzZnNfY29tbWl0IDQ5Y2ZkNWZkZDQ2ZjM4 YjRjMjYxMTU1NmI0NGVlOWIwZDMwOGUxNjIKK1NvdXJjZTE6ICAgICAgICBodHRwczovL2dpdGh1 Yi5jb20vaWNjdWx1cy9waHlzZnMvYXJjaGl2ZS8le3BoeXNmc19jb21taXR9L3BoeXNmcy0le3Bo eXNmc19jb21taXR9LnRhci5negorCitTb3VyY2UxMDogICAgICAgIE1hZWxzdHJvbS5kZXNrdG9w CitTb3VyY2UxMTogICAgICAgIE1hZWxzdHJvbS5hcHBkYXRhLnhtbAorCitTb3VyY2UyMDogICAg ICAgIE1hZWxzdHJvbS1Db250ZW50LUxpY2Vuc2UudHh0CitTb3VyY2UyMTogICAgICAgIENDLUJZ LTMuMC50eHQKIAogIyBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvQ2hhbmdlcy9FbmNv dXJhZ2VJNjg2TGVhZlJlbW92YWwKIEV4Y2x1ZGVBcmNoOiAgICAle2l4ODZ9CiAKLUJ1aWxkUmVx dWlyZXM6ICAgICAgbWFrZQorQnVpbGRSZXF1aXJlczogICAgICBjbWFrZQorQnVpbGRSZXF1aXJl czogICAgICBkZXNrdG9wLWZpbGUtdXRpbHMKIEJ1aWxkUmVxdWlyZXM6ICAgICAgZ2NjLWMrKwot QnVpbGRSZXF1aXJlczogICAgICBTREwyX25ldC1kZXZlbCwgZGVza3RvcC1maWxlLXV0aWxzLCBs aWJ0b29sCitCdWlsZFJlcXVpcmVzOiAgICAgIGxpYmFwcHN0cmVhbS1nbGliCisKK0J1aWxkUmVx dWlyZXM6ICAgICAgY21ha2UoU0RMMykKK0J1aWxkUmVxdWlyZXM6ICAgICAgY21ha2UoU0RMM19u ZXQpCitCdWlsZFJlcXVpcmVzOiAgICAgIGNtYWtlKFBoeXNGUykKK0J1aWxkUmVxdWlyZXM6ICAg ICAgcmFwaWR4bWwtZGV2ZWwKKworUmVxdWlyZXM6ICAgICAgICAgICAle25hbWV9LWRhdGEgPSAl e3ZlcnNpb259LSV7cmVsZWFzZX0KIAogJWRlc2NyaXB0aW9uCiBNYWVsc3Ryb20gaXMgYSBzcGFj ZSBjb21iYXQgZ2FtZSwgb3JpZ2luYWxseSBwb3J0ZWQgZnJvbSB0aGUgTWFjaW50b3NoIApAQCAt MzIsNDQgKzQyLDg4IEBAIHBsYXRmb3JtLiBCcmF2ZSBwaWxvdHMgZ2V0IHRvIGRvZGdlIGFzdGVy b2lkcyBhbmQgZmlnaHQgb2ZmIG90aGVyIHNoaXBzCiBhdCB0aGUgc2FtZSB0aW1lLgogCiAKKyVw YWNrYWdlIGRhdGEKK1N1bW1hcnk6IERhdGEgZmlsZXMgZm9yIE1hZWxzdHJvbQorTGljZW5zZTog Q0MtQlktMy4wCitCdWlsZEFyY2g6IG5vYXJjaAorCitSZXF1aXJlczogaGljb2xvci1pY29uLXRo ZW1lCisKKyVkZXNjcmlwdGlvbiBkYXRhCitUaGlzIHBhY2thZ2UgY29udGFpbnMgZmlsZXMgKGdy YXBoaWNzLCBzb3VuZHMsIGV0IGNldGVyYSkKK3JlcXVpcmVkIHRvIHBsYXkgTWFlbHN0cm9tLgor CisKICVwcmVwCi0lYXV0b3NldHVwIC1wMQotY3AgJXtTT1VSQ0UzfSAuCislYXV0b3NldHVwIC1w MSAtbiAle25hbWV9LXJlbGVhc2UtJXt2ZXJzaW9ufQorY3AgLXQgLi8gLWEgJXtTT1VSQ0UyMH0g JXtTT1VSQ0UyMX0KKworIyBFeHRyYWN0IFBoeXNGUzwtPlNETDMgZ2x1ZSBjb2RlIGZyb20gdGhl IHBoeXNmcyBhcmNoaXZlCitta2RpciAtcCBleHRlcm5hbC9waHlzZnMvZXh0cmFzCitwdXNoZCBl eHRlcm5hbC9waHlzZnMvZXh0cmFzCit0YXIgLS1leHRyYWN0IC0tZ3VuemlwIC0tZmlsZT0le1NP VVJDRTF9IC0tc3RyaXAtY29tcG9uZW50cz0yIC0tIHBoeXNmcy0le3BoeXNmc19jb21taXR9L2V4 dHJhcy9waHlzZnNzZGwzLntjLGh9Citwb3BkCisKKyMgVW5idW5kbGUgcmFwaWR4bWwKK3JtIHV0 aWxzL3JhcGlkeG1sLntoLGhwcH0KK2xuIC1zICV7X2luY2x1ZGVkaXJ9L3JhcGlkeG1sLmggdXRp bHMvCitzZWQgJy91dGlsc1wvcmFwaWR4bWxcLmhwcC9kJyAtaSBDTWFrZUxpc3RzLnR4dAogCiAK ICVidWlsZAotZXhwb3J0IENYWEZMQUdTPSIkUlBNX09QVF9GTEFHUyAtV25vLXdyaXRlLXN0cmlu Z3MiCi0lY29uZmlndXJlCi1tYWtlICV7P19zbXBfbWZsYWdzfQorJWNtYWtlIFwKKwktRFVTRV9W RU5ET1JFRF9QSFlTRlM9RkFMU0UgXAorCS1EVVNFX1ZFTkRPUkVEX1NETD1GQUxTRSBcCisJLURV U0VfVkVORE9SRURfU0RMX05FVD1GQUxTRSBcCisJLURTVEVBTT1PRkYgXAorCS1EU1RBTkRBTE9O RV9JTlNUQUxMPU9GRgorJWNtYWtlX2J1aWxkCiAKIAogJWluc3RhbGwKLSVtYWtlX2luc3RhbGwK KyVjbWFrZV9pbnN0YWxsCiAKLW1rZGlyIC1wICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L2FwcGxp Y2F0aW9ucwotZGVza3RvcC1maWxlLWluc3RhbGwgLS1kaXIgJXtidWlsZHJvb3R9JXtfZGF0YWRp cn0vYXBwbGljYXRpb25zICV7U09VUkNFMn0KKyMgUmV1c2UgaWNvbnMgZnJvbSBnYW1lIGRhdGEK K2ZvciBTSVpFIGluIDE2IDIwIDI0IDMyIDM2IDQwIDQ4IDY0IDcyIDk2IDEyOCAxOTIgMjU2IDUx MiAxMDI0OyBkbworCUlDT05ESVI9IiV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L2ljb25zL2hpY29s b3IvJHtTSVpFfXgke1NJWkV9L2FwcHMvIgorCWluc3RhbGwgLW0gNzU1IC1kICIke0lDT05ESVJ9 IgorCWxuICIle2J1aWxkcm9vdH0vJXtfZGF0YWRpcn0vJXtuYW1lfS9EYXRhL0ljb25zL2ljb24t JHtTSVpFfS5wbmciICIke0lDT05ESVJ9LyV7bmFtZX0ucG5nIgorZG9uZQogCi0jIHJlbW92ZSB1 bnBhY2thZ2VkIGZpbGVzIGZyb20gdGhlIGJ1aWxkcm9vdAotcm0gLWYgJXtidWlsZHJvb3R9JXtf YmluZGlyfS97TWFlbHN0cm9tLW5ldGQsbWFjcmVzLHBsYXl3YXZlLHNuZDJ3YXZ9CisjIEluc3Rh bGwgYSBkZXNrdG9wIGZpbGUgYW5kIG1ldGFpbmZvIGZpbGUKK2luc3RhbGwgLW0gNzU1IC1kICV7 YnVpbGRyb290fSV7X2RhdGFkaXJ9L2FwcGxpY2F0aW9ucworaW5zdGFsbCAtbSA2NDQgJXtTT1VS Q0UxMH0gJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vYXBwbGljYXRpb25zLyV7bmFtZX0uZGVza3Rv cAogCi1ta2RpciAtcCAtbSA3NTUgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vaWNvbnMvaGljb2xv ci80OHg0OC9hcHBzCi1pbnN0YWxsIC1tIDY0NCAle1NPVVJDRTF9ICV7YnVpbGRyb290fSV7X2Rh dGFkaXJ9L2ljb25zL2hpY29sb3IvNDh4NDgvYXBwcworaW5zdGFsbCAtbSA3NTUgLWQgJXtidWls ZHJvb3R9JXtfbWV0YWluZm9kaXJ9CitpbnN0YWxsIC1tIDY0NCAle1NPVVJDRTExfSAle2J1aWxk cm9vdH0le19tZXRhaW5mb2Rpcn0vJXtuYW1lfS5tZXRhaW5mby54bWwKIAotbWtkaXIgLXAgLW0g NzU1ICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L2FwcGRhdGEKLWluc3RhbGwgLW0gNjQ0ICV7U09V UkNFNH0gJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vYXBwZGF0YQorIyBSZW1vdmUgcHJlLWluc3Rh bGxlZCBkb2N1bWVudGF0aW9uIGZpbGVzIGFuZCBpbnN0YWxsIHRoZW0gb24gb3VyIG93bi4KKyMg VGhpcyBpcyBkb25lIHNvIHRoZSBkb2NzIGFyZSBpbiBNYWVsc3Ryb20vIGRpciBkZXNwaXRlIGJl aW5nIGluIE1hZWxzdHJvbS1kYXRhIHBhY2thZ2UuCitybSAle2J1aWxkcm9vdH0le19wa2dkb2Nk aXJ9L0NPUFlJTkcKK2luc3RhbGwgLW0gNzU1IC1kICV7YnVpbGRyb290fSV7X3BrZ2RvY2Rpcn0K K2NwIC10ICV7YnVpbGRyb290fSV7X3BrZ2RvY2Rpcn0gLWEgQ1JFRElUUyBSRUFETUUubWQgRG9j cwogCi1maW5kICV7YnVpbGRyb290fSAtbmFtZSAiTWFrZWZpbGUqIiAtZXhlYyBybSAtZiB7fSBc OworIyBSZW1vdmUgU3RlYW0tc3BlY2lmaWMgZmlsZXMKK3JtIC1yZiAle2J1aWxkcm9vdH0le19k YXRhZGlyfS8le25hbWV9L0RhdGEvU3RlYW0KKworCislY2hlY2sKK2Rlc2t0b3AtZmlsZS12YWxp ZGF0ZSAle2J1aWxkcm9vdH0le19kYXRhZGlyfS9hcHBsaWNhdGlvbnMvJXtuYW1lfS5kZXNrdG9w CithcHBzdHJlYW0tdXRpbCB2YWxpZGF0ZS1yZWxheCAtLW5vbmV0ICV7YnVpbGRyb290fSV7X21l dGFpbmZvZGlyfS8le25hbWV9Lm1ldGFpbmZvLnhtbAogCiAKICVmaWxlcwotJWRvYyBDUkVESVRT LnR4dCBSRUFETUUqIENoYW5nZWxvZyBEb2NzCi0lbGljZW5zZSBNYWVsc3Ryb20tQ29udGVudC1M aWNlbnNlLnR4dCBDT1BZSU5HKgotJWF0dHIoMjc1NSxyb290LGdhbWVzKSAle19iaW5kaXJ9L01h ZWxzdHJvbQotJXtfZGF0YWRpcn0vTWFlbHN0cm9tCi0le19kYXRhZGlyfS9hcHBsaWNhdGlvbnMv KgotJXtfZGF0YWRpcn0vaWNvbnMvaGljb2xvci80OHg0OC9hcHBzLyoKLSV7X2RhdGFkaXJ9L2Fw cGRhdGEvTWFlbHN0cm9tLmFwcGRhdGEueG1sCi0lZ2hvc3QgJWNvbmZpZyhub3JlcGxhY2UpICVh dHRyKDA2NjQscm9vdCxnYW1lcykgJXtfbG9jYWxzdGF0ZWRpcn0vbGliL2dhbWVzL01hZWxzdHJv bS1TY29yZXMKKyVsaWNlbnNlIENPUFlJTkcKKyV7X2JpbmRpcn0vTWFlbHN0cm9tCisle19kYXRh ZGlyfS9hcHBsaWNhdGlvbnMvJXtuYW1lfS5kZXNrdG9wCisle19tZXRhaW5mb2Rpcn0vTWFlbHN0 cm9tLm1ldGFpbmZvLnhtbAorCisKKyVmaWxlcyBkYXRhCislZG9jICV7X2RvY2Rpcn0KKyVsaWNl bnNlIE1hZWxzdHJvbS1Db250ZW50LUxpY2Vuc2UudHh0IENDLUJZLTMuMC50eHQKKyV7X2RhdGFk aXJ9LyV7bmFtZX0KKyV7X2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvKi9hcHBzLyV7bmFtZX0ucG5n CiAKIAogJWNoYW5nZWxvZwoKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnBhdGNoIGIvTWFrZWZpbGUu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMTU0YWEuLjAwMDAwMDAKLS0t IGEvTWFrZWZpbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1kaWZmIC0t Z2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQotaW5kZXggZmFlMmJkOC4uZjZmN2M4ZiAx MDA2NDQKLS0tLSBhL01ha2VmaWxlLmFtCi0rKysgYi9NYWtlZmlsZS5hbQotQEAgLTY1LDkgKzY1 LDkgQEAgRElTVF9TVUJESVJTID0gJChTVUJESVJTKSBJbWFnZXMgRG9jcwotICMgU3BlY2lhbCBp bnN0YWxsIHJ1bGUgZm9yIHRoZSBnYW1lCi0gaW5zdGFsbDoKLSAJc2ggbWtpbnN0YWxsZGlycyAk KERFU1RESVIpQEdBTUVfSU5TVEFMTERJUkAKLS0JaW5zdGFsbCAtbSA3NTUgTWFlbHN0cm9tICQo REVTVERJUilAR0FNRV9JTlNUQUxMRElSQC9NYWVsc3Ryb20KLSsJc2ggbWtpbnN0YWxsZGlycyAk KERFU1RESVIpJChiaW5kaXIpCi0rCWluc3RhbGwgLW0gNzU1IE1hZWxzdHJvbSAkKERFU1RESVIp JChiaW5kaXIpL01hZWxzdHJvbQotIAltYWtlIGluc3RhbGxfZ2FtZWRhdGEgdGFyZ2V0PSQoREVT VERJUilAR0FNRV9JTlNUQUxMRElSQAotLQltYWtlIGluc3RhbGxfZ2FtZWRvY3MgdGFyZ2V0PSQo REVTVERJUilAR0FNRV9JTlNUQUxMRElSQAotIAotIGluc3RhbGxfZ2FtZWRhdGE6Ci0gCXNoIG1r aW5zdGFsbGRpcnMgJCh0YXJnZXQpLwotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZp bGUuaW4KLWluZGV4IDA2YzkzMjIuLjE4MzljMjMgMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZS5pbgot KysrIGIvTWFrZWZpbGUuaW4KLUBAIC05ODAsOSArOTgwLDkgQEAgdW5pbnN0YWxsLWFtOiB1bmlu c3RhbGwtYmluUFJPR1JBTVMKLSAjIFNwZWNpYWwgaW5zdGFsbCBydWxlIGZvciB0aGUgZ2FtZQot IGluc3RhbGw6Ci0gCXNoIG1raW5zdGFsbGRpcnMgJChERVNURElSKUBHQU1FX0lOU1RBTExESVJA Ci0tCWluc3RhbGwgLW0gNzU1IE1hZWxzdHJvbSAkKERFU1RESVIpQEdBTUVfSU5TVEFMTERJUkAv TWFlbHN0cm9tCi0rCXNoIG1raW5zdGFsbGRpcnMgJChERVNURElSKSQoYmluZGlyKQotKwlpbnN0 YWxsIC1tIDc1NSBNYWVsc3Ryb20gJChERVNURElSKSQoYmluZGlyKS9NYWVsc3Ryb20KLSAJbWFr ZSBpbnN0YWxsX2dhbWVkYXRhIHRhcmdldD0kKERFU1RESVIpQEdBTUVfSU5TVEFMTERJUkAKLS0J bWFrZSBpbnN0YWxsX2dhbWVkb2NzIHRhcmdldD0kKERFU1RESVIpQEdBTUVfSU5TVEFMTERJUkAK LSAKLSBpbnN0YWxsX2dhbWVkYXRhOgotIAlzaCBta2luc3RhbGxkaXJzICQodGFyZ2V0KS8KCmRp ZmYgLS1naXQgYS9nY2MzNC5wYXRjaCBiL2djYzM0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAyNzBhODU4Li4wMDAwMDAwCi0tLSBhL2djYzM0LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNTYgKzAsMCBAQAotLS0tIE1hZWxzdHJvbS0zLjAuNi9idXR0b25saXN0Lmguc29w d2l0aAkyMDA0LTA2LTE4IDE1OjMzOjQ5LjAwMDAwMDAwMCAtMDQwMAotKysrIE1hZWxzdHJvbS0z LjAuNi9idXR0b25saXN0LmgJMjAwNC0wNi0xOCAxNTo0NzozOS4wMDAwMDAwMDAgLTA0MDAKLUBA IC03LDYgKzcsMTMgQEAKLSBjbGFzcyBCdXR0b25MaXN0IHsKLSAKLSBwdWJsaWM6Ci0rCXR5cGVk ZWYgc3RydWN0IF9idXR0b24gewotKwkJLyogU2Vuc2l0aXZlIGFyZWEgKi8KLSsJCVVpbnQxNiB4 MSwgeTE7Ci0rCQlVaW50MTYgeDIsIHkyOwotKwkJdm9pZCAoKmNhbGxiYWNrKSh2b2lkKTsKLSsJ CXN0cnVjdCBfYnV0dG9uICpuZXh0OwotKwl9IGJ1dHRvbjsKLSAJQnV0dG9uTGlzdCgpIHsKLSAJ CWJ1dHRvbl9saXN0Lm5leHQgPSBOVUxMOwotIAl9Ci1AQCAtMTYsNyArMjMsNyBAQAotIAotIAl2 b2lkIEFkZF9CdXR0b24oVWludDE2IHgsIFVpbnQxNiB5LCBVaW50MTYgd2lkdGgsIFVpbnQxNiBo ZWlnaHQsIAotIAkJCQkJCXZvaWQgKCpjYWxsYmFjaykodm9pZCkpIHsKLS0JCXN0cnVjdCBidXR0 b24gKmJlbGVtOwotKwkJYnV0dG9uICpiZWxlbTsKLSAJCQotIAkJZm9yICggYmVsZW09JmJ1dHRv bl9saXN0OyBiZWxlbS0+bmV4dDsgYmVsZW09YmVsZW0tPm5leHQgKTsKLSAJCWJlbGVtLT5uZXh0 ID0gbmV3IGJ1dHRvbjsKLUBAIC0zMCw3ICszNyw3IEBACi0gCX0KLSAKLSAJdm9pZCBBY3RpdmF0 ZV9CdXR0b24oVWludDE2IHgsIFVpbnQxNiB5KSB7Ci0tCQlzdHJ1Y3QgYnV0dG9uICpiZWxlbTsK LSsJCWJ1dHRvbiAqYmVsZW07Ci0gCi0gCQlmb3IgKCBiZWxlbT1idXR0b25fbGlzdC5uZXh0OyBi ZWxlbTsgYmVsZW09YmVsZW0tPm5leHQgKSB7Ci0gCQkJaWYgKCAoeCA+PSBiZWxlbS0+eDEpICYm ICh4IDw9IGJlbGVtLT54MikgJiYKLUBAIC00Miw3ICs0OSw3IEBACi0gCX0KLSAKLSAJdm9pZCBE ZWxldGVfQnV0dG9ucyh2b2lkKSB7Ci0tCQlzdHJ1Y3QgYnV0dG9uICpiZWxlbSwgKmJ0ZW1wOwot KwkJYnV0dG9uICpiZWxlbSwgKmJ0ZW1wOwotIAotIAkJZm9yICggYmVsZW09YnV0dG9uX2xpc3Qu bmV4dDsgYmVsZW07ICkgewotIAkJCWJ0ZW1wID0gYmVsZW07Ci1AQCAtNTMsMTIgKzYwLDUgQEAK LSAJfQotIAkKLSBwcml2YXRlOgotLQl0eXBlZGVmIHN0cnVjdCBidXR0b24gewotLQkJLyogU2Vu c2l0aXZlIGFyZWEgKi8KLS0JCVVpbnQxNiB4MSwgeTE7Ci0tCQlVaW50MTYgeDIsIHkyOwotLQkJ dm9pZCAoKmNhbGxiYWNrKSh2b2lkKTsKLS0JCXN0cnVjdCBidXR0b24gKm5leHQ7Ci0tCX0gYnV0 dG9uOwotIAlidXR0b24gYnV0dG9uX2xpc3Q7Ci0gfTsKCmRpZmYgLS1naXQgYS9nY2M1LnBhdGNo IGIvZ2NjNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y5ZjhkZC4uMDAw MDAwMAotLS0gYS9nY2M1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlm ZiAtdXAgTWFlbHN0cm9tLTMuMC42L25ldGxvZ2ljL3Byb3RvY29sLmh+IE1hZWxzdHJvbS0zLjAu Ni9uZXRsb2dpYy9wcm90b2NvbC5oCi0tLS0gTWFlbHN0cm9tLTMuMC42L25ldGxvZ2ljL3Byb3Rv Y29sLmh+CTIwMDAtMDktMjQgMTk6NTU6MzkuMDAwMDAwMDAwICswMjAwCi0rKysgTWFlbHN0cm9t LTMuMC42L25ldGxvZ2ljL3Byb3RvY29sLmgJMjAxNi0wMi0wMiAxNjoxNjoyOS4xNDE4NDQ1NDMg KzAxMDAKLUBAIC0xMSw3ICsxMSw3IEBACi0gCVRoaXMgc3R1ZmYgaXMgc2hhcmVkIGJldHdlZW4g bmV0cGxheS5jYyBhbmQgbmV0cGxheWQKLSAqLwotIC8qIFRoZSBkZWZhdWx0IHBvcnQgZm9yIE1h ZWxzdHJvbSBnYW1lcy4gIFdoYXQgaXMgMHhBRUFFPz8gKnNocnVnKiA6KSAqLwotLSNkZWZpbmUg TkVUUExBWV9QT1JUCTB4QUVBRQkJCS8qIHBvcnQgNDQ3MTggKi8KLSsjZGVmaW5lIE5FVFBMQVlf UE9SVAkoMHhBRUFFKQkJLyogcG9ydCA0NDcxOCAqLwotIAotIC8qIFRoZSBtaW5pbXVtIGxlbmd0 aCBvZiBhIG5ldyBwYWNrZXQgYnVmZmVyICovCi0gI2RlZmluZSBORVdfUEFDS0VUTEVOCSgzKzMq NCkKCmRpZmYgLS1naXQgYS9pbnN0YWxsLnBhdGNoIGIvaW5zdGFsbC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNzZjZTYzMS4uMDAwMDAwMAotLS0gYS9pbnN0YWxsLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIE1hZWxzdHJvbS0zLjAuNi9jb25m aWd1cmUuZm9vCTIwMDYtMDUtMDkgMDA6MDg6NDMuMDAwMDAwMDAwIC0wNDAwCi0rKysgTWFlbHN0 cm9tLTMuMC42L2NvbmZpZ3VyZQkyMDA2LTA1LTA5IDAwOjA5OjAwLjAwMDAwMDAwMCAtMDQwMAot QEAgLTMyMzIsNyArMzIzMiw3IEBACi0gICAgICAgICBHQU1FX0lOU1RBTExESVI9IlwkKHByZWZp eCkvZ2FtZXMvJFBBQ0tBR0UiCi0gICAgICAgICA7OwotICAgICAqKQotLSAgICAgICAgR0FNRV9J TlNUQUxMRElSPSJcJChwcmVmaXgpL2dhbWVzLyRQQUNLQUdFIgotKyAgICAgICAgR0FNRV9JTlNU QUxMRElSPSJcJChkYXRhZGlyKS8kUEFDS0FHRSIKLSAgICAgICAgIDs7Ci0gZXNhYwotIAoKZGlm ZiAtLWdpdCBhL21hZWxzdHJvbS5wbmcgYi9tYWVsc3Ryb20ucG5nCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwNDBiZDdjLi4wMDAwMDAwCkJpbmFyeSBmaWxlcyBhL21hZWxzdHJvbS5w bmcgYW5kIC9kZXYvbnVsbCBkaWZmZXIKCmRpZmYgLS1naXQgYS9uZXRkLWM5OS5wYXRjaCBiL25l dGQtYzk5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDAyNTA5Li4wMDAw MDAwCi0tLSBhL25ldGQtYzk5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAot ZGlmZiAtLWdpdCBhL01hZWxzdHJvbS1uZXRkLmMgYi9NYWVsc3Ryb20tbmV0ZC5jCi1pbmRleCAz ZTZlOTQyLi40ZWQ0MGFlIDEwMDY0NAotLS0tIGEvTWFlbHN0cm9tLW5ldGQuYwotKysrIGIvTWFl bHN0cm9tLW5ldGQuYwotQEAgLTIsNiArMiw3IEBACi0gLyogSGVyZSB3ZSBnby4uLiAqLwotIAot ICNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8dGltZS5oPgotICNpbmNsdWRlIDxzdGRp by5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8c2lnbmFsLmg+Ci1AQCAtMTQs NiArMTUsMTAgQEAKLSAjaW5jbHVkZSA8bmV0ZGIuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0g Ci0rI2lmZGVmIHVuaXgKLSsjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0rI2VuZGlmCi0rCi0gLyog V2Ugd2FpdCBpbiBhIGxvb3AgZm9yIHBsYXllcnMgdG8gY29ubmVjdCBhbmQgdGVsbCB1cyBob3cg bWFueSBwZW9wbGUKLSAgICBhcmUgcGxheWluZy4gIFRoZW4sIG9uY2UgYWxsIHBsYXllcnMgaGF2 ZSBjb25uZWN0ZWQsIHRoZW4gd2UgYnJvYWRjYXN0Ci0gICAgdGhlIGFkZHJlc3NlcyBvZiBhbGwg cGxheWVycywgYW5kIHRoZW4gc3RhcnQgYWdhaW4uCi1AQCAtMzc2LDQgKzM4MSwzIEBAIHByaW50 ZigiICB0aGUgcmVtb3RlIGFkZHJlc3MgaXMgJXM6JWh1XG4iLAotIAl9Ci0gCS8qIE5ldmVyIHJl YWNoZWQgKi8KLSB9Ci0tCgpkaWZmIC0tZ2l0IGEvb3Blbi5wYXRjaCBiL29wZW4ucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxMjEyM2IuLjAwMDAwMDAKLS0tIGEvb3Blbi5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRpZmYgLXVwIE1hZWxzdHJvbS0z LjAuNi9zY29yZXMuY3BwLmZvbyBNYWVsc3Ryb20tMy4wLjYvc2NvcmVzLmNwcAotLS0tIE1hZWxz dHJvbS0zLjAuNi9zY29yZXMuY3BwLmZvbwkyMDA3LTEwLTEwIDE2OjEwOjE3LjAwMDAwMDAwMCAt MDQwMAotKysrIE1hZWxzdHJvbS0zLjAuNi9zY29yZXMuY3BwCTIwMDctMTAtMTAgMTY6MTE6MzMu MDAwMDAwMDAwIC0wNDAwCi1AQCAtNDAsNyArNDAsNyBAQCB2b2lkIEdldFNjb3JlRmlsZSh2b2lk KQotICNpZmRlZiB1bml4Ci0gCW9tYXNrPXVtYXNrKFNDT1JFU19QRVJNTUFTSyk7Ci0gI2VuZGlm Ci0tCWYgPSBvcGVuKE1BRUxTVFJPTV9TQ09SRVMsT19SRFdSfE9fQ1JFQVQpOwotKwlmID0gb3Bl bihNQUVMU1RST01fU0NPUkVTLE9fUkRXUnxPX0NSRUFULFNfSVJVU1IgfCBTX0lXVVNSIHwgU19J V0dSUCB8IFNfSVJHUlApOwotIAlpZiAoZiA9PSAtMSkKLSAJCWYgPSBvcGVuKE1BRUxTVFJPTV9T Q09SRVMsT19SRE9OTFkpOwotIAlpZiAoZiA9PSAtMSkKCmRpZmYgLS1naXQgYS9zZXRnaWQucGF0 Y2ggYi9zZXRnaWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljMGZlMDcu LjAwMDAwMDAKLS0tIGEvc2V0Z2lkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjA0ICswLDAg QEAKLWRpZmYgLS1naXQgYS9tYWluLmNwcCBiL21haW4uY3BwCi1pbmRleCAwODdhMGJmLi45YmVh ZGE1IDEwMDY0NAotLS0tIGEvbWFpbi5jcHAKLSsrKyBiL21haW4uY3BwCi1AQCAtMTcwLDEyICsx NzAsMjEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAJLyogQ29tbWFuZCBs aW5lIGZsYWdzICovCi0gCWludCBkb3ByaW50aGlnaCA9IDA7Ci0gCWludCBzcGVlZHRlc3QgPSAw OwotKwlnaWRfdCBnaWQ7Ci0rCi0gCVVpbnQzMiB2aWRlb19mbGFncyA9IFNETF9XSU5ET1dfRlVM TFNDUkVFTl9ERVNLVE9QOwotIAotIAkvKiBOb3JtYWwgdmFyaWFibGVzICovCi0gCVNETF9FdmVu dCBldmVudDsKLSAJTGliUGF0aDo6U2V0RXhlUGF0aChhcmd2WzBdKTsKLSAKLSsJR2V0U2NvcmVG aWxlKCk7Ci0rCWdpZCA9IGdldGdpZCgpOwotKwlpZiAoc2V0cmVzZ2lkKC0xLGdpZCxnaWQpICE9 IDApIHsKLSsJCWVycm9yKCJDb3VsZCBub3QgZHJvcCBwcml2bGVnZXMuIC0tIEV4aXRpbmcuXG4i KTsKLSsJCWV4aXQoMSk7Ci0rCX0KLSsKLSAjaWZuZGVmIF9fV0lOOTVfXwotIAkvKiBUaGUgZmly c3QgdGhpbmcgd2UgZG8gaXMgY2FsY3VsYXRlIG91ciBjaGVja3N1bSAqLwotIAkodm9pZCkgY2hl Y2tzdW0oKTsKLUBAIC00ODEsNyArNDkwLDcgQEAgdm9pZCBEcmF3TWFpblNjcmVlbih2b2lkKQot IAlpZiAoIHRpdGxlID09IE5VTEwgKSB7Ci0gCQllcnJvcigiQ2FuJ3QgbG9hZCAndGl0bGUnIHRp dGxlISAoSUQ9JWQpXG4iLCAxMjkpOwotIAkJZXhpdCgyNTUpOwotLSAgICAgICAgfQotKwl9Ci0g Ci0gCWNsciA9IHNjcmVlbi0+TWFwUkdCKDMwMDAwPj44LCAzMDAwMD4+OCwgMHhGRik7Ci0gCWx0 Q2xyID0gc2NyZWVuLT5NYXBSR0IoNDAwMDA+PjgsIDQwMDAwPj44LCAweEZGKTsKLUBAIC02ODIs NCArNjkxLDMgQEAgdm9pZCBNZXNzYWdlKGNvbnN0IGNoYXIgKm1lc3NhZ2UpCi0gCX0KLSAJc2Ny ZWVuLT5VcGRhdGUoKTsKLSB9Ci0tCi1kaWZmIC0tZ2l0IGEvc2NvcmVzLmNwcCBiL3Njb3Jlcy5j cHAKLWluZGV4IDVlMDIzYzYuLjllYzFlNzYgMTAwNjQ0Ci0tLS0gYS9zY29yZXMuY3BwCi0rKysg Yi9zY29yZXMuY3BwCi1AQCAtNCw2ICs0LDggQEAKLSAqLwotIAotICNpZmRlZiB1bml4Ci0rI2lu Y2x1ZGUgPGFycGEvaW5ldC5oPgotKyNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjZW5kaWYKLUBAIC0xNSwxMSArMTcs MTEgQEAKLSAjaW5jbHVkZSAibG9hZC5oIgotICNpbmNsdWRlICJkaWFsb2cuaCIKLSAKLS0jZGVm aW5lIE1BRUxTVFJPTV9TQ09SRVMJIk1hZWxzdHJvbS1TY29yZXMiCi0rI2RlZmluZSBNQUVMU1RS T01fU0NPUkVTCSIvdmFyL2xpYi9nYW1lcy9NYWVsc3Ryb20tU2NvcmVzIgotICNkZWZpbmUgTlVN X1NDT1JFUwkJMTAJCS8vIERvIG5vdCBjaGFuZ2UgdGhpcyEKLSAKLSAvKiBFdmVyeW9uZSBjYW4g d3JpdGUgdG8gc2NvcmVzIGZpbGUgaWYgZGVmaW5lZCB0byAwICovCi0tI2RlZmluZSBTQ09SRVNf UEVSTU1BU0sJCTAyMgotKyNkZWZpbmUgU0NPUkVTX1BFUk1NQVNLCQkwMDIKLSAKLSAjZGVmaW5l IENMUl9ESUFMT0dfV0lEVEgJMjgxCi0gI2RlZmluZSBDTFJfRElBTE9HX0hFSUdIVAkxMTEKLUBA IC0yNywxMCArMjksMzEgQEAKLSBCb29sIGdOZXRTY29yZXMgPSAwOwotIFNjb3JlcyBoU2NvcmVz W05VTV9TQ09SRVNdOwotIAotK2ludCBnU2NvcmVGaWxlID0gLTE7Ci0rCi0rdm9pZCBHZXRTY29y ZUZpbGUodm9pZCkKLSt7Ci0rI2lmZGVmIHVuaXgKLSsgICBpbnQgb21hc2s7Ci0rI2VuZGlmCi0r ICAgaW50IGY7Ci0rCi0rI2lmZGVmIHVuaXgKLSsgICBvbWFzaz11bWFzayhTQ09SRVNfUEVSTU1B U0spOwotKyNlbmRpZgotKyAgIGYgPSBvcGVuKE1BRUxTVFJPTV9TQ09SRVMsT19SRFdSfE9fQ1JF QVQsU19JUlVTUiB8IFNfSVdVU1IgfCBTX0lXR1JQIHwgU19JUkdSUCk7Ci0rICAgaWYgKGYgPT0g LTEpCi0rCSAgIGYgPSBvcGVuKE1BRUxTVFJPTV9TQ09SRVMsT19SRE9OTFkpOwotKyAgIGlmIChm ID09IC0xKQotKwkgICBlcnJvcigiQ291bGRuJ3Qgb3BlbiBzY29yZSBmaWxlICVzLlxuIixNQUVM U1RST01fU0NPUkVTKTsKLSsgICBnU2NvcmVGaWxlID0gZjsKLSsjaWZkZWYgdW5peAotKyAgIHVt YXNrKG9tYXNrKTsKLSsjZW5kaWYKLSt9Ci0rCi0gdm9pZCBMb2FkU2NvcmVzKHZvaWQpCi0gewot LQlTYXZlUGF0aCBwYXRoOwotLQlTRExfUldvcHMgKnNjb3Jlc19zcmM7Ci0gCWludCBpOwotIAot IAkvKiBUcnkgdG8gbG9hZCBuZXR3b3JrIHNjb3JlcywgaWYgd2UgY2FuICovCi1AQCAtNDQsNTAg KzY3LDQ4IEBAIHZvaWQgTG9hZFNjb3Jlcyh2b2lkKQotIAl9Ci0gCW1lbXNldCgmaFNjb3Jlcywg MCwgc2l6ZW9mKGhTY29yZXMpKTsKLSAKLS0Jc2NvcmVzX3NyYyA9IFNETF9SV0Zyb21GaWxlKHBh dGguUGF0aChNQUVMU1RST01fU0NPUkVTKSwgInJiIik7Ci0tCWlmICggc2NvcmVzX3NyYyAhPSBO VUxMICkgewotKwlpZiAoZ1Njb3JlRmlsZSAhPSAtMSkgewotKwkJbHNlZWsoZ1Njb3JlRmlsZSww LFNFRUtfU0VUKTsKLSAJCWZvciAoIGk9MDsgaTxOVU1fU0NPUkVTOyArK2kgKSB7Ci0tCQkJU0RM X1JXcmVhZChzY29yZXNfc3JjLCBoU2NvcmVzW2ldLm5hbWUsCi0tCQkJICAgICAgICAgICBzaXpl b2YoaFNjb3Jlc1tpXS5uYW1lKSwgMSk7Ci0tCQkJaFNjb3Jlc1tpXS53YXZlID0gU0RMX1JlYWRC RTMyKHNjb3Jlc19zcmMpOwotLQkJCWhTY29yZXNbaV0uc2NvcmUgPSBTRExfUmVhZEJFMzIoc2Nv cmVzX3NyYyk7Ci0rCQkJVWludDMyIHRtcDsKLSsJCQlpZiAocmVhZChnU2NvcmVGaWxlLGhTY29y ZXNbaV0ubmFtZSxzaXplb2YoaFNjb3Jlc1tpXS5uYW1lKSkgIT0gc2l6ZW9mKGhTY29yZXNbaV0u bmFtZSkpCi0rCQkJCWJyZWFrOwotKwkJCWlmIChyZWFkKGdTY29yZUZpbGUsJnRtcCxzaXplb2Yo VWludDMyKSkgIT0gc2l6ZW9mKFVpbnQzMikpCi0rCQkJCWJyZWFrOwotKwkJCWhTY29yZXNbaV0u d2F2ZSA9IG50b2hsKHRtcCk7Ci0rCQkJaWYgKHJlYWQoZ1Njb3JlRmlsZSwmdG1wLHNpemVvZihV aW50MzIpKSAhPSBzaXplb2YoVWludDMyKSkKLSsJCQkJYnJlYWs7Ci0rCQkJaFNjb3Jlc1tpXS5z Y29yZSA9IG50b2hsKHRtcCk7Ci0gCQl9Ci0tCQlTRExfUldjbG9zZShzY29yZXNfc3JjKTsKLSAJ fQotIH0KLSAKLSB2b2lkIFNhdmVTY29yZXModm9pZCkKLSB7Ci0tCVNhdmVQYXRoIHBhdGg7Ci0t CVNETF9SV29wcyAqc2NvcmVzX3NyYzsKLSAJaW50IGk7Ci0tI2lmZGVmIHVuaXgKLS0JaW50IG9t YXNrOwotLSNlbmRpZgotIAotIAkvKiBEb24ndCBzYXZlIG5ldHdvcmsgc2NvcmVzICovCi0gCWlm ICggZ05ldFNjb3JlcyApCi0gCQlyZXR1cm47Ci0gCi0tI2lmZGVmIHVuaXgKLS0Jb21hc2s9dW1h c2soU0NPUkVTX1BFUk1NQVNLKTsKLS0jZW5kaWYKLS0Jc2NvcmVzX3NyYyA9IFNETF9SV0Zyb21G aWxlKHBhdGguUGF0aChNQUVMU1RST01fU0NPUkVTKSwgIndiIik7Ci0tCWlmICggc2NvcmVzX3Ny YyAhPSBOVUxMICkgewotKwlpZiAoZ1Njb3JlRmlsZSAhPSAtMSkgewotKwkJbHNlZWsoZ1Njb3Jl RmlsZSwwLFNFRUtfU0VUKTsKLSAJCWZvciAoIGk9MDsgaTxOVU1fU0NPUkVTOyArK2kgKSB7Ci0t CQkJU0RMX1JXd3JpdGUoc2NvcmVzX3NyYywgaFNjb3Jlc1tpXS5uYW1lLAotLQkJCSAgICAgICAg ICAgIHNpemVvZihoU2NvcmVzW2ldLm5hbWUpLCAxKTsKLS0JCQlTRExfV3JpdGVCRTMyKHNjb3Jl c19zcmMsIGhTY29yZXNbaV0ud2F2ZSk7Ci0tCQkJU0RMX1dyaXRlQkUzMihzY29yZXNfc3JjLCBo U2NvcmVzW2ldLnNjb3JlKTsKLSsJCQlVaW50MzIgdG1wOwotKwkJCWlmICh3cml0ZShnU2NvcmVG aWxlLCBoU2NvcmVzW2ldLm5hbWUsIHNpemVvZihoU2NvcmVzW2ldLm5hbWUpKSAhPSBzaXplb2Yo aFNjb3Jlc1tpXS5uYW1lKSkKLSsJCQkJZ290byBvdXRfZXJyOwotKwkJCXRtcCA9IGh0b25sKGhT Y29yZXNbaV0ud2F2ZSk7Ci0rCQkJaWYgKHdyaXRlKGdTY29yZUZpbGUsICZ0bXAsc2l6ZW9mKFVp bnQzMikpICE9IHNpemVvZihVaW50MzIpKQotKwkJCQlnb3RvIG91dF9lcnI7Ci0rCQkJdG1wID0g aHRvbmwoaFNjb3Jlc1tpXS5zY29yZSk7Ci0rCQkJaWYgKHdyaXRlKGdTY29yZUZpbGUsICZ0bXAs c2l6ZW9mKFVpbnQzMikpICE9IHNpemVvZihVaW50MzIpKQotKwkJCQlnb3RvIG91dF9lcnI7Ci0g CQl9Ci0tCQlTRExfUldjbG9zZShzY29yZXNfc3JjKTsKLS0JfSBlbHNlIHsKLS0JCWVycm9yKCJX YXJuaW5nOiBDb3VsZG4ndCBzYXZlIHNjb3JlcyB0byAlc1xuIiwKLS0JCQkJCQlwYXRoLlBhdGgo TUFFTFNUUk9NX1NDT1JFUykpOwotKwkJZnN5bmMoZ1Njb3JlRmlsZSk7Ci0rCQlyZXR1cm47Ci0g CX0KLS0jaWZkZWYgdW5peAotLQl1bWFzayhvbWFzayk7Ci0tI2VuZGlmCi0rb3V0X2VycjoKLSsJ ZXJyb3IoIldhcm5pbmc6IENvdWxkbid0IHNhdmUgc2NvcmVzIHRvICVzXG4iLCBNQUVMU1RST01f U0NPUkVTKTsKLSB9Ci0gCi0gLyogSnVzdCBzaG93IHRoZSBoaWdoIHNjb3JlcyAqLwotQEAgLTE0 OCw3ICsxNjksNyBAQCBpbnQgWmFwSGlnaFNjb3Jlcyh2b2lkKQotIAljbGVhciA9IG5ldyBNYWNf QnV0dG9uKDk5LCA3NCwgQlVUVE9OX1dJRFRILCBCVVRUT05fSEVJR0hULAotIAkJCQkiQ2xlYXIi LCBjaGljYWdvLCBmb250c2VydiwgQ2xlYXJfY2FsbGJhY2spOwotIAlkaWFsb2ctPkFkZF9EaWFs b2coY2xlYXIpOwotLQljYW5jZWwgPSBuZXcgTWFjX0RlZmF1bHRCdXR0b24oOTkrQlVUVE9OX1dJ RFRIKzE0LCA3NCwgCi0rCWNhbmNlbCA9IG5ldyBNYWNfRGVmYXVsdEJ1dHRvbig5OStCVVRUT05f V0lEVEgrMTQsIDc0LAotIAkJCQlCVVRUT05fV0lEVEgsIEJVVFRPTl9IRUlHSFQsCi0gCQkJCSJD YW5jZWwiLCBjaGljYWdvLCBmb250c2VydiwgQ2FuY2VsX2NhbGxiYWNrKTsKLSAJZGlhbG9nLT5B ZGRfRGlhbG9nKGNhbmNlbCk7Ci1AQCAtMjY4LDQgKzI4OSwzIEBAIGludCBHZXRTdGFydExldmVs KHZvaWQpCi0gCX0KLSAJcmV0dXJuKDApOwotIH0KLS0KLWRpZmYgLS1naXQgYS9zY29yZXMuaCBi L3Njb3Jlcy5oCi1pbmRleCA0MTI2MjYwLi40NzE2NzUxIDEwMDY0NAotLS0tIGEvc2NvcmVzLmgK LSsrKyBiL3Njb3Jlcy5oCi1AQCAtMiw2ICsyLDcgQEAKLSAvLyBGdW5jdGlvbnMgZnJvbSBzY29y ZXMuY2MKLSBleHRlcm4gdm9pZAlMb2FkU2NvcmVzKHZvaWQpOwotIGV4dGVybiB2b2lkCVNhdmVT Y29yZXModm9pZCk7Ci0rZXh0ZXJuIHZvaWQJR2V0U2NvcmVGaWxlKHZvaWQpOwotIGV4dGVybiBp bnQJWmFwSGlnaFNjb3Jlcyh2b2lkKTsKLSBleHRlcm4gaW50CUdldFN0YXJ0TGV2ZWwodm9pZCk7 Ci0gZXh0ZXJuIHZvaWQJUHJpbnRIaWdoU2NvcmVzKHZvaWQpOwoKZGlmZiAtLWdpdCBhL3NvdXJj ZXMgYi9zb3VyY2VzCmluZGV4IDVhZDg4OTYuLjhjYTY3NDggMTAwNjQ0Ci0tLSBhL3NvdXJjZXMK KysrIGIvc291cmNlcwpAQCAtMSArMSwyIEBACi1TSEE1MTIgKE1hZWxzdHJvbS0zLjAuNy50YXIu Z3opID0gMmNjNzVlZTI1MjkzMzEwYzdmNDczNzU4M2M1ZjFkYzMzZjJjNWRmY2EyOGZkZmU3NmY1 MjNhOTQ5OTJkMWFlMjBhOTZiNzdlNzljMjZhZWUzYjJjN2MxYTIzZDIxMzEyOGEwNDBhMjQ1ZDA2 NzEzMzliNTY3NjQ2Yjg4MDA0ZDEKK1NIQTUxMiAoTWFlbHN0cm9tLXJlbGVhc2UtNC4wLjIudGFy Lmd6KSA9IGZmNzIzYjkwOTRlMWIxMWU1NDUxYWU0MDg4MDA2ODZjNjlmNmVlYmE2MTUwN2JkMzNk ZWM1ZmExMTgxMmNhMGVkNmJlZjYyZDI4Y2MxNGI0YTQ4M2MyNWE1MjYzOGFjZGFmNzA4YjZkODI1 YTIxYzVjODJmYWEzZmIwN2I3MjA3CitTSEE1MTIgKHBoeXNmcy00OWNmZDVmZGQ0NmYzOGI0YzI2 MTE1NTZiNDRlZTliMGQzMDhlMTYyLnRhci5neikgPSA2NGI5ZDRiMjQ1YTBmZDZjYjRjZDA5OWVk ZWM1OTgwNDRiMDgzM2MyMTAwOGM0MWI1ODRlM2U2MjAwMGQyOWM2NWQwZmIxYzg1NGVlOGYyNjFi M2ZlZTYxNmMwMDBjMGJmNmY2YTVkNjJkNmY2Mzc2NGEyNTNhMjBlZjU1ZWQ5NQo=