Re: Script to find a best fit v11n
Aaron Rainbolt <[email protected]> Sun, 29 Jun 2025 21:54:27 -0500
| Newsgroups | gmane.comp.literature.sword.devel |
|---|---|
| Message-ID | <CAFfBHfYM5XKesufiTZ1LxjDcVBUGX1O6uMPJHJOzMcK9mXhLnw@mail.gmail.com> |
RnJvbSB3aGF0IEkgdW5kZXJzdGFuZCBhcyBzb21lb25lIHdobyBpc24ndCBhIGxhd3llciBidXQg aGFzIGRvbmUKbGljZW5zaW5nIGF1ZGl0cyBmb3IgYXBwbGljYXRpb25zIGluIFVidW50dSBhbmQg RGViaWFuLCB5b3UnbGwgb25seQpydW4gaW50byBpc3N1ZXMgaWYgeW91IHB1Ymxpc2ggKmJ1aWx0 IGJpbmFyaWVzKiBvZiB5b3VyIGNvZGUuIElmIHlvdQpqdXN0IHB1Ymxpc2ggY29kZSwgZXZlbiBp ZiBpdCdzIGV4cGxpY2l0bHkgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoCmxpY2Vuc2UtaW5jb21w YXRpYmxlIGxpYnJhcmllcywgeW91J3JlIGZpbmUsIGJlY2F1c2UgeW91IGFyZW4ndApkaXN0cmli dXRpbmcgc29tZW9uZSBlbHNlJ3MgY29kZSBpbiBhIGxpY2Vuc2UtaW5jb21wYXRpYmxlIG1hbm5l ciwgYW5kCmJvdGggR1BMdjIgYW5kIEdQTHYzIGFsbG93IHlvdSB0byAqdXNlKiB0aGUgY29kZSBo b3dldmVyIHlvdSB3YW50LCB5b3UKanVzdCBoYXZlIHRvIHRha2UgY2FyZSB3aGVuICpkaXN0cmli dXRpbmcqIGl0LiBJZiB5b3Ugd2FudCB0byBtYWtlIGFuCnVuc2lnaHRseSBrbHVkZ2Ugb2YgR1BM djIsIEdQTHYzLCBhbmQgZXZlbiBDRERMIG9uIHlvdXIgb3duIHN5c3RlbSwKa25vY2sgeW91cnNl bGYgb3V0LCBqdXN0IGRvbid0IHRyeSB0byBzZW5kIHRoYXQgbWVzcyBvZiBhIGJpbmFyeSB0bwph bnlvbmUgZWxzZS4gKFRoaXMgaXMgd2h5IERlYmlhbiBnZXRzIGF3YXkgd2l0aCBkaXN0cmlidXRp bmcgWkZTCmRyaXZlcnMgLSB0aGV5IGRpc3RyaWJ1dGUgZHJpdmVyIHNvdXJjZSBjb2RlIGFuZCB0 aGUgbmVlZGVkIGZyYW1ld29yawp0byBidWlsZCB0aGF0IGNvZGUgb24gdGhlIGZseSB1cG9uIGlu c3RhbGxhdGlvbiwgdGh1cyB0aGV5IGFyZW4ndApicmVha2luZyBhbnkgbGljZW5zZXMuKQoKSWYg eW91IHdhbnQgdG8gcHVibGlzaCBiaW5hcmllcyB0aG91Z2gsIHRoZW4geWVzLCB5b3UnbGwgaGF2 ZSBhCnByb2JsZW0gdGhlcmUuIEluIHRoYXQgaW5zdGFuY2UgeW91IG1pZ2h0IGNvbnNpZGVyIHJl d3JpdGluZyB0aGUgVUkKd2l0aCBHVEsgYW5kIGxpYmFkd2FpdGEsIEkga25vdyBJJ3ZlIHNlZW4g UnVzdCBwcm9qZWN0cyB0aGF0IGRvIHRoYXQuCkJvdGggb2YgdGhvc2UgdXNlIGRpZmZlcmVudCBM R1BMIHZlcnNpb25zLCBzbyB5b3Ugc2hvdWxkbid0IHJ1biBpbnRvCmFueSBpbmNvbXBhdGliaWxp dGllcyB0aGVyZSB1bmxlc3MgdGhlIExHUEx2MiAobm90ZSwgTk9UIHYyLjEpIGFuZApHUEx2MiBh cmUgaW5jb21wYXRpYmxlLiBJIGRvdWJ0IHRoZXkgYXJlLCBidXQgdGhlIEZTRiBhcHBhcmVudGx5 CmZvcmdvdCB0byBpbmNsdWRlIHRoYXQgbGljZW5zZSBpbiB0aGVpciBjb21wYXRpYmlsaXR5IG1h dHJpeCBhdApodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1mYXEuZW4uaHRtbCNBbGxD b21wYXRpYmlsaXR5LgoKT24gU3VuLCBKdW4gMjksIDIwMjUgYXQgNzowNeKAr1BNIEdyZWcgSGVs bGluZ3MgPGdyZWcuaGVsbGluZ3NAZ21haWwuY29tPiB3cm90ZToKPgo+IFNvbWVvbmUgbGVmdCBt ZSBhbG9uZSBmb3IgdG9vIGxvbmcgYW5kIEkgY29udmVydGVkIG15IG9yaWdpbmFsIFB5dGhvbiBz Y3JpcHQgZm9yIHBhcnNpbmcgdmVyc2lmaWNhdGlvbnMgaW50byBhIFJ1c3QgR1VJIGFwcGxpY2F0 aW9uLiBZb3UgY2FuIHNlZSB0aGUgcXVpY2sgc2NyZWVuY2FzdCBvZiB3aGF0IEkndmUgZG9uZSBo ZXJlOiBodHRwczovL3lvdXR1LmJlL0l3VFFURjhQUkM0Cj4KPiBJIHdhcyBhYm91dCB0byBwdWJs aXNoIGl0IGFuZCBwcm9kdWNlIGJpbmFyaWVzLCBidXQgSSByYW4gaW50byBhIHByb2JsZW06Cj4g SSB1c2VkIFNsaW50IHRvIGNyZWF0ZSB0aGUgVUksIGFuZCBTbGludCBpcyBsaWNlbnNlZCBmb3Ig ZWl0aGVyIGNvbW1lcmNpYWwgb3IgR1BMdjMKPiBTV09SRCBpcyBsaWNlbnNlZCBhcyBHUEx2Mgo+ Cj4gRnJvbSBteSB1bmRlcnN0YW5kaW5nLCBzaW5jZSB2MiBhbmQgdjMgYXJlIGluY29tcGF0aWJs ZSwgdGhhdCBtZWFucyBJIGNhbid0IHJlbGVhc2UgdGhlIGJvdGggdG9nZXRoZXIgaW4gYSBzaW5n bGUgYXBwbGljYXRpb24uIElmIHRoYXQncyBpbmNvcnJlY3QsIHBsZWFzZSBzb21lb25lIGxldCBt ZSBrbm93IQo+Cj4gLS1HcmVnCj4KPiBPbiBUaHUsIEp1biAxOSwgMjAyNSBhdCAxMDoyMOKAr1BN IEdyZWcgSGVsbGluZ3MgPGdyZWcuaGVsbGluZ3NAZ21haWwuY29tPiB3cm90ZToKPj4KPj4KPj4K Pj4gT24gVGh1LCBKdW4gMTksIDIwMjUgYXQgNDoxM+KAr1BNIERNIFNtaXRoIDxkbXNtaXRoQGNy b3Nzd2lyZS5vcmc+IHdyb3RlOgo+Pj4KPj4+Cj4+PiBPbiBKdW4gMTksIDIwMjUsIGF0IDM6MjTi gK9QTSwgR3JlZyBIZWxsaW5ncyA8Z3JlZy5oZWxsaW5nc0BnbWFpbC5jb20+IHdyb3RlOgo+Pj4K Pj4+Cj4+PiBMaWtlIG1vc3QgdGhpbmdzLCBpdCdzIGEgdHJhZGUtb2ZmLiBXb3JraW5nIHdpdGgg dGhlIGJpbmRpbmdzIHJlcXVpcmVzIHRoYXQgdGhlIFN3b3JkIGJpbmRpbmdzIGFyZSBpbnN0YWxs ZWQgb24gdGhlIGhvc3Qgc3lzdGVtLiBGb3Igc29tZW9uZSBydW5uaW5nIG9uIFdpbmRvd3MsIHRo aXMgaXMgcGFydGljdWxhcmx5IG5vbi10cml2aWFsLiBGb3Igc29tZW9uZSBydW5uaW5nIGluIG1h Y09TIGl0J3Mgbm90IHRvbyBkaWZmaWN1bHQgdG8gaW5zdGFsbCBmcm9tIHNvdXJjZSAoSSBkb24n dCBiZWxpZXZlIEhvbWVicmV3IGJ1aWxkcyB0aGVtKS4gRm9yIHVzZXJzIG9mIG1ham9yIExpbnV4 IGRpc3RyaWJ1dGlvbnMsIGl0J3MgZG93bnJpZ2h0IHRyaXZpYWwuIE9uIEZlZG9yYSBpdCdzIGFz IHNpbXBsZSBhcyBhIHNpbmdsZSBgZG5mIGluc3RhbGwgcHl0aG9uMy1zd29yZGAgY29tbWFuZCBm b3IgYSBsb25nIHRpbWUgbm93LCBhbmQgaXQgbG9va3MgbGlrZSB0aGUgYmluZGluZ3MgYXJlIGFs c28gYXZhaWxhYmxlIGZvciBVYnVudHUgc3RhcnRpbmcgaW4gMjUuMDQgd2l0aCBhbiBgYXB0IGlu c3RhbGwgcHl0aG9uMy1zd29yZGAgYXMgd2VsbC4KPj4+Cj4+Pgo+Pj4gUmVnYXJkaW5nIGJ1aWxk aW5nIFNXT1JEIG9uIGEgTWFjLCBJIHVzZSBob21lYnJldyBmb3IgZXh0cmEgcGFja2FnZXMuIEkg dHJpZWQgdG8gcnVuIC4vYXV0b2dlbi5zaCwgYnV0IGl0IGZhaWxlZCBvbiBsaWJ0b29saXplLCB3 aGljaCBob21lYnJldyBkb2VzbuKAmXQgaGF2ZS4gVGhlbiBJIHJhbiBjbWFrZSwgd2hpY2ggZmFp bGVkIGJlY2F1c2UgaWN1NGMgcmVxdWlyZWQgQysrMTcgb3IgYmV0dGVyLiBIYWNraW5nIHRoYXQg SSBnb3QgQ01ha2VMaXN0cy50eHQsIEkgZ290IGl0IHRvIHdvcmsuIEnigJlsbCBzZWUgaWYgSSBj YW4gdXNlIHRoYXQgdG8gcnVuIHlvdXIgc2NyaXB0Lgo+Pgo+Pgo+PiBGb3IgdGhlc2UgcHVycG9z ZXMsIG5laXRoZXIgSUNVIG5vciBDTHVjZW5lIGFyZSBuZWVkZWQuIEl0J3Mgb25seSBwdWxsaW5n IHRoZSB2ZXJzaWZpY2F0aW9uIGRhdGEgd2hpY2ggaXMgY29yZSB0byB0aGUgbGlicmFyeSdzIGJ1 aWx0aW5zLgo+Pgo+Pj4KPj4+Cj4+PiBBZHZhbnRhZ2VzIG9mIHRoZSBiaW5kaW5nIG1ldGhvZCBh cmUgdGhhdCBpdCBkb2Vzbid0IHJlbHkgb24gcGFyc2luZyBhIEMgaGVhZGVyIGZpbGUsIG5vciBv biB0aGUgZmlsZSBsYXlpbmcgb3V0IHRoZSB2YWx1ZXMgaW4gYSBjZXJ0YWluIHdheS4gSXQgYWxz byBjYW4gYmUgdXNlZCBvZmZsaW5lIGVhc2lseSwgZG9lc24ndCByZXF1aXJlIHBhcnNpbmcgdGhl IG91dHB1dCBvZiBIVE1MIGluIG9yZGVyIHRvIGZpbmQgYWxsIHRoZSBhcHBsaWNhYmxlIGZpbGVz LCBhbmQgaXMgbGlrZWx5IHNsaWdodGx5IGZhc3Rlci4gTm90IHRoYXQgdGhlIHNwZWVkIHByb2Jh Ymx5IG1hdHRlcnMgZm9yIGEgc2luZ2xlIHJ1biBvZiB0aGlzLCBidXQgaWYgeW91J3JlIGJ1bGsg cHJvY2Vzc2luZyBmaWxlcyB0aGUgc3BlZWQgYWR2YW50YWdlcyBjYW4gYWRkIHVwLgo+Pj4KPj4+ Cj4+PiBUaGUgd2F5IEkgd3JvdGUgbWluZSBpcyB0aGF0IGl0IGNvdWxkIHVzZSB0aGUgaW5jbHVk ZS9jYW5vbiouaCBmaWxlcyBmcm9tIGEgcHJpb3IgbG9jYWwgU1ZOIGNsb25lLiBUaGlzIGlzIHZl cnkgZmFzdC4gSeKAmWQgYmUgY3VyaW91cyB0byBzZWUgaG93IGl0IGRpZmZlcnMgaW4gc3BlZWQg ZnJvbSB5b3Vycy4gVGhlIGRlZmF1bHQgaXMgdG8gZ28gYWdhaW5zdCB0aGUgd2ViLCB3aGljaCBp cyBwYWluZnVsbHkgc2xvdy4gKE5vdGUsIGl0IGRvZXNu4oCZdCB5ZXQgZG8gdGhlIHN0YW5kYXJk IGRpc2NsYWltZXIgZm9yIHRoZSB3ZWIuKSBOb3QgYmlnIGRlYWwgaWYgaXQgaXMgYSBzaW5nbGUg cnVuLiBQZXRlciBtZW50aW9uZWQgdGhhdCBoZSBkb2VzIGFkZGl0aW9uYWwgYW5hbHlzaXMgb2Yg dGhlIGZpbGVzIGluIHByb2JsZW1hdGljIGFyZWFzIHRoYXQgY2Fubm90IGJlIGRvbmUgYnkgdGhl IHNjcmlwdC4KPj4+Cj4+PiBVc2luZyB0aGUgcHl0aG9uIGJpbmRpbmdzIGRvZXMgaGF2ZSB0aGUg YWR2YW50YWdlcyBvZiBub3QgcmUtaW52ZW50aW5nIHRoZSB3aGVlbC4gSSB3YXMgaW1wcmVzc2Vk IHdpdGggY2hhdEdQVOKAmXMgcmVndWxhciBleHByZXNzaW9ucyB0byBzbHVycCB0aGUgYXJyYXlz IGFuZCBob3cgY29uY2lzZSBpdCB3YXMgdG8gcmVhZCB0aGUgZmlsZXMuIFRoZXJlIHJlYWxseSB3 YXNu4oCZdCBhbnkgZGlmZmljdWx0eSBpbiBwYXJzaW5nIHRoZSBmaWxlcy4gU2luY2UgdGhlIGNh bm9uKi5oIGZpbGVzIGFyZSB2ZXJ5IHN0YXRpYyBhbmQgbm90IGxpa2VseSB0byBhZmZlY3QgdGhl IHBhcnNlLiBJIGRvbuKAmXQgdGhpbmsgdGhpcyBpcyB0aGF0IGJpZyBhIGRlYWwuCj4+Cj4+Cj4+ IFllYWgsIHRoZSBjYW5vbiBoZWFkZXIgZmlsZXMgYXJlIHByZXR0eSB3ZWxsIHN0cnVjdHVyZWQg Zm9sbG93aW5nIGEgc3RhbmRhcmQgZm9ybWF0IHRvIG1ha2UgaXQgZWFzaWVyIG9uIGh1bWFucywg YW5kIHRodXMgcmVnZXgsIHRvIHN3YWxsb3cuIFRoZSB0aG91Z2h0IG9mIGRvaW5nIHNvIGhhZCBz aW1wbHkgbmV2ZXIgY3Jvc3NlZCBteSBtaW5kLgo+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IERpc2Fk dmFudGFnZXMgb2YgdGhlIGJpbmRpbmcgbWV0aG9kIGFyZSB0aGF0IGl0J3MgcmVxdWlyaW5nIHlv dSB0byByZXZlcnQgYmFjayB0byBhIHNvdXJjZSBidWlsZCBpZiB5b3UgYXJlIHVzaW5nIHRoaXMg dG8gdGVzdCBhIGNhbm9uLmggZmlsZSBvciBpZiB5b3Ugd2FudCB0byB1c2UgYSBjYW5vbiBmaWxl IHRoYXQgaXNuJ3QgYXZhaWxhYmxlIGluIHRoZSBwYWNrYWdlIG1hbmFnZXIgb2YgeW91ciBMaW51 eCBkaXN0cmlidXRpb24uIEJ1aWxkaW5nIGZyb20gc291cmNlIGlzbid0IHRlcnJpYmx5IG9uZXJv dXMgZm9yIG1vc3Qgb2YgdXMgY29udHJpYnV0b3JzIGJ1dCBpdCBtaWdodCBiZSBtb3JlIG9mIGEg cHJvYmxlbSBmb3IgYSBtb2R1bGUgbWFpbnRhaW5lci4gVGhlbiBhZ2FpbiwgaG93IG9mdGVuIGRv IHdlIGFkZCBhIG5ldyB2ZXJzaWZpY2F0aW9uIHRvIHRoZSBjb2RlIGJhc2U/Cj4+Pgo+Pj4KPj4+ ICBTbywgaXTigJlzIG5vdCBzb21ldGhpbmcgd2XigJlkIGV4cGVjdCBhIG1vZHVsZSBtYWtlciB0 byBzdWNjZWVkIGF0IGlmIG5vdCBvbiBVbip4LiBNYXliZSBzb21lb25lIGhhcyBhIGxpYnJhcnkg cmVsZWFzZSBmb3IgdGhlIE1hY09TIG9yIFdpbmRvd3MgdGhhdCBjb3VsZCBiZSB1c2VkPwo+Pgo+ Pgo+PiBCZWNhdXNlIG91ciBQeXRob24gYmluZGluZ3MgYXJlIGJ1aWx0IGFzIHBhcnQgb2YgdGhl IGxpYnJhcnkgYW5kIGdlbmVyYXRlZCBieSBTd2lnLCB0aGV5IGFyZW4ndCBkaXN0cmlidXRlZCBv bnRvIFB5UEkgKHRoZSBQWXRob24gUGFja2FnZSBJbmRleCksIHdoaWNoIGlzIHRoZSBzdGFuZGFy ZCB3YXkgb2YgaW5zdGFsbGluZyB0aGlyZCBwYXJ0eSBQeXRob24gbW9kdWxlcy4gVG8gaW5zdGFs bCBmcm9tIFB5UEksIG9uZSBzaW1wbHkgdXNlcyB0aGUgInBpcCIgdG9vbCwgb3Igb3RoZXIgc3Rh bmRhcmQgUHl0aG9uIHBhY2thZ2UgaW5zdGFsbGVycy4gQnV0IGZvciBvdXJzLCB0aGUgYmluZGlu ZyBjb2RlIGlzIGdlbmVyYXRlZCBieSBTd2lnIGZyb20gdGhlIGxpYnJhcnkgY29kZSBhbmQgd2Ug ZG9uJ3QgdGhlbiBzdWJzZXF1ZW50bHkgZGlzdHJpYnV0ZSB0aGUgbW9kdWxlIHNlcGFyYXRlbHku IERvaW5nIHNvIHdvdWxkIG5vdCBiZSB0ZXJyaWJseSBkaWZmaWN1bHQsIGJ1dCBpdCBpcyBub3Qg YSByb3V0ZSB3ZSBoYXZlIHRha2VuIHByZXZpb3VzbHkuCj4+Cj4+IE9mIGNvdXJzZSwgaW5zdGFs bGluZyBQeXRob24gbW9kdWxlcyB0aGF0IGluY2x1ZGUgQyBiaW5kaW5ncyBuZWNlc3NpdGF0ZXMg aGF2aW5nIHRoZSBQeXRob24uaCBmaWxlIGF2YWlsYWJsZSBhcyB3ZWxsIGFzIGEgY29tcGF0aWJs ZSB2ZXJzaW9uIG9mIGEgQyBjb21waWxlci4gRm9yIHRoZSBvZmZpY2lhbCBQeXRob24gZGlzdHJp YnV0aW9ucywgdGhpcyBpcyBhbHdheXMgYW5kIG9ubHkgTVNWQyAtIG9yIGF0IGxlYXN0IGl0IGhh cyBiZWVuIGluIHRoZSBwYXN0LiBPZmZpY2lhbGx5IFB5dGhvbiBoYXMgbm90IGhpc3RvcmljYWxs eSBldmVuIHN1cHBvcnRlZCBidWlsZGluZyBmb3IgV2luZG93cyB3aXRoIGdjYy4gSXQncyBlbm91 Z2ggb2YgYSBidWdiZWFyIHRoYXQgSSd2ZSBuZXZlciBldmVuIGJvdGhlcmVkIHdpdGggaW5zdGFs bGluZyBtb2R1bGVzIHdpdGggUHl0aG9uIG9uIFdpbmRvd3MuCj4+Cj4+IE5vd2FkYXlzLCB0aG91 Z2gsIHdlIGRvbid0IHJlYWxseSBuZWVkIHRvLiBBbnlvbmUgd2hvIHdhbnRzIHRvIGNhbiBpbnN0 YWxsIFVidW50dSB1bmRlciB0aGUgV1NMIGFuZCBqdXN0IHRha2UgYWR2YW50YWdlIG9mIHRoZSBl eGlzdGluZyBhcHQgcGFja2FnZSBhbmQgUHl0aG9uIGluIHRoZXJlLiBBcyBmb3IgbWFjT1MsIEkg aGF2ZW4ndCBhIGdvb2Qgc29sdXRpb24gdGhlcmUuIEkgb25seSB1c2UgaXQgYXMgZGVtYW5kZWQg Zm9yIHdvcmsuIFByb2JhYmx5IGJlc3QgdG8ganVzdCBsZXQgcGVvcGxlIHdobyB3YW50IGl0IGNv bXBpbGUgaXQgZnJvbSBzb3VyY2UgdGhlcmUsIGFuZCBsZXQgdGhlbSBrbm93IHRoZXJlIGlzbid0 IGFueSBuZWVkIGZvciB0aGUgSUNVIGFkZCBvbnMuCj4+Cj4+IEFuIGFsdGVybmF0aXZlIGlzIHRv IGdvIGJleW9uZCBhIFB5dGhvbiBzY3JpcHQgYW5kIGNyZWF0ZSBhIGZ1bGwgdXRpbGl0eSBpbiBD IHRoYXQgZG9lcyB0aGlzIHNhbWUgd29yay4gVGhhdCB3b3VsZCBtYWtlIGRpc3RyaWJ1dGlvbiBt dWNoIGVhc2llciB0byBhbGwgb2YgdGhlIHBsYXRmb3Jtcy4gVGhlIHJlYXNvbiBJIGRpZCBub3Qg aW5pdGlhbGx5IHRha2UgdGhhdCByb3V0ZSBpcyB0aGF0IFB5dGhvbiBpcyBzbyBjb252ZW5pZW50 IGZvciB3b3JraW5nIHdpdGggWE1MIGluIHdoZXJlYXMgdGhlIGxpYnJhcnkgaGFzIG5vIHN1Y2gg bWVjaGFuaXNtIHRvIHJlYWRpbHkgcGFyc2UgaXQgYW5kIHF1ZXJ5IGluIHRoZSBzYW1lIHdheS4g T2J2aW91c2x5IGl0IGNhbiBiZSBkb25lLCBhcyBvc2lzMm1vZCBpcyBhbHJlYWR5IGRvaW5nIHRo YXQgd29yay4gSXRzIHBhcnNpbmcgY29kZSBjb3VsZCBiZSByZXB1cnBvc2VkIHRvIHRoaXMgZWZm ZWN0Lgo+Pgo+Pj4KPj4+Cj4+PiBTbyB0aGVyZSBhcmUgcHJvcyBhbmQgY29ucyBiZXR3ZWVuIHRo ZW0uIEkgd2FzIGZyZXNobHkgb2ZmIG9mIGdldHRpbmcgdGhlIGJpbmRpbmdzIHRvIGNvbXBpbGUg d2hlbiBJIHdyb3RlIHRoZSBmaXJzdCBkcmFmdCBvZiBhdjExbi5weSBzbyBJIG5hdHVyYWxseSB3 ZW50IHRoYXQgZGlyZWN0aW9uLiBJIGFsc28gdHJ5IHRvIGF2b2lkIHdyaXRpbmcgcGFyc2VycyB3 aGVuIEkgY2FuIGxldmVyYWdlIGV4aXN0aW5nIG9uZXMsIGFzIGdyYW1tYXJzIGNhbiBiZSBub3Rv cmlvdXNseSBjb21wbGV4IHRvIGdldCBjb3JyZWN0LiBTbyB0aGF0IGRpY3RhdGVkIG15IGNob2lj ZXMgYXMgbXVjaCBhcyBkaWQgYW55dGhpbmcgZWxzZSwgcmVhbGx5IQo+Pj4KPj4+Cj4+PiBNeSBj b21wdXRlciBzY2llbmNlIG1hc3RlcnMgZGVncmVlIHdhcyBpbiBjb21waWxlciB3cml0aW5nISBJ dOKAmXMgZGVmaW5pdGVseSBub3QgZm9yIHRoZSBmYWludCBvZiBoZWFydCEKPj4KPj4KPj4gTWlu ZSB3YXMgaW4gQUkuIEFsc28gbm90IGZvciB0aGUgZmFpbnQgb2YgaGVhcnQsIGJ1dCBtdWNoIG1v cmUgYXBwcm9hY2hhYmxlIG9mIGEgY29uc3VtZXIgcHJvZHVjdC4KPj4KPj4+Cj4+Pgo+Pj4KPj4+ IEFub3RoZXIgcG9zc2libGUgZW5oYW5jZW1lbnQgbWlnaHQgYmUgYSBDTEkgZmxhZyB0byBsaW1p dCB0aGUgdGVzdGluZyByYW5nZSB0byBhIHBhcnRpY3VsYXIgYm9vayAob3IgdGVzdGFtZW50KSBh dCBhIHRpbWUuIEkgaGF2ZSBoZWFyZCBwZW9wbGUgdGFsayBhYm91dCBoYXZpbmcgbW9kdWxlcyBz cGxpdCB1cCB0byBvbmUgYm9vayBwZXIgZmlsZSBvciBzaW1pbGFyLiBJZiB0aGV5IGNvdWxkIHNh eSwgIk9ubHkgY2hlY2sgdGhpcyBmaWxlIGFnYWluc3QgSm9zaHVhIiB0aGVuIGl0IGNvdWxkIGtl ZXAgZG93biBhIHNpZ25pZmljYW50IGFtb3VudCBvZiBleHRyYSBvdXRwdXQuIEJ1dCBhZ2FpbiAt IEknbSBub3QgcmVhbGx5IGFuIGludGVuZGVkIHVzZXIgb2YgaXQhCj4+Pgo+Pj4KPj4+IEdyZWF0 IGlkZWEuIFNvIERhdmlk4oCZcyBzdWdnZXN0aW9uIG9mIGEgc2NvcGUgYXJndW1lbnQuCj4+Cj4+ Cj4+IEJhc2ljYWxseSwgeWVzLgo+Pgo+Pj4KPj4+Cj4+PiBBbmQgSeKAmW0gbm90IGFuIGludGVu ZGVkIHVzZXIgb2YgaXQgZWl0aGVyLiBJ4oCZbSBqdXN0IHRyeWluZyB0byBnZXQgcGVvcGxlIHRv IHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBvc2lzMm1vZCB0byBwaWNrIGEgdmVyc2lmaWNhdGlv bi4gTG9va2luZyBhdCB0aGUgSmlyYSBpc3N1ZXMgb24gb3NpczJtb2QsIGluIG9uZSBpc3N1ZSBh IHBlcnNvbiBsaXN0ZWQgdGhlaXIgc2NyaXB0IHRoYXQgbG9vcGVkIG92ZXIgdGhlIHYxMW5zIGFu ZCBjYWxsZWQgb3NpczJtb2Qgd2l0aCBlYWNoLiBZdWNrIQo+Pgo+Pgo+PiBZZWFoLCB1c2luZyBv c2lzMm1vZCBpbiB0aGF0IHdheSBzZWVtcyBmcmF1Z2h0IHdpdGggdHJvdWJsZS4gQnV0IGluIHRo ZSBhYnNlbmNlIG9mIGtub3dpbmcgbW9yZSBhYm91dCB0aGUgaW50ZXJuYWwgb2YgdGhlIGxpYnJh cnksIEkgY2FuIHNlZSB3aHkgc29tZW9uZSB3b3VsZCB0YWtlIHRoYXQgYXBwcm9hY2guCj4+Cj4+ IC0tR3JlZwo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBzd29yZC1kZXZlbCBtYWlsaW5nIGxpc3Q6IHN3b3JkLWRldmVsQGNyb3Nzd2lyZS5vcmcK PiBodHRwOi8vY3Jvc3N3aXJlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3N3b3JkLWRldmVsCj4gSW5z dHJ1Y3Rpb25zIHRvIHVuc3Vic2NyaWJlL2NoYW5nZSB5b3VyIHNldHRpbmdzIGF0IGFib3ZlIHBh Z2UKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kc3dvcmQt ZGV2ZWwgbWFpbGluZyBsaXN0OiBzd29yZC1kZXZlbEBjcm9zc3dpcmUub3JnCmh0dHA6Ly9jcm9z c3dpcmUub3JnL21haWxtYW4vbGlzdGluZm8vc3dvcmQtZGV2ZWwKSW5zdHJ1Y3Rpb25zIHRvIHVu c3Vic2NyaWJlL2NoYW5nZSB5b3VyIHNldHRpbmdzIGF0IGFib3ZlIHBhZ2UK