[ruby-core:89315] [Ruby trunk Feature#14164] [Suggestion] Type system for ruby 3x to be usable for e. g. rubocop or autogenerating crystal code and so forth

From: Ruby-Lang@...
Date: 2018-10-08 13:44:04 UTC
List: ruby-core #89315
SXNzdWUgIzE0MTY0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgandtaXR0YWcgKErDtnJnIFcgTWl0dGFn
KS4KCgpJIGZlZWwgdGhhdCBtb3N0IGRpc2N1c3Npb25zIGFib3V0ICJ0eXBlIHN5c3RlbXMiIG9y
ICJ0eXBlcyIgZm9yIFJ1Ynkgc3VmZmVyIGZyb20gYSBzZXJpb3VzIGxhY2sgb2YgdW5hbWJpZ3Vv
dXMgZGVmaW5pdGlvbnMsIHRoaXMgZGlzY3Vzc2lvbiBpbmNsdWRlZC4gU29tZWJvZHkgcHJvcG9z
ZXMgc29tZXRoaW5nIHdpdGhvdXQgcHJlY2lzZWx5IGRlZmluaW5nIHdoYXQgKmV4YWN0bHkqIHRo
ZXkgYXJlIHByb3Bvc2luZywgdGhlbiBzb21lYm9keSBlbHNlIGFyZ3VlcyBmb3Igb3IgYWdhaW5z
dCB0aGlzIHByb3Bvc2FsIHdpdGhvdXQgcHJlY2lzZWx5IHNheWluZyBob3cgdGhleSBpbnRlcnBy
ZXRlZCB0aGUgcHJvcG9zYWwgYW5kIHNvIG9uIGFuZCBzbyBmb3J0aC4KClRoZXJlIGFsc28gc2Vl
bXMgdG8gYmUgYSBzZXJpb3VzIGxhY2sgb2YgdW5kZXJzdGFuZGluZyBvZiB0eXBlIHN5c3RlbXMg
YW5kIHR5cGluZyBpbiB0aGUgUnVieSBjb21tdW5pdHksIHdoaWNoIGRvZXNuJ3QgZXhhY3RseSBo
ZWxwIGRpc2N1c3Npb25zIGFib3V0IHR5cGUgc3lzdGVtcyBhbmQgdHlwaW5nLgoKRm9yIGV4YW1w
bGUsIHRoaXMgaXMgKGF0IGxlYXN0KSB0aGUgc2Vjb25kIGlzc3VlIG9uIHRoaXMgdHJhY2tlciB0
aGF0IG1lbnRpb25zIG9wdGlvbmFsIHR5cGluZyBhbmQgcGVyZm9ybWFuY2UuIFRoZXJlIGFyZSBh
bHNvIHNldmVyYWwgYmxvZyBwb3N0cyBhbmQgdG9ucyBvZiB0aHJlYWRzIG9uIHJ1YnktbGFuZy4g
VGhlIHRoaW5nIGlzOiBvcHRpb25hbCB0eXBpbmcgY2FuICpieSBkZWZpbml0aW9uKiBub3QgaW1w
cm92ZSBwZXJmb3JtYW5jZS4gSW4gZmFjdCwgb3B0aW9uYWwgdHlwaW5nIGlzICpkZWZpbmVkKiBh
cyAidHlwaW5nIHRoYXQgZG9lcyBub3QgaW5mbHVlbmNlIHJ1bnRpbWUiLiBUaGF0IGlzIHdoYXQg
Km1ha2VzKiBpdCAib3B0aW9uYWwiIGluIHRoZSBmaXJzdCBwbGFjZS4gSWYgb3B0aW9uYWwgdHlw
ZXMgaGFkIGFuIGltcGFjdCBvbiBwZXJmb3JtYW5jZSwgdGhlbiB0aGVyZSBjb3VsZCBiZSBwcm9n
cmFtcyB0aGF0IHJ1biBmYXN0IGVub3VnaCB3aXRoIHRoZSB0eXBlcywgYnV0IHRvbyBzbG93IHdp
dGhvdXQsIGFuZCBmb3IgdGhvc2UgcHJvZ3JhbXMsIHlvdSB3b3VsZCAqbmVlZCogdGhlIHR5cGVz
LCB0aHVzIHRoZXkgd291bGQgbm8gbG9uZ2VyIGJlIG9wdGlvbmFsLgoKVGhlICpvbmx5KiB0aGlu
ZyBvcHRpb25hbCB0eXBpbmcgaXMgYWxsb3dlZCB0byBkbywgaXMgdG8gcmVqZWN0IGEgcHJvZ3Jh
bSBhcyBub3QgdHlwZS1zYWZlLiBUaGF0J3MgaXQuIEFkZGluZyBvciByZW1vdmluZyB0eXBlcyBj
YW4gbWFrZSBhIHByb2dyYW0gdHlwZS1jaGVjayBvciBub3QgdHlwZS1jaGVjaywgYW5kIHRoYXQg
aXMgKmFsbCogYWRkaW5nIG9yIHJlbW92aW5nIHR5cGVzIGNhbiBkby4KClRoZSBwb3dlcmZ1bCB0
aGluZyBhYm91dCBvcHRpb25hbCB0eXBpbmcgaXMgdGhhdCwgc2luY2UgaXQgaXMgb3B0aW9uYWws
IHlvdSBhcmUgbm90IHRpZWQgdG8gYSBzaW5nbGUgdHlwZSBzeXN0ZW0uIFlvdSBjYW4gY2hvb3Nl
IHRoZSB0eXBlIHN5c3RlbSB0aGF0IHdvcmtzIGJlc3QgZm9yIHlvdS4gWW91IGNhbiBjaGFuZ2Ug
dHlwZSBzeXN0ZW1zIG92ZXIgdGhlIGNvdXJzZSBvZiBhIHByb2plY3QuIFlvdSBjYW4gbWl4IG11
bHRpcGxlIHR5cGUgc3lzdGVtcyB3aXRoaW4gYSBwcm9qZWN0LiBZb3UgY2FuIGV2ZW4gdXNlIG11
bHRpcGxlIHR5cGUgc3lzdGVtcyBhdCB0aGUgc2FtZSB0aW1lIGZvciB0aGUgc2FtZSBjaHVuayBv
ZiBjb2RlLgoKRGlzY3Vzc2lvbnMgYWJvdXQgdHlwaW5nIGluIFJ1YnkgYWx3YXlzIHNlZW0gdG8g
Y29uZnVzZSBhIGxvdCBvZiB0aGluZ3M6IFR5cGUgQW5ub3RhdGlvbnMgdnMuIFR5cGUgTGFuZ3Vh
Z2UgdnMuIFR5cGUgU3lzdGVtIHZzLiBUeXBlIENoZWNraW5nLiBHcmFkdWFsIHZzLiBTb2Z0IHZz
LiBPcHRpb25hbCBUeXBpbmcuIEV4cGxpY2l0IGFuZCBJbXBsaWNpdCBUeXBpbmcuIFN0YXRpYyBh
bmQgRHluYW1pYyBUeXBpbmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCkZlYXR1cmUgIzE0MTY0OiBbU3VnZ2VzdGlvbl0gVHlwZSBzeXN0ZW0gZm9yIHJ1YnkgM3gg
dG8gYmUgdXNhYmxlIGZvciBlLiBnLiBydWJvY29wIG9yIGF1dG9nZW5lcmF0aW5nIGNyeXN0YWwg
Y29kZSBhbmQgc28gZm9ydGgKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0MTY0
I2NoYW5nZS03NDM0NAoKKiBBdXRob3I6IHNoZXZlZ2VuIChSb2JlcnQgQS4gSGVpbGVyKQoqIFN0
YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogCiogVGFyZ2V0IHZlcnNp
b246IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkhlbGxvIGV2ZXJ5
b25lLCBlc3BlY2lhbGx5IHRoZSBydWJ5IGNvcmUgdGVhbSwgbm9idSBhbmQgb2YgY291cnNlIG1h
dHosCgpUaGlzIGlzIGFuIGlkZWEgZm9yIHJ1YnkgMy54LCBidXQgdGhlIGlkZWEgaXMgbm90IC4u
LiB3ZWxsLCByZWFsbHkKZmluaXNoZWQuCgpJdCBpcyBtb3JlIG9mIGFuIGlkZWEuCgpBcyBJIGFt
IGF3YXJlIHRoYXQgd29ya2luZyB3aXRoICJ1bmZpbmlzaGVkIiBpZGVhcyBpcyBub3QgZWFzeSwg
cGxlYXNlCmZlZWwgZnJlZSB0byBjbG9zZSB0aGlzIHN1Z2dlc3Rpb24gYXQgYW55IG1vbWVudCBp
biB0aW1lLiBJdCBpcyBtb3JlCm1lYW50IGEgYml0IHRvIHBvaW50IHRvd2FyZHMgd2hhdCBub2Jv
ZHkgZWxzZSBtYXkgaGF2ZSBwb2ludGVkIG91dApiZWZvcmUgLi4uIDopCgpTbyB0aGUgc2l0dWF0
aW9uOgoKLSBNYXR6IHNwb2tlIGEgZmV3IHRpbWVzIGFib3V0IGEgInR5cGUgc3lzdGVtIiBmb3Ig
cnVieSAoMy54KS4gTm93LCB0aGlzCmNhbiBiZSBhbnl0aGluZyByZWFsbHksIGJ1dCBtYXR6IGFs
c28gc3BlY2lmaWVkIGhpcyBpZGVhIGEgZmV3IHRpbWVzLgoKT25lIGlkZWEgdGhhdCBJIHRoaW5r
IG1hdHogbWVudGlvbmVkIGhlcmUgb3IgdGhlcmUgd2FzIHRoYXQgaXQgd2lsbCBiZQpvcHRpb25h
bC4gVGhhdCBpcywgcGVvcGxlIGNhbiB1c2UgcnVieSBsaWdodC13ZWlnaHQgYXMgYWx3YXlzLCB3
aXRob3V0CmJlaW5nIGZvcmNlZCBpbnRvIG1hbmRhdG9yeSB0eXBlcyBhbmQgaGF2aW5nIHRvIGNo
YW5nZSB0aGUgd2F5IHRoZXkgCm1heSBoYXZlIHdyaXR0ZW4gcnVieSBmb3IgdGhlIHBhc3QgeCB5
ZWFycy4KClRoZXJlIGlzIG9uZSBibG9nL2ludGVydmlldyBlbnRyeSBoZXJlIG1lbnRpb25pbmcg
dHlwZXMgYXMgd2VsbCwgYXQ6CgogIGh0dHBzOi8vYmxvZy5oZXJva3UuY29tL3J1YnktMy1ieS0z
CgpJIHRoaW5rIG1hdHogbWVudGlvbmVkIGEgdHlwZSBzeXN0ZW0gYSBmZXcgdGltZXMgbGF0ZXJv
biB3aGVuIGhlIGdhdmUKYSBwcmVzZW50YXRpb24sIGFuZCBoZSBhbHNvIGNvbW1lbnRlZCBvbiBh
IGZldyBpc3N1ZXMgYWJvdXQgdGhlCihwb3NzaWJsZSkgdHlwZSBzeXN0ZW0gaW4gZGlmZmVyZW50
IHN1Z2dlc3Rpb25zIG1hZGUgYXQgdGhlIHJ1YnkKdHJhY2tlciBoZXJlLgoKSW4gcGFydGljdWxh
ciwgSSByZW1lbWJlciB0aGF0IG1hdHogd3JvdGUgc29tZXRoaW5nIHRvIGEgc3VnZ2VzdGlvbiBi
eQphbm90aGVyIGphcGFuZXNlIHJ1YnkgaGFja2VyIHNvbWUgdGltZSBhZ28gYWJvdXQgLi4uIEkg
dGhpbmsgaXQgaGFkIHRvCmRvIHdpdGggc3BlY2lmeWluZyBjZXJ0YWluIGJlaGF2aW91ciBvZiBv
YmplY3RzL21ldGhvZHMuCgpJIGFtIHNvcnJ5IHRoYXQgSSBjYW4gbm90IGRlc2NyaWJlIHRoaXMg
aW4gbW9yZSBkZXRhaWwgc2luY2UgSSBmb3Jnb3QKdGhlIG5hbWUgb2YgdGhlIG9uZSB3aG8gc3Vn
Z2VzdGVkIGl0OyBJIG15c2VsZiBkbyBub3QgZnVsbHkgdW5kZXJzdGFuZApvciBrbm93IHdoYXQg
d2lsbCBjb21lIHdpdGggcnVieSAzLnguIFRoZSBhYm92ZSBVUkwgdG8gdGhlIGJsb2cvaW50ZXJ2
aWV3Cm1heSBnaXZlIGFuIGluZGljYXRpb24gYXMgdG8gd2hhdCBNSUdIVCBjb21lIGV2ZW50dWFs
bHkuCgpCYWNrIHRoZW4gbWF0eiBzYWlkOgoKIlsuLi5dIHRoZSB0aGlyZCBtYWpvciBnb2FsIG9m
IHRoZSBSdWJ5IDMgaXMgYWRkaW5nIHNvbWUga2luZCBvZgpzdGF0aWMgdHlwaW5nIHdoaWxlIGtl
ZXBpbmcgdGhlIGR1Y2sgdHlwaW5nLCBzbyBzb21lIGtpbmQgb2YKc3RydWN0dXJlIGZvciBzb2Z0
LXR5cGluZyBvciBzb21ldGhpbmcgbGlrZSB0aGF0LiBUaGUgbWFpbiBnb2FsCm9mIHRoZSB0eXBl
IHN5c3RlbSBpcyB0byBkZXRlY3QgZXJyb3JzIGVhcmx5LiBTbyBhZGRpbmcgdGhpcwpraW5kIG9m
IHN0YXRpYyB0eXBlIGNoZWNrIG9yIHR5cGUgaW50ZXJmYWNlcyBkb2VzIG5vdCBhZmZlY3QKcnVu
dGltZS4iCgoiSXQncyBqdXN0IGEgY29tcGlsZSB0aW1lIGNoZWNrLiBNYXliZSB5b3UgY2FuIHVz
ZSB0aGF0IGtpbmQgb2YKaW5mb3JtYXRpb24gaW4gSURFcyBzbyB0aGF0IHRoZSBlZGl0b3JzIGNh
biB1c2UgdGhhdCBkYXRhIGZvciB0aGVpcgpjb2RlIGNvbXBsZXRpb24gb3Igc29tZXRoaW5nIGxp
a2UgdGhhdCwgYnV0IG5vdCBmb3IgcGVyZm9ybWFuY2UKaW1wcm92ZW1lbnQuIgoKT2ssIHNvIGZh
ciBzbyBnb29kLiBNYXR6IGFjdHVhbGx5IGRpZCBub3QgbmVjZXNzYXJpbHkgbWVhbiBpdApmb3Ig
cGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgcGVyIHNlLgoKQnV0IC4uLiBoZXJlIEkgd2FzIHRoaW5r
aW5nIC4uLgoKSSBndWVzcyBtYW55IHJ1YnkgcGVvcGxlIGtub3cgdGhlIHByb2dyYW1taW5nIGxh
bmd1YWdlIGNyeXN0YWwgb3IKaGF2ZSBoZWFyZCBhYm91dCBpdC4gTWF0eiBldmVuIG1hZGUgYSBj
b25zaWRlcmFibGUgZG9uYXRpb24gYSAKZmV3IHllYXJzIGFnby4gOikKCkNyeXN0YWwgaXMgaW4g
bWFueSB3YXlzIHNpbWlsYXIgdG8gcnVieTsgdGhlIHN5bnRheCBpcyBzb21ld2hhdApzaW1pbGFy
IChpZiB3ZSBpZ25vcmUgdGhlIHR5cGUgc3lzdGVtIGFuZCBtYWNyb3MgcGVyaGFwcykuCgpTZXZl
cmFsIHJ1YnkgcGVvcGxlIHVzZSBjcnlzdGFsLCB0b28sIGxpa2Ugamhhc3MgYW5kIG90aGVycyAo
SQpkb24ndCBhcyBvZiB5ZXQsIGxhcmdlbHkgZHVlIHRvIGxhY2sgb2YgdGltZSwgaW5lcnRpYSBh
bmQgbXkKb3duIGxhemluZXNzOyBJIGV2ZW4gaGF2ZSBsZWFybmluZyBlbGl4aXIgb24gbXkgdG9k
byBsaXN0IGFuZApqdXN0IGRpZCBub3QgZ2V0IGFyb3VuZCBpdCByZWFsbHkpLgoKSG93ZXZlciBo
YWQsIEkgc29tZXdoYXQgam9raW5nbHkgc2FpZCBpbiB0aGUgcGFzdCB0aGF0IHBlcmhhcHMKd2Ug
Y291bGQgdHVuZSBydWJvY29wIHRvIGdlbmVyYXRlIGNyeXN0YWwgY29kZS4gU2luY2UgdGhlIGRp
ZmZlcmVuY2UKc2hvdWxkIG5vdCBiZSB0aGF0IGZhciBhcGFydCBmcm9tIHJ1YnkgY29kZS4KCkl0
IHdhcyBtb3JlIG1lYW50IGFzIGEgam9rZSB0aG91Z2gsIGJ1dCAuLi4gSSB0aGluayBpbiB0aGVv
cnkgdGhhdApjb3VsZCBiZSBwb3NzaWJsZSwgcmlnaHQ/IFBlcmhhcHMgbm90IDEwMCUgdmFsaWQg
Y3J5c3RhbCwgYnV0IGlmCnlvdSBzcGVjaWZ5IHNvbWUgbGF5b3V0IGd1aWRlIGZvciBydWJvY29w
IHRvIGNvbmZvcm0gdG9vLCB0aGVuIHRoZQphdXRvY29ycmVjdCBvcHRpb24gZnJvbSBydWJvY29w
IGNvdWxkIHBlcmhhcHMgZ2VuZXJhdGUgYSB2ZXJzaW9uCnRoYXQgaXMgdmVyeSBjbG9zZSB0byB0
aGUgZmluYWwgY3J5c3RhbCB2YXJpYW50LCBleGNsdWRpbmcgdHlwZXMKcGVyaGFwcy4KCk5vdCBs
b25nIGFnbywgcmVhbGx5IGp1c3QgYSBmZXcgZGF5cyBhZ28sIEkgYWN0dWFsbHkgcmVtZW1iZXJl
ZCB0aGF0CnJ1YnkgbWF5IGhhdmUgc29tZSBmb3JtIG9mIChvcHRpb25hbCkgdHlwaW5nIHN5c3Rl
bSBpbiB0aGUgZnV0dXJlLgoKQW5kIGhlcmUgSSB3b25kZXJlZDoKCi0gV2hhdCBpZiB0aGlzIHR5
cGUgc3lzdGVtIGNvdWxkIGJlIHVzZWQsIGluIGFuIG9wdGlvbmFsIHdheSwKZm9yIHJ1YnkgcGVv
cGxlIHRvIGFsc28gYmUgYWJsZSB0byBhdXRvLWdlbmVyYXRlIHZhbGlkIGNyeXN0YWwKY29kZSwg
dmlhIGFuIGluZGlyZWN0aW9uPyBUaGlzIGluZGlyZWN0aW9uIGNvdWxkIGJlIHJ1Ym9jb3AsIApi
dXQgaXQgY291bGQgYWxzbyBiZSBwYXJ0IG9mIE1SSSBpdHNlbGYgKG9uY2UgdGhlIHR5cGUgc3lz
dGVtCmlzIGFsbCBpbiBwbGFjZTsgYSBiaXQgbGlrZSB0aGUgUnVieVZNKS4KCkkgZG8gbm90IGtu
b3cgaG93IGRpZmZpY3VsdCB0aGlzIGlzIGJ1dCBJIHRob3VnaHQgdGhhdCB0aGlzCndvdWxkIGJl
IHByZXR0eSBjb29sIHRvIGhhdmUuIFdyaXRlIFJ1YnkgLSBoYXZlIENyeXN0YWwuIDpECgooVGhp
cyBpcyBtZWFudCBpbiBhZGRpdGlvbjsgSSBteXNlbGYgb2J2aW91c2x5IHByZWZlciB0byB3cml0
ZQpydWJ5LCBhbmQgaGF2ZSB0aGUgY29tcHV0ZXIgYXV0b2dlbmVyYXRlIGNyeXN0YWwgZm9yIG1l
LCBzbwp0aGF0IEkgY2FuIGJlIGxhenkuIDpQKQoKV2UgY291bGQgd3JpdGUgLi4uIHJ1YnkgLi4u
IGp1c3QgYXMtaXMsIGZvciBldmVyeWRheSBzY3JpcHRzLgoKQW5kIHRoZW4gYXQgYSBsYXRlciB0
aW1lLCB3ZSBtYXkgYWRkIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24sIGUuIGcuCndpdGggYW55IGZv
cm0gb2YgdHlwZSBzeXN0ZW0sIElGIHdlIG5lZWQgaXQuIEFuZCB0aGVuLCBydWJ5CmNvdWxkIG1h
a2UgdXNlIG9mIHRoYXQgKmFkZGl0aW9uYWwqIGluZm9ybWF0aW9uIHRvIG5vdCBvbmx5CmNvbnNp
ZGVyIHNwZWVkaW5nIHVwIHJ1YnkgY29kZSAocGVyaGFwczsgb3IgcGVyaGFwcyBub3QpLCBidXQK
dG8gYWxzbyAuLi4gaGF2ZSBpdCBnZW5lcmF0ZSB2YWxpZCBjcnlzdGFsIGNvZGUhIDpECgpUaGlz
IGlzIHBlcmhhcHMgbW9yZSB3aXNoZnVsIHRoaW5raW5nIG9uIG15IHBhcnQgb3IgZm9yIGEKZnV0
dXJlIHhtYXMgbGlzdDsgYW5kIGl0IG1heSBhbHNvIHJlcXVpcmUgdGhlIGNyeXN0YWwgdGVhbQp0
byBrZWVwIHRoaXMgaW4gbWluZCBhcyB3ZWxsIEFORCB0aGUgcnVieSB0ZWFtLgoKQnV0IGFueXdh
eSwgSSBvbmx5IHdhbnRlZCB0byBtZW50aW9uIHRoaXMgZm9yIHRoZSB0aW1lIGJlaW5nOwptYXR6
IG9uY2UgbWVudGlvbmVkIHRoYXQgcnVieSAzLnggaXMgbW9yZSBhaW1lZCB0b3dhcmRzIHRoZQp5
ZWFyIDIwMjAsIHNvIC4uLiArMiB5ZWFycyBJIHN1cHBvc2UsIHNvIHRoZXJlIGlzIHN0aWxsIHNv
bWUKdGltZSBsZWZ0IGJlZm9yZSAzLnggd2lsbCBiZSByZWxlYXNlZCBhbmQgImZpbmFsaXplZCIu
CgpJIGRvIG5vdCBrbm93IGhvdyB0aGUgY3J5c3RhbCB0ZWFtIHRoaW5rcywgbmVpdGhlciBob3cg
dGhlCnJ1YnkgdGVhbSB0aGlua3MgYWJvdXQgaXQgLSBidXQgSSBsaWtlIG15IG93biBpZGVhLiA6
RAoKT2YgY291cnNlIHRoaXMgYWxzbyBkZXBlbmRzIG9uIHdoYXQga2luZCBvZiB0eXBlIHN5c3Rl
bSB0aGVyZQp3aWxsIGJlLCBhbmQgaG93IHVzZWZ1bCBpdCBtYXkgYmUuIEluIHRoZSBkZXNpZ24g
c3RhZ2UsIG5hdHVyYWxseQpydWJ5IGNvbWVzIGZpcnN0IGhlcmUgKHRoaXMgaXMgYSBidWcgdHJh
Y2tlciBmb3IgcnVieSBhZnRlciBhbGwsCm5vdCBmb3Igb3RoZXIgbGFuZ3VhZ2VzKSwgYnV0IEkg
d29uZGVyIGFib3V0IHRoZSBzZWNvbmQgc3RlcCwKd2hlcmUgd2UgY291bGQgdHJhbnNsYXRlIHJ1
YnktY29kZSBpbnRvIG90aGVyIGxhbmd1YWdlcyBjb2RlLgoKSSBzaG91bGQgYWxzbyBub3RlIHRo
YXQgSSBkbyBub3QgbmVjZXNzYXJpbHkgbWVhbiBhICIxMDAlCmNvcnJlY3Qgb3V0cHV0IHdoZXJl
IG5vYm9keSBoYXMgdG8gbWFrZSBhbnkgY2hhbmdlcyI7IEkgdGhpbmsKYW55IGF1dG9nZW5lcmF0
ZWQgb3V0cHV0LCB0aGF0IGNhbiBiZSBjdXN0b21pemVkLCB3b3VsZCBiZQphICJ0aW1lIHdpbiIg
Zm9yIHBlb3BsZSBpbiBnZW5lcmFsIC0gYm90aCB3aGVuIGl0IGNvbWVzIHRvCmhhdmluZyBmYXN0
ZXIgZXhlY3V0aW9uIHRpbWUgZm9yIHJ1YnkgY29kZSwgYnV0IGFsc28gbGF0ZXJvbgp0byBhbnlv
bmUgd2hvIG1heSB3YW50IHRvIHVzZSBjcnlzdGFsIHJhdGhlciB0aGFuIHJ1YnkgcHJpbWFyaWx5
CmJlY2F1c2Ugb2YgdGhlIHNwZWVkIHJlYXNvbi4gKEluIG15IGNhc2UsIHNwZWVkIHdhcyBuZXZl
cgphIHJlYXNvbiB0byB1c2UgcnVieSBzbyBJIGhhdmUgbm8gcmVhc29uIHRvIHN3aXRjaCBhd2F5
CmZyb20gcnVieSBkdWUgdG8gc3BlZWQsIGJ1dCBtYXR6IGFsc28gc2FpZCB0aGF0IG5vYm9keSBt
aW5kcwppZiB0aGluZ3MgYXJlIGZhc3QsIHNvIGFueSBzcGVlZCBpbXByb3ZlbWVudCBpcyBhIGdv
b2QgCnRoaW5nLiBBbmQgaWYgbXkgcnVieSBjb2RlIHdlcmUgdG8gYmUgYWxtb3N0IHZhbGlkIGNy
eXN0YWwKY29kZSwgdGhlbiBJJ2Qgb25seSBoYXZlIHRvIGludmVzdCBhIHRpbnkgYml0IGV4dHJh
IHRpbWUgCnRvIGdldCBldmVuIG1vcmUgc3BlZWQgYWxtb3N0IGZvciBmcmVlLikKCk1hdHogbWVu
dGlvbmVkIHRoZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvd2FyZHMgSURFcyBidXQKd2UgY291
bGQgcGVyaGFwcyBjb21iaW5lIHRoaXMgd2l0aCBvdGhlciB0b29scy4gRm9yIGV4YW1wbGUsCnJ1
Ym9jb3AgbWFrZXMgc3VnZ2VzdGlvbnMgd2hhdCB0byBjaGFuZ2U7IGFuIG9wdGlvbmFsIHR5cGUK
c3lzdGVtIGNvdWxkIGFsc28gcGVyaGFwcyBtYWtlIHNvbWUga2luZCBvZiBhbmFseXNpcyBhcyB0
bwp3aGF0IGNvdWxkIGJlIG9taXR0ZWQgb3IgaW1wcm92ZWQgZXRjLi4uIGEgYml0IGxpa2UgdGhl
CmRpZC15b3UtbWVhbi1nZW0gYnV0IHdvcmtpbmcgb24gYSBtb3JlICJzb3BoaXN0aWNhdGVkIgps
ZXZlbC4gKFdpdGggYSB0eXBlIHN5c3RlbSwgSSBhc3N1bWUgdGhhdCBhIGNvbXBpbGVyIGhhcwph
biBlYXNpZXIgdGltZSBrbm93aW5nIHdoaWNoIGNvbnN0cmFpbnRzIGNhbiBiZSB1c2VkIGV0Yy4u
LikKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWls
dG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8
aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1j
b3JlPgo=

In This Thread

Prev Next