[#79440] [Ruby trunk Bug#13188] Reinitialize Ruby VM. — shyouhei@...
SXNzdWUgIzEzMTg4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgU2h5b3VoZWkgVXJhYmUuCgoKTWFydGlu
6 messages
2017/02/06
[#79441] Re: [Ruby trunk Bug#13188] Reinitialize Ruby VM.
— SASADA Koichi <ko1@...>
2017/02/06
On 2017/02/06 10:10, shyouhei@ruby-lang.org wrote:
[#79532] Immutable Strings vs Symbols — Daniel Ferreira <subtileos@...>
Hi,
15 messages
2017/02/15
[#79541] Re: Immutable Strings vs Symbols
— Rodrigo Rosenfeld Rosas <rr.rosas@...>
2017/02/15
Em 15-02-2017 05:05, Daniel Ferreira escreveu:
[#79543] Re: Immutable Strings vs Symbols
— Daniel Ferreira <subtileos@...>
2017/02/16
Hi Rodrigo,
[#79560] Re: Immutable Strings vs Symbols
— Rodrigo Rosenfeld Rosas <rr.rosas@...>
2017/02/16
Em 15-02-2017 22:39, Daniel Ferreira escreveu:
[ruby-core:79700] [Ruby trunk Feature#13219] bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
From:
blogger@...
Date:
2017-02-22 22:32:51 UTC
List:
ruby-core #79700
SXNzdWUgIzEzMjE5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgTmF0aGFuIFpvb2suCgoKIyBGcm9tIHJl ZGRpdCwgdHJhbnNsYXRlZCBmcm9tIHB5dGhvbi4gIFNvdXJjZSB1bmtub3duLCBwb3NzaWJseSBt ZW50aW9uZWQgaW4gd2lraXBlZGlhLgpkZWYgaXNxcnQobikKICByID0gMAogIG8gPSAxIDw8ICgo bi5iaXRfbGVuZ3RoID4+IDEgKSA8PCAxKQogIHdoaWxlIG8gIT0gMCBkbwogICAgdCA9IHIgKyBv CiAgICBpZiBuID49IHQKICAgICAgbiAtPSB0CiAgICAgIHIgPSAociA+PiAxKSArIG8KICAgIGVs c2UKICAgICAgciA+Pj0gMQogICAgZW5kCiAgICBvID4+PSAyCiAgZW5kCiAgcgplbmQKCmRlZiBi ZW5jaChwKQogIG4gPSAxMCAqKiBwCiAgQmVuY2htYXJrLmlwcyBkbyB8eHwKICAgIHB1dHMgImlu dGVnZXIgc3F1YXJlcm9vdCB0ZXN0cyBmb3IgbiA9IDEwICoqICN7cH0iCiAgICB4LnJlcG9ydCgi aXJvb3QyIiAgICAgKSB7IG4uaXJvb3QyICAgIH0KICAgIHgucmVwb3J0KCJpc3FydCIgICAgICAg KSB7IGlzcXJ0KG4pIH0KICAgIHguY29tcGFyZSEKICBlbmQKICBuaWwKZW5kCgpiZW5jaCg0MSkK aW50ZWdlciBzcXVhcmVyb290IHRlc3RzIGZvciBuID0gMTAgKiogNDEKV2FybWluZyB1cCAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgIGlyb290MiAg ICAgMy4yNjRrIGkvMTAwbXMKICAgICAgICAgICAgICAgaXNxcnQgICAgIDMuMDg4ayBpLzEwMG1z CkNhbGN1bGF0aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAg ICAgICAgICBpcm9vdDIgICAgIDMzLjc0OWsgKMKxIDAuNiUpIGkvcyAtICAgIDE2OS43MjhrIGlu ICAgNS4wMjkzNDJzCiAgICAgICAgICAgICAgIGlzcXJ0ICAgICAzMS40NjlrICjCsSAxLjQlKSBp L3MgLSAgICAxNTcuNDg4ayBpbiAgIDUuMDA1NDg5cwoKQ29tcGFyaXNvbjoKICAgICAgICAgICAg ICBpcm9vdDI6ICAgIDMzNzQ4LjcgaS9zCiAgICAgICAgICAgICAgIGlzcXJ0OiAgICAzMTQ2OS4w IGkvcyAtIDEuMDd4ICBzbG93ZXIKCj0+IG5pbAppcmIobWFpbik6MjQ1OjA+IGJlbmNoKDUwMCkK aW50ZWdlciBzcXVhcmVyb290IHRlc3RzIGZvciBuID0gMTAgKiogNTAwCldhcm1pbmcgdXAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICBpcm9vdDIg ICAxMDAuMDAwICBpLzEwMG1zCiAgICAgICAgICAgICAgIGlzcXJ0ICAgIDk3LjAwMCAgaS8xMDBt cwpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAg ICAgICAgICAgaXJvb3QyICAgICAgMS4wMDJrICjCsSAwLjclKSBpL3MgLSAgICAgIDUuMTAwayBp biAgIDUuMDkyMzA3cwogICAgICAgICAgICAgICBpc3FydCAgICA5NzYuNTQyICAowrEgMC44JSkg aS9zIC0gICAgICA0Ljk0N2sgaW4gICA1LjA2NjE0MXMKCkNvbXBhcmlzb246CiAgICAgICAgICAg ICAgaXJvb3QyOiAgICAgMTAwMS42IGkvcwogICAgICAgICAgICAgICBpc3FydDogICAgICA5NzYu NSBpL3MgLSAxLjAzeCAgc2xvd2VyCgo9PiBuaWwKaXJiKG1haW4pOjI0NjowPiBiZW5jaCgxMDAw KQppbnRlZ2VyIHNxdWFyZXJvb3QgdGVzdHMgZm9yIG4gPSAxMCAqKiAxMDAwCldhcm1pbmcgdXAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICBpcm9v dDIgICAgMzEuMDAwICBpLzEwMG1zCiAgICAgICAgICAgICAgIGlzcXJ0ICAgIDM4LjAwMCAgaS8x MDBtcwpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg ICAgICAgICAgICAgaXJvb3QyICAgIDMyMi40ODcgICjCsSAxLjYlKSBpL3MgLSAgICAgIDEuNjQz ayBpbiAgIDUuMDk1OTgwcwogICAgICAgICAgICAgICBpc3FydCAgICAzOTIuOTA0ICAowrEgMS4z JSkgaS9zIC0gICAgICAxLjk3NmsgaW4gICA1LjAyOTk3MHMKCkNvbXBhcmlzb246CiAgICAgICAg ICAgICAgIGlzcXJ0OiAgICAgIDM5Mi45IGkvcwogICAgICAgICAgICAgIGlyb290MjogICAgICAz MjIuNSBpL3MgLSAxLjIyeCAgc2xvd2VyCgo9PiBuaWwKaXJiKG1haW4pOjI0NzowPiBiZW5jaCgy MDAwKQppbnRlZ2VyIHNxdWFyZXJvb3QgdGVzdHMgZm9yIG4gPSAxMCAqKiAyMDAwCldhcm1pbmcg dXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICBp cm9vdDIgICAgIDcuMDAwICBpLzEwMG1zCiAgICAgICAgICAgICAgIGlzcXJ0ICAgIDE1LjAwMCAg aS8xMDBtcwpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgICAgICAgICAgICAgaXJvb3QyICAgICA3NC4zNTEgICjCsSAxLjMlKSBpL3MgLSAgICAzNzgu MDAwICBpbiAgIDUuMDg0MzM5cwogICAgICAgICAgICAgICBpc3FydCAgICAxNTQuMzQzICAowrEg MS4zJSkgaS9zIC0gICAgNzgwLjAwMCAgaW4gICA1LjA1NDczOXMKCkNvbXBhcmlzb246CiAgICAg ICAgICAgICAgIGlzcXJ0OiAgICAgIDE1NC4zIGkvcwogICAgICAgICAgICAgIGlyb290MjogICAg ICAgNzQuNCBpL3MgLSAyLjA4eCAgc2xvd2VyCgo9PiBuaWwKaXJiKG1haW4pOjI0ODowPiBiZW5j aCg0MDAwKQppbnRlZ2VyIHNxdWFyZXJvb3QgdGVzdHMgZm9yIG4gPSAxMCAqKiA0MDAwCldhcm1p bmcgdXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAg ICBpcm9vdDIgICAgIDEuMDAwICBpLzEwMG1zCiAgICAgICAgICAgICAgIGlzcXJ0ICAgICA1LjAw MCAgaS8xMDBtcwpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgICAgICAgICAgICAgaXJvb3QyICAgICAxNS4wMTcgICjCsSAwLjAlKSBpL3MgLSAgICAg NzYuMDAwICBpbiAgIDUuMDYxMzIzcwogICAgICAgICAgICAgICBpc3FydCAgICAgNTYuMjE3ICAo wrEgMS44JSkgaS9zIC0gICAgMjg1LjAwMCAgaW4gICA1LjA3MDQ4M3MKCkNvbXBhcmlzb246CiAg ICAgICAgICAgICAgIGlzcXJ0OiAgICAgICA1Ni4yIGkvcwogICAgICAgICAgICAgIGlyb290Mjog ICAgICAgMTUuMCBpL3MgLSAzLjc0eCAgc2xvd2VyCgoKPT09PQoKSXQgaXMgaW50ZXJlc3Rpbmcg dG8gbm90ZSB0aGF0IGlzcXJ0IGlzIGFjdHVhbGx5IHNsb3dlciBpbiB0aGUgbG93IGVuZC0tdGhp cyBpcyBiZWNhdXNlIHRoZSBydWJ5IGludGVycHJldGVyIGlzIGRvaW5nIG1vcmUgcGVyIGxvb3Au ICBUaGlzIGluIHNwaXRlIG9mIHRoZSBmYWN0IHRoYXQgdGhpcyBtZXRob2QgZG9lcyBub3QgcmVx dWlyZSBtdWx0aXBsaWVzIQoKQnV0IGJhY2sgdG8gbXkgZWFybGllciBxdWVzdGlvbjogIGlmIHdl IHdhbnQgZm9sa3MgdG8gdXNlIFJ1YnkgZm9yIG11bHRpLXByZWNpc2lvbiB3b3JrLCB3aHkgbm90 IGVuY291cmFnZSB0aGVtIHRvIGxpbmsgdG8gR01QPyAgKEFuZCB1c2UgR01QJ3Mgc3FydD8pICBX ZSd2ZSBzdXBwb3J0ZWQgdGhpcyBzaW5jZSAyLjEuIEkga25vdyB0aGF0IHRoZSBzcXVhcmUgcm9v dCB0aGVyZSB3aWxsIGJlIG11Y2gsIG11Y2ggZmFzdGVyLiAgSWYgd2Ugd2FudCB0byBpbXBsZW1l bnQgYSBub24tR01QIHNvbHV0aW9uIChiZWNhdXNlIG9mIHRoZSBsaWNlbnNlIGlzc3VlKSwgdGhl biB3ZSBoYXZlIHRvIGRlY2lkZSBob3cgbXVjaCB3b3JrIHRvIHB1dCBpbnRvIGl0LgoKSSd2ZSBy ZWFkIFppbW1lcm1hbidzIHBhcGVyIChoZSBhcHBlYXJzIHRvIGJlIHRoZSBhdXRob3Igb2YgdGhl IEdNUCBjb2RlKSwgaHR0cHM6Ly9oYWwuaW5yaWEuZnIvaW5yaWEtMDAwNzI4NTQvZG9jdW1lbnQs IGFuZCBpdCBkb2VzIG5vdCBsb29rIHRvbyBoYXJkIHRvIGltcGxlbWVudCwgYXNzdW1pbmcgdGhh dCB3ZSBoYXZlIHRoZSBwcmltaXRpdmVzIGFscmVhZHkgaW4gcGxhY2UuICBJbXBsZW1lbnRpbmcg dGhlIHByaW1pdGl2ZXMgd291bGQgbm90IGJlIG92ZXJseSBkaWZmaWN1bHQsIGJ1dCBhZ2Fpbiwg d2UgbmVlZCB0byBzdGFydCBhc2tpbmcganVzdCBob3cgZmFyIHRvIGdvLiAgQW55IHNlcmlvdXMg TVAgd29yayBtdXN0IGRyb3AgZG93biB0byBhc20sIGJlY2F1c2Ugb2YgdGhpbmdzIGxpa2UgdGhl IGNhcnJ5IGJpdCBhbmQgZnVsbC13b3JkIG11bHRpcGxpY2F0aW9uLgoKSSdtIHNvcnJ5IHRvIGhh dmUgY29uZnVzZWQgeW91IGFib3V0IE5ld3RvbidzIG1ldGhvZC4gIFRoZSBmYXN0IHdheSB0byBj b21wdXRlIHNxdWFyZSByb290cyB1c2luZyBOZXd0b24ncyBtZXRob2QgaXMgdG8gY29tcHV0ZSAx L3NxcnQobiksIHRoZW4gbXVsdGlwbHkgYnkgbi4gIChUaGlzIGNhbiBiZSBtYWRlIHRvIGFsd2F5 cyBnaXZlIHRoZSBjb3JyZWN0IGFuc3dlci4pIFRoaXMgaXMgY2FsbGVkICJOZXd0b24tUmFwaHNv biIgaW4gdGhlIGxpdGVyYXR1cmUuICBJdCBoYXMgYmVlbiBhbWF6aW5nbHkgaGFyZCB0byBmaW5k IGFuIG1wIGludGVnZXIgaW1wbGVtZW50YXRpb24gYW55d2hlcmUsIGFuZCBJJ20gZ29vZCBlbm91 Z2ggdG8ga25vdyBiZXR0ZXIgdGhhbiB0byB0cnVzdCBzb21ldGhpbmcgdGhhdCBJIGp1c3QgcHV0 IHRvZ2V0aGVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVh dHVyZSAjMTMyMTk6IGJ1ZyBpbiBNYXRoLnNxcnQobikudG9faSwgdG8gY29tcHV0ZSBpbnRlZ2Vy IHNxdWFyZXJvb3QsICBuZXcgd29yZCB0byBhY2N1cmF0ZWx5IGZpeCBpdApodHRwczovL2J1Z3Mu cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTMyMTkjY2hhbmdlLTYzMTIxCgoqIEF1dGhvcjogSmFiYXJp IFpha2l5YQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogCiog VGFyZ2V0IHZlcnNpb246IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CkluIGRvaW5nIGEgbWF0aCBhcHBsaWNhdGlvbiB1c2luZyAqKk1hdGguc3FydChuKS50b19pKiog dG8gY29tcHV0ZSBpbnRlZ2VyIHNxdWFyZXJvb3RzIApvZiBpbnRlZ2VycyBJIHN0YXJ0ZWQgbm90 aWNpbmcgZXJyb3JzIGZvciBudW1iZXJzID4gMTAqKjI4LgoKCkkgY29kZWQgYW4gYWxnb3JpdGht IHRoYXQgYWNjdXJhdGVseSBjb21wdXRlcyB0aGUgaW50ZWdlciBzcXVhcmVyb290IGZvciBhcmJp cmFyeSBzaXplZCBudW1iZXJzCmJ1dCBpdHMgc2lnbmlmaWNhbnRseSBzbG93ZXIgdGhhbiB0aGUg bWF0aCBsaWJyYXJ5IHdyaXR0ZW4gaW4gQy4KClRodXMsIEkgcmVxdWVzdCBhIG5ldyBtZXRob2Qg KipNYXRoLmludHNxcnQobikqKiBiZSBjcmVhdGVkLCB0aGF0IGlzIGNvZGVkIGluIEMgYW5kIHBh cnQgb2YgdGhlCmNvcmUgbGlicmFyeSwgdGhhdCB3aWxsIGNvbXB1dGUgdGhlIGludGVnZXIgc3F1 YXJlcm9vdHMgb2YgaW50ZWdlcnMgYWNjdXJhdGVseSBhbmQgZmFzdC4KCkhlcmUgaXMgd29ya2lu ZyBoaWdobGV2ZWwgY29kZSB0byBhY2N1cmF0ZWx5IGNvbXB1dGUgdGhlIGludGVnZXIgc3F1YXJl cm9vdC4KCmBgYApkZWYgaW50c3FydChuKQogIGJpdHNfc2hpZnQgPSAobi50b19zKDIpLnNpemUp LzIgKyAxCiAgYml0bl9tYXNrID0gcm9vdCA9IDEgPDwgYml0c19zaGlmdAogIHdoaWxlIHRydWUK ICAgIHJvb3QgXj0gYml0bl9tYXNrIGlmIChyb290ICogcm9vdCkgPiBuCiAgICBiaXRuX21hc2sg Pj49IDEKICAgIHJldHVybiByb290IGlmIGJpdG5fbWFzayA9PSAwCiAgICByb290IHw9IGJpdG5f bWFzawogIGVuZAplbmQKCmRlZiBpbnRzcXJ0MShuKQogIHJldHVybiBuIGlmIG4gfCAxID09IDEg ICAjIGlmIG4gaXMgMCBvciAxCiAgYml0c19zaGlmdCA9IChNYXRoLmxvZzIobikuY2VpbCkvMiAr IDEKICBiaXRuX21hc2sgPSByb290ID0gMSA8PCBiaXRzX3NoaWZ0CiAgd2hpbGUgdHJ1ZQogICAg cm9vdCBePSBiaXRuX21hc2sgaWYgKHJvb3QgKiByb290KSA+IG4KICAgIGJpdG5fbWFzayA+Pj0g MQogICAgcmV0dXJuIHJvb3QgaWYgYml0bl9tYXNrID09IDAKICAgIHJvb3QgfD0gYml0bl9tYXNr CiAgZW5kCmVuZAoKcmVxdWlyZSAiYmVuY2htYXJrL2lwcyIKCkJlbmNobWFyay5pcHMgZG8gfHh8 CiAgbiA9IDEwKio0MAogIHB1dHMgImludGVnZXIgc3F1YXJlcm9vdCB0ZXN0cyBmb3IgbiA9ICN7 bn0iCiAgeC5yZXBvcnQoImludHNxcnQobikiICAgICAgICkgeyBpbnRzcXJ0KG4pICB9CiAgeC5y ZXBvcnQoImludHNxcnQxKG4pIiAgICAgICkgeyBpbnRzcXJ0MShuKSB9CiAgeC5yZXBvcnQoIk1h dGguc3FydChuKS50b19pIikgeyBNYXRoLnNxcnQobikudG9faSB9CiAgeC5jb21wYXJlIQplbmQK YGBgCkhlcmUncyB3aHkgaXQgbmVlZHMgdG8gYmUgZG9uZSBpbiBDLgoKYGBgCjIuNC4wIDoxNzgg PiBsb2FkICdpbnRzcXJ0dGVzdC5yYicKaW50ZWdlciBzcXVhcmVyb290IHRlc3RzIGZvciBuID0g MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKV2FybWluZyB1cCAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgaW50c3FydChuKSAg ICAgNS4zMThrIGkvMTAwbXMKICAgICAgICAgaW50c3FydDEobikgICAgIDUuNDQ1ayBpLzEwMG1z CiAgIE1hdGguc3FydChuKS50b19pICAgMjY4LjI4MWsgaS8xMDBtcwpDYWxjdWxhdGluZyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICBpbnRzcXJ0KG4pICAg ICA1NC4yMTlrICjCsSA1LjUlKSBpL3MgLSAgICAyNzEuMjE4ayBpbiAgIDUuMDE3NTUycwogICAg ICAgICBpbnRzcXJ0MShuKSAgICAgNTUuODcyayAowrEgNS40JSkgaS9zIC0gICAgMjgzLjE0MGsg aW4gICA1LjA4Mjk1M3MKICAgTWF0aC5zcXJ0KG4pLnRvX2kgICAgICA1LjI3OE0gKMKxIDYuMSUp IGkvcyAtICAgICAyNi41NjBNIGluICAgNS4wNTA3MDdzCgpDb21wYXJpc29uOgogICBNYXRoLnNx cnQobikudG9faTogIDUyNzg0NzcuOCBpL3MKICAgICAgICAgaW50c3FydDEobik6ICAgIDU1ODcx LjcgaS9zIC0gOTQuNDd4ICBzbG93ZXIKICAgICAgICAgIGludHNxcnQobik6ICAgIDU0MjE5LjQg aS9zIC0gOTcuMzV4ICBzbG93ZXIKCiA9PiB0cnVlIAoyLjQuMCA6MTc5ID4gCgpgYGAKSGVyZSBh cmUgZXhhbXBsZXMgb2YgbWF0aCBlcnJvcnMgdXNpbmcgKipNYXRoLnNxcnQobikudG9faSoqIHJ1 biBvbiBSdWJ5LTIuNC4wLgoKYGBgCjIuNC4wIDoxMDEgPiBuID0gMTAqKjI3OyBwdXRzIG4sIChh ID0gaW50c3FydChuKSksIGEqYSwgKGIgPSBpbnRzcXJ0MShuKSksIGIqYiwgKGMgPSBNYXRoLnNx cnQobikudG9faSksIGMqYyAgIAoxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjMxNjIyNzc2 NjAxNjgzCjk5OTk5OTk5OTk5OTk0OTgyNjAzODQzMjQ4OQozMTYyMjc3NjYwMTY4Mwo5OTk5OTk5 OTk5OTk5NDk4MjYwMzg0MzI0ODkKMzE2MjI3NzY2MDE2ODMKOTk5OTk5OTk5OTk5OTQ5ODI2MDM4 NDMyNDg5CiA9PiBuaWwgCjIuNC4wIDoxMDIgPiBuID0gMTAqKjI4OyBwdXRzIG4sIChhID0gaW50 c3FydChuKSksIGEqYSwgKGIgPSBpbnRzcXJ0MShuKSksIGIqYiwgKGMgPSBNYXRoLnNxcnQobiku dG9faSksIGMqYyAKMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAw CjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAKID0+IG5pbCAKMi40LjAgOjEwMyA+IG4gPSAxMCoqMjk7IHB1dHMgbiwgKGEgPSBp bnRzcXJ0KG4pKSwgYSphLCAoYiA9IGludHNxcnQxKG4pKSwgYipiLCAoYyA9IE1hdGguc3FydChu KS50b19pKSwgYypjIAoxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMzE2MjI3NzY2MDE2 ODM3Cjk5OTk5OTk5OTk5OTk5NDA5NzkyNTY3NDg0NTY5CjMxNjIyNzc2NjAxNjgzNwo5OTk5OTk5 OTk5OTk5OTQwOTc5MjU2NzQ4NDU2OQozMTYyMjc3NjYwMTY4MzcKOTk5OTk5OTk5OTk5OTk0MDk3 OTI1Njc0ODQ1NjkKID0+IG5pbCAKMi40LjAgOjEwNCA+IG4gPSAxMCoqMzA7IHB1dHMgbiwgKGEg PSBpbnRzcXJ0KG4pKSwgYSphLCAoYiA9IGludHNxcnQxKG4pKSwgYipiLCAoYyA9IE1hdGguc3Fy dChuKS50b19pKSwgYypjICAKMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAw MDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAw MAoxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAKMTAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogPT4gbmlsIAoyLjQuMCA6MTA1ID4gbiA9IDEwKioz MTsgcHV0cyBuLCAoYSA9IGludHNxcnQobikpLCBhKmEsIChiID0gaW50c3FydDEobikpLCBiKmIs IChjID0gTWF0aC5zcXJ0KG4pLnRvX2kpLCBjKmMgCjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwCjMxNjIyNzc2NjAxNjgzNzkKOTk5OTk5OTk5OTk5OTk5NzkwMDI1NDYzMTQ4NzY0MQoz MTYyMjc3NjYwMTY4Mzc5Cjk5OTk5OTk5OTk5OTk5OTc5MDAyNTQ2MzE0ODc2NDEKMzE2MjI3NzY2 MDE2ODM3OQo5OTk5OTk5OTk5OTk5OTk3OTAwMjU0NjMxNDg3NjQxCiA9PiBuaWwgCjIuNC4wIDox MDYgPiBuID0gMTAqKjMyOyBwdXRzIG4sIChhID0gaW50c3FydChuKSksIGEqYSwgKGIgPSBpbnRz cXJ0MShuKSksIGIqYiwgKGMgPSBNYXRoLnNxcnQobikudG9faSksIGMqYyAKMTAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwCiA9PiBuaWwgCjIuNC4wIDoxMDcgPiBuID0gMTAqKjMzOyBwdXRzIG4sIChhID0gaW50 c3FydChuKSksIGEqYSwgKGIgPSBpbnRzcXJ0MShuKSksIGIqYiwgKGMgPSBNYXRoLnNxcnQobiku dG9faSksIGMqYwoxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjMxNjIyNzc2NjAx NjgzNzkzCjk5OTk5OTk5OTk5OTk5OTk3OTc2MjEyMjc1ODg2Njg0OQozMTYyMjc3NjYwMTY4Mzc5 Mwo5OTk5OTk5OTk5OTk5OTk5Nzk3NjIxMjI3NTg4NjY4NDkKMzE2MjI3NzY2MDE2ODM3OTIKOTk5 OTk5OTk5OTk5OTk5OTE2NTE2NTY5NTU1NDk5MjY0CiA9PiBuaWwgCjIuNC4wIDoxMDggPiBuID0g MTAqKjM0OyBwdXRzIG4sIChhID0gaW50c3FydChuKSksIGEqYSwgKGIgPSBpbnRzcXJ0MShuKSks IGIqYiwgKGMgPSBNYXRoLnNxcnQobikudG9faSksIGMqYwoxMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMAogPT4gbmlsIAoyLjQuMCA6MTA5ID4gbiA9IDEwKiozNTsgcHV0cyBuLCAoYSA9IGlu dHNxcnQobikpLCBhKmEsIChiID0gaW50c3FydDEobikpLCBiKmIsIChjID0gTWF0aC5zcXJ0KG4p LnRvX2kpLCBjKmMKMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjMxNjIyNzc2 NjAxNjgzNzkzMwo5OTk5OTk5OTk5OTk5OTk5OTg3MzU3ODg3MTk4NzcxMjQ4OQozMTYyMjc3NjYw MTY4Mzc5MzMKOTk5OTk5OTk5OTk5OTk5OTk4NzM1Nzg4NzE5ODc3MTI0ODkKMzE2MjI3NzY2MDE2 ODM3OTUyCjEwMDAwMDAwMDAwMDAwMDAxMTg5MDIzMzk4MDYyNzU1NDMwNAogPT4gbmlsIAoyLjQu MCA6MTEwID4gbiA9IDEwKiozNjsgcHV0cyBuLCAoYSA9IGludHNxcnQobikpLCBhKmEsIChiID0g aW50c3FydDEobikpLCBiKmIsIChjID0gTWF0aC5zcXJ0KG4pLnRvX2kpLCBjKmMKMTAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMTAwMDAwMDAwMDAwMDAwMDAwMAoxMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjEwMDAwMDAwMDAwMDAwMDAwMDAKMTAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogPT4gbmlsIAoyLjQuMCA6MTExID4gbiA9 IDEwKiozNzsgcHV0cyBuLCAoYSA9IGludHNxcnQobikpLCBhKmEsIChiID0gaW50c3FydDEobikp LCBiKmIsIChjID0gTWF0aC5zcXJ0KG4pLnRvX2kpLCBjKmMKMTAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAKMzE2MjI3NzY2MDE2ODM3OTMzMQo5OTk5OTk5OTk5OTk5OTk5OTkz NjgyNDQyNTE5MTA4MDA3NTYxCjMxNjIyNzc2NjAxNjgzNzkzMzEKOTk5OTk5OTk5OTk5OTk5OTk5 MzY4MjQ0MjUxOTEwODAwNzU2MQozMTYyMjc3NjYwMTY4Mzc5MzkyCjEwMDAwMDAwMDAwMDAwMDAw Mzc5NDgwMzE3MDU5NjUwMjg5NjY0CiA9PiBuaWwgCjIuNC4wIDoxMTIgPiAKYGBgCgoKCi0tIApo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29y ZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0 cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K