Re: AW: NFC normalization rename errors after 2.3 to 2.4 upgrade (mdbox)
Michael Goth via dovecot <[email protected]> Mon, 6 Jul 2026 07:39:27 +0200
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <[email protected]> |
SGkhDQoNCmJhY2sgd2hlbiB3ZSBoaXQgdGhpcyBpc3N1ZSwgSSBkaWQgc29tZSBtb3JlIGRpZ2dp bmcgYW5kIEkgdGhpbmsgSSBmb3VuZCANCnRoZSByb290IGNhdXNlIG9mIHRoZSBwcm9ibGVtOg0K DQoNClRMRFI6IEFmdGVyIHJlbmFtaW5nIGEgbWFpbGJveCBmcm9tIG5vbi1ORkMgdG8gTkZDLWZv cm0sIHRoZSANCnN1YnNjcmlwdGlvbiBpcyBub3QgdXBkYXRlZCBmcm9tIG5vbi1ORkMgdG8gTkZD LiBUaGlzIGNvbnN0YW50bHkgDQp0cmlnZ2VycyBhIGZhbGxiYWNrIGNvZGUgcGF0aCB3aGljaCBj YXVzZXMgaW50ZXJlc3Rpbmcgc2lkZS1lZmZlY3RzLg0KDQoNClRoZSBkZXRhaWxzOg0KDQpJbiB0 aGUgYmVnaW5uaW5nLCB0aGUgbWRib3gvc3Vic2NyaXB0aW9ucyBmaWxlIGNvbnRhaW5zIGFuIGVu dHJ5IGluIA0Kbm9uLU5GQyBtVVRGNzogJ0RBJkF3Zy0gS05BVFNDSCcgVGhlIGRpcmVjdG9yeSBp biBtZGJveC9tYWlsYm94ZXMgYWxzbyANCmhhcyB0aGlzIG5vbi1ORkMgbVVURjcgbmFtZTogJ0RB JkF3Zy0gS05BVFNDSCcuDQoNCkFzIHNvb24gYXMgYW4gSU1BUCBjbGllbnQgbGlzdHMgdGhlIGZv bGRlcnMsIERvdmVjb3Qgc2lsZW50bHkgcmVuYW1lcyANCnRoZSBub24tTkZDIG1haWxib3ggZGly ZWN0b3J5IHRvIGl0cyBORkMgZm9ybSBvbiBkaXNrLCBhcyBzZWVuIGluIHRoZSANCmxvZ3Mgd2l0 aCAnbWFpbF9kZWJ1ZyA9IHllcyc6DQoNCkRlYnVnOiBNYWlsYm94ICdEw4QgS05BVFNDSCcgcmVu YW1lZCBmb3IgTkZDIG5vcm1hbGl6YXRpb24NCg0KSW4gbWRib3gvbWFpbGJveGVzLCB0aGUgZGly ZWN0b3J5IGlzIG5vdyBjYWxsZWQgJ0QmQU1RLSBLTkFUU0NIJy4gQnV0IA0KdGhlIGVudHJ5IGlu IG1kYm94L3N1YnNjcmlwdGlvbnMgaXMgbm90IHVwZGF0ZWQgYW5kIHN0aWxsIGNvbnRhaW5zIHRo ZSANCm5vbi1ORkMgZm9ybSAnREEmQXdnLSBLTkFUU0NIJy4NCg0KVGhlIG5leHQgdGltZSBhIGNs aWVudCBjb25uZWN0cywgaXQgYWdhaW4gdHJpZXMgdG8gYWNjZXNzIHRoZSAnREEmQXdnLSANCktO QVRTQ0gnIGZvbGRlci4NCk5vdyBEb3ZlY290IHRyaWVzIF9hZ2Fpbl8gdG8gcmVuYW1lICdEQSZB d2ctIEtOQVRTQ0gnIGludG8gaXRzIE5GQy1mb3JtLiANCkJ1dCB0aGlzIGZhaWxzLCBiZWNhdXNl IHRoZSB0YXJnZXQgZGlyZWN0b3J5ICdEJkFNUS0gS05BVFNDSCcgYWxyZWFkeSANCmV4aXN0cy4N ClRoaXMgaW4gdHVybiB0cmlnZ2VycyB0aGUgZmFsbGJhY2sgY29kZSBwYXRoIHdoaWNoIG5vdyB0 cmllcyB0byByZW5hbWUgDQonREEmQXdnLSBLTkFUU0NIJyBpbnRvIHNvbWV0aGluZyBsaWtlICdE JkFNUS0gDQpLTkFUU0NILTU4NGM1YTAxMzAzZjE5NmEyNjc0MmMwMDkxMWRjY2I3Jy4gVGhpcyBh bHNvIGZhaWxzIGJlY2F1c2UgdGhlIA0Kbm9uLU5GQyBzb3VyY2UgZGlyZWN0b3J5ICdEQSZBd2ct IEtOQVRTQ0gnIGRvZXNuJ3QgZXhpc3QgYW55bW9yZS4gVGhpcyANCmVycm9yIHRyaWdnZXJzIHRo ZSBtZXNzYWdlIHdlIHNlZSBpbiB0aGUgbG9nczoNCg0KRXJyb3I6IEZhaWxlZCB0byByZW5hbWUg bWFpbGJveCAnREHMiCBLTkFUU0NIJyBmb3IgTkZDIG5vcm1hbGl6YXRpb246IA0KTWFpbGJveCBk b2Vzbid0IGV4aXN0OiBEQcyIIEtOQVRTQ0gNCg0KDQpBdCB0aGlzIHBvaW50LCB0aGUgZm9sZGVy IHNob3dzIHVwIGFzIHVuc3Vic2NyaWJlZCBpbiBSb3VuZGN1YmUuIElmIEkgDQpyZXN1YnNjcmli ZSBpbiBSb3VuZGN1YmUsIEkgY2FuIGFjY2VzcyB0aGUgbWFpbHMgZmluZS4gVGhlIA0KbWRib3gv c3Vic2NyaXB0aW9ucyBmaWxlIG5vdyBoYXMgdHdvIGVudHJpZXM6DQoNCkRBJkF3Zy0gS05BVFND SA0KRCZBTVEtIEtOQVRTQ0gNCg0KDQpTbyB0aGUgcm9vdCBwcm9ibGVtIHNlZW1zIHRvIGJlIHRo ZSBub24tTkZDLWVudHJ5IGluIG1kYm94L3N1YnNjcmlwdGlvbnMgDQp3aGljaCBkb2Vzbid0IGdl dCB1cGRhdGVkIGFmdGVyIHJlbmFtaW5nIHRoZSBtYWlsYm94IHRvIGl0cyBORkMgZm9ybS4NCg0K DQojIExpc3QgdGhlIG1haWxib3hlcyBvZiB0aGUgdXNlciB0byB0cmlnZ2VyIGEgcmVuYW1lIG9m IHRoZSBkaXJlY3RvcnkNCiQ+IGJpbi9kb3ZlYWRtIG1haWxib3ggbGlzdCAtdSBub24tbmZjLXVz ZXINCi4uLg0KRMOEIEtOQVRTQ0gNCi4uLg0KDQojIFJlc3Vic2NyaWJlIHdpdGggdGhlIG91dHB1 dCBmcm9tIHRoZSBhYm92ZSBjb21tYW5kLiBUaGlzIGFkZHMgdGhlIA0KY29ycmVjdCBzdWJzY3Jp cHRpb24uDQokPiBiaW4vZG92ZWFkbSBtYWlsYm94IHN1YnNjcmliZSAtdSBub24tbmZjLXVzZXIg IkTDhCBLTkFUU0NIIg0KDQpJIHRyaWVkIHRvIHVuc3Vic2NyaWJlIHRoZSBub24tTkZDIGZvcm0s IGJ1dCB0aGF0IG9ubHkgdW5zdWJzY3JpYmVzIHRoZSANCk5GQyBmb3JtLiBBcHBhcmVudGx5IHRo ZSBub24tTkZDIGZvcm0gZ2V0cyBub3JtYWxpemVkIHRvIE5GQyBiZWZvcmUgDQp1bnN1YnNjcmli aW5nLg0KDQoNCkJ1dCB3YWl0LCB0aGVyZSdzIG1vcmUhDQoNCkFzIGxvbmcgYXMgdGhlIG5vbi1O RkMgZW50cnkgc3RheXMgaW4gbWRib3gvc3Vic2NyaXB0aW9ucywgd2UgaGl0IHRoZSANCmZhbGxi YWNrIGNvZGVwYXRoIHdoZW5ldmVyIHNvbWV0aGluZyBpdGVyYXRlcyBvdmVyIHRoZSBtYWlsYm94 ZXMuDQpCZWNhdXNlIG9mIHRoaXMsIERvdmVjb3QgZG9lcyBub3QgcmVwb3J0IHRoZSBub24tTkZD IG1haWxib3ggbmFtZSBpbiBpdHMgDQpzdWJzY3JpcHRpb24gbGlzdCwgYnV0IHRoZSBvbmUgd2l0 aCB0aGUgR1VJRC1zdWZmaXg6DQoNCiQ+IGRvdmVhZG0gbWFpbGJveCBsaXN0IC1zIC11IG5vbi1u ZmMtdXNlcg0KZG92ZWFkbShub24tbmZjLXVzZXIpOiBFcnJvcjogRmFpbGVkIHRvIHJlbmFtZSBt YWlsYm94ICdEQcyIIEtOQVRTQ0gnIGZvciANCk5GQyBub3JtYWxpemF0aW9uOiBNYWlsYm94IGRv ZXNuJ3QgZXhpc3Q6IERBzIggS05BVFNDSA0KRMOEIEtOQVRTQ0ggPC0tIFRoaXMgaXMgdGhlIE5G QyBzdWJzY3JpcHRpb24NCi4uLg0KRMOEIEtOQVRTQ0gtYTBmZGQ4MDZhMjUwMTk2YTZhYWEyYzAw OTExZGNjYjcgPC0tIHRoZSBicm9rZW4gbm9uLU5GQyANCnN1YnNjcmlwdGlvbg0KDQpSb3VuZGN1 YmUganVzdCBzZWVtcyB0byBpZ25vcmUgdGhlIEdVSUQgb25lIGJlY2F1c2Ugbm8gc3VjaCBtYWls Ym94IGV4aXN0cy4NCg0KDQoNClNvIEkgdGhpbmsgdXBkYXRpbmcgdGhlIG1haWxib3ggbmFtZSB0 byBORkMgc2hvdWxkIGFsc28gdXBkYXRlIGFueSANCm1hdGNoaW5nIHN1YnNjcmlwdGlvbnMgb2Yg dGhlIHVzZXIuIE90aGVyd2lzZSwgdGhlIHN1YnNjcmlwdGlvbiBnZXRzIA0KbG9zdCBhbmQgd2Ug Z2V0IGNvbnN0YW50IGVycm9ycyBpbiB0aGUgbG9ncy4NCg0KDQpIVEgsDQogIE1pY2hhZWwNCg0K DQpPbiA3LzMvMjYgMTU6NTUsIEplbnMgVXJiYW4gdmlhIGRvdmVjb3Qgd3JvdGU6DQo+ICAgICBI aSwNCj4gICAgIER1cmluZyB0aGUgdXBncmFkZSBmcm9tIERvdmVjb3QgMi4zLjIxLjEgKGQ0OTIy MzZmYTApIHRvIDIuNC40LTUrZGViaWFuMTINCj4gICAgICg4YjY4N2FhNjVjKSwgd2Ugbm90aWNl ZCB0aGF0IHRoaXMgZXJyb3IgYWxzbyBvY2N1cnJlZCBpbiBvdXIgZW52aXJvbm1lbnQuDQo+ICAg ICBUaGUgZXJyb3IgYXBwZWFycyByZXBlYXRlZGx5IGluIHRoZSBsb2cgZmlsZS4gVW5mb3J0dW5h dGVseSwgd2Ugd2VyZSBub3QNCj4gICAgIGFibGUgdG8gcmVwcm9kdWNlIGl0IG1hbnVhbGx5LiBX ZSB0cmllZCBtYW55IG9wZXJhdGlvbnMgd2l0aCB0aGUgYWZmZWN0ZWQNCj4gICAgIG1haWxib3gg dXNpbmcgb3VyIHdlYm1haWwgZnJvbnRlbmQsIGJ1dCBub25lIG9mIHRoZW0gdHJpZ2dlcmVkIHRo ZSBlcnJvci4NCj4gICAgIE1vcmUgb3IgbGVzcyBieSBhY2NpZGVudCwgd2UgZm91bmQgYSBzaW1w bGUgd2F5IHRvIHJlcHJvZHVjZSBpdDoNCj4gICAgICJkb3ZlYWRtIG1haWxib3ggbGlzdCAtdSBV U0VSIC1zIg0KPiAgICAgV2l0aG91dCB0aGUgIi1zIiBvcHRpb24sIHRoZSBlcnJvciBkb2VzIG5v dCBvY2N1ci4NCj4gICAgIFRoZSBhdHRhY2hlZCBpbmZvcm1hdGlvbiBtYXkgYmUgdXNlZnVsIGZv ciBkZWJ1Z2dpbmcuIEl0IHNlZW1zIGhlbHBmdWwNCj4gICAgIGJlY2F1c2UgdGhlIHByb2JsZW0g Y2FuIG5vdyBiZSByZXByb2R1Y2VkIG9uIGRlbWFuZC4gTWF5YmUgdGhlICItcyIgY29kZQ0KPiAg ICAgcGF0aCAoc3Vic2NyaWJlZCBtYWlsYm94ZXMpIGdpdmVzIGEgaGludCB3aGVyZSB0aGUgcHJv YmxlbSBjb21lcyBmcm9tLg0KPiAgICAgUGxlYXNlIHNlZSB0aGUgYXR0YWNoZWQgb2JzZXJ2YXRp b25zIGFuZCBoZXggZHVtcHMgZm9yIG1vcmUgZGV0YWlscyAodGhlDQo+ICAgICBzdHJhY2UgbWFp bGJveCBuYW1lIGNvbWVzIGZyb20gInN0cmFjZSBkb3ZlYWRtIG1haWxib3ggbGlzdCAgLXUgVVNF UiAtcykiDQo+ICAgICA6DQo+ICAgICBSZWdhcmRzLA0KPiAgICAgSmVucw0KPiANCj4gICAgICAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAgICBOYW1l IGZyb20gc3RyYWNlOg0KPiAgICAgRnUmQXdnLWhyZXJzY2hlaW4NCj4gICAgIDAwMDAwMDAwICA0 NiA3NSAyNiA0MSA3NyA2NyAyZCA2OCAgNzIgNjUgNzIgNzMgNjMgNjggNjUgNjkNCj4gICAgICB8 RnUmQXdnLWhyZXJzY2hlaXwNCj4gICAgIDAwMDAwMDEwICA2ZSAwYSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxuLnwNCj4gICAgIDAwMDAwMDEyDQo+ICAgICBO YW1lIGZyb20gZmlsZXN5c3RlbSAobHMgLU5kKToNCj4gICAgIEYmQVB3LWhyZXJzY2hlaW4NCj4g ICAgIDAwMDAwMDAwICA0NiAyNiA0MSA1MCA3NyAyZCA2OCA3MiAgNjUgNzIgNzMgNjMgNjggNjUg NjkgNmUNCj4gICAgICB8RiZBUHctaHJlcnNjaGVpbnwNCj4gICAgIDAwMDAwMDEwICAwYSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwufA0KPiAgICAgMDAw MDAwMTENCj4gICAgIGRvdmVhZG0gbWFpbGJveCBsaXN0IC03DQo+ICAgICBJTkJPWC5GJkFQdy1o cmVyc2NoZWluDQo+ICAgICAwMDAwMDAwMCAgNDkgNGUgNDIgNGYgNTggMmUgNDYgMjYgIDQxIDUw IDc3IDJkIDY4IDcyIDY1IDcyDQo+ICAgICAgfElOQk9YLkYmQVB3LWhyZXJ8DQo+ICAgICAwMDAw MDAxMCAgNzMgNjMgNjggNjUgNjkgNmUgMGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 c2NoZWluLnwNCj4gICAgIDAwMDAwMDE3DQo+ICAgICBkb3ZlYWRtIG1haWxib3ggbGlzdCAtNyAt cw0KPiAgICAgZG92ZWFkbSh4eEB4eCk6IEVycm9yOiBGYWlsZWQgdG8gcmVuYW1lIG1haWxib3gg J0lOQk9YLkZ1ZWhyZXJzY2hlaW4nIGZvcg0KPiAgICAgTkZDIG5vcm1hbGl6YXRpb246IE1haWxi b3ggZG9lc24ndCBleGlzdDogSU5CT1guRnVlaHJlcnNjaGVpbg0KPiAgICAgSU5CT1guRiZBUHct aHJlcnNjaGVpbi02OTYwMzYwYmM0YjY0NzZhZTMzNjIwMDBjYTYwOGIwYQ0KPiAgICAgZG92ZWFk bSh4eEB4eCk6IEVycm9yOiBGYWlsZWQgdG8gcmVuYW1lIG1haWxib3ggJ0lOQk9YLkZ1ZWhyZXJz Y2hlaW4nIGZvcg0KPiAgICAgTkZDIG5vcm1hbGl6YXRpb246IE1haWxib3ggZG9lc24ndCBleGlz dDogSU5CT1guRnVlaHJlcnNjaGVpbg0KPiAgICAgMDAwMDAwMDAgIDQ5IDRlIDQyIDRmIDU4IDJl IDQ2IDI2ICA0MSA1MCA3NyAyZCA2OCA3MiA2NSA3Mg0KPiAgICAgIHxJTkJPWC5GJkFQdy1ocmVy fA0KPiAgICAgMDAwMDAwMTAgIDczIDYzIDY4IDY1IDY5IDZlIDJkIDM2ICAzOSA2NiAzMiAzNSAz MyAzMSAzMCA2Mw0KPiAgICAgIHxzY2hlaW4tNjlmMjUzMTBjfA0KPiAgICAgMDAwMDAwMjAgIDM0 IDYyIDM2IDM0IDM3IDM2IDYxIDY2ICAzMSAzMyAzNiAzMiAzMCAzMCAzMCA2Mw0KPiAgICAgIHw0 YjY0NzZhZjEzNjIwMDBjfA0KPiAgICAgMDAwMDAwMzAgIDYxIDM2IDMwIDM4IDYyIDMwIDYxIDBh ICAgICAgICAgICAgICAgICAgICAgICAgICAgfGE2MDhiMGEufA0KPiAgICAgMDAwMDAwMzgNCj4g ICAgIGRvdmVhZG0gbWFpbGJveCBsaXN0IC04DQo+ICAgICBJTkJPWC5GdWVocmVyc2NoZWluDQo+ ICAgICAwMDAwMDAwMCAgNDkgNGUgNDIgNGYgNTggMmUgNDYgYzMgIGJjIDY4IDcyIDY1IDcyIDcz IDYzIDY4DQo+ICAgICAgfElOQk9YLkYuLmhyZXJzY2h8DQo+ICAgICAwMDAwMDAxMCAgNjUgNjkg NmUgMGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ZWluLnwNCj4gICAg IDAwMDAwMDE0DQo+ICAgICBkb3ZlYWRtIG1haWxib3ggbGlzdCAtOCAtcw0KPiAgICAgZG92ZWFk bSh4eEB4eCk6IEVycm9yOiBGYWlsZWQgdG8gcmVuYW1lIG1haWxib3ggJ0lOQk9YLkZ1ZWhyZXJz Y2hlaW4nIGZvcg0KPiAgICAgTkZDIG5vcm1hbGl6YXRpb246IE1haWxib3ggZG9lc24ndCBleGlz dDogSU5CT1guRnVlaHJlcnNjaGVpbg0KPiAgICAgZG92ZWFkbSh4eEB4eCk6IEVycm9yOiBGYWls ZWQgdG8gcmVuYW1lIG1haWxib3ggJ0lOQk9YLkZ1ZWhyZXJzY2hlaW4nIGZvcg0KPiAgICAgTkZD IG5vcm1hbGl6YXRpb246IE1haWxib3ggZG9lc24ndCBleGlzdDogSU5CT1guRnVlaHJlcnNjaGVp bg0KPiAgICAgMDAwMDAwMDAgIDQ5IDRlIDQyIDRmIDU4IDJlIDQ2IGMzICBiYyA2OCA3MiA2NSA3 MiA3MyA2MyA2OA0KPiAgICAgIHxJTkJPWC5GLi5ocmVyc2NofA0KPiAgICAgMDAwMDAwMTAgIDY1 IDY5IDZlIDJkIDM4IDMxIDYyIDM1ICA2MSAzMCAzMiAzNCA2MyAzNCA2MiAzNg0KPiAgICAgIHxl aW4tODFiNWEwMjRjNGI2fA0KPiAgICAgMDAwMDAwMjAgIDM0IDM3IDM2IDYxIDMxIDYyIDMzIDM3 ICAzMiAzMCAzMCAzMCA2MyA2MSAzNiAzMA0KPiAgICAgIHw0NzZhMWIzNzIwMDBjYTYwfA0KPiAg ICAgMDAwMDAwMzAgIDM4IDYyIDMwIDYxIDBhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfDhiMGEufA0KPiAgICAgMDAwMDAwMzUNCj4gICAgIFZvbjogTWljaGFlbCBHb3RoIHZp YSBkb3ZlY290IDxkb3ZlY290QGRvdmVjb3Qub3JnPg0KPiAgICAgRGF0dW06IE1pdHR3b2NoLCAy MC4gTWFpIDIwMjYgdW0gMDk6MDcNCj4gICAgIEFuOiBkb3ZlY290QGRvdmVjb3Qub3JnIDxkb3Zl Y290QGRvdmVjb3Qub3JnPg0KPiAgICAgQmV0cmVmZjogUmU6IE5GQyBub3JtYWxpemF0aW9uIHJl bmFtZSBlcnJvcnMgYWZ0ZXIgMi4zIHRvIDIuNCB1cGdyYWRlDQo+ICAgICAobWRib3gpDQo+IA0K PiAgICAgSGkgZXZlcnlvbmUsDQo+IA0KPiAgICAgd2UgYWxzbyBoaXQgdGhpcyBidWcoPykgbGFz dCB3ZWVrLiBMaWtlIEphbiwgd2Ugd2VyZSB1cGdyYWRpbmcgZnJvbSAyLjMNCj4gICAgIHRvIDIu NC4zLiAnbWFpbGJveF9saXN0X2luZGV4X3ZlcnlfZGlydHlfc3luY3MnIGlzICdubycgaW4gb3Vy IHNldHVwLg0KPiANCj4gICAgIEFmdGVyIHRoZSB1cGRhdGUsIGZvbGRlcnMgd2l0aCBhIDMyLWhl eCBHVUlEIHN1ZmZpeCBzdGFydGVkIHRvIGFwcGVhci4NCj4gICAgIFRoZSBvbmx5IHRoaW5nIHRo YXQgc3RvcHBlZCBpdCBmcm9tIHNwcmVhZGluZywgd2FzIHRoZSBzZXR0aW5nDQo+ICAgICAnbWFp bGJveF9saXN0X25vcm1hbGl6ZV9uYW1lc190b19uZmMgPSBubycuDQo+IA0KPiAgICAgSSBjbGVh bmVkIHVwIHRoZSBmb2xkZXJzIHdpdGggYSBzY3JpcHQsIHVzaW5nIHRoZSBtZXRob2QgSmFuIGRl c2NyaWJlZC4NCj4gDQo+ICAgICBBZnRlciBQaGlsaXAncyBlbmNvdXJhZ2luZyBjb21tZW50LCBJ IHVwZ3JhZGVkIG9uZSBvZiBvdXIgc2VydmVycyB0bw0KPiAgICAgMi40LjQgYW5kIHJlbW92ZWQg J21haWxib3hfbGlzdF9ub3JtYWxpemVfbmFtZXNfdG9fbmZjID0gbm8nIGZyb20gaXRzDQo+ICAg ICBjb25maWcuIEJ1dCB0aGUgc2FtZSBlcnJvciBzdGFydGVkIHRvIGFwcGVhciBpbiB0aGUgbG9n cyBhZ2FpbjoNCj4gDQo+ICAgICBFcnJvcjogRmFpbGVkIHRvIHJlbmFtZSBtYWlsYm94ICdJbmZv cywgVmVydGEqZ2UsIGV0YycgZm9yIE5GQw0KPiAgICAgbm9ybWFsaXphdGlvbjogTWFpbGJveCBk b2Vzbid0IGV4aXN0OiBJbmZvcywgVmVydGEqZ2UsIGV0Yw0KPiANCj4gICAgIEJ1dCB0aGVyZSdz IGEgZGlmZmVyZW5jZTogTm8gZm9sZGVyIHdpdGggYSAzMi1oZXggR1VJRCB3YXMgc3VmZml4DQo+ ICAgICBjcmVhdGVkLiBJbiB0aGUgZXhhbXBsZSBmcm9tIHRoZSBsb2cgbWVzc2FnZSBhYm92ZSwg dGhlcmUncyBzdGlsbCBvbmx5DQo+ICAgICBvbmUgZm9sZGVyIG9uIGRpc2ssIGV2ZW4gYWZ0ZXIg dGhlIGVycm9yIGFwcGVhcmVkOg0KPiANCj4gICAgIG1kYm94L21haWxib3hlcy9JbmZvcywgVmVy dCZBT1EtZ2UsIGV0Yw0KPiANCj4gICAgIFRoZSBtYWlscyBpbiB0aGUgZm9sZGVyIGFyZSBzdGls bCBhY2Nlc3NpYmxlLCBidXQgaXQgbm8gbG9uZ2VyIGFwcGVhcnMNCj4gICAgIGFzIHN1YnNjcmli ZWQgaW4gUm91bmRjdWJlIE1haWwuDQo+IA0KPiAgICAgQnV0IGZvciBvdGhlciBmb2xkZXJzLCB3 ZSBhZ2FpbiBnb3QgdGhlIEdVSUQtc3VmZml4ZWQgImNvcHkiLCBsaWtlIGluDQo+ICAgICBEb3Zl Y290IDIuNC4zLg0KPiANCj4gICAgIFdlIHN3aXRjaGVkIGJhY2sgdG8gJ21haWxib3hfbGlzdF9u b3JtYWxpemVfbmFtZXNfdG9fbmZjID0gbm8nIGZvciBub3cuDQo+IA0KPiAgICAgU28gZmFyLCBJ IGZhaWxlZCB0byByZXByb2R1Y2UgdGhlIGlzc3VlIG9uIGEgZGlmZmVyZW50IHNlcnZlciB3aXRo DQo+ICAgICBEb3ZlY290IDIuNC40LiBPbiB0aGlzIHNlcnZlciwgSSBjYW4gY3JlYXRlIChuZXN0 ZWQpIGZvbGRlcnMgd2l0aA0KPiAgICAgdW1sYXV0cywgcHV0IG1haWxzIGludG8gdGhlbSwgZXRj LiAtIFRoZSBlcnJvciBuZXZlciBhcHBlYXJzIGluIHRoZQ0KPiAgICAgbG9ncywgZXZlcnl0aGlu ZyB3b3JrcyBmaW5lLg0KPiANCj4gICAgIEknbSBub3Qgc3VyZSB3aGF0IHRvIGRvIG5leHQuDQo+ IA0KPiAgICAgUmVnYXJkcywNCj4gICAgICAgIE1pY2hhZWwNCj4gDQo+ICAgICBPbiA1LzE3LzI2 IDIzOjM0LCBQaGlsaXAgSWV6emkgdmlhIGRvdmVjb3Qgd3JvdGU6DQo+ICAgICA+ICAgICBIaSBU aW1vDQo+ICAgICA+ICAgICBObywgSSBkb24ndCBoYXZlIG1haWxib3hfbGlzdF9pbmRleF92ZXJ5 X2RpcnR5X3N5bmNzPXllcywgdXNpbmcNCj4gICAgIGRlZmF1bHQgbm8NCj4gICAgID4gICAgIHZh bHVlLg0KPiAgICAgPiAgICAgSSBjYW4gbm8gbG9uZ2VyIHJlcHJvZHVjZSB0aGlzIHByb2JsZW0g c2luY2UgaGF2aW5nIHVwZ3JhZGVkIGZyb20NCj4gICAgIDIuNC4zIHRvDQo+ICAgICA+ICAgICAy LjQuNCwgbm8gc2luZ2xlICJFcnJvcjogRmFpbGVkIHRvIHJlbmFtZSBtYWlsYm94ICcuLi4nIGZv ciBORkMNCj4gICAgID4gICAgIG5vcm1hbGl6YXRpb24iIGVycm9yIHNpbmNlIHRoZW4uDQo+ICAg ICA+ICAgICBQcmV2aW91c2x5LCBvbiBEb3ZlY290IDIuNC4zLCB0aGUgRXJyb3JzIGFsc28gcG9w cGVkIHVwIG9uIHJlZ3VsYXINCj4gICAgID4gICAgIHVtbGF1dHMsIGV2ZW4gYWZ0ZXIgcmVuYW1p bmcgdGhvc2UgY2hhcmFjdGVycyB0byByZWd1bGFyIHVtbGF1dHMgdG8NCj4gICAgIG1ha2UNCj4g ICAgID4gICAgIHN1cmUgdGhvc2Ugd2VyZSBub3QgcmVwcmVzZW50ZWQgYXMgTkZELiBCdXQgb24g RG92ZWNvdCAyLjQuNCBhbGwNCj4gICAgIGdvb2QsDQo+ICAgICA+ICAgICB3aXRob3V0IGFueSBm dXJ0aGVyIHdvcmthcm91bmRzIG5lZWRlZC4NCj4gICAgID4gICAgIE1heSB0aGlzIGJlIHJlbGF0 ZWQgdG8gdGhpcyBjaGFuZ2Vsb2cgZW50cnk/DQo+ICAgICA+ICAgICAtIGxpYi1zdG9yYWdlOiBB dXRvLXJlbmFtZSBub24tTkZDIHN1YnNjcmlwdGlvbiBmaWxlIGVudHJpZXMgdG8gTkZDDQo+ICAg ICBvbg0KPiAgICAgPiAgICAgcmVhZC4NCj4gICAgID4gICAgIEtpbmQgcmVnYXJkcywNCj4gICAg ID4gICAgIFBoaWxpcA0KPiAgICAgPg0KPiAgICAgPiAgICAgICBPbiAxNiBNYXkgMjAyNiwgYXQg MTM6NTMsIFRpbW8gU2lyYWluZW4gdmlhIGRvdmVjb3QNCj4gICAgID4gICAgICAgPGRvdmVjb3RA ZG92ZWNvdC5vcmc+IHdyb3RlOg0KPiAgICAgPiAgICAgICBEbyB5b3UgaGF2ZSBtYWlsYm94X2xp c3RfaW5kZXhfdmVyeV9kaXJ0eV9zeW5jcz15ZXM/IElmIHllcywgZG9lcw0KPiAgICAgdGhlDQo+ ICAgICA+ICAgICAgIHByb2JsZW0gZ28gYXdheSBpZiB5b3UgcnVuOiBkb3ZlYWRtIC1vDQo+ICAg ICA+ICAgICAgIG1haWxib3hfbGlzdF9pbmRleF92ZXJ5X2RpcnR5X3N5bmNzPW5vIG1haWxib3gg bGlzdCAtdSAkdXNlcg0KPiAgICAgPg0KPiAgICAgPiAgICAgICBBbHRlcm5hdGl2ZWx5LCB0cnkg ZG92ZWFkbSBmb3JjZS1yZXN5bmMgLXUgJHVzZXIgJyonDQo+ICAgICA+DQo+ICAgICA+ICAgICAg IFlldCBhbm90aGVyIHBvc3NpYmlsaXR5IHRvIHRyeSBybSBkb3ZlY290Lmxpc3QuaW5kZXgqDQo+ ICAgICA+DQo+ICAgICA+ICAgICAgIEFsc28sIHRoZXJlIGlzIHRoaXMgcGF0Y2ggdGhhdCBwb3Nz aWJseSBoZWxwczoNCj4gICAgID4NCj4gICAgID4gICAgICAgZGlmZiAtLWdpdCBhL3NyYy9saWIt c3RvcmFnZS9tYWlsLXN0b3JhZ2UuYw0KPiAgICAgPiAgICAgICBiL3NyYy9saWItc3RvcmFnZS9t YWlsLXN0b3JhZ2UuYw0KPiAgICAgPiAgICAgICBpbmRleCBhNDM2M2ZjNzNjLi5iNDIwNTNiYzFh IDEwMDY0NA0KPiAgICAgPiAgICAgICAtLS0gYS9zcmMvbGliLXN0b3JhZ2UvbWFpbC1zdG9yYWdl LmMNCj4gICAgID4gICAgICAgKysrIGIvc3JjL2xpYi1zdG9yYWdlL21haWwtc3RvcmFnZS5jDQo+ ICAgICA+ICAgICAgIEBAIC0xNTU3LDExICsxNTU3LDcgQEAgaW50IG1haWxib3hfcmVuYW1lX25m Y19mb3JjZWQoc3RydWN0DQo+ICAgICBtYWlsYm94X2xpc3QNCj4gICAgID4gICAgICAgKmxpc3Qs IGNvbnN0IGNoYXIgKnZuYW1lX3JhdywNCj4gICAgID4NCj4gICAgID4gICAgICAgICAgICAgICBy ZXQgPSBtYWlsYm94X3JlbmFtZShib3hfb2xkLCBib3hfbmV3KTsNCj4gICAgID4gICAgICAgICAg ICAgICBpZiAocmV0IDwgMCAmJg0KPiAgICAgPiAgICAgICAtICAgICAgICAgICBtYWlsYm94X2dl dF9sYXN0X21haWxfZXJyb3IoYm94X29sZCkgPT0NCj4gICAgIE1BSUxfRVJST1JfTk9URk9VTkQp DQo+ICAgICA+ICAgICAgIHsNCj4gICAgID4gICAgICAgLSAgICAgICAgICAgICAgIC8qIGlnbm9y ZSAqLw0KPiAgICAgPiAgICAgICAtICAgICAgICAgICAgICAgcmV0ID0gMDsNCj4gICAgID4gICAg ICAgLSAgICAgICB9IGVsc2UgaWYgKHJldCA8IDAgJiYNCj4gICAgID4gICAgICAgLSAgICAgICAg ICAgICAgICAgIG1haWxib3hfZ2V0X2xhc3RfbWFpbF9lcnJvcihib3hfb2xkKSA9PQ0KPiAgICAg PiAgICAgICBNQUlMX0VSUk9SX0VYSVNUUykgew0KPiAgICAgPiAgICAgICArICAgICAgICAgICBt YWlsYm94X2dldF9sYXN0X21haWxfZXJyb3IoYm94X29sZCkgPT0NCj4gICAgIE1BSUxfRVJST1Jf RVhJU1RTKSB7DQo+ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAvKiBnZW5lcmF0ZSBhIG5l dyB1bmlxdWUgbmFtZSAqLw0KPiAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgZ3VpZF8xMjhf dCBndWlkOw0KPiAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgZ3VpZF8xMjhfZ2VuZXJhdGUo Z3VpZCk7DQo+ICAgICA+ICAgICAgIEBAIC0xNTcyLDYgKzE1NjgsMTYgQEAgaW50IG1haWxib3hf cmVuYW1lX25mY19mb3JjZWQoc3RydWN0DQo+ICAgICBtYWlsYm94X2xpc3QNCj4gICAgID4gICAg ICAgKmxpc3QsIGNvbnN0IGNoYXIgKnZuYW1lX3JhdywNCj4gICAgID4gICAgICAgICAgICAgICAg ICAgICAgIGJveF9uZXcgPSBtYWlsYm94X2FsbG9jKGxpc3QsICp2bmFtZV9uZXdfciwgMCk7DQo+ ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBtYWlsYm94X3JlbmFtZShib3hfb2xk LCBib3hfbmV3KTsNCj4gICAgID4gICAgICAgICAgICAgICB9DQo+ICAgICA+ICAgICAgICsgICAg ICAgaWYgKHJldCA8IDAgJiYNCj4gICAgID4gICAgICAgKyAgICAgICAgICAgbWFpbGJveF9nZXRf bGFzdF9tYWlsX2Vycm9yKGJveF9vbGQpID09DQo+ICAgICBNQUlMX0VSUk9SX05PVEZPVU5EKQ0K PiAgICAgPiAgICAgICB7DQo+ICAgICA+ICAgICAgICsgICAgICAgICAgICAgICAvKiBTb3VyY2Ug ZG9lc24ndCBleGlzdCBvbiBkaXNrIGFueW1vcmUgKGUuZy4NCj4gICAgIGJhY2tpbmcNCj4gICAg ID4gICAgICAgc3RvcmUNCj4gICAgID4gICAgICAgKyAgICAgICAgICAgICAgICAgIGFscmVhZHkg cmVuYW1lZCBleHRlcm5hbGx5IHdoaWxlIHRoZSBsaXN0IGluZGV4DQo+ICAgICBzdGlsbA0KPiAg ICAgPiAgICAgICBoYXMNCj4gICAgID4gICAgICAgKyAgICAgICAgICAgICAgICAgIHRoZSBvbGQg bm9uLU5GQyBlbnRyeSkuIFRyZWF0IGFzIG5vLW9wIHJhdGhlcg0KPiAgICAgdGhhbg0KPiAgICAg PiAgICAgICBmYWlsDQo+ICAgICA+ICAgICAgICsgICAgICAgICAgICAgICAgICB0aGUgaXRlcmF0 aW9uOiByZXR1cm4gdGhlIHBsYWluIE5GQyBuYW1lIHNvIHRoZQ0KPiAgICAgPiAgICAgICBjYWxs ZXINCj4gICAgID4gICAgICAgKyAgICAgICAgICAgICAgICAgIGRvZXNuJ3QgZXhwb3NlIHRoZSB1 bmlxdWUtc3VmZml4IGZhbGxiYWNrIG5hbWUuDQo+ICAgICAqLw0KPiAgICAgPiAgICAgICArICAg ICAgICAgICAgICAgKnZuYW1lX25ld19yID0gdm5hbWVfbmZjOw0KPiAgICAgPiAgICAgICArICAg ICAgICAgICAgICAgcmV0ID0gMDsNCj4gICAgID4gICAgICAgKyAgICAgICB9DQo+ICAgICA+ICAg ICAgICAgICAgICAgaWYgKHJldCA8IDApDQo+ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAq ZXJyb3JfciA9IG1haWxib3hfZ2V0X2xhc3RfZXJyb3IoYm94X29sZCwgTlVMTCk7DQo+ICAgICA+ ICAgICAgICAgICAgICAgbWFpbGJveF9mcmVlKCZib3hfb2xkKTsNCj4gICAgID4NCj4gICAgID4g ICAgICAgICBPbiAxMi4gTWF5IDIwMjYsIGF0IDE1LjQzLCBQaGlsaXAgSWV6emkgdmlhIGRvdmVj b3QNCj4gICAgID4gICAgICAgICA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4gd3JvdGU6DQo+ICAgICA+ DQo+ICAgICA+ICAgICAgICAgVGhhbmtzIEphbiBmb3IgcmVwb3J0aW5nIHRoaXMuIEkgYWxzbyBl eHBlcmllbmNlIHRoaXMgQnVnIHNpbmNlDQo+ICAgICBoYXZpbmcNCj4gICAgID4gICAgICAgICB1 cGdyYWRlZCBEb3ZlY290IDIuNC4yIC0+IDIuNC4zIG9uIDIwMjYtMDMtMjcsIGxlYWRpbmcgdG8g c3VjaA0KPiAgICAgZXJyb3JzDQo+ICAgICA+ICAgICAgICAgaW4gbWFpbC5sb2c6DQo+ICAgICA+ DQo+ICAgICA+ICAgICAgICAgRXJyb3I6IEZhaWxlZCB0byByZW5hbWUgbWFpbGJveCAnSU5CT1gv WnVlcmljaCcgZm9yIE5GQw0KPiAgICAgbm9ybWFsaXphdGlvbjoNCj4gICAgID4gICAgICAgICBN YWlsYm94IGRvZXNuJ3QgZXhpc3Q6IElOQk9YL1p1ZXJpY2gNCj4gICAgID4NCj4gICAgID4gICAg ICAgICAtIFp1ZXJpY2ggKGluIGFib3ZlIGxvZyBsaW5lKSB1c2VzIGEgZGVjb21wb3NlZCBzZXF1 ZW5jZTogYQ0KPiAgICAgcGxhaW4gdQ0KPiAgICAgPiAgICAgICAgIChVKzAwNzUpIGZvbGxvd2Vk IGJ5IGEgY29tYmluaW5nIGRpYWVyZXNpcyAoVSswMzA4KSwgd2hpY2ggdGhlDQo+ICAgICA+ICAg ICAgICAgcmVuZGVyZXIgc3RhY2tzIG9uIHRvcC4NCj4gICAgID4gICAgICAgICAtIFp1ZXJpY2gg KHdoaWNoIHdlIHVzdWFsbHkgdHlwZSkgdXNlcyBhIHByZWNvbXBvc2VkIGNoYXJhY3RlcjoNCj4g ICAgIHVlIGlzDQo+ICAgICA+ICAgICAgICAgYSBzaW5nbGUgY29kZSBwb2ludCwgVSswMEZDIChM QVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIDQo+ICAgICBESUFFUkVTSVMpLg0KPiAgICAgPg0KPiAg ICAgPiAgICAgICAgIFN1Y2ggZXJyb3JzIGxlYWQgdG8gYnJva2VuIGZvbGRlciBzdHJ1Y3R1cmUg LSB0aGUgdXNlciBpcyBubw0KPiAgICAgbG9uZ2VyDQo+ICAgICA+ICAgICAgICAgYWJsZSB0byBs aXN0IHRoZSB3aG9sZSBmb2xkZXIgc3RydWN0dXJlIChleGNlcHQgSU5CT1gpIGFuZCBvbg0KPiAg ICAgbWFpbA0KPiAgICAgPiAgICAgICAgIGNsaWVudHMgbGlrZSBSb3VuZGN1YmUsIGFsbCBmb2xk ZXJzIGFwcGVhciBhcyBubyBsb25nZXINCj4gICAgIHN1YnNjcmliZWQuDQo+ICAgICA+ICAgICAg ICAgUmVuYW1pbmcgdGhlICJ1ZSIgdG8gInVlIiBmaXhlcyB0aGUgcHJvYmxlbS4gQnV0IEkgaGF2 ZSBhIGJ1bmNoDQo+ICAgICBvZg0KPiAgICAgPiAgICAgICAgIG90aGVyIGN1c3RvbWVycyB3aGlj aCB1c2Ugc3VjaCBjaGFyYWN0ZXJzIGFuZCBpbiBwcmV2aW91cw0KPiAgICAgRG92ZWNvdA0KPiAg ICAgPiAgICAgICAgIHZlcnNpb25zIDw9IDIuNC4yIHRoaXMgd2FzIG5ldmVyIGEgcHJvYmxlbS4N Cj4gICAgID4NCj4gICAgID4gICAgICAgICBJcyB0aGVyZSBhbnkga25vd24gaXNzdWUgLyB3aWxs IHRoaXMgYmUgYWRkcmVzc2VkIGluIHRoZSBuZXh0DQo+ICAgICBtaW5vcg0KPiAgICAgPiAgICAg ICAgIHZlcnNpb24/DQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAgS2luZCByZWdhcmRzLA0KPiAg ICAgPiAgICAgICAgIFBoaWxpcA0KPiAgICAgPg0KPiAgICAgPiAgICAgICAgICAgT24gNSBNYXkg MjAyNiwgYXQgMTY6MDQsIEphbiBNdWVubmljaCB2aWEgZG92ZWNvdA0KPiAgICAgPiAgICAgICAg ICAgPGRvdmVjb3RAZG92ZWNvdC5vcmc+IHdyb3RlOg0KPiAgICAgPg0KPiAgICAgPiAgICAgICAg ICAgRm9sbG93aW5nIHVwIG9uIG15IG93biB0aHJlYWQgaW4gY2FzZSBhbnlvbmUgaGl0cyB0aGUg c2FtZQ0KPiAgICAgaXNzdWU6DQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAgICBUaGUgZmFpbGVk IE5GQyByZW5hbWUgaW4gMi40IGxlZnQgYmVoaW5kIGEgZHVwbGljYXRlIG1haWxib3gNCj4gICAg IHdpdGggYQ0KPiAgICAgPiAgICAgICAgICAgMzItaGV4IEdVSUQgc3VmZml4LCBidXQgb25seSBm b3IgbWFpbGJveGVzIHRoYXQgaGFkDQo+ICAgICBzdWJmb2xkZXJzLiBTbw0KPiAgICAgPiAgICAg ICAgICAgZm9yIGV2ZXJ5IGFmZmVjdGVkIG5hbWUgd2UgZW5kZWQgdXAgd2l0aCB0d28gZW50cmll czoNCj4gICAgID4NCj4gICAgID4gICAgICAgICAgIEFudHJhZWdlDQo+ICAgICA+ICAgICAgICAg ICBBbnRyYWVnZS1lMDc4ZDQyNzcwNmVkYTY5NGIyMTAwMDBhMzg2YzkxYg0KPiAgICAgPg0KPiAg ICAgPiAgICAgICAgICAgVGhlIG9yaWdpbmFsIGtlcHQgaXRzIChicm9rZW4pIG5hbWUgd2l0aCBu byBtZXNzYWdlIGFjY2VzcywNCj4gICAgIGFuZCB0aGUNCj4gICAgID4gICAgICAgICAgIEdVSUQt c3VmZml4ZWQgc2libGluZyBoZWxkIHRoZSBhY3R1YWwgbWFpbC4gQm90aCBzaG93ZWQgdXAgYXMN Cj4gICAgIHJlYWwNCj4gICAgID4gICAgICAgICAgIGZvbGRlcnMgaW4gSU1BUCBjbGllbnRzLg0K PiAgICAgPg0KPiAgICAgPiAgICAgICAgICAgSSBmaWd1cmVkIG91dCBmcm9tIHRoZSBzb3VyY2Ug Y29kZSB0aGF0IHRoZSBmYWlsZWQgcmVuYW1lIGhpdHMNCj4gICAgIGENCj4gICAgID4gICAgICAg ICAgIGZhbGxiYWNrIHBhdGggdGhhdCBjcmVhdGVzIHRoZSBHVUlELXN1ZmZpeGVkIHNpYmxpbmcs IGJ1dCBub3QNCj4gICAgIHdoYXQNCj4gICAgID4gICAgICAgICAgIHRyaWdnZXJzIHRoZSBmYWls dXJlIGluIHRoZSBmaXJzdCBwbGFjZS4gSSBhbHNvIGZvdW5kIGEgaGlkZGVuDQo+ICAgICA+ICAg ICAgICAgICBvcHRpb24gdGhlcmUgdGhhdCBpcyBub3QgbGlzdGVkIGluIGRvY3VtZW50YXRpb24s IHdoaWNoIHdvcmtzDQo+ICAgICBhcyBhDQo+ICAgICA+ICAgICAgICAgICB3b3JrYXJvdW5kIHRv IHN0b3AgbmV3IG9jY3VycmVuY2VzOg0KPiAgICAgPiAgICAgICAgICAgJ21haWxib3hfbGlzdF9u b3JtYWxpemVfbmFtZXNfdG9fbmZjID0gbm8nLg0KPiAgICAgPg0KPiAgICAgPiAgICAgICAgICAg Rml4IGZvciBhbHJlYWR5LWFmZmVjdGVkIG1haWxib3hlczogZm9yIGVhY2ggb25lLCBjcmVhdGUg YQ0KPiAgICAgdGVtcG9yYXJ5DQo+ICAgICA+ICAgICAgICAgICBBU0NJSS1uYW1lZCByZXBsYWNl bWVudCBhdCB0aGUgc2FtZSBoaWVyYXJjaHkgbGV2ZWwsIG1vdmUgdGhlDQo+ICAgICA+ICAgICAg ICAgICBzdWJmb2xkZXJzIGludG8gaXQsIG1vdmUgbWVzc2FnZXMgZnJvbSB0aGUgR1VJRC1zdWZm aXhlZA0KPiAgICAgbWFpbGJveA0KPiAgICAgPiAgICAgICAgICAgaW50byBpdCwgZGVsZXRlIHRo ZSBHVUlELXN1ZmZpeGVkIG1haWxib3ggKHRoZSBicm9rZW4gb3JpZ2luYWwNCj4gICAgIHRoZW4N Cj4gICAgID4gICAgICAgICAgIGRpc2FwcGVhcnMpLCBhbmQgcmVuYW1lIHRoZSByZXBsYWNlbWVu dCBiYWNrIHRvIHRoZSBvcmlnaW5hbA0KPiAgICAgbmFtZS4NCj4gICAgID4gICAgICAgICAgIFRo ZSBmaW5hbCByZW5hbWUgcnVucyB0aHJvdWdoIHRoZSByZWd1bGFyIGNvZGUgcGF0aCAod2l0aG91 dA0KPiAgICAgTkZDDQo+ICAgICA+ICAgICAgICAgICBub3JtYWxpc2F0aW9uKSBhbmQgd29ya3Mg ZmluZS4NCj4gICAgID4NCj4gICAgID4gICAgICAgICAgIEtpbmQgcmVnYXJkcywNCj4gICAgID4g ICAgICAgICAgIEphbg0KPiAgICAgPg0KPiAgICAgPiAgICAgICAgICAgICBPbiAxMSBBcHIgMjAy NiwgYXQgMTc6MjUsIEphbiBNdWVubmljaCB2aWEgZG92ZWNvdA0KPiAgICAgPiAgICAgICAgICAg ICA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4gd3JvdGU6DQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAg ICAgIEhpLA0KPiAgICAgPg0KPiAgICAgPiAgICAgICAgICAgICBXZSBqdXN0IHVwZ3JhZGVkIGZy b20gMi4zIHRvIDIuNC4zIGFuZCBhcmUgbm93IGdldHRpbmcNCj4gICAgIGVycm9ycyBsaWtlDQo+ ICAgICA+ICAgICAgICAgICAgIHRoaXMgZm9yIGFueSBtYWlsYm94IHdpdGggR2VybWFuIHVtbGF1 dHMgaW4gdGhlIG5hbWU6DQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAgICAgICJFcnJvcjogRmFp bGVkIHRvIHJlbmFtZSBtYWlsYm94ICdBbnRyYWVnZScgZm9yIE5GQw0KPiAgICAgbm9ybWFsaXph dGlvbjoNCj4gICAgID4gICAgICAgICAgICAgTWFpbGJveCBkb2Vzbid0IGV4aXN0OiBBbnRyYWVn ZSINCj4gICAgID4NCj4gICAgID4gICAgICAgICAgICAgVGhlIG1haWxib3hlcyB3b3JrIGZpbmUg b3RoZXJ3aXNlLCBkb3ZlYWRtIG1haWxib3ggc3RhdHVzDQo+ICAgICBzaG93cw0KPiAgICAgPiAg ICAgICAgICAgICB0aGVtIHdpdGggY29ycmVjdCBtZXNzYWdlIGNvdW50cy4gVGhlIGVycm9ycyBz aG93IHVwIG9uIElNQVANCj4gICAgID4gICAgICAgICAgICAgYWNjZXNzIGJ1dCBkb24ndCBzZWVt IHRvIGJyZWFrIGFueXRoaW5nLg0KPiAgICAgPg0KPiAgICAgPiAgICAgICAgICAgICBXZSdyZSB1 c2luZyBtZGJveC4gT24gZGlzayB0aGUgZGlyZWN0b3J5IGlzIHN0b3JlZCBhcw0KPiAgICAgbVVU Ri03Og0KPiAgICAgPg0KPiAgICAgPiAgICAgICAgICAgICBBbnRyJkFPUS1nZQ0KPiAgICAgPg0K PiAgICAgPiAgICAgICAgICAgICBkb3ZlYWRtIG1haWxib3ggbGlzdCBnaXZlcyBiYWNrIHRoZSBu YW1lIHdpdGggYzMgYTQgZm9yIHRoZQ0KPiAgICAgYWUsDQo+ICAgICA+ICAgICAgICAgICAgIHdo aWNoIGlzIGFscmVhZHkgTkZDLiBXZSBkb3VibGUtY2hlY2tlZCB3aXRoIHB5dGhvbjMNCj4gICAg IHVuaWNvZGVkYXRhDQo+ICAgICA+ICAgICAgICAgICAgIGFuZCBpdCBjb25maXJtcyB0aGUgbmFt ZSBpcyBORkMuIFNvIGl0IHNlZW1zIGxpa2UgZG92ZWNvdCBpcw0KPiAgICAgPiAgICAgICAgICAg ICB0cnlpbmcgdG8gcmVuYW1lIHNvbWV0aGluZyB0aGF0IGRvZXNuJ3QgbmVlZCByZW5hbWluZywg YW5kDQo+ICAgICB0aGVuDQo+ICAgICA+ICAgICAgICAgICAgIGZhaWxpbmcuDQo+ICAgICA+DQo+ ICAgICA+ICAgICAgICAgICAgIElzIHRoZXJlIGEgd2F5IHRvIHR1cm4gb2ZmIHRoaXMgYXV0b21h dGljIHJlbmFtZT8gT3IgaXMgdGhpcw0KPiAgICAgYQ0KPiAgICAgPiAgICAgICAgICAgICBrbm93 biBpc3N1ZSB3aXRoIG1kYm94IGFuZCBtVVRGLTcgZGlyZWN0b3J5IG5hbWVzPw0KPiAgICAgPg0K PiAgICAgPiAgICAgICAgICAgICBBbnkgaGVscCB3b3VsZCBiZSBhcHByZWNpYXRlZCB0byBmaW5k IG91dCBpZiB0aGlzIGlzIGEgYnVnDQo+ICAgICBvciBhDQo+ICAgICA+ICAgICAgICAgICAgIGNv bmZpZ3VyYXRpb24gaXNzdWUgb24gb3VyIHNpZGUhDQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAg ICAgIFRoYW5rcywNCj4gICAgID4gICAgICAgICAgICAgSmFuDQo+ICAgICA+DQo+ICAgICA+ICAg ICAgICAgICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f DQo+ICAgICA+ICAgICAgICAgICAgIGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92 ZWNvdC5vcmcNCj4gICAgID4gICAgICAgICAgICAgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFp bCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAg ICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiAgICAg PiAgICAgICAgICAgZG92ZWNvdCBtYWlsaW5nIGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZw0K PiAgICAgPiAgICAgICAgICAgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290 LWxlYXZlQGRvdmVjb3Qub3JnDQo+ICAgICA+DQo+ICAgICA+ICAgICAgICAgX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gICAgID4gICAgICAgICBkb3Zl Y290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnDQo+ICAgICA+ICAgICAgICAg VG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3Jn DQo+ICAgICA+DQo+ICAgICA+ICAgICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+ICAgICA+ICAgICAgIGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRv dmVjb3RAZG92ZWNvdC5vcmcNCj4gICAgID4gICAgICAgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBl bWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQo+ICAgICA+DQo+ICAgICA+DQo+ICAg ICA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ICAg ICA+IGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcNCj4gICAgID4g VG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3Jn DQo+IA0KPiAgICAgLS0NCj4gICAgIE1pY2hhZWwgR290aA0KPiANCj4gICAgIC53ZWJmbG93IEdt YkgNCj4gDQo+ICAgICBHZXNjaGFlZnRzZnVlaHJlcjogQW5kcmVhcyBTY2hyZWkNCj4gICAgIFdh c3NlcmJ1cmdlciBTdHJhc3NlIDQNCj4gICAgIEQgLSA4MzM1MiBBbHRlbm1hcmt0IGEuIGQuIEFs eg0KPiANCj4gICAgIEFtdHNnZXJpY2h0IFRyYXVuc3RlaW4gSFJCIDE4NTM3DQo+IA0KPiAgICAg RS1NYWlsOiAgIG1nQHdlYmZsb3cuZGUNCj4gICAgIFRlbDogICAgICArNDkgKDApIDg2MjEgLSA5 OTk4OSAtIDI2DQo+ICAgICBGYXg6ICAgICAgKzQ5ICgwKSA4NjIxIC0gOTk5ODkgLSAyOA0KPiAg ICAgV2ViOg0KPiAgICAgWzFdaHR0cHM6Ly9ldXIwMy5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRs b29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZ3d3cud2ViZmxvdy5kZSUyRiZkYXRhPTA1JTdDMDIl N0NqZW5zLnVyYmFuJTQwZnJlZW5ldC5hZyU3Q2ZhYmQwMGM0NTM4NTQ3MTM1Y2M3MDhkZWI2M2U2 ODg3JTdDN2Q5NWRlYjMwYmNhNGM5ZGE2MWUxZmQ2YzQ3ZWQ2MGMlN0MwJTdDMCU3QzYzOTE0ODU3 NjMxMzA4MDM4MCU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpGYlhCMGVVMWhjR2tpT25SeWRX VXNJbFlpT2lJd0xqQXVNREF3TUNJc0lsQWlPaUpYYVc0ek1pSXNJa0ZPSWpvaVRXRnBiQ0lzSWxk VUlqb3lmUSUzRCUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9SFpmT0NQdUhpN0l2TCUyRngxWEpIbnFZ ck91UDVXNGdmbUM4ellYSkNWYW1ZJTNEJnJlc2VydmVkPTANCj4gDQo+ICAgICBJbmZvcm1hdGlv bmVuIHp1ciBEYXRlbm51dHp1bmcgdW5kIHp1IElocmVuDQo+ICAgICBCZXRyb2ZmZW5lbnJlY2h0 ZW4gZmluZGVuIFNpZSB1bnRlciBmb2xnZW5kZXIgVVJMOg0KPiAgICAgWzJdaHR0cHM6Ly9ldXIw My5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGd3d3 LndlYmZsb3cuZGUlMkZ1bnRlcm5laG1lbiUyRmRhdGVuc2NodXR6ZXJrbGFlcnVuZyUyRiZkYXRh PTA1JTdDMDIlN0NqZW5zLnVyYmFuJTQwZnJlZW5ldC5hZyU3Q2ZhYmQwMGM0NTM4NTQ3MTM1Y2M3 MDhkZWI2M2U2ODg3JTdDN2Q5NWRlYjMwYmNhNGM5ZGE2MWUxZmQ2YzQ3ZWQ2MGMlN0MwJTdDMCU3 QzYzOTE0ODU3NjMxMzA5OTgwNyU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpGYlhCMGVVMWhj R2tpT25SeWRXVXNJbFlpT2lJd0xqQXVNREF3TUNJc0lsQWlPaUpYYVc0ek1pSXNJa0ZPSWpvaVRX RnBiQ0lzSWxkVUlqb3lmUSUzRCUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9VzZkcHhod0Z4alZsRSUy Qkw4JTJGdTRmUmZFS2VjeU5uNzRJN05Nak52Uk5PTVElM0QmcmVzZXJ2ZWQ9MA0KPiANCj4gICAg IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ICAgICBk b3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnDQo+ICAgICBUbyB1bnN1 YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGRvdmVjb3QtbGVhdmVAZG92ZWNvdC5vcmcNCj4gDQo+ IFJlZmVyZW5jZXMNCj4gDQo+ICAgICBWaXNpYmxlIGxpbmtzDQo+ICAgICAxLiBodHRwOi8vd3d3 LndlYmZsb3cuZGUvDQo+ICAgICAyLiBodHRwczovL3d3dy53ZWJmbG93LmRlL3VudGVybmVobWVu L2RhdGVuc2NodXR6ZXJrbGFlcnVuZy8NCj4gDQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3Zl Y290QGRvdmVjb3Qub3JnDQo+IFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gZG92ZWNv dC1sZWF2ZUBkb3ZlY290Lm9yZw0KDQotLSANCk1pY2hhZWwgR290aA0KDQoud2ViZmxvdyBHbWJI DQoNCkdlc2Now6RmdHNmw7xocmVyOiBBbmRyZWFzIFNjaHJlaQ0KV2Fzc2VyYnVyZ2VyIFN0cmHD n2UgNA0KRCAtIDgzMzUyIEFsdGVubWFya3QgYS4gZC4gQWx6DQoNCkFtdHNnZXJpY2h0IFRyYXVu c3RlaW4gSFJCIDE4NTM3DQoNCkUtTWFpbDogICBtZ0B3ZWJmbG93LmRlDQpUZWw6ICAgICAgKzQ5 ICgwKSA4NjIxIC0gOTk5ODkgLSAyNg0KRmF4OiAgICAgICs0OSAoMCkgODYyMSAtIDk5OTg5IC0g MjgNCldlYjogICAgICB3d3cud2ViZmxvdy5kZQ0KDQpJbmZvcm1hdGlvbmVuIHp1ciBEYXRlbm51 dHp1bmcgdW5kIHp1IElocmVuDQpCZXRyb2ZmZW5lbnJlY2h0ZW4gZmluZGVuIFNpZSB1bnRlciBm b2xnZW5kZXIgVVJMOg0KaHR0cHM6Ly93d3cud2ViZmxvdy5kZS91bnRlcm5laG1lbi9kYXRlbnNj aHV0emVya2xhZXJ1bmcvDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcKVG8g dW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnCg==