[ruby-core:75437] [Ruby trunk Feature#12361] Proposal: add Geo::Coord class to standard library

From: zverok.offline@...
Date: 2016-05-10 08:02:10 UTC
List: ruby-core #75437
SXNzdWUgIzEyMzYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgVmljdG9yIFNoZXBlbGV2LgoKCk1hcnRp
biBEw7xyc3Qgd3JvdGU6Cj4gT24gcnVieWdlbXMsIEkgc2VlIGEgbG90IG9mIGdlbXMgd2l0aCAn
Z2VvJyBpbiB0aGVpciBuYW1lLiBXaGljaCBvbmUgaXMgeW91cnM/IEhvdyBwb3B1bGFyIGlzIGl0
PyBUaGVzZSBkYXlzLCBpdCdzIGVhc3kgdG8gdXNlIHNvbWV0aGluZyBhcyBhIGdlbSwgc28gaXQn
cyBub3QgdGhhdCBuZWNlc3NhcnkgdG8gaW5jbHVkZSB0aGluZ3MgaW50byB0aGUgc3RhbmRhcmQg
bGlicmFyeS4KPiAKCkkgcmVmZXJlbmNlZCAiZ2VtIHF1ZXN0aW9uIiBpbiBvcmlnaW5hbCBwcm9w
b3NhbDogIlRoaXMgdHlwZSBpcyB0b28gInNtYWxsIiB0byBiZSBkZWZpbmVkIGJ5IHNlcGFyYXRl
IGdlbSwgc28sIGFsbCBvZiBleGlzdGluZyBnZW8gZ2VtcyAoR2VvS2l0LCBSR2VvLCBHZW9SdWJ5
LCBHcmF0aWN1bGUgZXRjLikgZGVmaW5lIHRoZWlyIG93biBMYXRMbmcsIG9yIExvY2F0aW9uLCBv
ciBQb2ludCwgd2hhdGV2ZXIuIi4gCgpJIHByb3Bvc2VkIGl0IHRoaXMgd2F5LCBiZWNhdXNlIHN0
YW5kYXJkIGxpYnJhcnkgaXMgYSAiY29tbW9uIGRlbm9taW5hdG9yIiBmb3IgYWxsIGdlbXMgYW5k
IGxpYnJhcmllcy4gSWYgc29tZSBSdWJ5IGxpYnJhcnkgd29ya3Mgd2l0aCB0aW1lIHZhbHVlcywg
aXQgcmV0dXJucyBlaXRoZXIgVGltZSBvciBEYXRlVGltZSwgYW5kIGlmIGl0IGlzIG5vdCAtLSB0
aGF0IHdvdWxkIGJlIGEgY29tbW9uIGZpcnN0IHN1Z2dlc3Rpb24gZm9yIGxpYnJhcnkgZGVzaWdu
LgoKQnV0IGFib3V0IGdlb2dyYXBoaWNhbCBjb29yZGluYXRlcywgY3VycmVudCBzdGF0ZSBpczog
dGhlcmUgaXMgbm8gZ2VtIHdoaWNoIGlzICJqdXN0IGdlb2dyYXBoaWNhbCBjb29yZGluYXRlcyIs
IHdlbGwtZGVzaWduZWQgYW5kIGNvbmNpc2UuIEFsbCBwb3B1bGFyIGdlby0qIGdlbXMgYXJlIHNv
bWUgY29tYmluZXMgb2YgY29vcmRpbmF0ZSByZWZlcmVuY2Ugc3lzdGVtcywgZGF0YWJhc2UgYWNj
ZXNzLCBmaWxlIGZvcm1hdHMgcGFyc2luZywgZ2VvY29kaW5nIHRocm91Z2ggc29tZSBBUElzIGFu
ZCBzbyBvbiBhbmQgc28gb24uIEFsbCBvZiB0aGVtIChhbmQgbWFueSBvdGhlciBnZW9ncmFwaHkt
YXdhcmUgZ2VtcykgZnJlcXVlbnRseSBhY2NlcHQgYW5kIHJldHVybiAicGFpciBvZiBjb29yZGlu
YXRlcyIgdHlwZSwgYW5kIGFsbCBvZiB0aGVtIHVzZSBpbmNvbXBhdGlibGUgImJhc2ljIHR5cGUi
LCBvciBqdXN0IGEgdHVwbGUgb2YgdHdvIHZhbHVlcy4KCldoZXRoZXIgQ29vcmQgdHlwZSB3b3Vs
ZCBiZSBpbiBzdGFuZGFyZCBsaWJyYXJ5LCBpdCBjYW4gYmVjYW1lIGNvbW1vbiBkYXRhIGV4Y2hh
bmdlIGZvcm1hdDsgaWYgaXQgd291bGQgYmUgc2VwYXJhdGUgZ2VtLCBpdCB3b3VsZCBkZWZpbml0
ZWx5IG5vdC4KClNvLCBpdHMganVzdCBhIHJlcG8gd2l0aCBwcm9wb3NhbCwgbm90IGEgZ2VtLgoK
PiBZb3UgbWFrZSBhIGxvdCBvZiBjb21wYXJpc29ucyB3aXRoIFRpbWUuIFRpbWUgaGFzIHRoaW5n
cyBzdWNoIGFzIHRpbWV6b25lcy4gR2VvIGNvb3JkaW5hdGVzIGFsc28gaGF2ZSBhbGwga2luZHMg
b2YgY29tcGxpY2F0ZWQgZGV0YWlscy4gSSBoYXBwZW4gdG8gbHVyayBvbiB0aGUgSUVURiBnZW9q
c29uIGxpc3QsIGFuZCB0aGVyZSBzdWNoIHRoaW5ncyBnZXQgZGlzY3Vzc2VkLgoKQ3VycmVudGx5
LCBJJ20ganVzdCBmb2xsb3dpbmcgInByaW5jaXBsZSBvZiBsZWFzdCBzdXJwaXNlIiBhbmQgd2Fp
dGluZyBmb3IgaW5wdXQgZnJvbSB0aGUgY29tbXVuaXR5LgoKPiBGb3IgZXhhbXBsZSwgdGhlcmUg
c2VlbXMgdG8gYmUgTGF0L0xvbmcgZm9ybWF0cyBhbmQgTG9uZy9MYXQgZm9ybWF0cy4gV2h5IGRp
ZCB5b3UgY2hvb3NlIExhdC9Mb25nPyAKCkJlY2F1c2UgZm9yICJjb21tb24gdXNlciIgdGhlIHF1
ZXN0aW9uIG9mIHJpZ2h0IG9yZGVyIHNlZW1zIG9ic29sZXRlIG5vdywgd2l0aCBzcHJlYWRpbmcg
b2YgY2FzdWFsIEdQUyBzb2Z0d2FyZSBhbmQgb25saW5lIG1hcHMsIGFsbCBvZiB0aGVtIHNlZW1p
bmdseSB1c2luZyBsYXQvbG9uZyBvcmRlci4KCj4gQWxzbywgcGVvcGxlIHRoZXJlIG9mdGVuIHRh
bGsgYWJvdXQgc29tZXRoaW5nIGNhbGxlZCBDUlMgKGNvb3JkaW5hdGUgcmVmZXJlbmNlIHN5c3Rl
bSwgSSBndWVzcykuIFdoaWNoIG9uZSBkbyB5b3UgdXNlLgoKU2FtZSBhcyB3aXRoIGNvb3JkaW5h
dGVzIG9yZGVyLCBqdXN0IGEgImNvbW1vbiIgV0dTLTg0LiBbQWRkZWQgbWVudGlvbl0oaHR0cHM6
Ly9naXRodWIuY29tL3p2ZXJvay9nZW9fY29vcmQvY29tbWl0L2YxZjUwMzczYzU2OWI3ZjE5MTk5
YTZkNWRjYzcwNzc2ZDU4ZmVhMWUpIG9mIGl0IHRvIFJFQURNRSBhbmQgY29kZS4KCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTIzNjE6IFByb3Bvc2Fs
OiBhZGQgR2VvOjpDb29yZCBjbGFzcyB0byBzdGFuZGFyZCBsaWJyYXJ5Cmh0dHBzOi8vYnVncy5y
dWJ5LWxhbmcub3JnL2lzc3Vlcy8xMjM2MSNjaGFuZ2UtNTg1NTQKCiogQXV0aG9yOiBWaWN0b3Ig
U2hlcGVsZXYKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IAot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMjIFByb3Bvc2FsCgpBZGQg
YEdlbzo6Q29vcmRgIGNsYXNzIHRvIFJ1Ynkgc3RhbmRhcmQgbGlicmFyeSwgcmVwcmVzZW50aW5n
IGBbbGF0aXR1ZGUsIGxvbmdpdHVkZV1gIHBhaXIgKyBjb252ZW5pZW5jZSBtZXRob2RzLiBBZGQg
YEdlb2Agc3RhbmRhcmQgbGlicmFyeSB3aXRoIGFkZGl0aW9uYWwgY2FsY3VsYXRpb25zIGFuZCBj
b252ZW5pZW5jZSBtZXRob2RzLgoKIyMgUmF0aW9uYWxlCgpJbiBtb2Rlcm4gYXBwbGljYXRpb25z
LCB3b3JraW5nIHdpdGggZ2VvZ3JhcGhpY2FsIGNvb3JkaW5hdGVzIGlzIGZyZXF1ZW50LiBXZSBw
cm9wb3NlIHRvIHRoaW5rIG9mIHN1Y2ggY29vcmRpbmF0ZXMgKG5hbWVseSwgYGxhdGl0dWRlLCBs
b25naXR1ZGVgIHBhaXIpIGFzIG9mICJiYXNpYyIgdHlwZSB0aGF0IHNob3VsZCBiZSBzdXBwb3J0
ZWQgYnkgc3RhbmRhcmQgbGlicmFyeSAtIHRoZSBzYW1lIHdheSBhcyB3ZSBzdXBwb3J0IGBUaW1l
YC9gRGF0ZWAvYERhdGVUaW1lYCBpbnN0ZWFkIG9mIGhhdmluZyBpdCBkZWZpbmVkCmJ5IHVzZXIv
Z2Vtcy4KClRoaXMgdHlwZSBpcyB0b28gInNtYWxsIiB0byBiZSBkZWZpbmVkIGJ5IHNlcGFyYXRl
IGdlbSwgc28sIGFsbCBvZiBleGlzdGluZyBnZW8gZ2VtcyAoR2VvS2l0LCBSR2VvLCBHZW9SdWJ5
LCBHcmF0aWN1bGUgZXRjLikgZGVmaW5lIHRoZWlyIG93biBgTGF0TG5nYCwgb3IgYExvY2F0aW9u
YCwgb3IgYFBvaW50YCwgd2hhdGV2ZXIuCgpPbiBvdGhlciBoYW5kLCBBUEkgZGVzaWduIGZvciB0
aGlzICJzbWFsbCIgdHlwZSBpcyB2YWd1ZSBlbm91Z2ggZm9yIGFsbCB0aG9zZSBzaW1pbGFyIHR5
cGVzIHRvIGJlIGluY29tcGF0aWJsZSBhbmQgYnJlYWsgc21hbGwgaGFiaXRzIGFuZCBjb252ZW50
aW9ucyB3aGVuIHlvdSBjaGFuZ2UgZnJvbSBvbmUgZ2VvIGxpYnJhcnkgdG8gYW5vdGhlciwgb3Ig
dHJ5IHRvIHVzZSBzZXZlcmFsCnNpbXVsdGFuZW91c2x5LgoKQWRkaXRpb25hbHksIG1hbnkgZ2Vt
cyBzb21laG93IHdvcmtpbmcgd2l0aCBnZW8gY29vcmRpbmF0ZXMgKGZvciB3ZWF0aGVyLCBvciB0
aW1lem9uZSwgb3IgYW5vdGhlciB0YXNrcykgZ2VuZXJhbGx5IHByZWZlciBub3QgdG8gaW50cm9k
dWNlIHR5cGUsIGFuZCBqdXN0IHdvcmsgd2l0aCBgW2xhdCwgbG5nXWAgYXJyYXksIHdoaWNoIGlz
IG5vdCB2ZXJ5IGNvbnZlbmllbnQsIGZhaXRoZnVsbHkuCgpTbywgaGF2aW5nICJnZW8gY29vcmRp
bmF0ZXMiIGZ1bmN0aW9uYWxpdHkgaW4gc3RhbmRhcmQgbGlicmFyeSBzZWVtcyByZWFzb25hYmxl
IGFuZCB2YWx1YWJsZS4KCiMjIEV4aXN0aW5nL3JlZmVyZW5jZSBzb2x1dGlvbnMKClJ1Ynk6Cgoq
IFtHZW9LaXQ6OkxhdExuZ10oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2l0aHViL2dlb2tpdC9n
ZW9raXQvbWFzdGVyL0dlb2tpdC9MYXRMbmcpOwoqIFtSR2VvOjpGZWF0dXJlOjpQb2ludF0oaHR0
cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2Vtcy9yZ2VvL1JHZW8vRmVhdHVyZS9Qb2ludCkgKHdpdGgg
c2V2ZXJhbCAicHJpdmF0ZSIgaW1wbGVtZW50YXRpb24gY2xhc3Nlcyk7IFJHZW8gaW1wbGVtZW50
cyBmdWxsIFtPR0MgU2ltcGxlIEZlYXR1cmVzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lr
aS9TaW1wbGVfRmVhdHVyZXMpIHNwZWNpZmljYXRpb24sIHNvLCBpdHMgcG9pbnRzIGhhdmUgYHpg
IGFuZCBgbWAgY29vcmRpbmF0ZXMsIHByb2plY3Rpb24gYW5kIG11Y2ggbW9yZTsKKiBbR3JhdGlj
dWxlOjpMb2NhdGlvbl0oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2l0aHViL2NvbGxlY3RpdmVp
ZGVhL2dyYXRpY3VsZS9HcmF0aWN1bGUvTG9jYXRpb24pIChub3Qgc3RyaWN0bHkgYSBgW2xhdCxs
bmddYCB3cmFwcGVyKTsKKiBbUm9zYW1hcnk6Ok5vZGVdKGh0dHA6Ly93d3cucnVieWRvYy5pbmZv
L2dlbXMvcm9zZW1hcnkvMC40LjQvUm9zZW1hcnkvTm9kZSkgKGZvbGxvd3MgbmFtaW5nIGNvbnZl
bnRpb24gb2YgdW5kZXJseWluZyBPcGVuU3RyZWV0TWFwIEFQSSk7CgpPdGhlciBzb3VyY2VzOgoq
IFB5dGhvbjogW2dlb3B5LlBvaW50XShodHRwOi8vZ2VvcHkucmVhZHRoZWRvY3Mub3JnL2VuL2xh
dGVzdC8jZ2VvcHkucG9pbnQuUG9pbnQpOwoqIFtFbGFzdGljU2VhcmNoXShodHRwczovL3d3dy5l
bGFzdGljLmNvL2Jsb2cvZ2VvLWxvY2F0aW9uLWFuZC1zZWFyY2gpIHVzZXMgaGFzaCB3aXRoICJs
YXQiIGFuZCAibG9uIiBrZXlzOwoqIEdvb2dsZSBNYXBzIFtHZW9jb2RpbmcgQVBJXShodHRwczov
L2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vZ2VvY29kaW5nL2ludHJv
I0dlb2NvZGluZ1Jlc3BvbnNlcykgdXNlcyBoYXNoIHdpdGggImxhdCIgYW5kICJsbmciIGtleXM7
CiogUG9zdEdJUzogW3ByZXR0eSBjb21wbGljYXRlZF0oaHR0cDovL3Bvc3RnaXMubmV0L2RvY3Mv
bWFudWFsLTIuMi91c2luZ19wb3N0Z2lzX2RibWFuYWdlbWVudC5odG1sI1JlZk9iamVjdCkgIGhh
cyBfZ2VvbWV0cmljYWxfIChwcm9qZWN0ZWQpIGFuZCBfZ2VvZ3JhcGhpY2FsXyAobGF0LCBsbmcp
IHBvaW50cyBhbmQgc3R1ZmYuCgojIyBEZXNpZ24gZGVjaXNpb25zCgpXaGlsZSBkZXNpZ25pbmcg
YEdlb2AgbGlicmFyeSwgb3VyIHJlZmVyZW5jZSBwb2ludCB3YXMgc3RhbmRhcmQgYFRpbWVgIGNs
YXNzIChhbmQsIHRvIGxlc3NlciBleHRlbnQsIGBEYXRlYC9gRGF0ZVRpbWVgKS4gSXQgaGFzIHRo
aXMgcmVzcG9uc2liaWxpdGllczoKKiBzdG9yZXMgZGF0YSBpbiBzaW1wbGUgaW50ZXJuYWwgZm9y
bTsKKiBoZWxwcyB0byBwYXJzZSBhbmQgZm9ybWF0IGRhdGEgdG8gYW5kIGZyb20gc3RyaW5nczsK
KiBwcm92aWRlcyBlYXN5IGFjY2VzcyB0byBsb2dpY2FsIGNvbXBvbmVudHMgb2YgZGF0YTsKKiBh
bGxvd3MgbW9zdCBzaW1wbGUgYW5kIHVuYW1iaWd1b3VzIGNhbGN1bGF0aW9ucy4KCioqTWFpbiB0
eXBlIG5hbWUqKjogYXMgZmFyIGFzIHdlIGNhbiBzZWUsIHRoZXJlJ3Mgbm8gZ29vZCBzaW5ndWxh
ciBuYW1lIGZvciBgKGxhdCwgbG5nKWAgcGFpciBjb25jZXB0LiBBcyBtZW50aW9uZWQgYWJvdmUs
IHRoZXJlIGNhbiBiZSBzZWVuIG5hbWVzIGxpa2UgYExhdExuZ2AsIG9yIGBMb2NhdGlvbmAsIG9y
IGBQb2ludGA7IGFuZCBpbiBuYXR1cmFsIGxhbmd1YWdlCmp1c3QgImNvb3JkaW5hdGVzIiB1c2Vk
IGZyZXF1ZW50bHkuIFdlIHByb3Bvc2UgdGhlIG5hbWUgYENvb3JkYCwgd2hpY2ggaXMgcHJldHR5
IHNob3J0LCBlYXN5IHRvIHJlbWVtYmVyLCBkZW1vbnN0cmF0ZXMgaW50ZW50aW9ucyAoYW5kIGxv
b2tzIGxpa2Ugc2luZ3VsYXIsIHNvIHlvdSBjYW4gaGF2ZSAib25lIGNvb3JkIG9iamVjdCIgYW5k
ICJhcnJheSBvZiBjb29yZHMiLAp3aGljaCBpcyBub3QgMTAwJSBsaW5ndWlzdGljYWxseSBjb3Jy
ZWN0LCB5ZXQgY29udmVuaWVudCkuIEFsdGVybmF0aXZlIGBQb2ludGAgbmFtZSBzZWVtcyB0byBi
ZSB0b28gYW1iaWdvdXMsIGJlaW5nIHVzZWQgaW4gbWFueSBjb250ZXh0cy4KCmBHZW86OkNvb3Jk
YCBvYmplY3QgaXMgKippbW11dGFibGUqKiwgdGhlcmUncyBubyBzZW1hbnRpY2FsIHNlbnNlIGlu
IGBsb2NhdGlvbi5sYXRpdHVkZSA9IC4uLmAgb3Igc29tZXRoaW5nIGxpa2UgdGhpcy4KCioqVW5p
dHMqKjogYEdlb2AgY2FsY3VsYXRpb25zIChqdXN0IGxpa2UgYFRpbWVgIGNhbGN1bGF0aW9ucykg
cHJvdmlkZSBubyB1bml0cyBvcHRpb25zLCBqdXN0IHJldHVybmluZyBudW1iZXJzIG1lYXN1cmVk
IGluICJkZWZhdWx0IiB1bml0czogbWV0cmVzIGZvciBkaXN0YW5jZXMgKGFzIHRoZXkgYXJlIFNJ
IHVuaXQpIGFuZCBkZWdyZWVzIGZvciBhemltdXRoLiBMYXRpdHVkZSBhbmQgbG9uZ2l0dWRlIGFy
ZSBzdG9yZWQgaW4gZGVncmVlcywgYnV0IHJhZGlhbnMgdmFsdWVzIGFjY2Vzc29ycyBhcmUgcHJv
dmlkZWQgKGJlaW5nIHdpZGVseSB1c2VkIGluIGdlb2Rlc3kgbWF0aCkuCgpUaGVyZSdzIGludHJv
ZHVjZWQgKipjb25jZXB0IG9mIGdsb2JlKiogdXNlZCBpbnRlcm5hbGx5IGZvciBjYWxjdWxhdGlv
bnMuIE9ubHkgZ2VuZXJpYyAoc3BoZXJlKSBhbmQgRWFydGggZ2xvYmVzIGFyZSBpbXBsZW1lbnRl
ZCwgYnV0IGZvciAyMDE2IHdlIGZlZWwgbGlrZSBjdXJyZW50IGRlc2lnbiBvZiBiYXNpYyB0eXBl
cyBzaG91bGQgdGFrZSBpbiBjb25zaWRlcmF0aW9uCnBvc3NpYmlsaXR5IG9mIHdyaXRpbmcgUnVi
eSBzY3JpcHRzIGZvciBNYXJzIG1hcHMgYW5hbHlzaXMuIE9ubHkgb25lIGdlb2Rlc3kgZm9ybXVs
YSBpcyBpbXBsZW1lbnRlZCAoVmluY2VudHksIGdlbmVyYWxseSBjb25zaWRlcmVkIG9uZSBvZiB0
aGUgbW9zdCBwcmVjaXNlKSwgYXMgZm9yIHN0YW5kYXJkIGxpYnJhcnkgY2xhc3MgaXQgY29uc2lk
ZXJlZCB1bm5lY2Vzc2FyeSB0byBwcm92aWRlIHVzZXIgd2l0aCBnZW9kZXN5IGZvcm11bGFlIG9w
dGlvbnMuCgpObyAqKm1hcCBwcm9qZWN0aW9uKiogbWF0aCB3YXMgYWRkZWQgaW50byBjdXJyZW50
IHByb3Bvc2FsLCBidXQgaXQgbWF5IGJlIGEgZ29vZCBkaXJlY3Rpb24gZm9yIGZ1cnRoZXIgd29y
ay4gTm8gKiplbGV2YXRpb24qKiBkYXRhIGNvbnNpZGVyZWQgZWl0aGVyLgoKIyMgUHJvcG9zYWwg
ZGV0YWlscwoKIyMjIGBHZW86OkNvb3JkYCBjbGFzcwoKUmVwcmVzZW50cyBgW2xhdGl0dWRlLCBs
b25naXR1ZGVdYCBwYWlyLiBMYXRpdHVkZSBpcyAtOTAgdG8gKzkwIChkZWdyZWVzKS4gTG9uZ2l0
dWRlIGlzIC0xODAgdG8gKzE4MC4KCkNsYXNzIG1ldGhvZHM6CiogYG5ldyhsYXQsIGxuZylgIGNy
ZWF0ZXMgaW5zdGFuY2UgZnJvbSB0d28gTnVtZXJpY3MgKGluIGRlZ3JlZXMpOwoqIGBuZXcobGF0
OiwgbG5nOilgIGtleXdvcmQgYXJndW1lbnRzIGZvcm0gb2YgYWJvdmU7CiogYG5ldyhsYXRkOiwg
bGF0bTosIGxhdHM6LCBsYXRoOiwgbG5nZDogbG5nbTosIGxuZ3M6IGxuZ2g6KWAgY3JlYXRlcyBp
bnN0YW5jZSBmcm9tIGNvb3JkaW5hdGVzIGluIChkZWcsIG1pbiwgc2VjLCBoZW1pc3BoZXJlKSBm
b3JtOyBoZW1pc3BoZXJlcyBhcmUgIk4iLyJTIiBmb3IgbGF0aXR1ZGUgYW5kICJXIi9FIiBmb3Ig
bG9uZ2l0dWRlOyBhbnkgY29tcG9uZW50IGV4Y2VwdCBmb3IgZGVncmVlcyBjYW4gYmUgb21pdHRl
ZDsgaWYgaGVtaXNwaGVyZSBpcyBvbWl0dGVkLCBpdCBpcyBkZWNpZGVkIGJ5IGRlZ3JlZXMgc2ln
biAobGF0OiBwb3NpdGl2ZSBpcyAiTiIsIGxuZzogcG9zaXRpdmUgaXMgIkUiKTsKKiBgZnJvbV9o
KGhhc2gpYCBjcmVhdGVzIGluc3RhbmNlIGZyb20gaGFzaCB3aXRoIGAibGF0ImAgb3IgYCJsYXRp
dHVkZSJgIGtleSBhbmQgYCJsb24iYCBvciBgImxuZyJgIG9yIGAibG9uZ2l0dWRlImAga2V5IChj
YXNlLWluZGVwZW5kZW50KTsKKiBgZnJvbV9yYWRpYW5zKHBoaSwgbGEpYCBjcmVhdGVzIGluc3Rh
bmNlIGZyb20gcmFkaWFuIHZhbHVlczsKKiBgc3RycGNvb3JkYCBwYXJzZXMgc3RyaW5nIGludG8g
Y29vcmRpbmF0ZXMgYnkgcHJvdmlkZWQgcGF0dGVybiAoc2VlIGJlbG93IGZvciBwYXR0ZXJuIGRl
c2NyaXB0aW9uKTsKKiBgcGFyc2VfbGxgIHBhcnNlcyBjb29yZGluYXRlcyBzdHJpbmcgaW4gYCJm
bG9hdCwgZmxvYXQiYCBmb3JtOwoqIGBwYXJzZV9kbXNgIHBhcnNlcyBjb29yZGluYXRlcyBzdHJp
bmcgaW4gYGQgbSBzIGgsIGQgbSBzIGhgIGZvcm1hdCAoY29uc2lkZXJpbmcgc2V2ZXJhbCB3aWRl
bHkgdXNlZCBzeW1ib2xzIGZvciBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzKTsKKiBgcGFy
c2VgIHRyaWVzIHRvIHBhcnNlIHN0cmluZyBpbnRvIGNvb3JkaW5hdGVzIGZyb20gdmFyaW91cyBm
b3JtYXRzLgoKSW5zdGFuY2UgbWV0aG9kczoKKiBgbGF0YCBhbmQgYGxuZ2AsIHJldHVybmluZyBg
RmxvYXRgcywgc2lnbmVkOwoqIGBsYXRpdHVkZWAgYW5kIGBsb25naXR1ZGVgIGFzIGFuIGFsaWFz
ZXM7IGBsb25gIGFzIGFuIGFkZGl0aW9uYWwgYWxpYXNlcyBmb3IgbG9uZ2l0dWRlOwoqIGBsYXRk
YCwgYGxhdG1gLCBgbGF0c2AsIGBsYXRoYDogZGVncmVlLCBtaW51dGUsIHNlY29uZCwgaGVtaXNw
aGVyZTsgYGxhdGRgIGFuZCBgbGF0bWAgYXJlIGBGaXhudW1gLCBgbGF0c2AgaXMgYEZsb2F0YCwg
YGxhdGhgIGlzICJOIi8iUyI7IGFsbCBudW1iZXJzIGFyZSB1bnNpZ25lZDsKKiBgbG5nZGAsIGBs
bmdtYCwgYGxuZ3NgLCBgbG5naGA6IHRoZSBzYW1lIGZvciBsb25naXR1ZGUgKGhlbWlzcGhlcmUg
aXMgIlciLyJFIik7CiogYGxhdGRtcyhub2hlbWlzcGhlcmUgPSBmYWxzZSlgIHJldHVybnMgYFts
YXRkLCBsYXRtLCBsYXRzLCBsYXRoXWAgd2l0aCBgbm9oZW1pc3BoZXJlYCBwYXJhbSBlcXVhbCB0
byBgZmFsc2VgLCBhbmQgYFvCsWxhdGQsIGxhdG0sIGxhdHNdYCB3aXRoIGB0cnVlYDsgc2FtZSB3
aXRoIGBsbmdkbXNgIGZvciBsb25naXR1ZGU7CiogYHBoaWAgYW5kIGDPhmAgaXMgbGF0aXR1ZGUg
aW4gcmFkaWFucyAoaGVscGZ1bCBmb3IgbWF0aCksIGBsYWAgb3IgYM67YCBpcyBsb25naXR1ZGUg
aW4gcmFkaWFucyAobm90IGBsYW1iZGFgIHRvIG5vdCBjb25mdXNlIHdpdGggS2VybmVsIG1ldGhv
ZCk7CiogYHRvX3NgIHJldHVybmluZyBzdHJpbmcgbGlrZSAiNTAuMDA0NDQ0LDM2LjIzMTM4OSIg
KGdvb2QgZm9yIG1hcCBVUkxzIGNvbnN0cnVjdGlvbiwgZm9yIGV4YW1wbGUpOwoqIGB0b19oKGxh
dDogOmxhdCwgbG5nOiA6bG5nKWAgY29udmVydHMgY29vcmQgdG8gaGFzaCAod2l0aCBkZXNpcmVk
IGtleSBuYW1lcyk7CiogYHRvX2FgIGNvbnZlcnRzIGNvb3JkIHRvIHNpbXBsZSBgW2xhdCwgbG5n
XWAgcGFpcjsKKiBgc3RyZmNvb3JkKGZvcm1hdHN0cilgIGZvciBjb21wbGV4IGNvb3JkaW5hdGUg
Zm9ybWF0dGluZyAoc2VlIGJlbG93IGZvciBmb3JtYXQgc3RyaW5nIGRlc2NyaXB0aW9uKTsKKiBg
ZGlzdGFuY2Uob3RoZXIpYCBjYWxjdWxhdGVzIGRpc3RhbmNlIHRvIGFub3RoZXIgcG9pbnQgKGlu
IG1ldHJlcyk7CiogYGF6aW11dGgob3RoZXIpYCBjYWxjdWxhdGVzIGRpcmVjdGlvbiB0byB0YXJn
ZXQgKGluIGRlZ3JlZXMpOwoqIGBlbmRwb2ludChkaXJlY3Rpb24sIGF6aW11dGgpYCBjYWxjdWxh
dGVzIGZpbmFsIHBvaW50IG9mIHRoZSBsaW5lIG9mIGBkaXN0YW5jZWAgbWV0cmVzIGdvaW5nIGlu
IGBhemltdXRoYCBkaXJlY3Rpb24gZnJvbSBjdXJyZW50IHBvaW50LgoKIyMjIyBgc3RycGNvb3Jk
YC9gc3RyZmNvb3JkYAoKRXhhbXBsZToKCn5+fnJ1YnkKa2hhcmtpdi5zdHJmY29vcmQoJyVsYXRk
dcKwJWxhdG3igLIlbGF0c+KAsyAlbGF0aCwgJWxuZ2R1wrAlbG5nbeKAsiVsbmdz4oCzICVsbmdo
JykKIyA9PiAiNTDCsDDigLIxNuKAsyBOLCAzNsKwMTPigLI1M+KAsyBFIgp+fn4KCkRpcmVjdGl2
ZXM6CiogYCVsYXRgIC0gZnVsbCBsYXRpdHVkZSwgZmxvYXQ7IGNhbiBiZSBmb3JtYXR0ZWQgd2l0
aCBtb3JlIGNvbnRyb2wgbGlrZSBgJS40bGF0YCAoZm91ciBkaWdpdHMgYWZ0ZXIgcG9pbnQpIG9y
IGAlK2xhdGAgKGV4cGxpY2l0IHBsdXMgc2lnbiBmb3IgcG9zaXRpdmUgbGF0aXR1ZGVzKTsKKiBg
JWxhdGRgIC0gbGF0aXR1ZGUgZGVncmVlcywgdW5zaWduZWQsIGludGVnZXIKKiBgJWxhdGRzYCAt
IGxhdGl0dWRlIGRlZ3JlZXMsIHNpZ25lZAoqIGAlbGF0bWAgLSBsYXRpdHVkZSBtaW51dGVzLCB1
bnNpZ25lZCwgaW50ZWdlcgoqIGAlbGF0c2AgLSBsYXRpdHVkZSBzZWNvbmRzLCB1bnNpZ25lZCwg
aW50ZWdlciwgYnV0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgZmxvYXQ6IGAlLjJsYXRzYAoqIGAlbGF0
aGAgLSBsYXRpdHVkZSBoZW1pc3BoZXJlLCBvbmUgbGV0dGVyICgiTiIvIlMiKQoqIGAlbG5nYCwg
YCVsbmdkYCwgYCVsbmdkc2AsIGAlbG5nc2AsIGAlbG5naGAsIGAlbG5nSGAgLSBzYW1lIGZvciBs
b25naXR1ZGUKKiBgJSVgIGxpdGVyYWwgYCVgIHNpZ24KCiMjIyBDdXJyZW50IGltcGxlbWVudGF0
aW9uCgpQcm9wb3NlZCBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgYXQgaHR0cHM6Ly9naXRo
dWIuY29tL3p2ZXJvay9nZW9fY29vcmQuCgpJdCB3YXMgY3JlYXRlZCB3aXRoIHRob3VnaHRzIG9m
IHN0YW5kYXJkIGxpYnJhcnksIHNvLCBhbGwgZG9jcyBhcmUgaW4gUkRvYyBmb3JtYXQsIGFuZCB0
ZXN0cy9zcGVjcyBhcmUgaW4gbXNwZWMtY29tcGF0aWJsZSByc3BlYyBmbGF2b3VyLgoKCgoKLS0g
Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1j
b3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xp
c3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next