AW: AW: AW: AW: AW: sieve-test (Pigeonhole) on Ubuntu: PCRE support and address test restrictions on Return-Path
Michael Merz via dovecot <[email protected]> Sat, 11 Jul 2026 15:42:17 +0200
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <!&!AAAAAAAAAAAYAAAAAAAAAEARHlAfdINIvecG/[email protected]> |
U3RlcGhhbiBhbmQgQWtpLA0KDQpUaGFua3MgdG8gYm90aCBvZiB5b3UuDQpJIGNvdWxkIGZpbmFs bHkgc2V0IHVwIGFuIG9mZmxpbmUtdGVzdCBlbnZpcm9ubWVudCBmb3Igc2lldmUtdGVzdC4NCkl0 IHdvcmtzIGFuZCBpcyBvZiBncmVhdCBoZWxwLg0KSSByZWFsbHkgYXBwcmVjaWF0ZSB5b3VyIHN1 cHBvcnQuDQpCZXN0IHdpc2hlcw0KTWljaGFlbCAoYW5kIENsYXVkZSBBSSB3aG8gc3VwcG9ydGVk IG1lIGluIHBhcmFsbGVsKQ0KDQoNCi0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0N ClZvbjogU3RlcGhhbiBCb3NjaCB2aWEgZG92ZWNvdCA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4gDQpH ZXNlbmRldDogU2Ftc3RhZywgMTEuIEp1bGkgMjAyNiAxNDo0NA0KQW46IGRvdmVjb3RAZG92ZWNv dC5vcmcNCkJldHJlZmY6IFJlOiBBVzogQVc6IEFXOiBBVzogc2lldmUtdGVzdCAoUGlnZW9uaG9s ZSkgb24gVWJ1bnR1OiBQQ1JFIHN1cHBvcnQgYW5kIGFkZHJlc3MgdGVzdCByZXN0cmljdGlvbnMg b24gUmV0dXJuLVBhdGgNCg0KDQpPcCAxMS03LTIwMjYgb20gMTI6Mjggc2NocmVlZiBNaWNoYWVs IE1lcnogdmlhIGRvdmVjb3Q6DQo+IFN1YmplY3Q6IFJlOiBzaWV2ZS10ZXN0IChQaWdlb25ob2xl KSBvbiBVYnVudHU6IFBDUkUgc3VwcG9ydCBhbmQgDQo+IGFkZHJlc3MgdGVzdCByZXN0cmljdGlv bnMgb24gUmV0dXJuLVBhdGgNCj4NCj4gSGVsbG8gQWtpLA0KPg0KPiBHcmVhdCBwcm9ncmVzczog YWZ0ZXIgYWRkaW5nIC1vIG1haWxfZHJpdmVyPW1haWxkaXIsIHRoZSAoP2kpIFBDUkUgZXJyb3Jz IGFyZSBjb21wbGV0ZWx5IGdvbmUuIFRoYW5rIHlvdSENCj4gVGhlIG9ubHkgcmVtYWluaW5nIGlz c3VlIGlzIHRoZSByZXR1cm4tcGF0aCByZXN0cmljdGlvbiBpbiB0aGUgYWRkcmVzcyB0ZXN0Og0K Pg0KPiAgICBlcnJvcjogc3BlY2lmaWVkIGhlYWRlciAncmV0dXJuLXBhdGgnIGlzIG5vdCBhbGxv d2VkIGZvciB0aGUgYWRkcmVzcyB0ZXN0Lg0KPg0KPiBUaGlzIGFmZmVjdHMgc2V2ZXJhbCBydWxl cyBpbiBteSBydWxlc2V0IHRoYXQgdXNlIGNvbnN0cnVjdHMgbGlrZToNCj4NCj4gICAgaWYgYWRk cmVzcyA6ZG9tYWluIDppcyAicmV0dXJuLXBhdGgiICJleGFtcGxlLmNvbSIgeyB9DQo+DQo+IEFz IHlvdSBtZW50aW9uZWQgZWFybGllciwgdGhlIGVudmVsb3BlIHRlc3Qgd291bGQgYmUgdGhlIFJG Qy1jb21wbGlhbnQgYWx0ZXJuYXRpdmUuIEhvd2V2ZXIsIHNpbmNlIG15IHJ1bGVzZXQgcnVucyBv biBhIEN5cnVzIElNQVBkIGJhY2tlbmQgKHdoaWNoIGFjY2VwdHMgcmV0dXJuLXBhdGggaW4gdGhl IGFkZHJlc3MgdGVzdCksIHN3aXRjaGluZyB0byBlbnZlbG9wZSB3b3VsZCBtZWFuIG1haW50YWlu aW5nIHR3byBzZXBhcmF0ZSB2ZXJzaW9ucyBvZiB0aGUgcnVsZXNldCDigJQgb25lIGZvciBwcm9k dWN0aW9uIGFuZCBvbmUgZm9yIG9mZmxpbmUgdGVzdGluZyDigJQgd2hpY2ggZGVmZWF0cyB0aGUg cHVycG9zZS4NCj4NCj4gSXMgdGhlcmUgYSBzaWV2ZS10ZXN0IG9wdGlvbiAoZS5nLiB2aWEgLW8g b3IgYSBjb25maWcgc2V0dGluZykgdGhhdCB3b3VsZCBhbGxvdyBvciByZWxheCB0aGUgcmV0dXJu LXBhdGggcmVzdHJpY3Rpb24gaW4gdGhlIGFkZHJlc3MgdGVzdCwgc28gdGhhdCBzaWV2ZS10ZXN0 IGNhbiBwcm9jZXNzIHRoZSBzY3JpcHQgd2l0aG91dCBtb2RpZmljYXRpb24/DQo+DQo+IFRoYW5r IHlvdSBhZ2FpbiBmb3IgeW91ciBjb250aW51ZWQgc3VwcG9ydCDigJQgd2UgYXJlIHZlcnkgY2xv c2UgdG8gYSB3b3JraW5nIHNvbHV0aW9uIQ0KDQpUaGVyZSBhcmUgbm8gc3VjaCBvcHRpb25zIHRv IGV2YWRlIHRoaXMgY2hlY2suIEhvd2V2ZXIsIGN1cnJlbnRseSB5b3UgY2FuIHN0aWxsIGNvbW1p dCBhbiBhdHJvY2l0eSBsaWtlIHRoaXM6DQoNCnJlcXVpcmUgInJlZ2V4IjsNCnJlcXVpcmUgInZh cmlhYmxlcyI7DQoNCnNldCAiaGRyIiAicmV0dXJuLXBhdGgiOw0KDQppZiBhZGRyZXNzICIke2hk cn0iICJmcm9wQGV4YW1wbGUuY29tIiB7DQogICAgZGlzY2FyZDsNCn0NCg0KU3RpbGwsIHNpbmNl IHRoaXMgaXMgYW4gb21pc3Npb24sIEkgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoaXMgd2lsbCBy ZW1haW4gcG9zc2libGUgaW4gdGhlIGZ1dHVyZS4NCg0KUmVnYXJkcywNCg0KU3RlcGhhbi4NCg0K Pg0KPiBCZXN0IHJlZ2FyZHMsDQo+IE1pY2hhZWwgTWVyeg0KPiBtaWNoYWVsLm1lcnpAd3RuZXQu ZGUNCj4NCj4gLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KPiBWb246IEFraSBU dW9taSA8YWtpLnR1b21pQG9wZW4teGNoYW5nZS5jb20+DQo+IEdlc2VuZGV0OiBTYW1zdGFnLCAx MS4gSnVsaSAyMDI2IDExOjM4DQo+IEFuOiBtaWNoYWVsLm1lcnpAd3RuZXQuZGU7IE1pY2hhZWwg TWVyeiB2aWEgZG92ZWNvdCANCj4gPGRvdmVjb3RAZG92ZWNvdC5vcmc+DQo+IENjOiBTdGVwaGFu IEJvc2NoIDxzdGVwaGFuQHJlbmFtZS1pdC5ubD4NCj4gQmV0cmVmZjogUmU6IEFXOiBBVzogQVc6 IHNpZXZlLXRlc3QgKFBpZ2VvbmhvbGUpIG9uIFVidW50dTogUENSRSANCj4gc3VwcG9ydCBhbmQg YWRkcmVzcyB0ZXN0IHJlc3RyaWN0aW9ucyBvbiBSZXR1cm4tUGF0aA0KPg0KPiBFdmVuIGlmIHlv dSB1c2UgaXQgc3RhbmRhbG9uZSwgaGF2aW5nIGEgc21hbGwgZG92ZWNvdC5jb25mIGZpbGUsIGNv bmZpZ3VyZWQsIG1pZ2h0IHdvcmsuIEFueXdheXMsIC1vIG1haWxfZHJpdmVyPW1haWxkaXIgKGFz IGl0IHN1Z2dlc3RzKSB3b3VsZCBoZWxwLiBtYWlsX2xvY2F0aW9uIHdhcyBzcGxpdCBpbnRvIG11 bHRpcGxlIHNldHRpbmdzIGluIDIuNC4NCj4NCj4gQWtpDQo+DQo+PiBPbiAxMS8wNy8yMDI2IDEw OjE1IEVFU1QgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290IDxkb3ZlY290QGRvdmVjb3Qub3JnPiB3 cm90ZToNCj4+DQo+PiAgIA0KPj4gSGVsbG8gQWtpLA0KPj4NCj4+IEdvb2QgbmV3czogYWZ0ZXIg aW5zdGFsbGluZyBEb3ZlY290IDIuNC40IGZyb20gcmVwby5kb3ZlY290Lm9yZywgdGhlICg/aSkg cmVnZXggZXJyb3JzIGFyZSBnb25lLiBQQ1JFIGFwcGVhcnMgdG8gYmUgd29ya2luZyBjb3JyZWN0 bHkgbm93Lg0KPj4gSG93ZXZlciwgc2lldmUtdGVzdCBub3cgZmFpbHMgd2l0aCBhIGRpZmZlcmVu dCBlcnJvcjoNCj4+DQo+PiAgICBzaWV2ZS10ZXN0OiBGYXRhbDogbWFpbF9kcml2ZXIgbm90IHNl dCBhbmQgYXV0b2RldGVjdGlvbiBmYWlsZWQ6DQo+PiAgICBNYWlsIHN0b3JhZ2UgYXV0b2RldGVj dGlvbiBmYWlsZWQgKGhvbWU9L2hvbWUvbWljaGEsIG1haWxfcGF0aD0pDQo+PiAgICAtIFNldCBt YWlsX2RyaXZlciBleHBsaWNpdGx5DQo+Pg0KPj4gSSBhbSBpbnZva2luZyBzaWV2ZS10ZXN0IGFz IGZvbGxvd3M6DQo+Pg0KPj4gICAgc2lldmUtdGVzdCBcDQo+PiAgICAgIC14ICJmaWxlaW50byBy ZWdleCBjb3B5IGJvZHkgdmFyaWFibGVzIGltYXA0ZmxhZ3MgZWRpdGhlYWRlciIgXA0KPj4gICAg ICAtZSBcDQo+PiAgICAgIC10IC90bXAvdHJhY2UudHh0IFwNCj4+ICAgICAgfi9zaWV2ZS10ZXN0 L3J1bGVzL3Y0XzFfNy5zaWV2ZSBcDQo+PiAgICAgIDxtYWlsLmVtbD4NCj4+DQo+PiBJIGhhdmUg YWxzbyB0cmllZCAtbyBtYWlsX2xvY2F0aW9uPW1haWxkaXI6fi9zaWV2ZS10ZXN0L21haWxib3gg YW5kIA0KPj4gLW8gcGx1Z2luL21haWxfbG9jYXRpb249bWFpbGRpcjp+L3NpZXZlLXRlc3QvbWFp bGJveCwgYm90aCBvZiB3aGljaCBwcm9kdWNlICJVbmtub3duIHNldHRpbmciIGVycm9ycy4NCj4+ DQo+PiBJIGFtIG5vdCBydW5uaW5nIGEgRG92ZWNvdCBtYWlsIHNlcnZlciDigJQgSSBhbSB1c2lu ZyBzaWV2ZS10ZXN0IHB1cmVseSBhcyBhbiBvZmZsaW5lIHRlc3RpbmcgdG9vbCB3aXRob3V0IGFu eSBEb3ZlY290IHNlcnZlciBjb25maWd1cmF0aW9uLg0KPj4NCj4+IENvdWxkIHlvdSBhZHZpc2Ug b24gdGhlIGNvcnJlY3Qgd2F5IHRvIHNldCBtYWlsX2RyaXZlciAob3IgbWFpbF9sb2NhdGlvbikg Zm9yIHNpZXZlLXRlc3QgMi40LjQgaW4gYSBzdGFuZGFsb25lL3NlcnZlcmxlc3MgY29udGV4dD8N Cj4+DQo+PiBUaGFuayB5b3UgdmVyeSBtdWNoLg0KPj4NCj4+IEJlc3QgcmVnYXJkcywNCj4+IE1p Y2hhZWwgTWVyeg0KPj4gbWljaGFlbC5tZXJ6QHd0bmV0LmRlDQo+Pg0KPj4gLS0tLS1VcnNwcsO8 bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KPj4gVm9uOiBBa2kgVHVvbWkgdmlhIGRvdmVjb3QgPGRv dmVjb3RAZG92ZWNvdC5vcmc+DQo+PiBHZXNlbmRldDogRnJlaXRhZywgMTAuIEp1bGkgMjAyNiAx OTo0NA0KPj4gQW46IG1pY2hhZWwubWVyekB3dG5ldC5kZTsgTWljaGFlbCBNZXJ6IHZpYSBkb3Zl Y290IA0KPj4gPGRvdmVjb3RAZG92ZWNvdC5vcmc+DQo+PiBDYzogU3RlcGhhbiBCb3NjaCA8c3Rl cGhhbkByZW5hbWUtaXQubmw+DQo+PiBCZXRyZWZmOiBSZTogQVc6IEFXOiBzaWV2ZS10ZXN0IChQ aWdlb25ob2xlKSBvbiBVYnVudHU6IFBDUkUgc3VwcG9ydCANCj4+IGFuZCBhZGRyZXNzIHRlc3Qg cmVzdHJpY3Rpb25zIG9uIFJldHVybi1QYXRoDQo+Pg0KPj4gQWx0aG91Z2ggSSBkaWQgdGVzdCB0 aGlzOg0KPj4NCj4+ICAgICAgICAgICAgICAgICAgTUFUQ0hfQ0FTRSgiKD9pKWhlbGxvIiwgIkhF TExPIiksDQo+PiAgICAgICAgICAgICAgICAgIE1BVENIX0NBU0UoIl4oP2kpXFxbKC4qKVxcXSAo LiopJCIsICJbYWNtZS11c2Vyc10NCj4+IFtmd2RdOiBoZWxsbywgd29ybGQiKSwNCj4+DQo+Pg0K Pj4gYW5kIGRpZCBub3QgZ2V0IGFueSBjb21wbGFpbnRzIGZyb20gdGhlIGxpYnJhcnkgaXRzZWxm LiBTbyB0aGVyZSBpcyBzb21lIG90aGVyIHJlYXNvbiBmb3IgaXQgdG8gZmFpbC4NCj4+DQo+PiBB a2kNCj4+DQo+Pj4gT24gMTAvMDcvMjAyNiAyMDo0MCBFRVNUIEFraSBUdW9taSA8YWtpLnR1b21p QG9wZW4teGNoYW5nZS5jb20+IHdyb3RlOg0KPj4+DQo+Pj4gICANCj4+PiBBIHNpZXZlIHN0eWxl IG9mIGRvaW5nICg/aSkgaXMNCj4+Pg0KPj4+IGlmIGhlYWRlciA6cmVnZXggOmNvbXBhcmF0b3Ig Imk7YXNjaWktY2FzZW1hcCIgImZyb20iICI8cmVnZXg+IiB7IH0NCj4+Pg0KPj4+IHlvdSBjYW4g YWxzbyB1c2UgdW5pY29kZS1jYXNlbWFwIGZvciB1bmljb2RlLg0KPj4+DQo+Pj4gQWtpDQo+Pj4N Cj4+Pj4gT24gMTAvMDcvMjAyNiAyMDoyNCBFRVNUIE1pY2hhZWwgTWVyeiB2aWEgZG92ZWNvdCA8 ZG92ZWNvdEBkb3ZlY290Lm9yZz4gd3JvdGU6DQo+Pj4+DQo+Pj4+ICAgDQo+Pj4+IEhlbGxvIEFr aSwNCj4+Pj4NCj4+Pj4gVGhhbmsgeW91IGZvciB0aGUgY2xhcmlmaWNhdGlvbiDigJQgdGhhdCBp cyB2ZXJ5IGVuY291cmFnaW5nIG5ld3MuDQo+Pj4+IEhlcmUgYXJlIGNvbmNyZXRlIGV4YW1wbGVz IG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb25zIHVzZWQgaW4gbXkgcnVsZXNldCwgYWxvbmcgd2l0 aCB0aGUgc2lldmUtdGVzdCBlcnJvciBtZXNzYWdlcyB0aGV5IHByb2R1Y2U6DQo+Pj4+DQo+Pj4+ IEV4YW1wbGUgMSDigJQgaGVhZGVyIDpyZWdleCB0ZXN0Og0KPj4+Pg0KPj4+PiAgICBpZiBoZWFk ZXIgOnJlZ2V4ICJYLVNwYW0tU3RhdHVzIiAiKD9pKXNjb3JlPVsxLTldIiB7DQo+Pj4+DQo+Pj4+ ICAgIEVycm9yOiBpbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiAnKD9pKXNjb3JlPVsxLTldJyBm b3IgcmVnZXggbWF0Y2g6DQo+Pj4+ICAgICAgICAgICBpbnZhbGlkIHByZWNlZGluZyByZWd1bGFy IGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4gRXhhbXBsZSAyIOKAlCBoZWFkZXIgOnJlZ2V4IHRlc3Q6 DQo+Pj4+DQo+Pj4+ICAgIGlmIGhlYWRlciA6cmVnZXggImZyb20iICIoP2kpZ3JvdXBzXC5nb29n bGVcLmNvbSIgew0KPj4+Pg0KPj4+PiAgICBFcnJvcjogaW52YWxpZCByZWd1bGFyIGV4cHJlc3Np b24gJyg/aSlncm91cHNcLmdvb2dsZVwuY29tJyBmb3IgcmVnZXggbWF0Y2g6DQo+Pj4+ICAgICAg ICAgICBpbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4gRXhh bXBsZSAzIOKAlCBoZWFkZXIgOnJlZ2V4IHRlc3Qgd2l0aCBhbmNob3Jpbmc6DQo+Pj4+DQo+Pj4+ ICAgIGlmIGhlYWRlciA6cmVnZXggInN1YmplY3QiICJeKD9pKShyZXxmd2QpOiIgew0KPj4+Pg0K Pj4+PiAgICBFcnJvcjogaW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gJ14oP2kpKHJlfGZ3ZCk6 JyBmb3IgcmVnZXggbWF0Y2g6DQo+Pj4+ICAgICAgICAgICBpbnZhbGlkIHByZWNlZGluZyByZWd1 bGFyIGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4gQWxsIGVycm9ycyBmb2xsb3cgdGhlIHNhbWUgcGF0 dGVybjogdGhlICg/aSkgaW5saW5lIGZsYWcgZm9yIGNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcg aXMgcmVqZWN0ZWQgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGV4cHJlc3Npb24g b3IgdGhlIGhlYWRlciBiZWluZyB0ZXN0ZWQuDQo+Pj4+DQo+Pj4+IFRoZSBmdWxsIHJlcXVpcmUg c3RhdGVtZW50IGF0IHRoZSB0b3Agb2YgdGhlIHNjcmlwdCBpczoNCj4+Pj4NCj4+Pj4gICAgcmVx dWlyZSBbImZpbGVpbnRvIiwgInJlamVjdCIsICJ2YWNhdGlvbiIsICJyZWdleCIsICJjb3B5IiwN Cj4+Pj4gICAgICAgICAgICAgImJvZHkiLCAidmFyaWFibGVzIiwgImltYXA0ZmxhZ3MiLCAiZWRp dGhlYWRlciJdOw0KPj4+Pg0KPj4+PiBzaWV2ZS10ZXN0IGlzIGludm9rZWQgYXMgZm9sbG93czoN Cj4+Pj4NCj4+Pj4gICAgc2lldmUtdGVzdCBcDQo+Pj4+ICAgICAgLXggImZpbGVpbnRvIHJlZ2V4 IGNvcHkgYm9keSB2YXJpYWJsZXMgaW1hcDRmbGFncyBlZGl0aGVhZGVyIiBcDQo+Pj4+ICAgICAg LXQgL3RtcC90cmFjZS50eHQgXA0KPj4+PiAgICAgIH4vc2lldmUtdGVzdC9ydWxlcy92NF8wXzEz LnNpZXZlIFwNCj4+Pj4gICAgICA8bWFpbC5lbWw+DQo+Pj4+DQo+Pj4+IERvdmVjb3QgdmVyc2lv bjogMjoyLjQuNC01K3VidW50dTI0LjA0IChmcm9tIHJlcG8uZG92ZWNvdC5vcmcpDQo+Pj4+IFVi dW50dTogMjQuMDQuMyBMVFMgKE5vYmxlKSwgV1NMMg0KPj4+Pg0KPj4+PiBUaGFuayB5b3UgdmVy eSBtdWNoIGZvciBsb29raW5nIGludG8gdGhpcy4NCj4+Pj4NCj4+Pj4gQmVzdCByZWdhcmRzLA0K Pj4+PiBNaWNoYWVsIE1lcnoNCj4+Pj4gbWljaGFlbC5tZXJ6QHd0bmV0LmRlDQo+Pj4+DQo+Pj4+ IE1pY2hhZWwgTWVyeg0KPj4+PiBCYXJna29wcGVsIDE1LCAyMjg0NCBOb3JkZXJzdGVkdA0KPj4+ PiBNb2JpbCAwMTcyIDQwNDkxNzENCj4+Pj4NCj4+Pj4gLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNo cmljaHQtLS0tLQ0KPj4+PiBWb246IEFraSBUdW9taSB2aWEgZG92ZWNvdCA8ZG92ZWNvdEBkb3Zl Y290Lm9yZz4NCj4+Pj4gR2VzZW5kZXQ6IEZyZWl0YWcsIDEwLiBKdWxpIDIwMjYgMTk6MTYNCj4+ Pj4gQW46IG1pY2hhZWwubWVyekB3dG5ldC5kZTsgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290IA0K Pj4+PiA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4NCj4+Pj4gQ2M6IFN0ZXBoYW4gQm9zY2ggPHN0ZXBo YW5AcmVuYW1lLWl0Lm5sPg0KPj4+PiBCZXRyZWZmOiBSZTogQVc6IHNpZXZlLXRlc3QgKFBpZ2Vv bmhvbGUpIG9uIFVidW50dTogUENSRSBzdXBwb3J0IA0KPj4+PiBhbmQgYWRkcmVzcyB0ZXN0IHJl c3RyaWN0aW9ucyBvbiBSZXR1cm4tUGF0aA0KPj4+Pg0KPj4+PiBCdWlsZCBvcHRpb25zIGRvZXMg bm90IGluY2x1ZGUgYWxsIGJ1aWxkIG9wdGlvbnMsIHVuZm9ydHVuYXRlbHkuICJpbnZhbGlkIHBy ZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24iIG1lYW5zIHRoZSBQQ1JFIGlzIGF2YWlsYWJsZSwg dGhlIGVycm9yIHdvdWxkIGJlIGNsZWFyIHRoYXQgdGhlcmUgaXMgbm8gUENSRSBzdXBwb3J0IGlm IGl0IHdhcyBtaXNzaW5nLg0KPj4+Pg0KPj4+PiBDYW4geW91IHByb3ZpZGUgdGhlIGV4YWN0IHJl Z3VsYXIgZXhwcmVzc2lvbiwgYW5kIGhvdyB5b3UgYXJlIHVzaW5nIGl0Pw0KPj4+Pg0KPj4+PiBB a2kNCj4+Pj4NCj4+Pj4+IE9uIDEwLzA3LzIwMjYgMjA6MDYgRUVTVCBNaWNoYWVsIE1lcnogdmlh IGRvdmVjb3QgPGRvdmVjb3RAZG92ZWNvdC5vcmc+IHdyb3RlOg0KPj4+Pj4NCj4+Pj4+ICAgDQo+ Pj4+PiBIZWxsbyBBa2ksDQo+Pj4+Pg0KPj4+Pj4gVGhhbmsgeW91IGZvciB0aGUgcG9pbnRlciB0 byBodHRwczovL3JlcG8uZG92ZWNvdC5vcmcuDQo+Pj4+PiBJIGhhdmUgbm93IGluc3RhbGxlZCBE b3ZlY290IDIuNC40IGZyb20gdGhlIG9mZmljaWFsIHJlcG9zaXRvcnkgb24gVWJ1bnR1IDI0LjA0 IExUUyAoTm9ibGUpIGFuZCBjYW4gY29uZmlybSB0aGF0IHRoZSBwYWNrYWdlcyBhcmUgYXZhaWxh YmxlIGFuZCBpbnN0YWxsIGNvcnJlY3RseS4NCj4+Pj4+IEhvd2V2ZXIsIGNoZWNraW5nIHRoZSBi dWlsZCBvcHRpb25zIHNob3dzIHRoYXQgUENSRSBzdXBwb3J0IGlzIG5vdCBpbmNsdWRlZDoNCj4+ Pj4+DQo+Pj4+PiAgICAkIGRvdmVjb3QgLS1idWlsZC1vcHRpb25zDQo+Pj4+PiAgICBCdWlsZCBv cHRpb25zOiBpb2xvb3A9ZXBvbGwgbm90aWZ5PWlub3RpZnkgZXhwZXJpbWVudGFsLWltYXA0cmV2 MiBvcGVuc3NsIGlvX2Jsb2NrX3NpemU9ODE5Mg0KPj4+Pj4gICAgU1FMIGRyaXZlciBwbHVnaW5z OiBteXNxbCBwb3N0Z3Jlc3FsIHNxbGl0ZQ0KPj4+Pj4gICAgUGFzc2RiOiBsZGFwIHBhbSBwYXNz d2QgcGFzc3dkLWZpbGUgc3FsDQo+Pj4+PiAgICBVc2VyZGI6IGxkYXAocGx1Z2luKSBwYXNzd2Qg cHJlZmV0Y2ggcGFzc3dkLWZpbGUgc3FsDQo+Pj4+Pg0KPj4+Pj4gVGhlcmUgaXMgbm8gUENSRSBl bnRyeSwgYW5kIHNpZXZlLXRlc3Qgc3RpbGwgcmVqZWN0cyBhbGwgKD9pKSBpbmxpbmUgZmxhZ3Mg aW4gcmVnZXggZXhwcmVzc2lvbnMgd2l0aCAiaW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHBy ZXNzaW9uIi4NCj4+Pj4+IE1heSBJIGFzazogaXMgUENSRSBzdXBwb3J0IGludGVudGlvbmFsbHkg bm90IGluY2x1ZGVkIGluIHRoZSBvZmZpY2lhbCBEb3ZlY290L1BpZ2VvbmhvbGUgcGFja2FnZXMs IG9yIGlzIHRoaXMgYW4gb3ZlcnNpZ2h0IGluIHRoZSBidWlsZCBjb25maWd1cmF0aW9uPw0KPj4+ Pj4gSWYgUENSRSBpcyBub3QgcGxhbm5lZCB0byBiZSBpbmNsdWRlZCwgaXMgdGhlcmUgYSByZWNv bW1lbmRlZCBhbHRlcm5hdGl2ZSBhcHByb2FjaCBmb3IgYWNoaWV2aW5nIGNhc2UtaW5zZW5zaXRp dmUgcmVnZXggbWF0Y2hpbmcgaW4gUGlnZW9uaG9sZSdzIHNpZXZlLXRlc3QgdGhhdCB3b3VsZCBi ZSBjb21wYXRpYmxlIHdpdGggQ3lydXMgSU1BUGQncyBQQ1JFLWJhc2VkIHJlZ2V4IHN5bnRheD8N Cj4+Pj4+DQo+Pj4+PiBUaGFuayB5b3UgYWdhaW4gZm9yIHlvdXIgaGVscC4NCj4+Pj4+IEJlc3Qg cmVnYXJkcywNCj4+Pj4+IE1pY2hhZWwgTWVyeg0KPj4+Pj4gbWljaGFlbC5tZXJ6QHd0bmV0LmRl DQo+Pj4+Pg0KPj4+Pj4gLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KPj4+Pj4g Vm9uOiBBa2kgVHVvbWkgdmlhIGRvdmVjb3QgPGRvdmVjb3RAZG92ZWNvdC5vcmc+DQo+Pj4+PiBH ZXNlbmRldDogRnJlaXRhZywgMTAuIEp1bGkgMjAyNiAwNjo1MQ0KPj4+Pj4gQW46IE1pY2hhZWwg TWVyeiA8bWljaGFlbC5tZXJ6QHd0bmV0LmRlPjsgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290IA0K Pj4+Pj4gPGRvdmVjb3RAZG92ZWNvdC5vcmc+OyBTdGVwaGFuIEJvc2NoIDxzdGVwaGFuQHJlbmFt ZS1pdC5ubD4NCj4+Pj4+IEJldHJlZmY6IFJlOiBzaWV2ZS10ZXN0IChQaWdlb25ob2xlKSBvbiBV YnVudHU6IFBDUkUgc3VwcG9ydCBhbmQgDQo+Pj4+PiBhZGRyZXNzIHRlc3QgcmVzdHJpY3Rpb25z IG9uIFJldHVybi1QYXRoDQo+Pj4+Pg0KPj4+Pj4gWW91IGNhbiBnZXQgMi40LjQgcGFja2FnZXMg Zm9yIHVidW50dSAyNC4wNCBmcm9tIA0KPj4+Pj4gaHR0cHM6Ly9yZXBvLmRvdmVjb3Qub3JnDQo+ Pj4+Pg0KPj4+Pj4gQWtpDQo+Pj4+Pg0KPj4+Pj4+IE9uIDA5LzA3LzIwMjYgMjI6MjEgRUVTVCBN aWNoYWVsIE1lcnogdmlhIGRvdmVjb3QgPGRvdmVjb3RAZG92ZWNvdC5vcmc+IHdyb3RlOg0KPj4+ Pj4+DQo+Pj4+Pj4gICANCj4+Pj4+PiBEZWFyIFN0ZXBoYW4sDQo+Pj4+Pj4NCj4+Pj4+PiBUaGFu ayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIHF1aWNrIGFuZCBoZWxwZnVsIHJlc3BvbnNlLg0KPj4+ Pj4+DQo+Pj4+Pj4gUmVnYXJkaW5nIHBvaW50IDEgKFBDUkUgc3VwcG9ydCksIHlvdXIgY29tbWVu dCB0aGF0IFVidW50dSAyNC4wNCBpcyAibGlrZWx5IHN0dWNrIGF0IGEgcXVpdGUgb2xkIHZlcnNp b24gb2YgUGlnZW9uaG9sZSIgcmFpc2VzIGEgZm9sbG93LXVwIHF1ZXN0aW9uOg0KPj4+Pj4+DQo+ Pj4+Pj4gIEZyb20gd2hpY2ggdmVyc2lvbiBvZiBQaWdlb25ob2xlIG9ud2FyZHMgaXMgUENSRSBz dXBwb3J0IGluY2x1ZGVkIGJ5IGRlZmF1bHQgKGkuZS4gY29tcGlsZWQgaW4gd2l0aG91dCByZXF1 aXJpbmcgYW4gZXhwbGljaXQgLS13aXRoLXBjcmUgZmxhZyk/IEFuZCBpcyB0aGVyZSBhbiBvZmZp Y2lhbCByZXBvc2l0b3J5LCBQUEEsIG9yIHJlY29tbWVuZGVkIHdheSB0byBvYnRhaW4gYSBtb3Jl IHJlY2VudCBQaWdlb25ob2xlL2RvdmVjb3Qtc2lldmUgYmluYXJ5IGZvciBVYnVudHUgMjQuMDQg TFRTIHRoYXQgd291bGQgaW5jbHVkZSBQQ1JFIHN1cHBvcnQgb3V0IG9mIHRoZSBib3g/DQo+Pj4+ Pj4NCj4+Pj4+PiBSZWdhcmRpbmcgcG9pbnQgMiAoUmV0dXJuLVBhdGggLyBlbnZlbG9wZSB0ZXN0 KTogdGhhbmsgeW91IGZvciB0aGUgcG9pbnRlci4gSSB1bmRlcnN0YW5kIHRoYXQgdGhlIGVudmVs b3BlIHRlc3Qgd291bGQgYmUgdGhlIFJGQy1jb21wbGlhbnQgYWx0ZXJuYXRpdmUgd2l0aGluIFBp Z2VvbmhvbGUuIEhvd2V2ZXIsIHNpbmNlIG15IHJ1bGVzZXQgcnVucyBvbiBhIEN5cnVzIGJhY2tl bmQgd2hlcmUgdGhlIGFkZHJlc3MgdGVzdCBvbiBSZXR1cm4tUGF0aCB3b3JrcyBmaW5lLCB0aGlz IHdvdWxkIG1lYW4gbWFpbnRhaW5pbmcgdHdvIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgcnVs ZXNldCDigJQgb25lIGZvciBwcm9kdWN0aW9uIChDeXJ1cykgYW5kIG9uZSBmb3Igb2ZmbGluZSB0 ZXN0aW5nIChQaWdlb25ob2xlKS4gVGhhdCBzb21ld2hhdCBkZWZlYXRzIHRoZSBwdXJwb3NlIG9m IG9mZmxpbmUgdGVzdGluZywgc28gSSBtZW50aW9uIGl0IG9ubHkgZm9yIGNvbXBsZXRlbmVzcy4N Cj4+Pj4+Pg0KPj4+Pj4+IFRoZSBrZXkgcXVlc3Rpb24gdGhlcmVmb3JlIHJlbWFpbnMgd2hldGhl ciBhIFBDUkUtZW5hYmxlZCBQaWdlb25ob2xlIGJpbmFyeSBpcyByZWFsaXN0aWNhbGx5IG9idGFp bmFibGUgZm9yIFVidW50dSAyNC4wNCwgYXMgdGhhdCB3b3VsZCByZXNvbHZlIHRoZSBtYWluIGJs b2NrZXIuDQo+Pj4+Pj4NCj4+Pj4+PiBUaGFuayB5b3UgYWdhaW4gZm9yIHlvdXIgdGltZS4NCj4+ Pj4+Pg0KPj4+Pj4+IEJlc3QgcmVnYXJkcywNCj4+Pj4+PiBNaWNoYWVsIE1lcnoNCj4+Pj4+Pg0K Pj4+Pj4+IHZvbiBtZWluZW0gaVBhZCBQcm8gNEdlbiBnZXNlbmRldA0KPj4+Pj4+DQo+Pj4+Pj4+ IEFtIDA5LjA3LjIwMjYgdW0gMTg6Mzkgc2NocmllYiBTdGVwaGFuIEJvc2NoIDxzdGVwaGFuQHJl bmFtZS1pdC5ubD46DQo+Pj4+Pj4+DQo+Pj4+Pj4+IO+7vw0KPj4+Pj4+PiBPcCAyOS02LTIwMjYg b20gMDk6NTYgc2NocmVlZiBtaWNoYWVsLm1lcnotLS0gdmlhIGRvdmVjb3Q6DQo+Pj4+Pj4+PiAg ICAgSGVsbG8sDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgSSd2 ZSBiZWVuIGV2YWx1YXRpbmcgc2lldmUtdGVzdCAoUGlnZW9uaG9sZSwgZG92ZWNvdC1zaWV2ZSBw YWNrYWdlLA0KPj4+Pj4+Pj4gICAgIHZlcnNpb24gMi4zLjIxLCBhcyBzaGlwcGVkIHdpdGggVWJ1 bnR1IDI0LjA0IExUUykgYXMgYW4gb2ZmbGluZSB0ZXN0aW5nDQo+Pj4+Pj4+PiAgICAgdG9vbCBm b3IgYSBwZXJzb25hbCBTaWV2ZSBydWxlc2V0IHRoYXQgY3VycmVudGx5IHJ1bnMgb24gYSBDeXJ1 cyBJTUFQZC9DTVUNCj4+Pj4+Pj4+ICAgICBTaWV2ZSAzLjAgYmFja2VuZC4NCj4+Pj4+Pj4NCj4+ Pj4+Pj4gRGlmZmVyZW50IGltcGxlbWVudGF0aW9uIGFuZCBkZXNpZ24gY2hvaWNlcyB3aWxsIG1l YW4gdGhhdCBEb3ZlY290IGhhcyBhIGRpZmZlcmVudCBvcGluaW9uIHdoYXQgaXMgYSB2YWxpZCBT aWV2ZSBzY3JpcHQgYW5kIGhvdyBpdCBpcyB0byBiZSBldmFsdWF0ZWQgdGhhbiBDeXJ1cywgbWFr aW5nIHRoaXMgcHJvYmxlbWF0aWMuDQo+Pj4+Pj4+DQo+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgSSdk IGxpa2UgdG8gYXNrIGZvciBzb21lIGNsYXJpZmljYXRpb24gb24gdHdvIHBvaW50cywgaW4gY2Fz ZSBJJ20gbWlzc2luZw0KPj4+Pj4+Pj4gICAgIGEgY29uZmlndXJhdGlvbiBvcHRpb24uDQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgMSkgUENSRSBzdXBwb3J0DQo+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgTXkgcnVsZXNldCBtYWtl cyBleHRlbnNpdmUgdXNlIG9mIHRoZSBgKD9pKWAgaW5saW5lIGNhc2UtaW5zZW5zaXRpdml0eQ0K Pj4+Pj4+Pj4gICAgIGZsYWcgd2l0aGluIDpyZWdleCB0ZXN0cywgd2hpY2ggaXMgdmFsaWQgdW5k ZXIgUENSRSAoYXMgdXNlZCBieSBDeXJ1cykuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIFdoZW4g cnVubmluZyBzaWV2ZS10ZXN0LCBJIGdldDoNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+ICAgICAgIGVycm9yOiBpbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiAnKD9pKS4u LicgZm9yIHJlZ2V4IG1hdGNoOg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICAgIGludmFsaWQgcHJl Y2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbi4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+ICAgICBDaGVja2luZyBgZG92ZWNvdCAtLWJ1aWxkLW9wdGlvbnNgIHNob3dzIG5v IFBDUkUgZW50cnksIHdoaWNoIHN1Z2dlc3RzIHRoZQ0KPj4+Pj4+Pj4gICAgIFVidW50dS1wYWNr YWdlZCBiaW5hcnkgd2FzIGNvbXBpbGVkIHdpdGhvdXQgLS13aXRoLXBjcmUgYW5kIGZhbGxzIGJh Y2sgdG8NCj4+Pj4+Pj4+ICAgICBQT1NJWCBleHRlbmRlZCByZWdleC4NCj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBRdWVzdGlvbjogSXMgUENSRSBzdXBwb3J0IGlu IFBpZ2VvbmhvbGUncyByZWdleCBleHRlbnNpb24gcHVyZWx5IGENCj4+Pj4+Pj4+ICAgICBjb21w aWxlLXRpbWUgZGVjaXNpb24gKGkuZS4gc29tZXRoaW5nIHRoYXQgd291bGQgbmVlZCB0byBiZSBh ZGRyZXNzZWQgYXQNCj4+Pj4+Pj4+ICAgICB0aGUgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBsZXZl bCwgbm90IHZpYSBydW50aW1lIGNvbmZpZ3VyYXRpb24pLCBvciBpcw0KPj4+Pj4+Pj4gICAgIHRo ZXJlIGEgcnVudGltZSB3YXkgdG8gZW5hYmxlIFBDUkUgbWF0Y2hpbmcgdGhhdCBJIG1pZ2h0IGhh dmUgbWlzc2VkIChlLmcuDQo+Pj4+Pj4+PiAgICAgdmlhIC1vLCBzaWV2ZV9leHRlbnNpb25zLCBv ciBzaW1pbGFyKT8NCj4+Pj4+Pj4NCj4+Pj4+Pj4gSXQgaXMgc3RyaWN0bHkgY29tcGlsZS10aW1l IGNvbmZpZ3VyZWQuIEkgZGlkbid0IGltcGxlbWVudCB0aGUgUENSRSBtaWdyYXRpb24gbXlzZWxm LCBidXQgSSBkb24ndCB0aGluayB0aGVyZSBpcyBhIFBPU0lYIHJlZ2V4IGZhbGxiYWNrIGZvciBp dC4gVGhpcyBsaWtlbHkgbWVhbnMgeW91ciBVYnVudHUgdmVyc2lvbiBpcyBzdGlsbCBzdHVjayBh dCBhIHF1aXRlIG9sZCB2ZXJzaW9uIG9mIFBpZ2VvbmhvbGUuDQo+Pj4+Pj4+DQo+Pj4+Pj4+DQo+ Pj4+Pj4+PiAgICAgMikgUmV0dXJuLVBhdGggaW4gdGhlIGBhZGRyZXNzYCB0ZXN0DQo+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgU2V2ZXJhbCBvZiBteSBydWxlcyB1 c2U6DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgICBhZGRyZXNz IDpkb21haW4gOmlzICJyZXR1cm4tcGF0aCIgIi4uLiINCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+ Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBDeXJ1cyBhY2NlcHRzIHRoaXMuIFBpZ2VvbmhvbGUncyBzaWV2 ZS10ZXN0IHJlamVjdHMgaXQgd2l0aDoNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+ICAgICAgIGVycm9yOiBzcGVjaWZpZWQgaGVhZGVyICdyZXR1cm4tcGF0aCcgaXMgbm90 IGFsbG93ZWQgZm9yIA0KPj4+Pj4+Pj4gdGhlDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgICAgYWRk cmVzcyB0ZXN0Lg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIEkg dW5kZXJzdGFuZCB0aGlzIGlzIGxpa2VseSBhbiBSRkMgNTIyOCBzdHJpY3RuZXNzIGRpZmZlcmVu Y2UgKEN5cnVzIGJlaW5nDQo+Pj4+Pj4+PiAgICAgbW9yZSBwZXJtaXNzaXZlIHRoYW4gdGhlIFJG QyByZXF1aXJlcykuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIElzIHRoZXJlIGEgcmVjb21tZW5k ZWQgYWx0ZXJuYXRpdmUgd2l0aGluIFNpZXZlIGl0c2VsZiB0byBhY2hpZXZlIHRoZSBzYW1lDQo+ Pj4+Pj4+PiAgICAgZWZmZWN0ICh0ZXN0aW5nIHRoZSBhZGRyZXNzIHBvcnRpb24gb2YgUmV0dXJu LVBhdGgpIHdoaWxlIHN0YXlpbmcgd2l0aGluDQo+Pj4+Pj4+PiAgICAgd2hhdCBQaWdlb25ob2xl IGFjY2VwdHMgLS0gZS5nLiB2aWEgdGhlIGBoZWFkZXJgIHRlc3QgY29tYmluZWQgd2l0aCBzb21l DQo+Pj4+Pj4+PiAgICAgYWRkcmVzcy1wYXJzaW5nIGFwcHJvYWNoLCBvciB2aWEgdGhlIGVudmVs b3BlIHRlc3QgaW5zdGVhZD8NCj4+Pj4+Pj4NCj4+Pj4+Pj4gRW52ZWxvcGUgdGVzdCBpcyBiZXN0 IGlmIHlvdSB3YW50IHRvIHVzZSBhZGRyZXNzIG1hdGNoaW5nLg0KPj4+Pj4+Pg0KPj4+Pj4+Pg0K Pj4+Pj4+Pj4gICAgIEZvciBjb250ZXh0OiBJJ20gbm90IHJ1bm5pbmcgYSBEb3ZlY290IG1haWwg c2VydmVyIG15c2VsZi4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgSSdtIHVzaW5nIHNpZXZlLXRl c3QgcHVyZWx5IGFzIGFuIG9mZmxpbmUgc3ludGF4L2JlaGF2aW91ciB2ZXJpZmljYXRpb24NCj4+ Pj4+Pj4+ICAgICB0b29sIGJlZm9yZSBkZXBsb3lpbmcgcnVsZXNldCBjaGFuZ2VzIHRvIGEgc2Vw YXJhdGUgQ3lydXMtYmFzZWQgcHJvZHVjdGlvbg0KPj4+Pj4+Pj4gICAgIHN5c3RlbS4NCj4+Pj4+ Pj4+DQo+Pj4+Pj4+PiAgICAgSSB1bmRlcnN0YW5kIHRoaXMgaXMgYSBiaXQgb2YgYW4gdW51c3Vh bCB1c2UgY2FzZSwgc28gYW55IGd1aWRhbmNlIG9uDQo+Pj4+Pj4+PiAgICAgd2hldGhlciBQaWdl b25ob2xlIGlzIHdlbGwgc3VpdGVkIGZvciB0aGlzIGtpbmQgb2YgY3Jvc3MtaW1wbGVtZW50YXRp b24NCj4+Pj4+Pj4+ICAgICB0ZXN0aW5nIGF0IGFsbCB3b3VsZCBhbHNvIGJlIGFwcHJlY2lhdGVk Lg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIFRoYW5rIHlvdSBm b3IgeW91ciB0aW1lIGFuZCBmb3IgbWFpbnRhaW5pbmcgUGlnZW9uaG9sZS4NCj4+Pj4+Pj4+DQo+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBCZXN0IHJlZ2FyZHMsDQo+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4gICAgIE1pY2hhZWwgTWVyeg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+Pj4+Pj4+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVj b3Qub3JnIFRvIHVuc3Vic2NyaWJlIHNlbmQgDQo+Pj4+Pj4+PiBhbiBlbWFpbCB0byBkb3ZlY290 LWxlYXZlQGRvdmVjb3Qub3JnDQo+Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4+Pj4+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290 QGRvdmVjb3Qub3JnIFRvIHVuc3Vic2NyaWJlIHNlbmQgDQo+Pj4+Pj4gYW4gZW1haWwgdG8gZG92 ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0KPj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCj4+Pj4+IGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVj b3RAZG92ZWNvdC5vcmcgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiANCj4+Pj4+IGVtYWlsIHRvIGRv dmVjb3QtbGVhdmVAZG92ZWNvdC5vcmcNCj4+Pj4+DQo+Pj4+PiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+Pj4gZG92ZWNvdCBtYWlsaW5nIGxpc3Qg LS0gZG92ZWNvdEBkb3ZlY290Lm9yZyBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIA0KPj4+Pj4gZW1h aWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0KPj4+PiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAt LSBkb3ZlY290QGRvdmVjb3Qub3JnIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gDQo+Pj4+IGVtYWls IHRvIGRvdmVjb3QtbGVhdmVAZG92ZWNvdC5vcmcNCj4+Pj4NCj4+Pj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+Pj4gZG92ZWNvdCBtYWlsaW5nIGxp c3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZyBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIA0KPj4+PiBl bWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQo+PiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4gZG92ZWNvdCBtYWlsaW5nIGxpc3QgLS0g ZG92ZWNvdEBkb3ZlY290Lm9yZyBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIA0KPj4gZW1haWwgdG8g ZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0KPj4NCj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3Zl Y290QGRvdmVjb3Qub3JnIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gDQo+PiBlbWFpbCB0byBkb3Zl Y290LWxlYXZlQGRvdmVjb3Qub3JnDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+IGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNv dC5vcmcgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiANCj4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBk b3ZlY290Lm9yZw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCmRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcgVG8gdW5zdWJz Y3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQoNCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRvdmVjb3QgbWFpbGlu ZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFp bCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnCg==