
Pk9uIDA5LzI2LzIwMTcgMDM6NTQgUE0sIFpoaVBlbmcgTHUgd3JvdGU6Pj4gSW4gbGVhcm5JUEFk ZHJlc3NUaHJlYWQoKXRoZSBAaW5ldGFkZHIgbWF5IGJlIGxlYWtlZC4+PiA+IFNpZ25lZC1vZmYt Ynk6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNvbS5jbj4+IC0tLT4gIHNyYy9ud2ZpbHRl ci9ud2ZpbHRlcl9sZWFybmlwYWRkci5jIHwgNCArKystPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKT4gPiBkaWZmIC0tZ2l0IGEvc3JjL253ZmlsdGVyL253 ZmlsdGVyX2xlYXJuaXBhZGRyLmMgYi9zcmMvbndmaWx0ZXIvbndmaWx0ZXJfbGVhcm5pcGFkZHIu Yz4gaW5kZXggY2ZkOTJkOS4uNWRjMjEyZSAxMDA2NDQ+IC0tLSBhL3NyYy9ud2ZpbHRlci9ud2Zp bHRlcl9sZWFybmlwYWRkci5jPiArKysgYi9zcmMvbndmaWx0ZXIvbndmaWx0ZXJfbGVhcm5pcGFk ZHIuYz4gQEAgLTYyNSw2ICs2MjUsNyBAQCBsZWFybklQQWRkcmVzc1RocmVhZCh2b2lkICphcmcp PiAgICAgICAgICAgICAgaWYgKHZpck5XRmlsdGVySVBBZGRyTWFwQWRkSVBBZGRyKHJlcS0+aWZu YW1lLCBpbmV0YWRkcikgPCAwKSB7Pj4gICAgICAgICAgICAgICAgICBWSVJfRVJST1IoXygiRmFp bGVkIHRvIGFkZCBJUCBhZGRyZXNzICVzIHRvIElQIGFkZHJlc3MgIj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJjYWNoZSBmb3IgaW50ZXJmYWNlICVzIiksIGluZXRhZGRyLCByZXEtPmlm bmFtZSk+PiArICAgICAgICAgICAgICAgIFZJUl9GUkVFKGluZXRhZGRyKT4+ICAgICAgICAgICAg ICB9Pj4gID4+ICAgICAgICAgICAgICByZXQgPSB2aXJOV0ZpbHRlckluc3RhbnRpYXRlRmlsdGVy TGF0ZShyZXEtPmRyaXZlciw+PiBAQCAtNjM2LDcgKzYzNyw4IEBAIGxlYXJuSVBBZGRyZXNzVGhy ZWFkKHZvaWQgKmFyZyk+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVxLT5maWx0ZXJuYW1lLD4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXEtPmZpbHRlcnBhcmFtcyk+PiAgICAgICAgICAg ICAgVklSX0RFQlVHKCJSZXN1bHQgZnJvbSBhcHBseWluZyBmaXJld2FsbCBydWxlcyBvbiAiPj4g LSAgICAgICAgICAgICAgICAgICAgICAiJXMgd2l0aCBJUCBhZGRyICVzIDogJWQiLCByZXEtPmlm bmFtZSwgaW5ldGFkZHIsIHJldCk+PiArICAgICAgICAgICAgICAgICAgICAgICIlcyB3aXRoIElQ IGFkZHIgJXMgOiAlZCIsIHJlcS0+aWZuYW1lLCBOVUxMU1RSKGluZXRhZGRyKSwgcmV0KT4gKz5T dGlsbCBub3QgcXVpdGUgcmlnaHQuLi4gVklSX0ZSRUUoKSBvbmx5IGhhcHBlbnMgaWY+dmlyTldG aWx0ZXJJUEFkZHJNYXBBZGRJUEFkZHIoKSA8IDAuPk5vdCBzdXJlIHdoYXQgdGhlIHB1cnBvc2Ug b2YgYSBWSVJfRlJFRSBpbiB0aGUgdXBwZXIgY29uZGl0aW9uIGFuZCB0aGVuPk5VTExTVFIoKSBi ZWxvdyB3b3VsZCBiZS4uLiAgV2UncmUgc3RpbGwgY2FsbGluZz52aXJOV0ZpbHRlckluc3RhbnRp YXRlRmlsdGVyTGF0ZSByZWdhcmRsZXNzIGFuZCBzdGlsbCB3YW50IHRoZSBWSVJfREVCVUc+cHJp bnRlZC4+UGVyaGFwcyBqdXN0IGEgVklSX0ZSRUUoKSBhZnRlciB0aGUgVklSX0RFQlVHIHdvdWxk IHNlZW0gdG8gYmU+c3VmZmljaWVudCBzaW5jZSB0aGVyZSdzIG5vIGVzY2FwZSBjbGF1c2UuICBU aGUgVklSX0VSUk9SIG1heSBoZWxwIHVzPnVuZGVyc3RhbmQgd2h5L2lmIHJldCAhPSAwIHRob3Vn aC4uLiBJIGRpZG4ndCBwdXQgbXVjaCB0aG91Z2h0IGludG8gdGhhdD50aG91Z2guDQoNCg0KDQoN CndlIGNhbid0IGZyZWUgaW5ldGFkZHIgaWYgIHZpck5XRmlsdGVySVBBZGRyTWFwQWRkSVBBZGRy KCkgPT0wIGJlY2F1c2UgaXQgaXMgdXNlZCBieSBpcEFkZHJlc3NNYXAuDQoNClNvIGkgIGZyZWUg aW5ldGFkZHIgIG9ubHkgaWYgdmlyTldGaWx0ZXJJUEFkZHJNYXBBZGRJUEFkZHIgPCAwLg0KDQoN Cg0KDQpJIHdpbGwgYWRkIGEgdmFyaWFibGUgdG8gc2F2ZSB0aGUgcmV0dXJuIHZhbHVlICBvZiB2 aXJOV0ZpbHRlcklQQWRkck1hcEFkZElQQWRkci4NCg0KICAgRnJlZSAgaW5ldGFkZHIgaWYgdmly TldGaWx0ZXJJUEFkZHJNYXBBZGRJUEFkZHI8IDAgICAgYWZ0ZXIgVklSX0VSUk9SIHByaW50Lg0K DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQrkuLrkuoborqnmgqjnmoRWUGxh dOiZmuaLn+acuuaVhemanOWSjGRvY2tlcuaVhemanOW+l+WIsOmrmOaViOeahOWkhOeQhu+8jOiv t+S4iuaKpeaVhemanOWIsDogJFZQbGF05oqA5pyv5pSv5oyB44CCDQoNCg0K6Iqm5b+X5pyLIGx1 emhpcGVuZw0KDQoNCg0KDQoNCg0KSVTlvIDlj5Hlt6XnqIvluIggSVQgRGV2ZWxvcG1lbnQKRW5n aW5lZXINCuaTjeS9nOezu+e7n+S6p+WTgemDqC/kuK3lv4PnoJTnqbbpmaIv57O757uf5Lqn5ZOB IE9TIFByb2R1Y3QgRGVwdC4vQ2VudHJhbCBS77yGRCBJbnN0aXR1dGUvU3lzdGVtIFByb2R1Y3QN Cg0KDQoNCg0KDQoNCg0KDQoNCuWbm+W3neecgeaIkOmDveW4guWkqeW6nOWkp+mBk+S4reautTgw MOWPtw0KRTogbHUuemhpcGVuZ0B6dGUuY29tLmNuIA0Kd3d3Lnp0ZS5jb20uY24NCg0KDQoNCg0K DQoNCg0KDQoNCg0K5Y6f5aeL6YKu5Lu2DQoNCg0KDQrlj5Hku7bkurrvvJogPGpmZXJsYW5AcmVk aGF0LmNvbT4NCuaUtuS7tuS6uu+8muiKpuW/l+acizEwMTA4MjcyIDxsaWJ2aXItbGlzdEByZWRo YXQuY29tPg0K5pelIOacnyDvvJoyMDE35bm0MDnmnIgyN+aXpSAwNzo0Ng0K5Li7IOmimCDvvJpS ZTogW2xpYnZpcnRdIFtQQVRDSCB2Ml0gbndmaWx0ZXI6IERvbid0IGxlYWsgQGluZXRhZGRyDQoN Cg0KDQoNCg0KDQoNCk9uIDA5LzI2LzIwMTcgMDM6NTQgUE0sIFpoaVBlbmcgTHUgd3JvdGU6DQo+ IEluIGxlYXJuSVBBZGRyZXNzVGhyZWFkKCl0aGUgQGluZXRhZGRyIG1heSBiZSBsZWFrZWQuDQo+ IA0KPiBTaWduZWQtb2ZmLWJ5OiBaaGlQZW5nIEx1IDxsdS56aGlwZW5nQHp0ZS5jb20uY24+DQo+ IC0tLQ0KPiAgc3JjL253ZmlsdGVyL253ZmlsdGVyX2xlYXJuaXBhZGRyLmMgfCA0ICsrKy0NCj4g IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9zcmMvbndmaWx0ZXIvbndmaWx0ZXJfbGVhcm5pcGFkZHIuYyBiL3NyYy9ud2Zp bHRlci9ud2ZpbHRlcl9sZWFybmlwYWRkci5jDQo+IGluZGV4IGNmZDkyZDkuLjVkYzIxMmUgMTAw NjQ0DQo+IC0tLSBhL3NyYy9ud2ZpbHRlci9ud2ZpbHRlcl9sZWFybmlwYWRkci5jDQo+ICsrKyBi L3NyYy9ud2ZpbHRlci9ud2ZpbHRlcl9sZWFybmlwYWRkci5jDQo+IEBAIC02MjUsNiArNjI1LDcg QEAgbGVhcm5JUEFkZHJlc3NUaHJlYWQodm9pZCAqYXJnKQ0KPiAgICAgICAgICAgICAgaWYgKHZp ck5XRmlsdGVySVBBZGRyTWFwQWRkSVBBZGRyKHJlcS0+aWZuYW1lLCBpbmV0YWRkcikgPCAwKSB7 DQo+ICAgICAgICAgICAgICAgICAgVklSX0VSUk9SKF8oIkZhaWxlZCB0byBhZGQgSVAgYWRkcmVz cyAlcyB0byBJUCBhZGRyZXNzICINCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhY2hl IGZvciBpbnRlcmZhY2UgJXMiKSwgaW5ldGFkZHIsIHJlcS0+aWZuYW1lKQ0KPiArICAgICAgICAg ICAgICAgIFZJUl9GUkVFKGluZXRhZGRyKQ0KPiAgICAgICAgICAgICAgfQ0KPiAgDQo+ICAgICAg ICAgICAgICByZXQgPSB2aXJOV0ZpbHRlckluc3RhbnRpYXRlRmlsdGVyTGF0ZShyZXEtPmRyaXZl ciwNCj4gQEAgLTYzNiw3ICs2MzcsOCBAQCBsZWFybklQQWRkcmVzc1RocmVhZCh2b2lkICphcmcp DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXEtPmZpbHRlcm5hbWUsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZXEtPmZpbHRlcnBhcmFtcykNCj4gICAgICAgICAgICAgIFZJUl9ERUJV RygiUmVzdWx0IGZyb20gYXBwbHlpbmcgZmlyZXdhbGwgcnVsZXMgb24gIg0KPiAtICAgICAgICAg ICAgICAgICAgICAgICIlcyB3aXRoIElQIGFkZHIgJXMgOiAlZCIsIHJlcS0+aWZuYW1lLCBpbmV0 YWRkciwgcmV0KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICIlcyB3aXRoIElQIGFkZHIgJXMg OiAlZCIsIHJlcS0+aWZuYW1lLCBOVUxMU1RSKGluZXRhZGRyKSwgcmV0KT4gKw0KDQpTdGlsbCBu b3QgcXVpdGUgcmlnaHQuLi4gVklSX0ZSRUUoKSBvbmx5IGhhcHBlbnMgaWYNCnZpck5XRmlsdGVy SVBBZGRyTWFwQWRkSVBBZGRyKCkgPCAwLg0KDQpOb3Qgc3VyZSB3aGF0IHRoZSBwdXJwb3NlIG9m IGEgVklSX0ZSRUUgaW4gdGhlIHVwcGVyIGNvbmRpdGlvbiBhbmQgdGhlbg0KTlVMTFNUUigpIGJl bG93IHdvdWxkIGJlLi4uICBXZSdyZSBzdGlsbCBjYWxsaW5nDQp2aXJOV0ZpbHRlckluc3RhbnRp YXRlRmlsdGVyTGF0ZSByZWdhcmRsZXNzIGFuZCBzdGlsbCB3YW50IHRoZSBWSVJfREVCVUcNCnBy aW50ZWQuDQoNClBlcmhhcHMganVzdCBhIFZJUl9GUkVFKCkgYWZ0ZXIgdGhlIFZJUl9ERUJVRyB3 b3VsZCBzZWVtIHRvIGJlDQpzdWZmaWNpZW50IHNpbmNlIHRoZXJlJ3Mgbm8gZXNjYXBlIGNsYXVz ZS4gIFRoZSBWSVJfRVJST1IgbWF5IGhlbHAgdXMNCnVuZGVyc3RhbmQgd2h5L2lmIHJldCAhPSAw IHRob3VnaC4uLiBJIGRpZG4ndCBwdXQgbXVjaCB0aG91Z2h0IGludG8gdGhhdA0KdGhvdWdoLg0K DQpKb2huDQoNCj4gICAgICAgICAgfQ0KPiAgICAgIH0gZWxzZSB7DQo+ICAgICAgICAgIGlmIChz aG93RXJyb3IpDQo+