[ruby-core:97032] [Ruby master Feature#16511] Staged warnings and better compatibility for keyword arguments in 2.7.1

From: daniel@...42.com
Date: 2020-01-31 15:30:51 UTC
List: ruby-core #97032
SXNzdWUgIzE2NTExIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUp
Lg0KDQpTdWJqZWN0IGNoYW5nZWQgZnJvbSBTdGFnZWQgd2FybmluZ3MgZm9yIGtleXdvcmQgYXJn
dW1lbnRzIHRvIFN0YWdlZCB3YXJuaW5ncyBhbmQgYmV0dGVyIGNvbXBhdGliaWxpdHkgZm9yIGtl
eXdvcmQgYXJndW1lbnRzIGluIDIuNy4xDQoNCkBtYXR6LA0KSSByZW1vdmVkIHRoZSBzdWJjbGFz
c2luZyBwYXJ0IHRoYXQgeW91IHdlcmUgbmVnYXRpdmUgYWJvdXQsIGFuZCBJIGJlbGlldmUgSSd2
ZSBzdWZmaWNpZW50bHkgcHJvdmVuIG1hbnkgY2xlYXIgX3JlYWwtd29ybGRfIGJlbmVmaXRzLg0K
VGhlIG9ubHkgImRvd25zaWRlIiBpcyB0aGF0IHNvbWUgdGhpbmdzIHRoYXQgY291bGQgYmUgZml4
ZWQgbm93IHdpbGwgYmUgZml4ZWQgbGF0ZXIgaW5zdGVhZDsgcGVyc29uYWxseSBJIGRvbid0IGV2
ZW4gY29uc2lkZXIgdGhhdCBhIGRvd25zaWRlLg0KSSBob3BlIHlvdSdsbCBnaXZlIHRoaXMgcHJv
cG9zYWwgc2VyaW91cyBjb25zaWRlcmF0aW9uLCBiYXNlZCBvbiB0aGUgZGVtb25zdHJhdGVkIGJl
bmVmaXRzLCBkZXNwaXRlIG1lIGJlaW5nIGEgcmVsYXRpdmUgb3V0c2lkZXIgaGVyZS4NCuOCiOOC
jeOBl+OBj+OBiumhmOOBhOOBl+OBvuOBmeOAgg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE2NTExOiBTdGFnZWQgd2FybmluZ3MgYW5kIGJl
dHRlciBjb21wYXRpYmlsaXR5IGZvciBrZXl3b3JkIGFyZ3VtZW50cyBpbiAyLjcuMQ0KaHR0cHM6
Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2NTExI2NoYW5nZS04NDEyNg0KDQoqIEF1dGhv
cjogRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUpDQoqIFN0YXR1czogT3Blbg0KKiBQcmlvcml0eTog
Tm9ybWFsDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpBcyBhbiBh
bHRlcm5hdGl2ZSB0byAjMTY0NjMgYW5kICMxNjQ5NCBJJ2QgbGlrZSB0byBwcm9wb3NlIHRoaXMg
YXBwcm9hY2gsIHdoaWNoIEkgYmVsaWV2ZSBhbGxvd3MgYSAqKm11Y2gqKiBtb3JlIGZsZXhpYmxl
IHBhdGggZm9yIG1pZ3JhdGlvbiBvZiBrZXl3b3JkIGFyZ3VtZW50cy4NCg0KVGhlIGlkZWEgaXMg
dG8gaW5kaWNhdGUgZm9yIGV2ZXJ5IEhhc2ggb2JqZWN0IGlmIGl0J3MgaW50ZW5kZWQgdG8gcmVw
cmVzZW50IGEgX2tleXdvcmRfIGhhc2ggb3IgYSBfZGF0YV8gaGFzaC4gVGhpcyBleHRyYSBpbmZv
cm1hdGlvbiBpcyB0aGVuIHVzZWQgdG8gZ2VuZXJhdGUgbW9yZSBncmFudWxhciB3YXJuaW5ncyBk
ZXBlbmRpbmcgb24gYSB1c2VyJ3MgY29tcGF0aWJpbGl0eSBuZWVkcy4NCg0KVGhlICJrZXl3b3Jk
bmVzcyIgb2YgYSBoYXNoIHdvdWxkIGJlIGluZGljYXRlZCBieSBhICoqZmxhZyoqIG9uIHRoZSBI
YXNoIG9iamVjdDsgdGhpcyBpcyBhbHJlYWR5IGltcGxlbWVudGVkIGluIDIuNyBhbmQgaXMgdGhl
IGFwcHJvYWNoIGZhdm9yZWQgYnkgTWF0ei4gTGV0J3MgY2FsbCB0aGlzIGZsYWdnZWQgaGFzaCBh
ICJLd0hhc2giLCBhbmQgYSBub24tZmxhZ2dlZCBoYXNoIGlzIGp1c3QgYSAiSGFzaCIuIE5vdGU6
IHRoaXMgY291bGQgYWxzbyBiZSBpbXBsZW1lbnRlZCB2aWEgYSAqKnN1YmNsYXNzKiogb2YgSGFz
aCAoSSBwZXJzb25hbGx5IGZhdm9yIHRoaXMgb2JqZWN0LW9yaWVudGVkIGFwcHJvYWNoKSB3aGlj
aCB3YXMgdGhlIG9yaWdpbmFsIGlkZWEgaW4gdGhpcyBwcm9wb3NhbC4NCg0KSSdsbCB0cnkgdG8g
ZGVzY3JpYmUgdGhlIGlkZWEgaW4gZGV0YWlsIGJ5IGJyZWFraW5nIGl0IGRvd24gaW50byBmaWd1
cmF0aXZlIHN0ZXBzLiAoU2tpcCB0byAiUHV0dGluZyBpdCBhbGwgdG9nZXRoZXIiIGZvciB0aGUg
VEw7RFIgdmVyc2lvbi4pIEltYWdpbmUgc3RhcnRpbmcgd2l0aCBydWJ5IDIuNiBhbmQgdGhlbjoN
Cg0KIyMjIFN0ZXAgMQ0KDQpXaGVuIGEgZG91YmxlLXNwbGF0IG9yIGEgYnJhY2UtbGVzcyBoYXNo
IGlzIHVzZWQsIGluc3RlYWQgb2YgYSBIYXNoIGl0IGNyZWF0ZXMgYSBLd0hhc2guDQoNCmBgYHJ1
YnkNCmRlZiBmb28oeCkgeCBlbmQNCmZvbyhrOjEpLmNsYXNzICAgICAgIz0+IEt3SGFzaA0KZm9v
KCoqaGFzaCkuY2xhc3MgICAjPT4gS3dIYXNoDQpbazoxXS5sYXN0LmNsYXNzICAgICM9PiBLd0hh
c2gNClsqKmhhc2hdLmxhc3QuY2xhc3MgIz0+IEt3SGFzaA0KeyoqaGFzaH0uY2xhc3MgICAgICAj
PT4gSGFzaA0KYGBgDQoNCkF0IHRoaXMgcG9pbnQgd2UgaGF2ZW4ndCBpbnRyb2R1Y2VkIGFueSBy
ZWFsIGNoYW5nZS4gRXZlcnl0aGluZyB0aGF0IHdvcmtlZCBiZWZvcmUgaXMgc3RpbGwgd29ya2lu
ZyB0aGUgc2FtZSB3YXkuDQooV2l0aCBhIG1pbm9yIGV4Y2VwdGlvbiBpZiB1c2luZyB0aGUgc3Vi
Y2xhc3MgYXBwcm9hY2g6IHVudXN1YWwgY29kZSBsaWtlIGBrdy5jbGFzcyA9PSBIYXNoYCB3b3Vs
ZCBub3cgcmV0dXJuIGZhbHNlLikNCg0KIyMjIFN0ZXAgMg0KDQpXaGVuIHRoZXJlIGlzIGFtYmln
dWl0eSBkdWUgdG8gb3B0aW9uYWwgdnMga2V5d29yZCBhcmd1bWVudCwgd2UgcmVseSBvbiB0aGUg
bGFzdCBhcmd1bWVudCBiZWluZyBIYXNoIG9yIEt3SGFzaCB0byBkaXNhbWJpZ3VhdGUuDQoNCmBg
YHJ1YnkNCmRlZiBmb28oeD1uaWwsICoqa3cpDQogIFt4LGt3XQ0KZW5kDQpmb28oe2s6MX0pICM9
PiBbe2s6MX0se31dDQpmb28oazoxKSAgICM9PiBbbmlsLHtrOjF9XQ0KYGBgDQoNClRoaXMgaXMg
dGhlIF9taW5pbXVtXyBhbW91bnQgb2YgaW5jb21wYXRpYmlsaXR5IHJlcXVpcmVkIHRvIHNvbHZl
IEFMTCBidWdzIHByZXZpb3VzbHkgcmVwb3J0ZWQgd2l0aCBrZXl3b3JkIGFyZ3VtZW50cy4gKCM4
MDQwLCAjODMxNiwgIzk4OTgsICMxMDg1NiwgIzExMjM2LCAjMTE5NjcsICMxMjEwNCwgIzEyNzE3
LCAjMTI4MjEsICMxMzMzNiwgIzEzNjQ3LCAjMTQxMzAsIGV0Yy4pIA0KDQpUaGUgd2FybmluZ3Mg
Zm9yIHRoaXMgd291bGQgYmUgYWJvdXQgYW4gaW1wZW5kaW5nIF9jaGFuZ2Ugb2YgYmVoYXZpb3Jf
IGluIHRoZSBfbmV4dCBydWJ5IHZlcnNpb25fLCB3aGVyZSBgZm9vKHtrOjF9KWAgaXMgbm8gbG9u
Z2VyIGludGVycHJldGVkIGFzIGtleXdvcmQgYXJndW1lbnQuDQoNCiMjIyBTdGVwIDMNCg0KSW50
cm9kdWNlIGFkZGl0aW9uYWwgaW5jb21wYXRpYmlsaXR5IHRvIGltcHJvdmUgY2xhcml0eSBvZiBk
ZXNpZ24uIEhlcmUgd2UgZGVwcmVjYXRlIHRoZSBhdXRvbWF0aWMgY29udmVyc2lvbiBvZiBIYXNo
IHRvIGtleXdvcmQgYXJndW1lbnQ7IG9ubHkgS3dIYXNoIGlzIGFjY2VwdGVkLiBXaXRoIGEgZGVw
cmVjYXRpb24vd2FybmluZyBwaGFzZSwgb2YgY291cnNlLiBUaGUgImF1dG9tYXRpYyIgcHJvbW90
aW9uIG9mIGEgS3dIYXNoIHRvIGEga2V5d29yZCBhcmd1bWVudCBmb2xsb3dzIHRoZSBzYW1lIHJ1
bGVzIGFzIGEgSGFzaCBpbiAyLjY7IHNpbmNlIHRoZSBLd0hhc2ggaXMgY29uY2VwdHVhbGx5IGlu
dGVuZGVkIHRvIHJlcHJlc2VudCBrZXl3b3JkIGFyZ3VtZW50cywgdGhpcyBjb252ZXJzaW9uIG1h
a2VzIHNlbnNlIGluIGEgd2F5IHRoYXQgYSBub3JtYWwgZGF0YSBIYXNoIGRvZXNuJ3QuIFdlJ3Zl
IHRha2VuIHRoZSAibGFzdCBwb3NpdGlvbmFsIGhhc2giIGNvbmNlcHQgYW5kIHNwbGl0IGl0IGlu
dG8gImNvbmNlcHR1YWxseSBhIGhhc2giIGFuZCAiY29uY2VwdHVhbGx5IGtleXdvcmQgYXJndW1l
bnRzIi4gX01vc3QgaW1wb3J0YW50bHlfLCBhbGwgdGhlIGNoYW5nZXMgcmVxdWlyZWQgdG8gc2ls
ZW5jZSB0aGVzZSB3YXJuaW5ncyBhcmUgX2NvbXBhdGlibGUgd2l0aCAyLjZfLg0KDQpgYGBydWJ5
DQpkZWYgZm9vKHgsICoqa3cpOyBlbmQNCmZvbyhrOjEpICAgICAgIyBBcmd1bWVudEVycm9yIGJl
Y2F1c2UgeCBub3Qgc3BlY2lmaWVkDQpmb28oMSwge2s6MX0pICMgQXJndW1lbnRFcnJvciBiZWNh
dXNlIHRvbyBtYW55IGFyZ3VtZW50czsgSGFzaCBjYW5ub3QgYmUgY29udmVydGVkIHRvIEt3SGFz
aHMNCm9wdHMgPSBbazoxXS5maXJzdA0KZm9vKG9wdHMpICAgICAjIG9wdHMgaXMgYSBLd0hhc2gg
dGhlcmVmb3JlIHVzZWQgYXMga2V5d29yZCBhcmd1bWVudDsgQXJndW1lbnRFcnJvciBiZWNhdXNl
IHggbm90IHNwZWNpZmllZA0KZm9vKDEsIG9wdHMpICAjIG9wdHMgaXMgYSBLd0hhc2ggdGhlcmVm
b3JlIHVzZWQgYXMga2V5d29yZCBhcmd1bWVudA0KYGBgDQoNClRoZSB3YXJuaW5ncyBmb3IgdGhp
cyB3b3VsZCBiZSBhYm91dCB1cGNvbWluZyBfZXJyb3JzXyBmb3IgcG9zaXRpb25hbCBhcmd1bWVu
dHM6IGBmb28oeDoxKWAgd2lsbCBiZSAiZ2l2ZW4gMCwgZXhwZWN0ZWQgMSIgYW5kIGBmb28oMSx7
eDoyfSlgIHdpbGwgYmUgImdpdmVuIDIsIGV4cGVjdGVkIDEiLiBTdWNoIGVycm9ycyBhcmUgdXNl
ZnVsIHdoZW4gZGV2ZWxvcGluZywgYnV0IHRoZXJlIGlzIG5vIG5ldyBmdW5jdGlvbmFsaXR5IHBl
ciBzZSwganVzdCBhIHN0cmljdGVyIHN5bnRheC4gU28gaXQncyBsZXNzIGltcG9ydGFudCB0byBl
c2NhbGF0ZSB0byBhbiBlcnJvciBhbmQgd2UgY2FuIGtlZXAgdGhlIHdhcm5pbmdzIGZvciBsb25n
ZXIgdGhhbiBTdGVwIDIuDQoNCkF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBhY2hpZXZlZCBfYWxtb3N0
LWZ1bGxfICoqZHluYW1pYyoqIGtleXdvcmQgc2VwYXJhdGlvbiwgYXMgb3Bwb3NlZCB0byB0aGUg
Y3VycmVudCBfYWxtb3N0LWZ1bGxfICoqc3RhdGljKiogYXBwcm9hY2guIEkgd2FudCB0byBtYWtl
IHRoZSBwb2ludCBoZXJlIHRoYXQsIHllcywga2V5d29yZCBhcmd1bWVudHMgKiphcmUqKiBzZXBh
cmF0ZWQsIGl0J3MganVzdCBhIGRpZmZlcmVudCBwYXJhZGlnbS4gV2l0aCBzdGF0aWMgc2VwYXJh
dGlvbiwgYSBrZXl3b3JkIGFyZ3VtZW50IGlzIGRlZmluZWQgbGV4aWNhbGx5IGJ5IGEgZG91Ymxl
LXNwbGF0LiBXaXRoIGR5bmFtaWMgc2VwYXJhdGlvbiwgYSBrZXl3b3JkIGFyZ3VtZW50IGlzIHdo
ZW4gdGhlIGxhc3QgYXJndW1lbnQgaXMgYSBLd0hhc2guIHt7Tm90ZTogSSdtIHNheWluZyAiYWxt
b3N0LWZ1bGwiIGJlY2F1c2UgS3dIYXNoIGlzIG5vdCBwcm9tb3RlZCB0byBrZXl3b3JkcyBpbiBg
ZGVmIGZvbyhhLCoqa3cpO2VuZDtmb28oeDoxKWAgYW5kIGJlY2F1c2Ugc3RhdGljIGtleXdvcmRz
IGFyZSBhdXRvLWRlbW90ZWQgdG8gcG9zaXRpb25hbCBpbiBgZGVmIGZvbyhhKTtlbmQ7Zm9vKHg6
MSlgfX0NCg0KQW55IGZvcm0gb2YgZGVsZWdhdGlvbiB3b3JrcyB3aXRoIG5vIGNoYW5nZSByZXF1
aXJlZC4gVGhpcyBwcmVzZXJ2ZXMgdGhlIGJlaGF2aW9yIG9mIDIuNiBidXQgb25seSBmb3IgS3dI
YXNoIG9iamVjdHMuIFRoaXMgaXMgc2ltaWxhciB0byBoYXZpbmcgMi43IHdpdGggYHJ1YnkyX2tl
eXdvcmRzYCBlbmFibGVkIGJ5IGRlZmF1bHQuIEJ1dCBhbHNvIGRpZmZlcmVudCBpbiBzb21lIHdh
eXM7IG1vc3Qgbm90YWJseSBpdCBhbGxvd3MgdGhlIGNhc2Ugc2hvd24gaW4gIzE2NDk0IHRvIHdv
cmsgYnkgZGVmYXVsdDoNCg0KYGBgcnVieQ0KYXJyYXkgPSBbeDoxXQ0KYXJyYXkucHVzaCh4OjIp
DQphcnJheS5tYXB7IHx4OnwgeCB9ICM9PiBbMSwyXQ0KW3t4OjN9XS5tYXB7IHx4OnwgeCB9ICM9
PiBidXQgdGhpcyB3YXJucywgYXMgaXQgc2hvdWxkDQpgYGANCg0KVGhlIGN1cnJlbnQgYXBwcm9h
Y2ggZG9lcyBub3QgYWxsb3cgdGhpcyB0byB3b3JrIGF0IGFsbC4gVGhlIHNvbHV0aW9uIHByb3Bv
c2VkIGluICMxNjQ5NCBoYXMgYWxsIHRoZSBzYW1lIGZsYXdzIGFzIEhhc2gtYmFzZWQga2V5d29y
ZCBhcmd1bWVudHM7IHdoYXQgaGFwcGVucyB0byBgZWFjaHsgfHg9bmlsLCoqa3d8IH1gID8gVGhp
cyBzb2x1dGlvbiBhbGxvd3MgYSBLd0hhc2ggdG8gYmUgY29udmVydGVkIHRvLi4uIGtleXdvcmRz
LiBWZXJ5IHVuc3VycHJpc2luZy4NCg0KR2l2ZW4gdGhhdCBydWJ5IGlzIGEgZHluYW1pY2FsbHkt
dHlwZWQgbGFuZ3VhZ2UgSSBmZWVsIHRoYXQgZHluYW1pYyB0eXBpbmcgb2Yga2V5d29yZHMgaWYg
YSBtb3JlIG5hdHVyYWwgZml0IHRoYW4gc3RhdGljIHR5cGluZy4gQnV0IEkgcmVhbGl6ZSB0aGF0
IG1hbnkgZGlzYWdyZWUgd2l0aCB0aGF0LCB3aGljaCBpcyB3aHkgd2UgY29udGludWUgdG8uLi4N
Cg0KIyMjIFN0ZXAgNA0KDQpJbnRyb2R1Y2UgYWRkaXRpb25hbCBpbmNvbXBhdGliaWxpdHkgdG8g
cmVhY2ggc3RhdGljL2xleGljYWwgc2VwYXJhdGlvbiBvZiBrZXl3b3JkIGFyZ3VtZW50cy4gSGVy
ZSB3ZSByZXF1aXJlIHRoYXQgZXZlbiBhIEt3SGFzaCBzaG91bGQgYmUgcGFzc2VkIHdpdGggYSBk
b3VibGUtc3BsYXQgaW4gb3JkZXIgdG8gcXVhbGlmeSBhcyBhIGtleXdvcmQgYXJndW1lbnQuDQoN
CmBgYHJ1YnkNCmRlZiBiYXIoKiprdykNCmVuZA0KZGVmIGZvbygqKmt3KQ0KICBiYXIoa3cpICAg
Iz0+IGVycm9yOyBLd0hhc2ggcGFzc2VkIHdpdGhvdXQgKioNCiAgYmFyKCoqa3cpICM9PiBvaw0K
ZW5kDQpgYGANCg0KQXQgdGhpcyBwb2ludCB3ZSd2ZSByZWFjaGVkIHRoZSBzYW1lIGJlaGF2aW9y
IGFzIDIuNy4gRGVsZWdhdGlvbiBuZWVkcyB0byBiZSBmaXhlZCwgYnV0IGFzIHdlIGtub3cgdGhl
IGNoYW5nZXMgcmVxdWlyZWQgdG8gc2lsZW5jZSB0aGVzZSB3YXJuaW5ncyBhcmUgKipub3QqKiBj
b21wYXRpYmxlIHdpdGggMi42IG9yIDIuNy4gVGhlIHdhcm5pbmdzIGZvciB0aGlzIGFyZSBfZnVu
ZGFtZW50YWxseSBub3QgZml4YWJsZV8gYXMgbG9uZyBhcyBTdGVwIDIgaGFzIG5vdCBiZWVuIGZp
eGVkLiBUaGlzIGlzIHRoZSBjb3JlIHJlYXNvbiB3aHkgYHJ1YnkyX2tleXdvcmRzYCBpcyBjdXJy
ZW50bHkgbmVjZXNzYXJ5IGluIDIuNy4gU28gaW4gdGhlIHZlcnNpb24gYWZ0ZXIgMi43IHdlIGNh
biBlbmFibGUgdGhlc2Ugd2FybmluZ3MgYnkgZGVmYXVsdCBzaW5jZSBpdCdzIG5vdyBwb3NzaWJs
ZSB0byBmaXggZGVsZWdhdGlvbiB0byB1c2Ugc3RhdGljIGtleXdvcmRzLiBFeGNlcHQgdGhhdCBn
ZW0gYXV0aG9ycyB3aG8gbmVlZCB0byBzdGF5IGNvbXBhdGlibGUgd2l0aCDiiaQyLjcgY2Fubm90
IHlldCBtYWtlIHRoZXNlIGNoYW5nZXMsIHNvIHdlIGludHJvZHVjZSBhIHdheSB0byBfc2lsZW5j
ZSAqKm9ubHkqKiB0aGVzZSAiU3RlcCA0IiB3YXJuaW5nc18sIGZvciBwZW9wbGUgd2hvIG5lZWQg
dG8gcmVtYWluIGNvbXBhdGlibGUgd2l0aCDiiaQyLjcuIEFuZCB3ZSBrZWVwIHRoZW0gYXMgd2Fy
bmluZ3MgaW5zdGVhZCBvZiBlcnJvcnMgdW50aWwgcnVieSAyLjcgaXMgRU9MLg0KDQpTbyBpbnN0
ZWFkIG9mIGhhdmluZyB0byB1cGRhdGUgYSBidW5jaCBvZiBwbGFjZXMgd2l0aCBgcnVieTJfa2V5
d29yZHNgIGp1c3QgdG8gdGVtcG9yYXJpbHkgc2lsZW5jZSB3YXJuaW5ncywgaXQncyBhIHNpbmds
ZSBmbGFnIGxpa2UgYFdhcm5pbmdbOnJ1YnkzX2tleXdvcmRzXWAuIE9uY2UgcnVieSAyLjcgaXMg
RU9MIHRoZXNlIGJlY29tZSBjb250cm9sbGVkIGJ5IGBXYXJuaW5nWzpkZXByZWNhdGVkXWAgd2hp
Y2ggdGVsbHMgcGVvcGxlIHRoZXkgKipoYXZlKiogdG8gZml4IHRoZWlyIGNvZGUuIFdoaWNoIGlz
IGp1c3QgbGlrZSB0aGUgZXZlbnR1YWwgZGVwcmVjYXRpb24gb2YgYHJ1YnkyX2tleXdvcmRzYCwg
anVzdCB3aXRob3V0IHRoZSBidXN5IHdvcmsgb2YgYWRkaW5nIGBydWJ5Ml9rZXl3b3Jkc2Agc3Rh
dGVtZW50cyBpbiB0aGUgZmlyc3QgcGxhY2UuIEJ1dCBhZ2FpbiwgdGhpcyBpbnRyb2R1Y2VzIG5v
IG5ldyBmdW5jdGlvbmFsaXR5LCBqdXN0IGEgc3RyaWN0ZXIgc3ludGF4LiBTbyB3ZSBjYW4gcGxh
eSBuaWNlIGFuZCBsZWF2ZSB0aGUgd2FybmluZ3MgZm9yIGEgZmV3IHllYXJzIGJlZm9yZSBjaGFu
Z2luZyB0byBlcnJvcnMuDQoNClRoZSBxdWVzdGlvbiByZW1haW5zIG9mIGhvdyB0byBoYW5kbGUg
IzE2NDk0IGhlcmUuIEVpdGhlciBkaXNhbGxvdyBpdCBlbnRpcmVseSwgYnV0IEkgdGhpbmsgdGhh
dCB3b3VsZCBiZSBhIHNoYW1lLiBPciBqdXN0IGxpa2UgIzE2NDk0IHN1Z2dlc3RzLCBhbGxvdyBo
YXNoIHVucGFja2luZyBpbiBub24tbGFtYmRhIFByb2MuIEV4Y2VwdCB0aGF0IG5vdyBpdCBjYW4g
YmUgYSBLd0hhc2ggaW5zdGVhZCBvZiBhIEhhc2gsIHdoaWNoIGF0IGxlYXN0IHByZXNlcnZlcyBk
eW5hbWljIGtleXdvcmQgc2VwYXJhdGlvbi4NCg0KIyMgUHV0dGluZyBpdCBhbGwgdG9nZXRoZXIg
KFRMO0RSKQ0KDQpUaGUgaWRlYSBpcyBfbm90XyB0byByZWltcGxlbWVudCBrZXl3b3JkIGFyZ3Vt
ZW50IHNlcGFyYXRpb247IGFsbCB0aGF0IGlzIG5lZWRlZCBpcyB0byBpbXBsZW1lbnQgdGhlIHRo
aW5ncyBhYm92ZSB0aGF0IGFyZSBub3QgaW4gMi43Og0KKiBDcmVhdGUgYSBLd0hhc2ggb2JqZWN0
IGZvciBicmFjZS1sZXNzIGFuZCBkb3VibGUtc3BsYXR0ZWQgaGFzaGVzLg0KKiBEaWZmZXJlbnRp
YXRlIHRoZSB2YXJpb3VzIHR5cGVzIG9mIHdhcm5pbmdzIGFuZCBhbGxvdyB0byB0b2dnbGUgb24v
b2ZmIHNlcGFyYXRlbHkNCiAgKiBTdGVwIDIgd2FybmluZ3MgX211c3RfIGJlIGZpeGVkIG5vdzsg
Y2Fubm90IHRvZ2dsZSBvZmYNCiAgKiBTdGVwIDMgd2FybmluZ3MgX3Nob3VsZF8gYmUgZml4ZWQg
bm93IGJ1dCB5b3UgZG9uJ3QgYWJzb2x1dGVseSBuZWVkIHRvIHVwZ3JhZGUgeW91ciBnZW1zIGp1
c3QgZm9yIHRoYXQNCiAgKiBTdGVwIDQgd2FybmluZ3MgX3Nob3VsZF8gYmUgZml4ZWQgaW4gbmV4
dCB2ZXJzaW9uIHVubGVzcyB5b3UgbmVlZCB0byBzdXBwb3J0IOKJpDIuNw0KDQpJIHRoaW5rIHRo
YXQncyBhbGwsIHJlYWxseS4uLg0KDQojIyMgUHJvcw0KKiBDbGVhbmVyIHdheSB0byBzb2x2ZSAj
MTY0OTQNCiogQmV0dGVyIGNvbXBhdGliaWxpdHkgKGF0IGxlYXN0IHVudGlsIDIuNiBpcyBFT0wp
DQogICAqIGRlbGVnYXRpb24NCiAgICogc3RvcmluZyBhbiBhcmd1bWVudCBsaXN0IHRoYXQgZW5k
cyB3aXRoIGEgS3dIYXNoDQogICAqIGRlc3RydWN0dXJpbmcgaXRlcmF0aW9uICgjMTY0OTQpDQoq
IFdlIGNhbiBhdm9pZCB0aGUgInVuZm9ydHVuYXRlIGNvcm5lciBjYXNlIiBhcyBkZXNjcmliZWQg
aW4gdGhlIFtyZWxlYXNlIG5vdGVzXShodHRwczovL3d3dy5ydWJ5LWxhbmcub3JnL2VuL25ld3Mv
MjAxOS8xMi8xMi9zZXBhcmF0aW9uLW9mLXBvc2l0aW9uYWwtYW5kLWtleXdvcmQtYXJndW1lbnRz
LWluLXJ1YnktMy0wLykNCiAgICogaW4gMi43IG9ubHkgZG8gbm90IG91dHB1dCAiU3RlcCA0IiB3
YXJuaW5ncywgbGVhdmUgZGVsZWdhdGlvbiBsaWtlIGl0IHdhcw0KICAgKiBpbiAyLjggdGhlICJT
dGVwIDMiIHdhcm5pbmdzIGhhdmUgYmVlbiBmaXhlZCBhbmQgYSBIYXNoIHdpbGwgbm90IGJlIGNv
bnZlcnRlZCB0byBrZXl3b3JkIGFyZ3VtZW50cw0KICAgKiBkZWxlZ2F0aW9uIGNhbiBub3cgc2Fm
ZWx5IGJlIGZpeGVkIHRvIHVzZSB0aGUgYCoqYCBzeW50YXgNCiogcnVieTJfa2V5d29yZHMgaXMg
bm90IHJlcXVpcmVkLCB3aGljaCBpcyBkZXNpcmFibGUgYmVjYXVzZQ0KICAgKiBpdCdzIGEgaGlk
ZGVuIGZsYWcgX2hhY2tfDQogICAqIGl0IHJlcXVpcmVzIHRvIGNoYW5nZSB0aGUgY29kZSBub3cs
IGFuZCBjaGFuZ2UgaXQgX2FnYWluXyB3aGVuIHJ1YnkyX2tleXdvcmRzIGlzIGRlcHJlY2F0ZWQ7
IHR3aWNlIHRoZSB3b3JrOyB0d2ljZSB0aGUgZ2VtIHVwZ3JhZGVzDQogICAqIGl0IHdhcyBzdXBw
b3NlZCB0byBiZSB1c2VkIG9ubHkgZm9yIHBlb3BsZSB3aG8gbmVlZCB0byBzdXBwb3J0IDIuNiBv
ciBiZWxvdywgYnV0IGl0J3MgYmVpbmcgbWlzdW5kZXJzdG9vZCBhcyBhbiBhY2NlcHRhYmxlIHdh
eSB0byBmaXggZGVsZWdhdGlvbiBpbiBnZW5lcmFsDQogICAqIHRoZXJlJ3MgdGhlIG5vbi16ZXJv
IHJpc2sgdGhhdCBydWJ5Ml9rZXl3b3JkcyB3aWxsIG5ldmVyIGJlIHJlbW92ZWQsIGxlYXZpbmcg
dXMgd2l0aCBhIHBlcm1hbmVudCAiaGFjayBtb2RlIg0KICAgICAgKiBkeW5hbWljIGtleXdvcmRz
IGFyZSBieSBmYXIgcHJlZmVyYWJsZSB0byBzdXBwb3J0aW5nIHJ1YnkyX2tleXdvcmRzIGZvcmV2
ZXINCiogTGlrZWx5IF9iZXR0ZXIgcGVyZm9ybWFuY2VfLCBhcyB0aGUgS3dIYXNoIGNsYXNzIGNh
biBiZSBvcHRpbWl6ZWQgc3BlY2lmaWNhbGx5IGZvciB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIGtl
eXdvcmQgYXJndW1lbnRzLg0KKiBNb3JlIGZsZXhpYmxlIG1pZ3JhdGlvbg0KICAgKiBBbGxvdyBt
b3JlIHRpbWUgdG8gdXBncmFkZSB0aGUgaGFyZCBzdHVmZiBpbiBTdGVwIDQNCiAgICogQ2FuIHJl
YWNoIHRoZSBfc2FtZV8gZ29hbCBhcyB0aGUgY3VycmVudCBzdGF0aWMgYXBwcm9hY2gNCiAgICog
TGFyZ2VyICJzdXBwb3J0IHpvbmUiIGh0dHBzOi8veGtjZC5jb20vMjIyNC8NCiAgICogSW5zdGVh
ZCBvZiB3aWRlLXJhbmdpbmcgaW5jb21wYXRpYmlsaXRpZXMgYWxsIGF0IG9uY2UsIHRoZXJlJ3Mg
dGhlIF9wb3NzaWJpbGl0eV8gb2YgbWFraW5nIGl0IGZpbmVyLWdyYWluZWQgYW5kIG1vcmUgZ3Jh
ZHVhbA0KICAgICAgKiBydWJ5aXN0cyBjYW4gX2Nob29zZV8gdG8gbWlncmF0ZSBhbGwgYXQgb25j
ZSBvciBpbiBzbWFsbGVyIGNodW5rcw0KICAgKiBJdCBoZWRnZXMgdGhlIHJpc2tzIGJ5IGtlZXBp
bmcgbW9yZSBwb3NzaWJpbGl0aWVzIG9wZW4gZm9yIG5vdy4NCiAgICogSXQgYWxsb3dzIHRvIGNv
cC1vdXQgYXQgU3RlcCAzIGlmIFN0ZXAgNCB0dXJucyBvdXQgdG9vIGhhcmQgYmVjYXVzZSBpdCBi
cmVha3MgdG9vIG11Y2ggc3R1ZmYNCg0KIyMjIENvbnMNCiogSXQgYWxsb3dzIHRvIGNvcC1vdXQg
YXQgU3RlcCAzIGlmIFN0ZXAgNCB0dXJucyBvdXQgdG9vIGhhcmQgYmVjYXVzZSBpdCBicmVha3Mg
dG9vIG11Y2ggc3R1ZmYNCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8N
CgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1
YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21h
aWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next