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

From: matz@...
Date: 2016-06-13 14:50:10 UTC
List: ruby-core #75997
SXNzdWUgIzEyMzYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgWXVraWhpcm8gTWF0c3Vtb3RvLgoKU3Rh
dHVzIGNoYW5nZWQgZnJvbSBPcGVuIHRvIFJlamVjdGVkCgpBbHRob3VnaCBJIGZlZWwgaXQncyBn
b29kIHRvIGhhdmUgY29tbW9uIGNvb3JkaW5hdGlvbiBjbGFzcywgSSBkb24ndCB0aGluayBpdCdz
IHdpc2UgdG8gcGljayBvbmUgaW1wbGVtZW50YXRpb24gb3ZlciBtYW55IGFuZCBhZGQgaXQgdG8g
dGhlIHN0YW5kYXJkIGxpYnJhcnkuIEl0IHNob3VsZCBiZSBkb25lIHRocm91Z2ggc291bmQgY29t
cGV0aXRpb24uCgpJZiB5b3UgbmVlZCBhbnkgaGVscCBmcm9tIHRoZSBjb3JlIHRlYW0gKG90aGVy
IHRoYW4gYWRkaW5nIGl0IHRvIHRoZSBzdGFuZGFyZCBsaWIpLCBsZXQgdXMga25vdy4KCk1hdHou
CgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzEy
MzYxOiBQcm9wb3NhbDogYWRkIEdlbzo6Q29vcmQgY2xhc3MgdG8gc3RhbmRhcmQgbGlicmFyeQpo
dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTIzNjEjY2hhbmdlLTU5MTk1CgoqIEF1
dGhvcjogVmljdG9yIFNoZXBlbGV2CiogU3RhdHVzOiBSZWplY3RlZAoqIFByaW9yaXR5OiBOb3Jt
YWwKKiBBc3NpZ25lZTogCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IyMgUHJvcG9zYWwKCkFkZCBgR2VvOjpDb29yZGAgY2xhc3MgdG8gUnVieSBzdGFuZGFyZCBsaWJy
YXJ5LCByZXByZXNlbnRpbmcgYFtsYXRpdHVkZSwgbG9uZ2l0dWRlXWAgcGFpciArIGNvbnZlbmll
bmNlIG1ldGhvZHMuIEFkZCBgR2VvYCBzdGFuZGFyZCBsaWJyYXJ5IHdpdGggYWRkaXRpb25hbCBj
YWxjdWxhdGlvbnMgYW5kIGNvbnZlbmllbmNlIG1ldGhvZHMuCgojIyBSYXRpb25hbGUKCkluIG1v
ZGVybiBhcHBsaWNhdGlvbnMsIHdvcmtpbmcgd2l0aCBnZW9ncmFwaGljYWwgY29vcmRpbmF0ZXMg
aXMgZnJlcXVlbnQuIFdlIHByb3Bvc2UgdG8gdGhpbmsgb2Ygc3VjaCBjb29yZGluYXRlcyAobmFt
ZWx5LCBgbGF0aXR1ZGUsIGxvbmdpdHVkZWAgcGFpcikgYXMgb2YgImJhc2ljIiB0eXBlIHRoYXQg
c2hvdWxkIGJlIHN1cHBvcnRlZCBieSBzdGFuZGFyZCBsaWJyYXJ5IC0gdGhlIHNhbWUgd2F5IGFz
IHdlIHN1cHBvcnQgYFRpbWVgL2BEYXRlYC9gRGF0ZVRpbWVgIGluc3RlYWQgb2YgaGF2aW5nIGl0
IGRlZmluZWQKYnkgdXNlci9nZW1zLgoKVGhpcyB0eXBlIGlzIHRvbyAic21hbGwiIHRvIGJlIGRl
ZmluZWQgYnkgc2VwYXJhdGUgZ2VtLCBzbywgYWxsIG9mIGV4aXN0aW5nIGdlbyBnZW1zIChHZW9L
aXQsIFJHZW8sIEdlb1J1YnksIEdyYXRpY3VsZSBldGMuKSBkZWZpbmUgdGhlaXIgb3duIGBMYXRM
bmdgLCBvciBgTG9jYXRpb25gLCBvciBgUG9pbnRgLCB3aGF0ZXZlci4KCk9uIG90aGVyIGhhbmQs
IEFQSSBkZXNpZ24gZm9yIHRoaXMgInNtYWxsIiB0eXBlIGlzIHZhZ3VlIGVub3VnaCBmb3IgYWxs
IHRob3NlIHNpbWlsYXIgdHlwZXMgdG8gYmUgaW5jb21wYXRpYmxlIGFuZCBicmVhayBzbWFsbCBo
YWJpdHMgYW5kIGNvbnZlbnRpb25zIHdoZW4geW91IGNoYW5nZSBmcm9tIG9uZSBnZW8gbGlicmFy
eSB0byBhbm90aGVyLCBvciB0cnkgdG8gdXNlIHNldmVyYWwKc2ltdWx0YW5lb3VzbHkuCgpBZGRp
dGlvbmFseSwgbWFueSBnZW1zIHNvbWVob3cgd29ya2luZyB3aXRoIGdlbyBjb29yZGluYXRlcyAo
Zm9yIHdlYXRoZXIsIG9yIHRpbWV6b25lLCBvciBhbm90aGVyIHRhc2tzKSBnZW5lcmFsbHkgcHJl
ZmVyIG5vdCB0byBpbnRyb2R1Y2UgdHlwZSwgYW5kIGp1c3Qgd29yayB3aXRoIGBbbGF0LCBsbmdd
YCBhcnJheSwgd2hpY2ggaXMgbm90IHZlcnkgY29udmVuaWVudCwgZmFpdGhmdWxseS4KClNvLCBo
YXZpbmcgImdlbyBjb29yZGluYXRlcyIgZnVuY3Rpb25hbGl0eSBpbiBzdGFuZGFyZCBsaWJyYXJ5
IHNlZW1zIHJlYXNvbmFibGUgYW5kIHZhbHVhYmxlLgoKIyMgRXhpc3RpbmcvcmVmZXJlbmNlIHNv
bHV0aW9ucwoKUnVieToKCiogW0dlb0tpdDo6TGF0TG5nXShodHRwOi8vd3d3LnJ1Ynlkb2MuaW5m
by9naXRodWIvZ2Vva2l0L2dlb2tpdC9tYXN0ZXIvR2Vva2l0L0xhdExuZyk7CiogW1JHZW86OkZl
YXR1cmU6OlBvaW50XShodHRwOi8vd3d3LnJ1Ynlkb2MuaW5mby9nZW1zL3JnZW8vUkdlby9GZWF0
dXJlL1BvaW50KSAod2l0aCBzZXZlcmFsICJwcml2YXRlIiBpbXBsZW1lbnRhdGlvbiBjbGFzc2Vz
KTsgUkdlbyBpbXBsZW1lbnRzIGZ1bGwgW09HQyBTaW1wbGUgRmVhdHVyZXNdKGh0dHBzOi8vZW4u
d2lraXBlZGlhLm9yZy93aWtpL1NpbXBsZV9GZWF0dXJlcykgc3BlY2lmaWNhdGlvbiwgc28sIGl0
cyBwb2ludHMgaGF2ZSBgemAgYW5kIGBtYCBjb29yZGluYXRlcywgcHJvamVjdGlvbiBhbmQgbXVj
aCBtb3JlOwoqIFtHcmF0aWN1bGU6OkxvY2F0aW9uXShodHRwOi8vd3d3LnJ1Ynlkb2MuaW5mby9n
aXRodWIvY29sbGVjdGl2ZWlkZWEvZ3JhdGljdWxlL0dyYXRpY3VsZS9Mb2NhdGlvbikgKG5vdCBz
dHJpY3RseSBhIGBbbGF0LGxuZ11gIHdyYXBwZXIpOwoqIFtSb3NhbWFyeTo6Tm9kZV0oaHR0cDov
L3d3dy5ydWJ5ZG9jLmluZm8vZ2Vtcy9yb3NlbWFyeS8wLjQuNC9Sb3NlbWFyeS9Ob2RlKSAoZm9s
bG93cyBuYW1pbmcgY29udmVudGlvbiBvZiB1bmRlcmx5aW5nIE9wZW5TdHJlZXRNYXAgQVBJKTsK
Ck90aGVyIHNvdXJjZXM6CgoqIFB5dGhvbjogW2dlb3B5LlBvaW50XShodHRwOi8vZ2VvcHkucmVh
ZHRoZWRvY3Mub3JnL2VuL2xhdGVzdC8jZ2VvcHkucG9pbnQuUG9pbnQpOwoqIFtFbGFzdGljU2Vh
cmNoXShodHRwczovL3d3dy5lbGFzdGljLmNvL2Jsb2cvZ2VvLWxvY2F0aW9uLWFuZC1zZWFyY2gp
IHVzZXMgaGFzaCB3aXRoICJsYXQiIGFuZCAibG9uIiBrZXlzOwoqIEdvb2dsZSBNYXBzIFtHZW9j
b2RpbmcgQVBJXShodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRp
b24vZ2VvY29kaW5nL2ludHJvI0dlb2NvZGluZ1Jlc3BvbnNlcykgdXNlcyBoYXNoIHdpdGggImxh
dCIgYW5kICJsbmciIGtleXM7CiogUG9zdEdJUzogW3ByZXR0eSBjb21wbGljYXRlZF0oaHR0cDov
L3Bvc3RnaXMubmV0L2RvY3MvbWFudWFsLTIuMi91c2luZ19wb3N0Z2lzX2RibWFuYWdlbWVudC5o
dG1sI1JlZk9iamVjdCkgIGhhcyBfZ2VvbWV0cmljYWxfIChwcm9qZWN0ZWQpIGFuZCBfZ2VvZ3Jh
cGhpY2FsXyAobGF0LCBsbmcpIHBvaW50cyBhbmQgc3R1ZmYuCgojIyBEZXNpZ24gZGVjaXNpb25z
CgpXaGlsZSBkZXNpZ25pbmcgYEdlb2AgbGlicmFyeSwgb3VyIHJlZmVyZW5jZSBwb2ludCB3YXMg
c3RhbmRhcmQgYFRpbWVgIGNsYXNzIChhbmQsIHRvIGxlc3NlciBleHRlbnQsIGBEYXRlYC9gRGF0
ZVRpbWVgKS4gSXQgaGFzIHRoaXMgcmVzcG9uc2liaWxpdGllczoKCiogc3RvcmVzIGRhdGEgaW4g
c2ltcGxlIGludGVybmFsIGZvcm07CiogaGVscHMgdG8gcGFyc2UgYW5kIGZvcm1hdCBkYXRhIHRv
IGFuZCBmcm9tIHN0cmluZ3M7CiogcHJvdmlkZXMgZWFzeSBhY2Nlc3MgdG8gbG9naWNhbCBjb21w
b25lbnRzIG9mIGRhdGE7CiogYWxsb3dzIG1vc3Qgc2ltcGxlIGFuZCB1bmFtYmlndW91cyBjYWxj
dWxhdGlvbnMuCgoqKk1haW4gdHlwZSBuYW1lKio6IGFzIGZhciBhcyB3ZSBjYW4gc2VlLCB0aGVy
ZSdzIG5vIGdvb2Qgc2luZ3VsYXIgbmFtZSBmb3IgYChsYXQsIGxuZylgIHBhaXIgY29uY2VwdC4g
QXMgbWVudGlvbmVkIGFib3ZlLCB0aGVyZSBjYW4gYmUgc2VlbiBuYW1lcyBsaWtlIGBMYXRMbmdg
LCBvciBgTG9jYXRpb25gLCBvciBgUG9pbnRgOyBhbmQgaW4gbmF0dXJhbCBsYW5ndWFnZQpqdXN0
ICJjb29yZGluYXRlcyIgdXNlZCBmcmVxdWVudGx5LiBXZSBwcm9wb3NlIHRoZSBuYW1lIGBDb29y
ZGAsIHdoaWNoIGlzIHByZXR0eSBzaG9ydCwgZWFzeSB0byByZW1lbWJlciwgZGVtb25zdHJhdGVz
IGludGVudGlvbnMgKGFuZCBsb29rcyBsaWtlIHNpbmd1bGFyLCBzbyB5b3UgY2FuIGhhdmUgIm9u
ZSBjb29yZCBvYmplY3QiIGFuZCAiYXJyYXkgb2YgY29vcmRzIiwKd2hpY2ggaXMgbm90IDEwMCUg
bGluZ3Vpc3RpY2FsbHkgY29ycmVjdCwgeWV0IGNvbnZlbmllbnQpLiBBbHRlcm5hdGl2ZSBgUG9p
bnRgIG5hbWUgc2VlbXMgdG8gYmUgdG9vIGFtYmlnb3VzLCBiZWluZyB1c2VkIGluIG1hbnkgY29u
dGV4dHMuCgpgR2VvOjpDb29yZGAgb2JqZWN0IGlzICoqaW1tdXRhYmxlKiosIHRoZXJlJ3Mgbm8g
c2VtYW50aWNhbCBzZW5zZSBpbiBgbG9jYXRpb24ubGF0aXR1ZGUgPSAuLi5gIG9yIHNvbWV0aGlu
ZyBsaWtlIHRoaXMuCgoqKlVuaXRzKio6IGBHZW9gIGNhbGN1bGF0aW9ucyAoanVzdCBsaWtlIGBU
aW1lYCBjYWxjdWxhdGlvbnMpIHByb3ZpZGUgbm8gdW5pdHMgb3B0aW9ucywganVzdCByZXR1cm5p
bmcgbnVtYmVycyBtZWFzdXJlZCBpbiAiZGVmYXVsdCIgdW5pdHM6IG1ldHJlcyBmb3IgZGlzdGFu
Y2VzIChhcyB0aGV5IGFyZSBTSSB1bml0KSBhbmQgZGVncmVlcyBmb3IgYXppbXV0aC4gTGF0aXR1
ZGUgYW5kIGxvbmdpdHVkZSBhcmUgc3RvcmVkIGluIGRlZ3JlZXMsIGJ1dCByYWRpYW5zIHZhbHVl
cyBhY2Nlc3NvcnMgYXJlIHByb3ZpZGVkIChiZWluZyB3aWRlbHkgdXNlZCBpbiBnZW9kZXN5IG1h
dGgpLgoKQWxsIGNvb3JkaW5hdGVzIGFuZCBjYWxjdWxhdGlvbnMgYXJlIHRob3VnaHQgdG8gYmUg
aW4gV0dTIDg0IGNvb3JkaW5hdGVzIHJlZmVyZW5jZSBzeXN0ZW0sIGJlaW5nIGN1cnJlbnQgc3Rh
bmRhcmQgZm9yIG1hcHMgYW5kIEdQUy4KClRoZXJlJ3MgaW50cm9kdWNlZCAqKmNvbmNlcHQgb2Yg
Z2xvYmUqKiB1c2VkIGludGVybmFsbHkgZm9yIGNhbGN1bGF0aW9ucy4gT25seSBnZW5lcmljIChz
cGhlcmUpIGFuZCBFYXJ0aCBnbG9iZXMgYXJlIGltcGxlbWVudGVkLCBidXQgZm9yIDIwMTYgd2Ug
ZmVlbCBsaWtlIGN1cnJlbnQgZGVzaWduIG9mIGJhc2ljIHR5cGVzIHNob3VsZCB0YWtlIGluIGNv
bnNpZGVyYXRpb24KcG9zc2liaWxpdHkgb2Ygd3JpdGluZyBSdWJ5IHNjcmlwdHMgZm9yIE1hcnMg
bWFwcyBhbmFseXNpcy4gT25seSBvbmUgZ2VvZGVzeSBmb3JtdWxhIGlzIGltcGxlbWVudGVkIChW
aW5jZW50eSwgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgb25lIG9mIHRoZSBtb3N0IHByZWNpc2UpLCBh
cyBmb3Igc3RhbmRhcmQgbGlicmFyeSBjbGFzcyBpdCBjb25zaWRlcmVkIHVubmVjZXNzYXJ5IHRv
IHByb3ZpZGUgdXNlciB3aXRoIGdlb2Rlc3kgZm9ybXVsYWUgb3B0aW9ucy4KCk5vICoqbWFwIHBy
b2plY3Rpb24qKiBtYXRoIHdhcyBhZGRlZCBpbnRvIGN1cnJlbnQgcHJvcG9zYWwsIGJ1dCBpdCBt
YXkgYmUgYSBnb29kIGRpcmVjdGlvbiBmb3IgZnVydGhlciB3b3JrLiBObyAqKmVsZXZhdGlvbioq
IGRhdGEgY29uc2lkZXJlZCBlaXRoZXIuCgojIyBQcm9wb3NhbCBkZXRhaWxzCgojIyMgYEdlbzo6
Q29vcmRgIGNsYXNzCgpSZXByZXNlbnRzIGBbbGF0aXR1ZGUsIGxvbmdpdHVkZV1gIHBhaXIuIExh
dGl0dWRlIGlzIC05MCB0byArOTAgKGRlZ3JlZXMpLiBMb25naXR1ZGUgaXMgLTE4MCB0byArMTgw
LgoKQ2xhc3MgbWV0aG9kczoKCiogYG5ldyhsYXQsIGxuZylgIGNyZWF0ZXMgaW5zdGFuY2UgZnJv
bSB0d28gTnVtZXJpY3MgKGluIGRlZ3JlZXMpOwoqIGBuZXcobGF0OiwgbG5nOilgIGtleXdvcmQg
YXJndW1lbnRzIGZvcm0gb2YgYWJvdmU7CiogYG5ldyhsYXRkOiwgbGF0bTosIGxhdHM6LCBsYXRo
OiwgbG5nZDogbG5nbTosIGxuZ3M6IGxuZ2g6KWAgY3JlYXRlcyBpbnN0YW5jZSBmcm9tIGNvb3Jk
aW5hdGVzIGluIChkZWcsIG1pbiwgc2VjLCBoZW1pc3BoZXJlKSBmb3JtOyBoZW1pc3BoZXJlcyBh
cmUgIk4iLyJTIiBmb3IgbGF0aXR1ZGUgYW5kICJXIi9FIiBmb3IgbG9uZ2l0dWRlOyBhbnkgY29t
cG9uZW50IGV4Y2VwdCBmb3IgZGVncmVlcyBjYW4gYmUgb21pdHRlZDsgaWYgaGVtaXNwaGVyZSBp
cyBvbWl0dGVkLCBpdCBpcyBkZWNpZGVkIGJ5IGRlZ3JlZXMgc2lnbiAobGF0OiBwb3NpdGl2ZSBp
cyAiTiIsIGxuZzogcG9zaXRpdmUgaXMgIkUiKTsKKiBgZnJvbV9oKGhhc2gpYCBjcmVhdGVzIGlu
c3RhbmNlIGZyb20gaGFzaCB3aXRoIGAibGF0ImAgb3IgYCJsYXRpdHVkZSJgIGtleSBhbmQgYCJs
b24iYCBvciBgImxuZyJgIG9yIGAibG9uZ2l0dWRlImAga2V5IChjYXNlLWluZGVwZW5kZW50KTsK
KiBgZnJvbV9yYWRpYW5zKHBoaSwgbGEpYCBjcmVhdGVzIGluc3RhbmNlIGZyb20gcmFkaWFuIHZh
bHVlczsKKiBgc3RycGNvb3JkYCBwYXJzZXMgc3RyaW5nIGludG8gY29vcmRpbmF0ZXMgYnkgcHJv
dmlkZWQgcGF0dGVybiAoc2VlIGJlbG93IGZvciBwYXR0ZXJuIGRlc2NyaXB0aW9uKTsKKiBgcGFy
c2VfbGxgIHBhcnNlcyBjb29yZGluYXRlcyBzdHJpbmcgaW4gYCJmbG9hdCwgZmxvYXQiYCBmb3Jt
OwoqIGBwYXJzZV9kbXNgIHBhcnNlcyBjb29yZGluYXRlcyBzdHJpbmcgaW4gYGQgbSBzIGgsIGQg
bSBzIGhgIGZvcm1hdCAoY29uc2lkZXJpbmcgc2V2ZXJhbCB3aWRlbHkgdXNlZCBzeW1ib2xzIGZv
ciBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzKTsKKiBgcGFyc2VgIHRyaWVzIHRvIHBhcnNl
IHN0cmluZyBpbnRvIGNvb3JkaW5hdGVzIGZyb20gdmFyaW91cyBmb3JtYXRzLgoKSW5zdGFuY2Ug
bWV0aG9kczoKCiogYGxhdGAgYW5kIGBsbmdgLCByZXR1cm5pbmcgYEZsb2F0YHMsIHNpZ25lZDsK
KiBgbGF0aXR1ZGVgIGFuZCBgbG9uZ2l0dWRlYCBhcyBhbiBhbGlhc2VzOyBgbG9uYCBhcyBhbiBh
ZGRpdGlvbmFsIGFsaWFzZXMgZm9yIGxvbmdpdHVkZTsKKiBgbGF0ZGAsIGBsYXRtYCwgYGxhdHNg
LCBgbGF0aGA6IGRlZ3JlZSwgbWludXRlLCBzZWNvbmQsIGhlbWlzcGhlcmU7IGBsYXRkYCBhbmQg
YGxhdG1gIGFyZSBgRml4bnVtYCwgYGxhdHNgIGlzIGBGbG9hdGAsIGBsYXRoYCBpcyAiTiIvIlMi
OyBhbGwgbnVtYmVycyBhcmUgdW5zaWduZWQ7CiogYGxuZ2RgLCBgbG5nbWAsIGBsbmdzYCwgYGxu
Z2hgOiB0aGUgc2FtZSBmb3IgbG9uZ2l0dWRlIChoZW1pc3BoZXJlIGlzICJXIi8iRSIpOwoqIGBs
YXRkbXMobm9oZW1pc3BoZXJlID0gZmFsc2UpYCByZXR1cm5zIGBbbGF0ZCwgbGF0bSwgbGF0cywg
bGF0aF1gIHdpdGggYG5vaGVtaXNwaGVyZWAgcGFyYW0gZXF1YWwgdG8gYGZhbHNlYCwgYW5kIGBb
wrFsYXRkLCBsYXRtLCBsYXRzXWAgd2l0aCBgdHJ1ZWA7IHNhbWUgd2l0aCBgbG5nZG1zYCBmb3Ig
bG9uZ2l0dWRlOwoqIGBwaGlgIGFuZCBgz4ZgIGlzIGxhdGl0dWRlIGluIHJhZGlhbnMgKGhlbHBm
dWwgZm9yIG1hdGgpLCBgbGFgIG9yIGDOu2AgaXMgbG9uZ2l0dWRlIGluIHJhZGlhbnMgKG5vdCBg
bGFtYmRhYCB0byBub3QgY29uZnVzZSB3aXRoIEtlcm5lbCBtZXRob2QpOwoqIGB0b19zYCByZXR1
cm5pbmcgc3RyaW5nIGxpa2UgIjUwLjAwNDQ0NCwzNi4yMzEzODkiIChnb29kIGZvciBtYXAgVVJM
cyBjb25zdHJ1Y3Rpb24sIGZvciBleGFtcGxlKTsKKiBgdG9faChsYXQ6IDpsYXQsIGxuZzogOmxu
ZylgIGNvbnZlcnRzIGNvb3JkIHRvIGhhc2ggKHdpdGggZGVzaXJlZCBrZXkgbmFtZXMpOwoqIGB0
b19hYCBjb252ZXJ0cyBjb29yZCB0byBzaW1wbGUgYFtsYXQsIGxuZ11gIHBhaXI7CiogYHN0cmZj
b29yZChmb3JtYXRzdHIpYCBmb3IgY29tcGxleCBjb29yZGluYXRlIGZvcm1hdHRpbmcgKHNlZSBi
ZWxvdyBmb3IgZm9ybWF0IHN0cmluZyBkZXNjcmlwdGlvbik7CiogYGRpc3RhbmNlKG90aGVyKWAg
Y2FsY3VsYXRlcyBkaXN0YW5jZSB0byBhbm90aGVyIHBvaW50IChpbiBtZXRyZXMpOwoqIGBhemlt
dXRoKG90aGVyKWAgY2FsY3VsYXRlcyBkaXJlY3Rpb24gdG8gdGFyZ2V0IChpbiBkZWdyZWVzKTsK
KiBgZW5kcG9pbnQoZGlyZWN0aW9uLCBhemltdXRoKWAgY2FsY3VsYXRlcyBmaW5hbCBwb2ludCBv
ZiB0aGUgbGluZSBvZiBgZGlzdGFuY2VgIG1ldHJlcyBnb2luZyBpbiBgYXppbXV0aGAgZGlyZWN0
aW9uIGZyb20gY3VycmVudCBwb2ludC4KCiMjIyMgYHN0cnBjb29yZGAvYHN0cmZjb29yZGAKCkV4
YW1wbGU6Cgp+fn5ydWJ5CmtoYXJraXYuc3RyZmNvb3JkKCclbGF0ZHXCsCVsYXRt4oCyJWxhdHPi
gLMgJWxhdGgsICVsbmdkdcKwJWxuZ23igLIlbG5nc+KAsyAlbG5naCcpCiMgPT4gIjUwwrAw4oCy
MTbigLMgTiwgMzbCsDEz4oCyNTPigLMgRSIKfn5+CgpEaXJlY3RpdmVzOgoKKiBgJWxhdGAgLSBm
dWxsIGxhdGl0dWRlLCBmbG9hdDsgY2FuIGJlIGZvcm1hdHRlZCB3aXRoIG1vcmUgY29udHJvbCBs
aWtlIGAlLjRsYXRgIChmb3VyIGRpZ2l0cyBhZnRlciBwb2ludCkgb3IgYCUrbGF0YCAoZXhwbGlj
aXQgcGx1cyBzaWduIGZvciBwb3NpdGl2ZSBsYXRpdHVkZXMpOwoqIGAlbGF0ZGAgLSBsYXRpdHVk
ZSBkZWdyZWVzLCB1bnNpZ25lZCwgaW50ZWdlcgoqIGAlbGF0ZHNgIC0gbGF0aXR1ZGUgZGVncmVl
cywgc2lnbmVkCiogYCVsYXRtYCAtIGxhdGl0dWRlIG1pbnV0ZXMsIHVuc2lnbmVkLCBpbnRlZ2Vy
CiogYCVsYXRzYCAtIGxhdGl0dWRlIHNlY29uZHMsIHVuc2lnbmVkLCBpbnRlZ2VyLCBidXQgY2Fu
IGJlIGZvcm1hdHRlZCBhcyBmbG9hdDogYCUuMmxhdHNgCiogYCVsYXRoYCAtIGxhdGl0dWRlIGhl
bWlzcGhlcmUsIG9uZSBsZXR0ZXIgKCJOIi8iUyIpCiogYCVsbmdgLCBgJWxuZ2RgLCBgJWxuZ2Rz
YCwgYCVsbmdzYCwgYCVsbmdoYCwgYCVsbmdIYCAtIHNhbWUgZm9yIGxvbmdpdHVkZQoqIGAlJWAg
bGl0ZXJhbCBgJWAgc2lnbgoKIyMjIEN1cnJlbnQgaW1wbGVtZW50YXRpb24KClByb3Bvc2VkIGlt
cGxlbWVudGF0aW9uIGNhbiBiZSBmb3VuZCBhdCBodHRwczovL2dpdGh1Yi5jb20venZlcm9rL2dl
b19jb29yZC4KCkl0IHdhcyBjcmVhdGVkIHdpdGggdGhvdWdodHMgb2Ygc3RhbmRhcmQgbGlicmFy
eSwgc28sIGFsbCBkb2NzIGFyZSBpbiBSRG9jIGZvcm1hdCwgYW5kIHRlc3RzL3NwZWNzIGFyZSBp
biBtc3BlYy1jb21wYXRpYmxlIHJzcGVjIGZsYXZvdXIuCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1
YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5
LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y
Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next