• TriLUG Digest, Vol 4295, Issue 1

    From via TriLUG@trilug@trilug.org to trilug@trilug.org on Mon Jun 23 12:00:01 2025
    U2VuZCBUcmlMVUcgbWFpbGluZyBsaXN0IHN1Ym1pc3Npb25zIHRvCgl0cmlsdWdAdHJpbHVnLm9y ZwoKVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSB0aGUgV29ybGQgV2lkZSBXZWIsIHZp c2l0CglodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnCm9yLCB2 aWEgZW1haWwsIHNlbmQgYSBtZXNzYWdlIHdpdGggc3ViamVjdCBvciBib2R5ICdoZWxwJyB0bwoJ dHJpbHVnLXJlcXVlc3RAdHJpbHVnLm9yZwoKWW91IGNhbiByZWFjaCB0aGUgcGVyc29uIG1hbmFn aW5nIHRoZSBsaXN0IGF0Cgl0cmlsdWctb3duZXJAdHJpbHVnLm9yZwoKV2hlbiByZXBseWluZywg cGxlYXNlIGVkaXQgeW91ciBTdWJqZWN0IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYwp0aGFu ICJSZTogQ29udGVudHMgb2YgVHJpTFVHIGRpZ2VzdC4uLiIKCgpUb2RheSdzIFRvcGljczoKCiAg IDEuIGFueW9uZSB1c2luZyBNZXNodGFzdGljPyAoSm9zZXBoIE1hY2sgTkEzVCB2aWEgVHJpTFVH KQogICAyLiBFbmQgT2YgMTAuLi4gKEphbWVzIFRvZWJlcyB2aWEgVHJpTFVHKQogICAzLiBSZTog YW55b25lIHVzaW5nIE1lc2h0YXN0aWM/IChNYXJ5YW0gQWJrYXIgdmlhIFRyaUxVRykKICAgNC4g UmU6IEVuZCBPZiAxMC4uLiAoUm9uIEJlbGNoZXIgdmlhIFRyaUxVRykKICAgNS4gUmU6IEVuZCBP ZiAxMC4uLiAoRGF2aWQgQm90aCB2aWEgVHJpTFVHKQogICA2LiBSZTogYW55b25lIHVzaW5nIE1l c2h0YXN0aWM/IChTY290dCBCbGF5ZGVzIHZpYSBUcmlMVUcpCiAgIDcuIFJlOiBhbnlvbmUgdXNp bmcgTWVzaHRhc3RpYz8gKEpvc2VwaCBNYWNrIE5BM1QgdmlhIFRyaUxVRykKICAgOC4gUmU6IGFu eW9uZSB1c2luZyBNZXNodGFzdGljPyAoSm9zZXBoIE1hY2sgTkEzVCB2aWEgVHJpTFVHKQogICA5 LiBSZTogRW5kIE9mIDEwLi4uIChXaWxsaWFtIFN1dHRvbiB2aWEgVHJpTFVHKQogIDEwLiBSZTog RW5kIE9mIDEwLi4uIChEYXZpZCBCb3RoIHZpYSBUcmlMVUcpCgoKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTWVz c2FnZTogMQpEYXRlOiBTdW4sIDIyIEp1biAyMDI1IDIyOjU3OjI4ICswMDAwIChHTVQpCkZyb206 IEpvc2VwaCBNYWNrIE5BM1QgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBUcmlM VUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBbVHJpTFVHXSBhbnlvbmUgdXNpbmcgTWVz aHRhc3RpYz8KTWVzc2FnZS1JRDogPGFscGluZS5ERUIuMi4wMi4yNTA2MjIyMjU1MzYwLjEyMDU1 QHBpbG90LnRyaWx1Zy5vcmc+CkNvbnRlbnQtVHlwZTogVEVYVC9QTEFJTjsgZm9ybWF0PWZsb3dl ZDsgY2hhcnNldD1VUy1BU0NJSQoKTXkgY291c2luIGluIEF1c3RyYWxpYSBpcyB1c2luZyBpdCB0 byBzZXR1cCBsaW5rcyBpbiBhcmVhcyB0aGF0IGRvbid0IGhhdmUgCmNlbGwgcGhvbmUvaW50ZXJu ZXQgc2VydmljZS4KClRoYW5rcyBKb2UKCi0tIApKb3NlcGggTWFjayBOQTNUIEVNRShCLEQpLCBG TTA1bHcgTm9ydGggQ2Fyb2xpbmEKRG9uJ3QgdXBncmFkZSBhIHdvcmtpbmcgbWFjaGluZSAtIGl0 IHdvbid0IHdvcmsgYW55CmJldHRlciAtIGl0IGNvdWxkIHdvcmsgd29yc2U7IGl0IG1heSBub3Qg d29yayBhdCBhbGwuCkhvbWVwYWdlIGh0dHA6Ly93d3cuYXVzdGludGVrLmNvbS8gSXQncyBHTlUv TGludXghCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTWVzc2FnZTogMgpEYXRl OiBTdW4sIDIyIEp1biAyMDI1IDE5OjQzOjMxIC0wNDAwCkZyb206IEphbWVzIFRvZWJlcyB2aWEg VHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IHRyaWx1Z0B0cmlsdWcub3JnClN1YmplY3Q6 IFtUcmlMVUddIEVuZCBPZiAxMC4uLgpNZXNzYWdlLUlEOgoJPGZkYTMxMzQ3M2Y5YzM3MmRhMTdj ZDcxNDIyNzQxNWJiOGI3YjU2YzcuY2FtZWxAdG9lYmVzYWNhZGVteS5jb20+CkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiCgpJIGhhdmUgaGFkIHBlb3BsZSBhc2tpbmcg YWJvdXQgd2hhdCBtYWNoaW5lIHRoZXkgc2hvdWxkIGJ1eSB0byByZXBsYWNlCnRoZWlyIFdpbmRv d3MgMTAgbWFjaGluZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQuCgpJIGRvIG5vdCBsaWtlIHNlZWlu ZyBwZXJmZWN0bHkgZ29vZCBtYWNoaW5lcyBnbyB0byB3YXN0ZS4KClNlZWluZyB0aGluZ3MgbGlr ZSBodHRwczovL2VuZG9mMTAub3JnLyBoYXMgaW5zcGlyZWQgbWUgdG8gc2VlIGlmIEkgY2FuCmdl dCBhbiBvcHRpb24gdG9nZXRoZXIuCgpJIGFtIHRhbGtpbmcgd2l0aCBteSBDaHVyY2ggYWJvdXQg aG9zdGluZyBhbiBldmVudCBpbiB0aGUgV2FrZSBGb3Jlc3QKYXJlYS4gICBUaGUgYmFzaWMgcGxh biBpcyB0byBwcm92aWRlIGEgYnJpZWYgaW50cm8gdG8gbGludXguICBBZnRlcgp0aGF0IEkgd291 bGQgbGlrZSB0byBoZWxwIHBlb3BsZSBlaXRoZXIgbG9hZCBMaW51eCBvbiB0aGVpciBtYWNoaW5l IG9yCm9uIGEgdGh1bWIgZHJpdmUgdG8gdGFrZSB3aXRoIHRoZW0uICAgCgpMb29raW5nIGF0IHNl dmVyYWwgZGlzdHJvcywgIEkgYW0gdGhpbmtpbmcgb2YgdXNpbmcgTGludXggTWludCBzaW5jZSBp dApzdXBwb3J0cyBhIGxhcmdlIHZhcmlldHkgb2YgaGFyZHdhcmUsICBub3Qgc25hcC9mbGF0cGFj ayBoZWF2eS4gIEFuZAplYXN5IGZvciB0aGVtIHRvIGZpbmQgc3VwcG9ydCBmb3IuCgpJIHdvdWxk IGxpa2UgdG8gYWR2ZXJ0aXNlIGl0IGEgYml0LiAgUmVxdWVzdCB0aGV5IGJyaW5nIGVpdGhlciB0 aGVpcgpjb21wdXRlciBvciBsYXB0b3Agc28gaXQgY2FuIGJlIGNvbmZpZ3VyZWQuICBIb3Bpbmcg dG8gaGF2ZSBzb21ldGhpbmcKZWl0aGVyIEF1ZyBvciBTZXB0LiAgIEkgZG8gbm90IHRoaW5rIEkg Y2FuIGhhbmRsZSBhIGxhcmdlIHJlc3BvbnNlIG9uCm15IG93bi4gIAoKSWYgdGhpcyBpcyB0byBo YXBwZW4sICBJIGFtIGxvb2tpbmcgZm9yIGEgZmV3IHZvbHVudGVlcnMgdG8gaGVscC4KMS4gU29t ZW9uZSB0byBoZWxwIHdpdGggcGxhbm5pbmcvb3JnYW5pemluZyB0aGUgZXZlbnQuCjIuIFBlb3Bs ZSB0byBoZWxwIHdpdGggaW5zdGFsbAozLiBSZWNvbW1lbmRlZCBzdXBwb3J0IG9wdGlvbnMgdG8g aGVscCBwZW9wbGUgcG9zdCBpbnN0YWxsLgoKSWYgYW55b25lIGlzIGludGVyZXN0ZWQgaW4gaGVs cGluZywgIHBsZWFzZSBsZXQgbWUga25vdy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KCk1lc3NhZ2U6IDMKRGF0ZTogU3VuLCAyMiBKdW4gMjAyNSAxOTo1NjozMiAtMDQwMApGcm9t OiBNYXJ5YW0gQWJrYXIgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBKb3NlcGgg TWFjayBOQTNUIDxqbWFja0B0cmlsdWcub3JnPiwgIFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3Vw CglHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1Ry aUxVR10gYW55b25lIHVzaW5nIE1lc2h0YXN0aWM/Ck1lc3NhZ2UtSUQ6Cgk8Q0FNUHQycURGazNi RWlyQUdnTDZzb1BzM2I5UWR0ME5CeWNRemR0b0oydWdHTm9NWVhnQG1haWwuZ21haWwuY29tPgpD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04IgoKSSBkb24ndCBwZXJzb25h bGx5LCBidXQgSSBoYXZlIGhlYXJkIG9mIGl0LiBJIGtub3cgb25lIG9yIHR3byBmb2xrcyBpbiB0 aGUKTkNTVSBMVUcgd2hvIGRvIGFuZCBmb2xrcyBvdmVyIGF0IENhY2thbGFja3ljb24tLSB0aGV5 IGhlbGQgYSBtZXNodGFzdGljCmV2ZW50IGF0IFJVTUFILiBpdHMgYSBjb29sIHByb2plY3QuCgot TWFyeWFtIEEuCgpPbiBTdW4sIEp1biAyMiwgMjAyNSBhdCA2OjU34oCvUE0gSm9zZXBoIE1hY2sg TkEzVCB2aWEgVHJpTFVHIDwKdHJpbHVnQHRyaWx1Zy5vcmc+IHdyb3RlOgoKPiBNeSBjb3VzaW4g aW4gQXVzdHJhbGlhIGlzIHVzaW5nIGl0IHRvIHNldHVwIGxpbmtzIGluIGFyZWFzIHRoYXQgZG9u J3QgaGF2ZQo+IGNlbGwgcGhvbmUvaW50ZXJuZXQgc2VydmljZS4KPgo+IFRoYW5rcyBKb2UKPgo+ IC0tCj4gSm9zZXBoIE1hY2sgTkEzVCBFTUUoQixEKSwgRk0wNWx3IE5vcnRoIENhcm9saW5hCj4g RG9uJ3QgdXBncmFkZSBhIHdvcmtpbmcgbWFjaGluZSAtIGl0IHdvbid0IHdvcmsgYW55Cj4gYmV0 dGVyIC0gaXQgY291bGQgd29yayB3b3JzZTsgaXQgbWF5IG5vdCB3b3JrIGF0IGFsbC4KPiBIb21l cGFnZSBodHRwOi8vd3d3LmF1c3RpbnRlay5jb20vIEl0J3MgR05VL0xpbnV4IQo+Cj4gLS0KPiBU aGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86IE1hcnlhbSBBLiA8bWFia2FyMTI0QGdtYWlsLmNvbT4K PiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIGJsYW5rIG1lc3NhZ2UgdG8gdHJpbHVnLWxlYXZlQHRy aWx1Zy5vcmcgZnJvbSB0aGF0Cj4gYWRkcmVzcy4KPiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0 cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3RyaWx1Zwo+IFVuc3Vic2NyaWJl IG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViICA6Cj4gaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9t YWlsbWFuL29wdGlvbnMvdHJpbHVnL21hYmthcjEyNCU0MGdtYWlsLmNvbQo+IFdlbGNvbWUgdG8g VHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2VsY29tZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKTWVzc2FnZTogNApEYXRlOiBTdW4sIDIyIEp1biAyMDI1IDIwOjI4OjI4IC0w NDAwCkZyb206IFJvbiBCZWxjaGVyIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzog dHJpbHVnQHRyaWx1Zy5vcmcKU3ViamVjdDogUmU6IFtUcmlMVUddIEVuZCBPZiAxMC4uLgpNZXNz YWdlLUlEOiA8NzMyZDUwNWYtMTMyNS00OTNiLTg5Y2EtNmM3MzI5YTAyODNiQEdtYWlsLmNvbT4K Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04OyBmb3JtYXQ9Zmxvd2VkCgpK YW1lcywKSSBhbSBpbnRlcmVzdGVkIGluIGFzc2lzdGluZyBvdGhlcnMgd2l0aCBMaW51eCBpbnN0 YWxsYXRpb24gYW5kIApjdXN0b21pemF0aW9uLsKgwqAgSSBwaXRjaCBMaW51eCBhdCBldmVyeSBv cHBvcnR1bml0eS4KSSBoYXZlIGJlZW4gdXNpbmcgTGludXggZm9yLCBJIHRoaW5rLCBtb3JlIHRo YW4gdHdlbnR5IHllYXJzLsKgIEkgcnVuIApVYnVudHUgYW5kIGhhdmUgdXNlZCBNaW50IGFuZCBw b3NzaWJseSBvdGhlcnMgaW4gdGhlIHBhc3QuClRoZSB1c2Ugb2YgdGhlIHRlcm1pbmFsIGlzIGZh bWlsaWFyIHRvIG1lLsKgIEkgYW0gcHJvZmljaWVudCBpbiB0aGUgdXNlIApvZiBzaGVsbCBzY3Jp cHRpbmcgYW5kIG1hY3JvIGNyZWF0aW9uIGFuZCB1c2UuCkkgZG8gYWxsIG15IHdvcmsgd2l0aCBG aXJlZm94LCBUaHVuZGVyYmlyZCwgTGlicmVPZmZpY2UgYW5kIGEgbnVtYmVyIG9mIApvdGhlciBh cHBzIGFuZCB0b29scy4KTXkgbG9jYXRpb24gaXMganVzdCBOVyBvZiBNZWJhbmUgYW5kIG15IHBo b25lIGlzIDkxNC01NjMtMDIzNC7CoCBJIHdvdWxkIApiZSBoYXBweSB0byB3b3JrIHdpdGggeW91 IHRvIGdldCBvdGhlcnMgb24gTGludXguCgpSb24KClAuUy4sIGRvIHlvdSBzcGVhayByc3luYyBm bHVlbnRseT8KCk9uIDYvMjIvMjUgNzo0MyBQTSwgSmFtZXMgVG9lYmVzIHZpYSBUcmlMVUcgd3Jv dGU6Cj4gSSBoYXZlIGhhZCBwZW9wbGUgYXNraW5nIGFib3V0IHdoYXQgbWFjaGluZSB0aGV5IHNo b3VsZCBidXkgdG8gcmVwbGFjZQo+IHRoZWlyIFdpbmRvd3MgMTAgbWFjaGluZSB0aGF0IGlzIG5v dCBzdXBwb3J0ZWQuCj4KPiBJIGRvIG5vdCBsaWtlIHNlZWluZyBwZXJmZWN0bHkgZ29vZCBtYWNo aW5lcyBnbyB0byB3YXN0ZS4KPgo+IFNlZWluZyB0aGluZ3MgbGlrZWh0dHBzOi8vZW5kb2YxMC5v cmcvIGhhcyBpbnNwaXJlZCBtZSB0byBzZWUgaWYgSSBjYW4KPiBnZXQgYW4gb3B0aW9uIHRvZ2V0 aGVyLgo+Cj4gSSBhbSB0YWxraW5nIHdpdGggbXkgQ2h1cmNoIGFib3V0IGhvc3RpbmcgYW4gZXZl bnQgaW4gdGhlIFdha2UgRm9yZXN0Cj4gYXJlYS4gICBUaGUgYmFzaWMgcGxhbiBpcyB0byBwcm92 aWRlIGEgYnJpZWYgaW50cm8gdG8gbGludXguICBBZnRlcgo+IHRoYXQgSSB3b3VsZCBsaWtlIHRv IGhlbHAgcGVvcGxlIGVpdGhlciBsb2FkIExpbnV4IG9uIHRoZWlyIG1hY2hpbmUgb3IKPiBvbiBh IHRodW1iIGRyaXZlIHRvIHRha2Ugd2l0aCB0aGVtLgo+Cj4gTG9va2luZyBhdCBzZXZlcmFsIGRp c3Ryb3MsICBJIGFtIHRoaW5raW5nIG9mIHVzaW5nIExpbnV4IE1pbnQgc2luY2UgaXQKPiBzdXBw b3J0cyBhIGxhcmdlIHZhcmlldHkgb2YgaGFyZHdhcmUsICBub3Qgc25hcC9mbGF0cGFjayBoZWF2 eS4gIEFuZAo+IGVhc3kgZm9yIHRoZW0gdG8gZmluZCBzdXBwb3J0IGZvci4KPgo+IEkgd291bGQg bGlrZSB0byBhZHZlcnRpc2UgaXQgYSBiaXQuICBSZXF1ZXN0IHRoZXkgYnJpbmcgZWl0aGVyIHRo ZWlyCj4gY29tcHV0ZXIgb3IgbGFwdG9wIHNvIGl0IGNhbiBiZSBjb25maWd1cmVkLiAgSG9waW5n IHRvIGhhdmUgc29tZXRoaW5nCj4gZWl0aGVyIEF1ZyBvciBTZXB0LiAgIEkgZG8gbm90IHRoaW5r IEkgY2FuIGhhbmRsZSBhIGxhcmdlIHJlc3BvbnNlIG9uCj4gbXkgb3duLgo+Cj4gSWYgdGhpcyBp cyB0byBoYXBwZW4sICBJIGFtIGxvb2tpbmcgZm9yIGEgZmV3IHZvbHVudGVlcnMgdG8gaGVscC4K PiAxLiBTb21lb25lIHRvIGhlbHAgd2l0aCBwbGFubmluZy9vcmdhbml6aW5nIHRoZSBldmVudC4K PiAyLiBQZW9wbGUgdG8gaGVscCB3aXRoIGluc3RhbGwKPiAzLiBSZWNvbW1lbmRlZCBzdXBwb3J0 IG9wdGlvbnMgdG8gaGVscCBwZW9wbGUgcG9zdCBpbnN0YWxsLgo+Cj4gSWYgYW55b25lIGlzIGlu dGVyZXN0ZWQgaW4gaGVscGluZywgIHBsZWFzZSBsZXQgbWUga25vdy4KCgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDUKRGF0ZTogTW9uLCAyMyBKdW4gMjAyNSAwNjox NDo1MCAtMDQwMCAoRURUKQpGcm9tOiBEYXZpZCBCb3RoIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmls dWcub3JnPgpUbzogUm9uIEJlbGNoZXIgPHJvbi5iZWxjaGVyMzlAZ21haWwuY29tPiwgVHJpYW5n bGUgTGludXggVXNlcnMgR3JvdXAKCUdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5v cmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBFbmQgT2YgMTAuLi4KTWVzc2FnZS1JRDogPGExYTQx M2M5LTk1NGItMjllZi05N2VmLWRhYjNiOTA1YmQ1MkBib3RoLm9yZz4KQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04OyBmb3JtYXQ9Zmxvd2VkCgpJJ2QgbG92ZSB0byBoZWxw IHdpdGggYW4gIkVuZCBvZiAxMCIgZWZmb3J0IGhlcmUgaW4gUmFsZWlnaC4gSSBsaXZlIGluCm5v cnRoIFJhbGVpZ2ggYW5kIGNvdWxkIHdvcmsgd2l0aCBhIHRlYW0gZm9yIE5vcnRoIFJhbGVpZ2gg YW5kIFdha2UKRm9yZXN0LgoKSWYgYW55b25lIGlzIGludGVyZXN0ZWQsIHBsZWFzZSBsZXQgbWUg a25vdyBoZXJlIG9yIGRpcmVjdGx5LgoKLS0gCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKRGF2aWQgUC4gQm90aApIZS9IaW0vSGlzCgpJ J20gbm8gbG9uZ2VyIG9uIHRoZSBjb3JydXB0ZWQgc29jaWFsIG1lZGlhIHNpdGVzLgpZb3UgY2Fu IG9ubHkgZmluZCBtZSBvbiBCbHVlU2t5LCBodHRwczovL2Jza3kuYXBwLwphdCBAbGludXhnZWVr NDYuYnNreS5zb2NpYWwKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgpUaGUgdmFsdWUgb2YgYW55IHNvZnR3YXJlIGxpZXMgaW4gaXRzIHVz ZWZ1bG5lc3MKbm90IGluIGl0cyBwcmljZS4KCuKAlCBMaW51cyBUb3J2YWxkcwoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCk9uIFN1biwg MjIgSnVuIDIwMjUsIFJvbiBCZWxjaGVyIHZpYSBUcmlMVUcgd3JvdGU6Cgo+IERhdGU6IFN1biwg MjIgSnVuIDIwMjUgMjA6Mjg6MjgKPiBGcm9tOiBSb24gQmVsY2hlciB2aWEgVHJpTFVHIDx0cmls dWdAdHJpbHVnLm9yZz4KPiBSZXBseS1UbzogUm9uIEJlbGNoZXIgPHJvbi5iZWxjaGVyMzlAZ21h aWwuY29tPiwKPiAgICAgVHJpYW5nbGUgTGludXggVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNz aW9uIDx0cmlsdWdAdHJpbHVnLm9yZz4KPiBUbzogdHJpbHVnQHRyaWx1Zy5vcmcKPiBTdWJqZWN0 OiBSZTogW1RyaUxVR10gRW5kIE9mIDEwLi4uCj4gCj4gSmFtZXMsCj4gSSBhbSBpbnRlcmVzdGVk IGluIGFzc2lzdGluZyBvdGhlcnMgd2l0aCBMaW51eCBpbnN0YWxsYXRpb24gYW5kIAo+IGN1c3Rv bWl6YXRpb24uwqDCoCBJIHBpdGNoIExpbnV4IGF0IGV2ZXJ5IG9wcG9ydHVuaXR5Lgo+IEkgaGF2 ZSBiZWVuIHVzaW5nIExpbnV4IGZvciwgSSB0aGluaywgbW9yZSB0aGFuIHR3ZW50eSB5ZWFycy7C oCBJIHJ1biBVYnVudHUgCj4gYW5kIGhhdmUgdXNlZCBNaW50IGFuZCBwb3NzaWJseSBvdGhlcnMg aW4gdGhlIHBhc3QuCj4gVGhlIHVzZSBvZiB0aGUgdGVybWluYWwgaXMgZmFtaWxpYXIgdG8gbWUu wqAgSSBhbSBwcm9maWNpZW50IGluIHRoZSB1c2Ugb2YgCj4gc2hlbGwgc2NyaXB0aW5nIGFuZCBt YWNybyBjcmVhdGlvbiBhbmQgdXNlLgo+IEkgZG8gYWxsIG15IHdvcmsgd2l0aCBGaXJlZm94LCBU aHVuZGVyYmlyZCwgTGlicmVPZmZpY2UgYW5kIGEgbnVtYmVyIG9mIG90aGVyIAo+IGFwcHMgYW5k IHRvb2xzLgo+IE15IGxvY2F0aW9uIGlzIGp1c3QgTlcgb2YgTWViYW5lIGFuZCBteSBwaG9uZSBp cyA5MTQtNTYzLTAyMzQuwqAgSSB3b3VsZCBiZSAKPiBoYXBweSB0byB3b3JrIHdpdGggeW91IHRv IGdldCBvdGhlcnMgb24gTGludXguCj4KPiBSb24KPgo+IFAuUy4sIGRvIHlvdSBzcGVhayByc3lu YyBmbHVlbnRseT8KPgo+IE9uIDYvMjIvMjUgNzo0MyBQTSwgSmFtZXMgVG9lYmVzIHZpYSBUcmlM VUcgd3JvdGU6Cj4+ICBJIGhhdmUgaGFkIHBlb3BsZSBhc2tpbmcgYWJvdXQgd2hhdCBtYWNoaW5l IHRoZXkgc2hvdWxkIGJ1eSB0byByZXBsYWNlCj4+ICB0aGVpciBXaW5kb3dzIDEwIG1hY2hpbmUg dGhhdCBpcyBub3Qgc3VwcG9ydGVkLgo+Pgo+PiAgSSBkbyBub3QgbGlrZSBzZWVpbmcgcGVyZmVj dGx5IGdvb2QgbWFjaGluZXMgZ28gdG8gd2FzdGUuCj4+Cj4+ICBTZWVpbmcgdGhpbmdzIGxpa2Vo dHRwczovL2VuZG9mMTAub3JnLyBoYXMgaW5zcGlyZWQgbWUgdG8gc2VlIGlmIEkgY2FuCj4+ICBn ZXQgYW4gb3B0aW9uIHRvZ2V0aGVyLgo+Pgo+PiAgSSBhbSB0YWxraW5nIHdpdGggbXkgQ2h1cmNo IGFib3V0IGhvc3RpbmcgYW4gZXZlbnQgaW4gdGhlIFdha2UgRm9yZXN0Cj4+ICBhcmVhLiAgIFRo ZSBiYXNpYyBwbGFuIGlzIHRvIHByb3ZpZGUgYSBicmllZiBpbnRybyB0byBsaW51eC4gIEFmdGVy Cj4+ICB0aGF0IEkgd291bGQgbGlrZSB0byBoZWxwIHBlb3BsZSBlaXRoZXIgbG9hZCBMaW51eCBv biB0aGVpciBtYWNoaW5lIG9yCj4+ICBvbiBhIHRodW1iIGRyaXZlIHRvIHRha2Ugd2l0aCB0aGVt Lgo+Pgo+PiAgTG9va2luZyBhdCBzZXZlcmFsIGRpc3Ryb3MsICBJIGFtIHRoaW5raW5nIG9mIHVz aW5nIExpbnV4IE1pbnQgc2luY2UgaXQKPj4gIHN1cHBvcnRzIGEgbGFyZ2UgdmFyaWV0eSBvZiBo YXJkd2FyZSwgIG5vdCBzbmFwL2ZsYXRwYWNrIGhlYXZ5LiAgQW5kCj4+ICBlYXN5IGZvciB0aGVt IHRvIGZpbmQgc3VwcG9ydCBmb3IuCj4+Cj4+ICBJIHdvdWxkIGxpa2UgdG8gYWR2ZXJ0aXNlIGl0 IGEgYml0LiAgUmVxdWVzdCB0aGV5IGJyaW5nIGVpdGhlciB0aGVpcgo+PiAgY29tcHV0ZXIgb3Ig bGFwdG9wIHNvIGl0IGNhbiBiZSBjb25maWd1cmVkLiAgSG9waW5nIHRvIGhhdmUgc29tZXRoaW5n Cj4+ICBlaXRoZXIgQXVnIG9yIFNlcHQuICAgSSBkbyBub3QgdGhpbmsgSSBjYW4gaGFuZGxlIGEg bGFyZ2UgcmVzcG9uc2Ugb24KPj4gIG15IG93bi4KPj4KPj4gIElmIHRoaXMgaXMgdG8gaGFwcGVu LCAgSSBhbSBsb29raW5nIGZvciBhIGZldyB2b2x1bnRlZXJzIHRvIGhlbHAuCj4+ICAxLiBTb21l b25lIHRvIGhlbHAgd2l0aCBwbGFubmluZy9vcmdhbml6aW5nIHRoZSBldmVudC4KPj4gIDIuIFBl b3BsZSB0byBoZWxwIHdpdGggaW5zdGFsbAo+PiAgMy4gUmVjb21tZW5kZWQgc3VwcG9ydCBvcHRp b25zIHRvIGhlbHAgcGVvcGxlIHBvc3QgaW5zdGFsbC4KPj4KPj4gIElmIGFueW9uZSBpcyBpbnRl cmVzdGVkIGluIGhlbHBpbmcsICBwbGVhc2UgbGV0IG1lIGtub3cuCj4KCgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDYKRGF0ZTogTW9uLCAyMyBKdW4gMjAyNSAwNzoy MjozNCAtMDQwMApGcm9tOiBTY290dCBCbGF5ZGVzIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcu b3JnPgpUbzogSm9zZXBoIE1hY2sgTkEzVCA8am1hY2tAdHJpbHVnLm9yZz4sIFRyaWFuZ2xlIExp bnV4IFVzZXJzIEdyb3VwCglHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpT dWJqZWN0OiBSZTogW1RyaUxVR10gYW55b25lIHVzaW5nIE1lc2h0YXN0aWM/Ck1lc3NhZ2UtSUQ6 IDxhRms0LXBRZ3pTbi1NX29rQGRhdGFzaGFjay5uZXR0ZWsuaW8+CkNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQoKQ3VycmVudGx5IHBsYXlpbmcgd2l0aCBhIG5vZGUg aGVyZSBhdCB0aGUgaG91c2UuIERvZXNuJ3Qgc2VlbSB0byBiZSBhbnkKbm9kZXMgYXJvdW5kIGhl cmUgKE5vcnRoZ2F0ZSBhcmVhIG9mIER1cmhhbSkuCgpDb25uZWN0IHRvIGFsb3Qgb2YgdGhpbmdz IHdoZW4gSSBkcml2ZSBkb3duIHRvIFJhbGVpZ2gsIGJ1dCBub3QgRHVyaGFtLgoKV2hhdCBhcmUg eW91IGRvaW5nIHdpdGggeW91cnM/CgpUaGFuayB5b3UsClNjb3R0IEJsYXlkZXMKCk9uIFN1biwg SnVuIDIyLCAyMDI1IGF0IDEwOjU3OjI4UE0gKzAwMDAsIEpvc2VwaCBNYWNrIE5BM1QgdmlhIFRy aUxVRyB3cm90ZToKPiBNeSBjb3VzaW4gaW4gQXVzdHJhbGlhIGlzIHVzaW5nIGl0IHRvIHNldHVw IGxpbmtzIGluIGFyZWFzIHRoYXQgZG9uJ3QgaGF2ZQo+IGNlbGwgcGhvbmUvaW50ZXJuZXQgc2Vy dmljZS4KPiAKPiBUaGFua3MgSm9lCj4gCj4gLS0gCj4gSm9zZXBoIE1hY2sgTkEzVCBFTUUoQixE KSwgRk0wNWx3IE5vcnRoIENhcm9saW5hCj4gRG9uJ3QgdXBncmFkZSBhIHdvcmtpbmcgbWFjaGlu ZSAtIGl0IHdvbid0IHdvcmsgYW55Cj4gYmV0dGVyIC0gaXQgY291bGQgd29yayB3b3JzZTsgaXQg bWF5IG5vdCB3b3JrIGF0IGFsbC4KPiBIb21lcGFnZSBodHRwOi8vd3d3LmF1c3RpbnRlay5jb20v IEl0J3MgR05VL0xpbnV4IQo+IAo+IC0tIAo+IFRoaXMgbWVzc2FnZSB3YXMgc2VudCB0bzogU2Nv dHQgQmxheWRlcyA8c2NvdHRAbmV0dGVrLmlvPgo+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxh bmsgbWVzc2FnZSB0byB0cmlsdWctbGVhdmVAdHJpbHVnLm9yZyBmcm9tIHRoYXQgYWRkcmVzcy4K PiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3RyaWx1Zwo+IFVuc3Vic2NyaWJlIG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViCTog aHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL29wdGlvbnMvdHJpbHVnL3Njb3R0JTQwbmV0 dGVrLmlvCj4gV2VsY29tZSB0byBUcmlMVUc6IGh0dHBzOi8vdHJpbHVnLm9yZy93ZWxjb21lCgoK LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA3CkRhdGU6IE1vbiwgMjMg SnVuIDIwMjUgMTE6Mzc6NDYgKzAwMDAgKEdNVCkKRnJvbTogSm9zZXBoIE1hY2sgTkEzVCB2aWEg VHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IFNjb3R0IEJsYXlkZXMgPHNjb3R0QG5ldHRl ay5pbz4KQ2M6IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8 dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBhbnlvbmUgdXNpbmcgTWVz aHRhc3RpYz8KTWVzc2FnZS1JRDogPGFscGluZS5ERUIuMi4wMi4yNTA2MjMxMTI5MzMwLjQ2NzBA cGlsb3QudHJpbHVnLm9yZz4KQ29udGVudC1UeXBlOiBURVhUL1BMQUlOOyBjaGFyc2V0PVVTLUFT Q0lJOyBmb3JtYXQ9Zmxvd2VkCgpPbiBNb24sIDIzIEp1biAyMDI1LCBTY290dCBCbGF5ZGVzIHdy b3RlOgoKPiBDdXJyZW50bHkgcGxheWluZyB3aXRoIGEgbm9kZSBoZXJlIGF0IHRoZSBob3VzZS4g RG9lc24ndCBzZWVtIHRvIGJlIGFueQo+IG5vZGVzIGFyb3VuZCBoZXJlIChOb3J0aGdhdGUgYXJl YSBvZiBEdXJoYW0pLgo+Cj4gQ29ubmVjdCB0byBhbG90IG9mIHRoaW5ncyB3aGVuIEkgZHJpdmUg ZG93biB0byBSYWxlaWdoLCBidXQgbm90IER1cmhhbS4KPgo+IFdoYXQgYXJlIHlvdSBkb2luZyB3 aXRoIHlvdXJzPwoKSSBkb24ndCBoYXZlIGFueXRoaW5nLiBJIHdhc24ndCBnb2luZyB0byBsYXVu Y2ggb2ZmIGludG8gYnV5aW5nIG5ldyAKaGFyZHdhcmUgaWYgdGhlcmUgd2Fzbid0IGFueW9uZSBh cm91bmQgdG8gY29ubmVjdCB0byBvciB0byBhc2sgYWJvdXQgCnByb2JsZW1zLgoKV2hhdCBoYXJk d2FyZSBkaWQgeW91IGJ1eT8gKEkgbWF5IGFzIHdlbGwgYnV5IHNvbWV0aGluZyB0aGF0IHNvbWVv bmUgZWxzZSAKaGFzIGFscmVhZHkgZ290IHRvIHdvcmspLgoKV2hhdCBjYW4geW91IGRvIHdpdGgg aXQ/IEkgYXNzdW1lIHlvdSBib3VnaHQgdHdvIExvUmEncyBhbmQgaGF2ZSB0aGVtIApjb25uZWN0 aW5nIGJldHdlZW4gdHdvIGNlbGwgcGhvbmVzLiBEbyB5b3UganVzdCBzZW5kICJoZWxsbyIgYmV0 d2VlbiB0aGUgCnR3byBjZWxsIHBob25lcz8KCldoZW4geW91IGNvbm5lY3QgaW4gUmFsZWlnaCwg d2hhdCBoYXBwZW5zPyBEb2VzIHlvdXIgTG9SYSBnaXZlIGEgZ3JlZW4gCmxpZ2h0PyBJIGFzc3Vt ZSBpZiB5b3UgZG9uJ3QgaGF2ZSBhbiBJRCBmb3IgYW55b25lIG9uIHRoZSBtZXNoLCB5b3UgY2Fu J3QgCnNlbmQgYSBtZXNzYWdlLgoKSSdtIGluIEhvcGUgVmFsbGV5LCBEdXJoYW0uIFRoZXJlJ3Mg YSBzbWFsbCBjaGFuY2Ugd2UgY291bGQgY29ubmVjdC4KCnRoYW5rcyBmb3IgcG9wcGluZyB1cC4K CkpvZQoKLS0gCkpvc2VwaCBNYWNrIE5BM1QgRU1FKEIsRCksIEZNMDVsdyBOb3J0aCBDYXJvbGlu YQpEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29uJ3Qgd29yayBhbnkKYmV0 dGVyIC0gaXQgY291bGQgd29yayB3b3JzZTsgaXQgbWF5IG5vdCB3b3JrIGF0IGFsbC4KSG9tZXBh Z2UgaHR0cDovL3d3dy5hdXN0aW50ZWsuY29tLyBJdCdzIEdOVS9MaW51eCEKCgoKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA4CkRhdGU6IE1vbiwgMjMgSnVuIDIwMjUg MTM6NTE6MzEgKzAwMDAgKEdNVCkKRnJvbTogSm9zZXBoIE1hY2sgTkEzVCB2aWEgVHJpTFVHIDx0 cmlsdWdAdHJpbHVnLm9yZz4KVG86IE1hcnlhbSBBYmthciA8bWFia2FyMTI0QGdtYWlsLmNvbT4K Q2M6IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVn QHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBhbnlvbmUgdXNpbmcgTWVzaHRhc3Rp Yz8KTWVzc2FnZS1JRDogPGFscGluZS5ERUIuMi4wMi4yNTA2MjMxMzQ4MjAwLjE2NzY5QHBpbG90 LnRyaWx1Zy5vcmc+CkNvbnRlbnQtVHlwZTogVEVYVC9QTEFJTjsgY2hhcnNldD1VUy1BU0NJSTsg Zm9ybWF0PWZsb3dlZAoKT24gU3VuLCAyMiBKdW4gMjAyNSwgTWFyeWFtIEFia2FyIHdyb3RlOgoK PiBJIGRvbid0IHBlcnNvbmFsbHksIGJ1dCBJIGhhdmUgaGVhcmQgb2YgaXQuIEkga25vdyBvbmUg b3IgdHdvIGZvbGtzIGluIAo+IHRoZSBOQ1NVIExVRyB3aG8gZG8KCnRoZXJlJ3MgYW4gTkNTVSBM VUcsIGEgTFVHIHNlcGFyYXRlIGZyb20gVHJpTFVHPyBJIGhhZCBubyBpZGVhLgoKPiBhbmQgZm9s a3Mgb3ZlciBhdCBDYWNrYWxhY2t5Y29uCgpkaWRuJ3Qga25vdyBhYm91dCBDYWNrYWxhY2t5Y29u LiBQcmVzdW1hYmx5IGl0IHdhcyBhbm5vdW5jZWQgb24gdGhpcyBsaXN0IApidXQgbm90IGtub3dp bmcgd2hhdCBpdCB3YXMsIEkgaWdub3JlZCBpdC4gSSBzaG91bGQgZ28gbmV4dCB5ZWFyLgoKPiAt LSB0aGV5IGhlbGQgYSBtZXNodGFzdGljIGV2ZW50IGF0IFJVTUFILiBpdHMgYSBjb29sIHByb2pl Y3QuCgpoYXZlbid0IGJlZW4gYWJsZSB0byBmaW5kIGFueXRoaW5nIGFib3V0IFJVTUFILiBHb3Qg YSBsaW5rPwoKVGhhbmtzIEpvZQoKLS0gCkpvc2VwaCBNYWNrIE5BM1QgRU1FKEIsRCksIEZNMDVs dyBOb3J0aCBDYXJvbGluYQpEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29u J3Qgd29yayBhbnkKYmV0dGVyIC0gaXQgY291bGQgd29yayB3b3JzZTsgaXQgbWF5IG5vdCB3b3Jr IGF0IGFsbC4KSG9tZXBhZ2UgaHR0cDovL3d3dy5hdXN0aW50ZWsuY29tLyBJdCdzIEdOVS9MaW51 eCEKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA5CkRhdGU6IE1v biwgMjMgSnVuIDIwMjUgMTA6Mjg6MTEgLTA0MDAgKEVEVCkKRnJvbTogV2lsbGlhbSBTdXR0b24g dmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBKYW1lcyBUb2ViZXMgPGphbWVzQHRv ZWJlc2FjYWRlbXkuY29tPiwgIFRyaWFuZ2xlIExpbnV4IFVzZXJzCglHcm91cCBHZW5lcmFsIERp c2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10gRW5kIE9m IDEwLi4uCk1lc3NhZ2UtSUQ6IDxhbHBpbmUuREVCLjIuMDIuMjUwNjIzMTAyNzUwMC4xMjYxNEBw aWxvdC50cmlsdWcub3JnPgpDb250ZW50LVR5cGU6IFRFWFQvUExBSU47IGNoYXJzZXQ9VVMtQVND SUk7IGZvcm1hdD1mbG93ZWQKClNlZSBEYXZlJ3MgR2FyYWdlIHlvdXR1YmUgdmlkZW8gb24gdGhp czoKCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9YW0wTzZHcEI3cUkKCldpbGxpYW0g U3V0dG9uCgpPbiBTdW4sIDIyIEp1biAyMDI1LCBKYW1lcyBUb2ViZXMgdmlhIFRyaUxVRyB3cm90 ZToKCj4gSSBoYXZlIGhhZCBwZW9wbGUgYXNraW5nIGFib3V0IHdoYXQgbWFjaGluZSB0aGV5IHNo b3VsZCBidXkgdG8gcmVwbGFjZQo+IHRoZWlyIFdpbmRvd3MgMTAgbWFjaGluZSB0aGF0IGlzIG5v dCBzdXBwb3J0ZWQuCj4KPiBJIGRvIG5vdCBsaWtlIHNlZWluZyBwZXJmZWN0bHkgZ29vZCBtYWNo aW5lcyBnbyB0byB3YXN0ZS4KPgo+IFNlZWluZyB0aGluZ3MgbGlrZSBodHRwczovL2VuZG9mMTAu b3JnLyBoYXMgaW5zcGlyZWQgbWUgdG8gc2VlIGlmIEkgY2FuCj4gZ2V0IGFuIG9wdGlvbiB0b2dl dGhlci4KPgo+IEkgYW0gdGFsa2luZyB3aXRoIG15IENodXJjaCBhYm91dCBob3N0aW5nIGFuIGV2 ZW50IGluIHRoZSBXYWtlIEZvcmVzdAo+IGFyZWEuICAgVGhlIGJhc2ljIHBsYW4gaXMgdG8gcHJv dmlkZSBhIGJyaWVmIGludHJvIHRvIGxpbnV4LiAgQWZ0ZXIKPiB0aGF0IEkgd291bGQgbGlrZSB0 byBoZWxwIHBlb3BsZSBlaXRoZXIgbG9hZCBMaW51eCBvbiB0aGVpciBtYWNoaW5lIG9yCj4gb24g YSB0aHVtYiBkcml2ZSB0byB0YWtlIHdpdGggdGhlbS4gCj4KPiBMb29raW5nIGF0IHNldmVyYWwg ZGlzdHJvcywgIEkgYW0gdGhpbmtpbmcgb2YgdXNpbmcgTGludXggTWludCBzaW5jZSBpdAo+IHN1 cHBvcnRzIGEgbGFyZ2UgdmFyaWV0eSBvZiBoYXJkd2FyZSwgIG5vdCBzbmFwL2ZsYXRwYWNrIGhl YXZ5LiAgQW5kCj4gZWFzeSBmb3IgdGhlbSB0byBmaW5kIHN1cHBvcnQgZm9yLgo+Cj4gSSB3b3Vs ZCBsaWtlIHRvIGFkdmVydGlzZSBpdCBhIGJpdC4gIFJlcXVlc3QgdGhleSBicmluZyBlaXRoZXIg dGhlaXIKPiBjb21wdXRlciBvciBsYXB0b3Agc28gaXQgY2FuIGJlIGNvbmZpZ3VyZWQuICBIb3Bp bmcgdG8gaGF2ZSBzb21ldGhpbmcKPiBlaXRoZXIgQXVnIG9yIFNlcHQuICAgSSBkbyBub3QgdGhp bmsgSSBjYW4gaGFuZGxlIGEgbGFyZ2UgcmVzcG9uc2Ugb24KPiBteSBvd24uIAo+Cj4gSWYgdGhp cyBpcyB0byBoYXBwZW4sICBJIGFtIGxvb2tpbmcgZm9yIGEgZmV3IHZvbHVudGVlcnMgdG8gaGVs cC4KPiAxLiBTb21lb25lIHRvIGhlbHAgd2l0aCBwbGFubmluZy9vcmdhbml6aW5nIHRoZSBldmVu dC4KPiAyLiBQZW9wbGUgdG8gaGVscCB3aXRoIGluc3RhbGwKPiAzLiBSZWNvbW1lbmRlZCBzdXBw b3J0IG9wdGlvbnMgdG8gaGVscCBwZW9wbGUgcG9zdCBpbnN0YWxsLgo+Cj4gSWYgYW55b25lIGlz IGludGVyZXN0ZWQgaW4gaGVscGluZywgIHBsZWFzZSBsZXQgbWUga25vdy4KPiAtLSAKPiBUaGlz IG1lc3NhZ2Ugd2FzIHNlbnQgdG86IFdpbGxpYW0gPHdpbGxpYW1AdHJpbHVnLm9yZz4KPiBUbyB1 bnN1YnNjcmliZSwgc2VuZCBhIGJsYW5rIG1lc3NhZ2UgdG8gdHJpbHVnLWxlYXZlQHRyaWx1Zy5v cmcgZnJvbSB0aGF0IGFkZHJlc3MuCj4gVHJpTFVHIG1haWxpbmcgbGlzdCA6IGh0dHBzOi8vd3d3 LnRyaWx1Zy5vcmcvbWFpbG1hbi9saXN0aW5mby90cmlsdWcKPiBVbnN1YnNjcmliZSBvciBlZGl0 IG9wdGlvbnMgb24gdGhlIHdlYgk6IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRp b25zL3RyaWx1Zy93aWxsaWFtJTQwdHJpbHVnLm9yZwo+IFdlbGNvbWUgdG8gVHJpTFVHOiBodHRw czovL3RyaWx1Zy5vcmcvd2VsY29tZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK TWVzc2FnZTogMTAKRGF0ZTogTW9uLCAyMyBKdW4gMjAyNSAxMDo0NTo0MSAtMDQwMCAoRURUKQpG cm9tOiBEYXZpZCBCb3RoIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogV2lsbGlh bSBTdXR0b24gPHdpbGxpYW1AdHJpbHVnLm9yZz4sIFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3Vw CglHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPiwgSmFtZXMgVG9lYmVzCgk8 amFtZXNAdG9lYmVzYWNhZGVteS5jb20+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBFbmQgT2YgMTAu Li4KTWVzc2FnZS1JRDogPGRhZGQwYjVlLTRjMTItOWJlNC1kMzNiLTlkY2VmYWM0OGY3MkBib3Ro Lm9yZz4KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04OyBmb3JtYXQ9Zmxv d2VkCgpJJ2QgbG92ZSB0byBoZWxwIHdpdGggdGhpcy4gSSBsaXZlIGluIE5vcnRoIFJhbGVpZ2gg YW5kIGFtIGNsb3NlIHRvIFdGLgpXZSBnbyB0byBTdCBKb2huJ3MgRXBpc2NvcGFsIGluIFdGLgoK CgotLSAKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgpEYXZpZCBQLiBCb3RoCkhlL0hpbS9IaXMKCkknbSBubyBsb25nZXIgb24gdGhlIGNv cnJ1cHRlZCBzb2NpYWwgbWVkaWEgc2l0ZXMuCllvdSBjYW4gb25seSBmaW5kIG1lIG9uIEJsdWVT a3ksIGh0dHBzOi8vYnNreS5hcHAvCmF0IEBsaW51eGdlZWs0Ni5ic2t5LnNvY2lhbAoKKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSB2 YWx1ZSBvZiBhbnkgc29mdHdhcmUgbGllcyBpbiBpdHMgdXNlZnVsbmVzcwpub3QgaW4gaXRzIHBy aWNlLgoK4oCUIExpbnVzIFRvcnZhbGRzCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgoKT24gTW9uLCAyMyBKdW4gMjAyNSwgV2lsbGlhbSBT dXR0b24gdmlhIFRyaUxVRyB3cm90ZToKCj4gRGF0ZTogTW9uLCAyMyBKdW4gMjAyNSAxMDoyODox MQo+IEZyb206IFdpbGxpYW0gU3V0dG9uIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgo+ IFJlcGx5LVRvOiBXaWxsaWFtIFN1dHRvbiA8d2lsbGlhbUB0cmlsdWcub3JnPiwKPiAgICAgVHJp YW5nbGUgTGludXggVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0cmlsdWdAdHJpbHVn Lm9yZz4KPiBUbzogSmFtZXMgVG9lYmVzIDxqYW1lc0B0b2ViZXNhY2FkZW15LmNvbT4sCj4gICAg IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRy aWx1Zy5vcmc+Cj4gU3ViamVjdDogUmU6IFtUcmlMVUddIEVuZCBPZiAxMC4uLgo+IAo+IFNlZSBE YXZlJ3MgR2FyYWdlIHlvdXR1YmUgdmlkZW8gb24gdGhpczoKPgo+IGh0dHBzOi8vd3d3LnlvdXR1 YmUuY29tL3dhdGNoP3Y9YW0wTzZHcEI3cUkKPgo+IFdpbGxpYW0gU3V0dG9uCj4KPiBPbiBTdW4s IDIyIEp1biAyMDI1LCBKYW1lcyBUb2ViZXMgdmlhIFRyaUxVRyB3cm90ZToKPgo+PiAgSSBoYXZl IGhhZCBwZW9wbGUgYXNraW5nIGFib3V0IHdoYXQgbWFjaGluZSB0aGV5IHNob3VsZCBidXkgdG8g cmVwbGFjZQo+PiAgdGhlaXIgV2luZG93cyAxMCBtYWNoaW5lIHRoYXQgaXMgbm90IHN1cHBvcnRl ZC4KPj4KPj4gIEkgZG8gbm90IGxpa2Ugc2VlaW5nIHBlcmZlY3RseSBnb29kIG1hY2hpbmVzIGdv IHRvIHdhc3RlLgo+Pgo+PiAgU2VlaW5nIHRoaW5ncyBsaWtlIGh0dHBzOi8vZW5kb2YxMC5vcmcv IGhhcyBpbnNwaXJlZCBtZSB0byBzZWUgaWYgSSBjYW4KPj4gIGdldCBhbiBvcHRpb24gdG9nZXRo ZXIuCj4+Cj4+ICBJIGFtIHRhbGtpbmcgd2l0aCBteSBDaHVyY2ggYWJvdXQgaG9zdGluZyBhbiBl dmVudCBpbiB0aGUgV2FrZSBGb3Jlc3QKPj4gIGFyZWEuICAgVGhlIGJhc2ljIHBsYW4gaXMgdG8g cHJvdmlkZSBhIGJyaWVmIGludHJvIHRvIGxpbnV4LiAgQWZ0ZXIKPj4gIHRoYXQgSSB3b3VsZCBs aWtlIHRvIGhlbHAgcGVvcGxlIGVpdGhlciBsb2FkIExpbnV4IG9uIHRoZWlyIG1hY2hpbmUgb3IK Pj4gIG9uIGEgdGh1bWIgZHJpdmUgdG8gdGFrZSB3aXRoIHRoZW0uIAo+Pgo+PiAgTG9va2luZyBh dCBzZXZlcmFsIGRpc3Ryb3MsICBJIGFtIHRoaW5raW5nIG9mIHVzaW5nIExpbnV4IE1pbnQgc2lu Y2UgaXQKPj4gIHN1cHBvcnRzIGEgbGFyZ2UgdmFyaWV0eSBvZiBoYXJkd2FyZSwgIG5vdCBzbmFw L2ZsYXRwYWNrIGhlYXZ5LiAgQW5kCj4+ICBlYXN5IGZvciB0aGVtIHRvIGZpbmQgc3VwcG9ydCBm b3IuCj4+Cj4+ICBJIHdvdWxkIGxpa2UgdG8gYWR2ZXJ0aXNlIGl0IGEgYml0LiAgUmVxdWVzdCB0 aGV5IGJyaW5nIGVpdGhlciB0aGVpcgo+PiAgY29tcHV0ZXIgb3IgbGFwdG9wIHNvIGl0IGNhbiBi ZSBjb25maWd1cmVkLiAgSG9waW5nIHRvIGhhdmUgc29tZXRoaW5nCj4+ICBlaXRoZXIgQXVnIG9y IFNlcHQuICAgSSBkbyBub3QgdGhpbmsgSSBjYW4gaGFuZGxlIGEgbGFyZ2UgcmVzcG9uc2Ugb24K Pj4gIG15IG93bi4gCj4+Cj4+ICBJZiB0aGlzIGlzIHRvIGhhcHBlbiwgIEkgYW0gbG9va2luZyBm b3IgYSBmZXcgdm9sdW50ZWVycyB0byBoZWxwLgo+PiAgMS4gU29tZW9uZSB0byBoZWxwIHdpdGgg cGxhbm5pbmcvb3JnYW5pemluZyB0aGUgZXZlbnQuCj4+ICAyLiBQZW9wbGUgdG8gaGVscCB3aXRo IGluc3RhbGwKPj4gIDMuIFJlY29tbWVuZGVkIHN1cHBvcnQgb3B0aW9ucyB0byBoZWxwIHBlb3Bs ZSBwb3N0IGluc3RhbGwuCj4+Cj4+ICBJZiBhbnlvbmUgaXMgaW50ZXJlc3RlZCBpbiBoZWxwaW5n LCAgcGxlYXNlIGxldCBtZSBrbm93Lgo+PiAgLS0KPj4gIFRoaXMgbWVzc2FnZSB3YXMgc2VudCB0 bzogV2lsbGlhbSA8d2lsbGlhbUB0cmlsdWcub3JnPgo+PiAgVG8gdW5zdWJzY3JpYmUsIHNlbmQg YSBibGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcub3JnIGZyb20gdGhhdAo+PiAg YWRkcmVzcy4KPj4gIFRyaUxVRyBtYWlsaW5nIGxpc3QgOiBodHRwczovL3d3dy50cmlsdWcub3Jn L21haWxtYW4vbGlzdGluZm8vdHJpbHVnCj4+ICBVbnN1YnNjcmliZSBvciBlZGl0IG9wdGlvbnMg b24gdGhlIHdlYgk6Cj4+ICBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vb3B0aW9ucy90 cmlsdWcvd2lsbGlhbSU0MHRyaWx1Zy5vcmcKPj4gIFdlbGNvbWUgdG8gVHJpTFVHOiBodHRwczov L3RyaWx1Zy5vcmcvd2VsY29tZQo+CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpT dWJqZWN0OiBEaWdlc3QgRm9vdGVyCgotLSAKVHJpTFVHIG1haWxpbmcgbGlzdApUcmlMVUdAdHJp bHVnLm9yZwpodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnClRy aUxVRyBPcmdhbml6YXRpb25hbCBGQVEgIDogLS0KVHJpTFVHIG1haWxpbmcgbGlzdCAgICAgICAg OiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnClRyaUxVRyBG QVEgIDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy93aWtpL0ZyZXF1ZW50bHlfQXNrZWRfUXVlc3Rp b25zClRyaUxVRyBNZW1iZXIgU2VydmljZXMgRkFRIDogaHR0cHM6Ly90cmlsdWcub3JnL3dpa2kv RnJlcXVlbnRseV9Bc2tlZF9RdWVzdGlvbnMjVHJpTFVHX1NlcnZpY2VzCgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCkVuZCBvZiBUcmlMVUcgRGlnZXN0LCBWb2wgNDI5NSwgSXNzdWUg MQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK