VGhlcmUgd2VyZSAxMSBvdGhlciBwYW5lbGlzdHMgYXQgdGhlIGhlYXJpbmcuICBQZXJoYXBzIHdl IHNob3VsZCAKY29uc2lkZXIgYWxsIG9mIHRoZWlyIHRlc3RpbW9ueS4KCmh0dHA6Ly9zY2llbmNl LmhvdXNlLmdvdi9wdWJsaWNhdGlvbnMvaGVhcmluZ3NfbWFya3Vwc19kZXRhaWxzLmFzcHg/TmV3 c0lEPTI5NDcKClBhbmVsIDEKCuKAoiBEci4gUmFscGggQ2ljZXJvbmUgaXMgdGhlIFByZXNpZGVu dCBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiAKU2NpZW5jZXMuIERyLiBDaWNlcm9uZSB3aWxs IGV4cGxhaW4KdGhlIGJhc2ljIHNjaWVuY2UsIGluY2x1ZGluZyB0aGUgZnVuZGFtZW50YWwgcGh5 c2ljcywgdW5kZXJseWluZyBob3cgCmNsaW1hdGUgY2hhbmdlIGhhcHBlbnMuIEhlCndpbGwgYWxz byBkaXNjdXNzIHRoZSByb2xlIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIGlu IAphZHZhbmNpbmcgY2xpbWF0ZSBzY2llbmNlIGFuZAppbmZvcm1pbmcgdGhlIHB1YmxpYyBvbiB0 aGUgaXNzdWUuCgrigKIgRHIuIEhlaWRpIEN1bGxlbiBpcyB0aGUgQ0VPIGFuZCBEaXJlY3RvciBv ZiBDb21tdW5pY2F0aW9ucyBhdCBDbGltYXRlIApDZW50cmFsLiBEci4gQ3VsbGVuIHdpbGwKZGlz Y3VzcyB0aGUgYmFzaWMgc2NpZW5jZSBvZiBjbGltYXRlIGNoYW5nZSwgaW5jbHVkaW5nIHRoZSBm dW5kYW1lbnRhbCAKY2hlbWlzdHJ5LCB0aGUgY2F1c2VzIG9mCnByb2R1Y3Rpb24gb2YgZ3JlZW5o b3VzZSBnYXNlczsgYW5kIHRoZSBleHBlY3RlZCBpbXBhY3RzIG9uIHRoZSBjbGltYXRlLgoK4oCi IERyLiBHZXJhbGQgQS4gTWVlaGwgaXMgYSBTZW5pb3IgU2NpZW50aXN0IGluIHRoZSBDbGltYXRl IGFuZCBHbG9iYWwgCkR5bmFtaWNzIERpdmlzaW9uIGF0IHRoZQpOYXRpb25hbCBDZW50ZXIgZm9y IEF0bW9zcGhlcmljIFJlc2VhcmNoLiBEci4gTWVlaGwgd2lsbCBkaXNjdXNzIHRoZSAKYmFzaWMg cGh5c2ljcyB1bmRlcmx5aW5nIGhvdwpjbGltYXRlIGNoYW5nZSBoYXBwZW5zIGFuZCBob3cgdGhl IHBoeXNpY3MgaXMgaW5jb3Jwb3JhdGVkIGludG8gdGhlIApkZXZlbG9wbWVudCBvZiB0aGUgY2xp bWF0ZQptb2RlbHMuCgrigKIgRHIuIFJpY2hhcmQgTGluZHplbiBpcyB0aGUgQWxmcmVkIFAuIFNs b2FuIFByb2Zlc3NvciBvZiBNZXRlb3JvbG9neSBpbiAKdGhlIERlcGFydG1lbnQgb2YgRWFydGgs CkF0bW9zcGhlcmljLCBhbmQgUGxhbmV0YXJ5IFNjaWVuY2VzIGF0IE1hc3NhY2h1c2V0dHMgSW5z dGl0dXRlIG9mIApUZWNobm9sb2d5LiBEci4gTGluZHplbiB3aWxsCmRpc2N1c3MgaG93IGdyZWVu aG91c2UgZ2FzIGVtaXNzaW9ucyByZXN1bHRpbmcgZnJvbSBodW1hbiBhY3Rpdml0aWVzIAp3aWxs IG9ubHkgbWluaW1hbGx5IGNvbnRyaWJ1dGUKdG8gd2FybWluZy4gSGUgd2lsbCBhbHNvIGRpc2N1 c3MgdGhlIGxpbWl0YXRpb25zIGluIHRoZSBnbG9iYWwgY2xpbWF0ZSAKbW9kZWxzIGFuZCB0aGUg cHJvYmxlbXMgd2l0aAp0aGUgcG9zaXRpdmUgZmVlZGJhY2tzIGJ1aWx0IGludG8gdGhlIG1vZGVs cy4KClBhbmVsIDIKCuKAoiBEci4gQmVuamFtaW4gU2FudGVyIGlzIGFuIEF0bW9zcGhlcmljIFNj aWVudGlzdCBpbiB0aGUgUHJvZ3JhbSBmb3IgCkNsaW1hdGUgTW9kZWwgRGlhZ25vc2lzIGFuZApJ bnRlcmNvbXBhcmlzb24gYXQgdGhlIExhd3JlbmNlIExpdmVybW9yZSBOYXRpb25hbCBMYWJvcmF0 b3J5LiBEci4gClNhbnRlciB3aWxsIGRpc2N1c3MgdGhlIGV2aWRlbmNlCm9mIGNsaW1hdGUgY2hh bmdlOyBob3cgd2VsbCB0aGUgc2NpZW5jZSB2YWxpZGF0ZXMgdGhhdCBjbGltYXRlIGNoYW5nZSBp cyAKaGFwcGVuaW5nOyBhbmQgdGhlCmNvbXB1dGF0aW9uYWwgY2xpbWF0ZSBtb2RlbHMsIGluY2x1 ZGluZyBob3cgdGhlIHZhcmlvdXMgY2xpbWF0ZSBkYXRhIApzZXRzIGFyZSB1dGlsaXplZCBhbmQg YW5hbHl6ZWQuCgrigKIgRHIuIFJpY2hhcmQgQWxsZXkgaXMgdGhlIEV2YW4gUHVnaCBQcm9mZXNz b3IgaW4gdGhlIERlcGFydG1lbnQgb2YgCkdlb3NjaWVuY2VzIGFuZCBhbiBBc3NvY2lhdGUgb2YK dGhlIEVhcnRoIGFuZCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgSW5zdGl0dXRlIGF0IFBlbm5zeWx2 YW5pYSBTdGF0ZSAKVW5pdmVyc2l0eS4gRHIuIEFsbGV5IHdpbGwKZGVzY3JpYmUgdGhlIGVmZmVj dHMgb2YgY2xpbWF0ZSBjaGFuZ2Ugb24gaWNlIGR5bmFtaWNzIGFuZCBleHBsYWluIGhvdyAKY2hh bmdlcyBpbiBsZXZlbHMgb2YgY2FyYm9uCmRpb3hpZGUgaW4gdGhlIGF0bW9zcGhlcmUgaGF2ZSBs ZWQgdG8gYSByaXNlIGluIGdsb2JhbCB0ZW1wZXJhdHVyZXMuCgrigKIgRHIuIFJpY2hhcmQgRmVl bHkgaXMgYSBTZW5pb3IgU2NpZW50aXN0IGF0IHRoZSBQYWNpZmljIE1hcmluZSAKRW52aXJvbm1l bnQgTGFib3JhdG9yeSBvZiB0aGUgTmF0aW9uYWwKT2NlYW5pYyBhbmQgQXRtb3NwaGVyaWMgQWRt aW5pc3RyYXRpb24gKE5PQUEpLiBEci4gRmVlbHkgd2lsbCBkaXNjdXNzIAp0aGUgY3VycmVudCBz Y2llbmNlIGFuZAp1bmRlcnN0YW5kaW5nIG9mIG9jZWFuIGFjaWRpZmljYXRpb24sIHRoZSBmYWN0 b3JzIHRoYXQgY29udHJpYnV0ZSB0byB0aGUgCmFjaWRpZmljYXRpb24gcHJvY2VzcywgYW5kIHRo ZQpyZXN1bHRpbmcgaW1wYWN0cy4KCuKAoiBEci4gUGF0cmljayBNaWNoYWVscyBpcyBhIFNlbmlv ciBGZWxsb3cgaW4gRW52aXJvbm1lbnRhbCBTdHVkaWVzIGF0IAp0aGUgQ2F0byBJbnN0aXR1dGUu IERyLiBNaWNoYWVscwp3aWxsIGRpc2N1c3MgdGhlIHJhdGUgb2YgZ3JlZW5ob3VzZS1yZWxhdGVk IHdhcm1pbmc7IHRoZSBFbmRhbmdlcm1lbnQgCkZpbmRpbmcgYnkgdGhlIEVudmlyb25tZW50YWwK UHJvdGVjdGlvbiBBZ2VuY3k7IGFuZCBzY2llbnRpZmljIGludGVncml0eS4KClBhbmVsIDMKCuKA oiBSZWFyIEFkbWlyYWwgRGF2aWQgVGl0bGV5IGlzIGFuIE9jZWFub2dyYXBoZXIgYW5kIE5hdmln YXRvciBmb3IgdGhlIApVbml0ZWQgU3RhdGVzIERlcGFydG1lbnQgb2YKdGhlIE5hdnksIERlcGFy dG1lbnQgb2YgRGVmZW5zZS4gUkFETSBUaXRsZXkgd2lsbCBkaXNjdXNzIHRoZSBpbXBhY3RzIG9m IApjbGltYXRlIGNoYW5nZSBvbiBVLlMuCk5hdnkgbWlzc2lvbnMgYW5kIG9wZXJhdGlvbnMsIHRo ZSBuYXRpb25hbCBzZWN1cml0eSBpbXBsaWNhdGlvbnMgb2YgCmNsaW1hdGUgY2hhbmdlLCBhbmQg dGhlIHJvbGUgb2YKdGhlIFUuUy4gTmF2eeKAmXMgVGFzayBGb3JjZSBDbGltYXRlIENoYW5nZS4K CuKAoiBNci4gSmFtZXMgTG9wZXogaXMgdGhlIFNlbmlvciBBZHZpc29yIHRvIHRoZSBEZXB1dHkg U2VjcmV0YXJ5IGF0IHRoZSAKRGVwYXJ0bWVudCBvZiBIb3VzaW5nIGFuZApVcmJhbiBEZXZlbG9w bWVudC4gTXIuIExvcGV6IHdpbGwgZGlzY3VzcyB0aGUgaW1wYWN0cyBvZiBjbGltYXRlIGNoYW5n ZSAKb24gdnVsbmVyYWJsZSBwb3B1bGF0aW9ucwphbmQgY29tbXVuaXRpZXM7IEhVRCdzIHByb3Bv c2VkIFN1c3RhaW5hYmxlIENvbW11bml0aWVzIEluaXRpYXRpdmU7IGFuZCAKaG93IHRoZSBEZXBh cnRtZW50IGlzCndvcmtpbmcgdG8gaW1wcm92ZSB0aGUgY29vcmRpbmF0aW9uIG9mIHRyYW5zcG9y dGF0aW9uIGFuZCBob3VzaW5nIAppbnZlc3RtZW50cyB0byBlbnN1cmUgbW9yZQpyZWdpb25hbCBh bmQgbG9jYWwgc3VzdGFpbmFibGUgZGV2ZWxvcG1lbnQgcGF0dGVybnMsIG1vcmUgCnRyYW5zaXQt YWNjZXNzaWJsZSBob3VzaW5nIGNob2ljZXMsIGFuZApyZWR1Y2VkIGdyZWVuaG91c2UgZ2FzIGVt aXNzaW9ucy4KCuKAoiBNci4gV2lsbGlhbSBHZWVyIGlzIHRoZSBEaXJlY3RvciBvZiB0aGUgQ2Vu dGVyIGZvciBXZXN0ZXJuIExhbmRzIGZvciAKdGhlIFRoZW9kb3JlIFJvb3NldmVsdApDb25zZXJ2 YXRpb24gUGFydG5lcnNoaXAuIE1yLiBHZWVyIHdpbGwgZGlzY3VzcyB0aGUgdGhyZWF0IG9mIGNs aW1hdGUgCmNoYW5nZSB0byBodW50aW5nIGFuZCBmaXNoaW5nOwppdHMgaW1wYWN0cyBvbiBmaXNo IGFuZCB3aWxkbGlmZTsgYW5kIGhvdyB0aGUgVGhlb2RvcmUgUm9vc2V2ZWx0IApDb25zZXJ2YXRp b24gUGFydG5lcnNoaXAgaXMKcmVzcG9uZGluZyB0byB0aGUgaW1wYWN0cyBvZiBjbGltYXRlIGNo YW5nZS4KCuKAoiBEci4gSnVkaXRoIEN1cnJ5IGlzIHRoZSBDaGFpciBvZiB0aGUgU2Nob29sIG9m IEVhcnRoIGFuZCBBdG1vc3BoZXJpYyAKU2NpZW5jZXMgYXQgR2VvcmdpYSBJbnN0aXR1dGUKb2Yg VGVjaG5vbG9neS4gRHIuIEN1cnJ5IHdpbGwgZGlzY3VzcyBob3cgdW5jZXJ0YWludHkgaW4gZGF0 YSBhbmQgCmNvbmNsdXNpb25zIGlzIGV2YWx1YXRlZCBhbmQKY29tbXVuaWNhdGVkLiBTaGUgd2ls bCBhbHNvIGRpc2N1c3MgaG93IHRoaXMgdW5jZXJ0YWludHkgc2hvdWxkIGJlIAppbmNvcnBvcmF0 ZWQgaW50byBkZWNpc2lvbi0KbWFraW5nIGVmZm9ydHMKCgpBbHNvLCB0ZXN0aW1vbnkgaXNuJ3Qg cGVlci1yZXZpZXdlZCB3b3JrLiAgVGhlIElQQ0MgQVI0IHJlcG9ydCBpcyBhIHBlZXIgCnJldmll d2VkIHdvcmsgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGh1bmRyZWRzIG9mIGNsaW1hdGUgc2NpZW50 aXN0cyAKY29sbGFib3JhdGluZyBmb3Igc29tZSBudW1iZXIgb2YgeWVhcnMgb24gdGhlIGlzc3Vl LgoKaHR0cDovL3d3dy5pcGNjLmNoL3B1YmxpY2F0aW9uc19hbmRfZGF0YS9wdWJsaWNhdGlvbnNf aXBjY19mb3VydGhfYXNzZXNzbWVudF9yZXBvcnRfc3ludGhlc2lzX3JlcG9ydC5odG0KCgpKb2UK CgoKT24gMTEvMTkvMjAxMCA2OjU5IEFNLCBSdXNzZWxsTWMgd3JvdGU6Cj4gKklmIHlvdSBkZWNp ZGUgdG8gcmVhZCBvbmx5IG9uZSBwYXBlciB3aXRoIHRoaXMgcG9pbnQgb2YgdmlldyBpbiB0aGUg bmV4dAo+IHdoaWxlLCBtYWtlIGl0IHRoaXMgb25lLioKPiAqV2FybmluZ3MgYW5kIHF1YWxpZmll cnMgYW5kIHdoeSB5b3UgbWlnaHQgY29uc2lkZXIgZ2l2aW5nIGNyZWRlbmNlIHRvIHRoZQo+IGF1 dGhvciBpcyBjb3ZlcmVkIGJlbG93OiAqCj4gKgo+Cj4gaHR0cDovL2RlbW9jcmF0cy5zY2llbmNl LmhvdXNlLmdvdi9NZWRpYS9maWxlL0NvbW1kb2NzL2hlYXJpbmdzLzIwMTAvRW5lcmd5LzE3bm92 L0xpbmR6ZW5fVGVzdGltb255LnBkZgo+ICoKPiBJdCBhcHBlYXJzIG5lYXIgdGVybWluYWxseSBk aWZmaWN1bHQgdG8gdGFsayBhYm91dCB0aGUgc3ViamVjdCBvZiAuLi4KPiB3aGF0ZXZlciAuLi4g b24gYW55IHNjaWVudGlmaWMgYmFzaXMgd2l0aG91dCBhbGwgc29ydHMgb2Ygc3RyYW5nZSB0aGlu Z3MKPiBoYXBwZW5pbmcgKG5vIGRvdWJ0IGNhdXNlZCBieSB0aGUgTG9yZW50eiBCdXR0ZXJmbHkp LiBCZWluZyBhIHNvbWV0aW1lCj4gZ2x1dHRvbiBmb3IgcHVuaXNobWVudCBJJ2QgbGlrZSB0byBw cm92aWRlIGEgbGluayB0byB3aGF0IGFwcGVhcnMgdG8gYmUgYQo+IHdyaXRlciB3aXRoIGltcGVj Y2FibGUgY3JlZGVudGlhbHMgcHJlc2VudGluZyB3aGF0IGFwcGVhcnMgdG8gYmUgIGEgc291bmRs eQo+ICAgJ3NjaWVudGlmaWNhbGx5IGJhc2VkJyB3ZWxsIHRob3VnaHQgb3V0IHN1bW1hcnkgb2Yg dGhlIHN1YmplY3Qgd2l0aAo+IHBhcnRpY3VsYXIgcmVmZXJlbmNlcyB0byBjbGltYXRlIG1vZGVs cyBhbmQgdGhlIHVuY2VydGFpbnRpZXMgaW4gdGhlIHNjaWVuY2UKPiBpbnZvbHZlZC4KPgo+IElm IHJlcGx5aW5nIHRvIHRoaXMgb24tbGlzdCBwbGVhc2UgdHJ5IHRvIGtlZXAgcmVzcG9uc2VzIHNj aWVuY2UgYmFzZWQsCj4gY2l2aWwsIHJhdGlvbmFsIGFuZCBvYnNlcnZlIG90aGVyIGdlbmVyYWxs eSBpbXBvc3NpYmxlIGd1aWRlbGluZXMuCj4gTGlmZXRpbWUgb2YgdGhpcyB0aHJlYWQgd2lsbCBk ZXBlbmQgb24gbGlzdCBydWxlcyBiZWluZyBub3QgbW9yZSB0aGFuIG1pbGRseQo+IHRyYW1wbGVk Lgo+IChJZiB5b3UgZmVlbCB0aGF0IHRoaXMgc3ViamVjdCBoYXMgbm8gcGxhY2UgaGVyZSAtIHBs ZWFzZSByZWFkIHRoZSBGQVEuIChJdAo+IHNob3VsZCBiZSBpbiBURUNIIGJ1dCB0aGF0J3MgbW9y ZSAnZGFuZ2Vyb3VzJy4KPiBCeSBhbGwgbWVhbnMgIGZlZWwgZnJlZSB0byBhYnVzZSBtZSBvZmZs aXN0IGFzIGRlc2lyZWQuCj4KPiAqSSdkIHJlY29tbWVuZCB0aGF0IGFueW9uZSB3aXRoIGEgZ2Vu dWluZSBpbnRlcmVzdCBpbiB0aGUgc2NpZW50aWZpYyBhc3BlY3RzCj4gb2YgR1cgLyBBR1cgLyBD QywgLi4uIHRvIGxvb2sgYXQgdGhlIHBhcGVyIHJlZmVyZW5jZWQuCj4gKkJ5IG5vIG1lYW5zIGV2 ZXJ5IG9uZSBvZiBoaXMgY29sbGVhZ3VlcyBhZ3JlZXMgd2l0aCB0aGlzIG1hbidzIHBvaW50IG9m Cj4gdmlldywgYnV0IGhpcyAnYm9uYSBmaWRlcycgc2hvdWxkIHF1YWxpZnkgaGltIGZvciBhIGZh aXIgaGVhcmluZyBpbiBhbnkKPiBmb3J1bS4KPiBEb24ndCBiZWxpZXZlIGFueW9uZSBhYnNvbHV0 ZWx5LCBidXQgdGhpcyBwYXBlciBwcm92aWRlcyBmb29kIGZvciB0aG91Z2h0Cj4gd2hlbiBjb25z aWRlcmluZyB0aGUgbW9yZSBleHRyZW1lIHZpZXdwb2ludHMgb24gdGhlIHN1YmplY3QgLSBpbiBl aXRoZXIKPiBkaXJlY3Rpb24uCj4KPiAqSW50cm9kdWN0aW9uIChvciBza2lwIHRvIFRIRSBDSEFT RSBiZWxvdykqCj4KPiAqVG8gc3RhcnQgb24gdGhlIHJpZ2h0IGZvb3QsIGhlcmUncyB0aGUgYmFz aWMgcXVhbGlmaWNhdGlvbnMgdG8gY29tbWVudCBvZgo+IGl0cyBhdXRob3I6Cj4KPiAgICAgIGh0 dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUmljaGFyZF9MaW5kemVuCj4gKgo+ICAgICAgICAg IFJpY2hhcmQgU2llZ211bmQgTGluZHplbiAoYm9ybiBGZWJydWFyeSA4LCAxOTQwLCBXZWJzdGVy LAo+IE1hc3NhY2h1c2V0dHMpIGlzIGFuIEFtZXJpY2FuIGF0bW9zcGhlcmljIHBoeXNpY2lzdCBh bmQgQWxmcmVkIFAuIFNsb2FuCj4gUHJvZmVzc29yIG9mIE1ldGVvcm9sb2d5IGF0IHRoZSBNYXNz YWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5Lgo+IExpbmR6ZW4gaXMga25vd24gZm9y IGhpcyB3b3JrIGluIHRoZSBkeW5hbWljcyBvZiB0aGUgbWlkZGxlIGF0bW9zcGhlcmUsCj4gYXRt b3NwaGVyaWMgdGlkZXMgYW5kIG96b25lIHBob3RvY2hlbWlzdHJ5LiBIZSBoYXMgcHVibGlzaGVk IG1vcmUgdGhhbiAyMDAKPiBzY2llbnRpZmljIHBhcGVycyBhbmQgYm9va3MuWzFdIEhlIHdhcyBh IGxlYWQgYXV0aG9yIG9mIENoYXB0ZXIgNywgJ1BoeXNpY2FsCj4gQ2xpbWF0ZSBQcm9jZXNzZXMg YW5kIEZlZWRiYWNrcywnIG9mIHRoZSBJUENDIFRoaXJkIEFzc2Vzc21lbnQgUmVwb3J0IG9uCj4g Y2xpbWF0ZSBjaGFuZ2UuCj4KPiAgICAgICAgICAgICBMaW5kemVuIGhhcyBwdWJsaXNoZWQgcGFw ZXJzIG9uIEhhZGxleSBjaXJjdWxhdGlvbiwgbW9uc29vbgo+IG1ldGVvcm9sb2d5LCBwbGFuZXRh cnkgYXRtb3NwaGVyZXMsIGh5ZHJvZHluYW1pYyBpbnN0YWJpbGl0eSwgbWlkLWxhdGl0dWRlCj4g d2VhdGhlciwgZ2xvYmFsIGhlYXQgdHJhbnNwb3J0LCB0aGUgd2F0ZXIgY3ljbGUsIGljZSBhZ2Vz LCBzZWFzb25hbAo+IGF0bW9zcGhlcmljIGVmZmVjdHMuIEhpcyBtYWluIGNvbnRyaWJ1dGlvbiB0 byB0aGUgYWNhZGVtaWMgbGl0ZXJhdHVyZSBvbgo+IGFudGhyb3BvZ2VuaWMgY2xpbWF0ZSBjaGFu Z2UgaXMgaGlzIHByb3Bvc2FsIG9mIHRoZSBpcmlzIGh5cG90aGVzaXMgaW4gMjAwMSwKPiB3aXRo IGNvLWF1dGhvcnMgTWluZy1EYWggQ2hvdSBhbmQgQXJ0aHVyIFkuIEhvdS5bNV1bNl0gSGUgaXMg YSBtZW1iZXIgb2YgdGhlCj4gTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlcyBhbmQgdGhlIFNj aWVuY2UsIEhlYWx0aCwgYW5kIEVjb25vbWljIEFkdmlzb3J5Cj4gQ291bmNpbCBhdCB0aGUgQW5u YXBvbGlzIENlbnRlciBmb3IgU2NpZW5jZS1CYXNlZCBQdWJsaWMgUG9saWN5LiBFZHVjYXRlZCBh dAo+IEhhcnZhcmQgVW5pdmVyc2l0eSAoUGguRC4sICc2NCwgUy5NLiwgJzYxLCBBLkIuLCAnNjAp LCBoZSBtb3ZlZCB0byBNSVQgaW4KPiAxOTgzLCBwcmlvciB0byB3aGljaCBoZSBoZWxkIHBvc2l0 aW9ucyBhdCB0aGUgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uCj4gKDE5NjTigJMxOTY1KSwgSW5z dGl0dXRlIGZvciBUaGVvcmV0aWNhbCBNZXRlb3JvbG9neSwgVW5pdmVyc2l0eSBvZiBPc2xvCj4g KDE5NjXigJMxOTY2KSwgTmF0aW9uYWwgQ2VudGVyIGZvciBBdG1vc3BoZXJpYyBSZXNlYXJjaCAo TkNBUikgKDE5NjbigJMxOTY3KSwKPiBVbml2ZXJzaXR5IG9mIENoaWNhZ28gKDE5NjjigJMxOTcy KSBhbmQgSGFydmFyZCBVbml2ZXJzaXR5ICgxOTcy4oCTMTk4MykuIEhlCj4gYWxzbyBicmllZmx5 IGhlbGQgYSBwb3NpdGlvbiBvZiBWaXNpdGluZyBMZWN0dXJlciBhdCBVQ0xBIGluIDE5NjcuWzdd IEFzIG9mCj4gSmFudWFyeSAyMDEwLCBoaXMgcHVibGljYXRpb25zIGxpc3QgaW5jbHVkZWQgMjMw IHBhcGVycyBhbmQgYXJ0aWNsZXMKPiBwdWJsaXNoZWQgYmV0d2VlbiAxOTY1IGFuZCAyMDA4LCB3 aXRoIGZpdmUgaW4gcHJvY2VzcyBmb3IgMjAwOS4gSGUgaXMgdGhlCj4gYXV0aG9yIG9mIGEgc3Rh bmRhcmQgdGV4dGJvb2sgb24gYXRtb3NwaGVyaWMgZHluYW1pY3MsIGFuZCBjby1hdXRob3JlZCB0 aGUKPiBtb25vZ3JhcGggQXRtb3NwaGVyaWMgVGlkZXMgd2l0aCBTeWRuZXkgQ2hhcG1hbi5bOF0K Pgo+IFB1YmxpY2F0aW9ucyBsaXN0IChsYXJnZWx5IGJvcmluZyB0byBub24gZXhwZXJ0cykoMjM1 IGVudHJpZXMpCj4gaHR0cDovL3d3dy1lYXBzLm1pdC5lZHUvZmFjdWx0eS9saW5kemVuL1B1Ymxp Y2F0aW9uc1JTTC5odG1sCj4KPiBUaGF0J3Mgbm90IG1lYW50IHRvIGJlIGFwcGVhbCB0byBhdXRo b3JpdHkgb3Igd2hhdGV2ZXIsIGp1c3Qgc2V0dGluZyB3aGF0Cj4gc2VlbXMgdG8gYmUgdGhlIG5l Y2Vzc2FyeSBncm91bmR3b3JrIHJlcXVpcmVkIHRvIHByZXZlbnQgYW4gYXV0aG91ciBiZWluZwo+ IGRpc21pc3NlZCBvdXQgb2YgaGFuZC4KPgo+IFNvLgo+Cj4gKlRIRSBDSEFTRToqCj4KPiBCZWFy IGluIG1pbmQgdGhpcyBpcyBhIHBvcHVsaXN0IGxldmVsIHN1bW1hcnkgYWltZWQgYXQgcG9saXRp Y2lhbnMgYW5kCj4gc2ltaWxhciAtIHdpdGggbGFyZ2UgYW1vdW50cyBvZiBzdXBwb3J0aW5nIHNj aWVuY2Utc3BlYWsgYmFja3VwIGFzIHJlcXVpcmVkLgo+Cj4KPiAqCj4gaHR0cDovL2RlbW9jcmF0 cy5zY2llbmNlLmhvdXNlLmdvdi9NZWRpYS9maWxlL0NvbW1kb2NzL2hlYXJpbmdzLzIwMTAvRW5l cmd5LzE3bm92L0xpbmR6ZW5fVGVzdGltb255LnBkZgo+ICoKPiBHbG9iYWwgV2FybWluZzoKPiBI b3cgdG8gYXBwcm9hY2ggdGhlIHNjaWVuY2UuCj4gUmljaGFyZCBTLiBMaW5kemVuCj4gUHJvZ3Jh bSBpbiBBdG1vc3BoZXJlcywgT2NlYW5zLCBhbmQgQ2xpbWF0ZQo+IE1hc3NhY2h1c2V0dHMgSW5z dGl0dXRlIG9mIFRlY2hub2xvZ3kKPiBUZXN0aW1vbnk6IEhvdXNlIFN1YmNvbW1pdHRlZQo+IG9u IFNjaWVuY2UgYW5kIFRlY2hub2xvZ3kgaGVhcmluZyBvbiBBIFJhdGlvbmFsIERpc2N1c3Npb24g b2YgQ2xpbWF0ZQo+IENoYW5nZTogdGhlIFNjaWVuY2UsIHRoZSBFdmlkZW5jZSwgdGhlIFJlc3Bv bnNlCj4gTm92ZW1iZXIgMTcsIDIwMTAKPgo+Cj4gICAgICAgICAgICAgICAgICAgICBSdXNzZWxs IE1jTWFob24KPgo+IF9fX19fX19fX19fX19fCj4KPiBQUyAtIG15IGJ1c2luZXNzIGFjdGl2aXRp ZXMgaW5jbHVkZSBhY3Rpdml0aWVzIHdoaWNoIG1heSBwb3RlbnRpYWxseSBwcm92aWRlCj4gYW5k L29yIHJlY2VpdmUgYmVuZWZpdCBmcm9tIHRoZWlyIHJlZHVjdGlvbiBpbiBuZXQgQ08yIHJlbGVh c2UgdG8gdGhlCj4gYXRtb3NwaGVyZS4gSSBkbyBub3QgZG91YnQgdGhhdHRoZXJlIGlzIHZhbHVl IGluICBDTzIgcmVkdWN0aW9ucyB3aGVyZSB0aGV5Cj4gYXJlIGEgInByb3h5IiBmb3IgdGhlIGJ1 cm5pbmcgb2YgZm9zc2lsIGZ1ZWxzIG9yIHRoZSB1c2Ugb2YgZm9zc2lsIHByb2R1Y3RzCj4gYXMg Y2hlbWljYWwgZmVlZHN0b2NrcyAoZWcgcGxhc3RpYyBwcm9kdWN0aW9uKSAgLSB0aGUgbGVzcyB3 ZSBidXJuIG9yCj4gY29uc3VtZSB0aGUgbW9yZSB0aGVyZSBtYXkgYmUgbGVmdCBmb3Igb3VyIGNo aWxkcmVuJ3MgY2hpbGRyZW4uIEluIGFsbAo+IHJlbGF0ZWQgYXJlYXMgQUxMIEkgYW0gaW50ZXJl c3RlZCBpbiBpcyB0aGUgdHJ1dGguIEkgaGF2ZSBubyBpbnRlcmVzdCBzbwo+IHZlc3RlZCB0aGF0 IEkgd2lzaCB0byBiZSBwYXJ0eSB0byB0aGUgZ2VuZXJhdGlvbiBvZiBkaXNpbmZvcm1hdGlvbiBv ciB0aGUKPiBjcmVhdGlvbiBvciBtYWludGVuYW5jZSBvZiBzY2llbnRpZmljIG9yICBlbmdpbmVl cmluZyBmYWJsZXMgb2YgYW55IHNvcnQuCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9T WCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMg YXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .