[#97063] [Ruby master Bug#16608] ConditionVariable#wait should return false when timeout exceeded — shugo@...

Issue #16608 has been reported by shugo (Shugo Maeda).

10 messages 2020/02/05

[#97084] [Ruby master Feature#16614] New method cache mechanism for Guild — ko1@...

Issue #16614 has been reported by ko1 (Koichi Sasada).

18 messages 2020/02/07

[#97248] [Ruby master Bug#16651] Extensions Do Not Compile on Mingw64 — cfis@...

Issue #16651 has been reported by cfis (Charlie Savage).

17 messages 2020/02/24

[#97289] [Ruby master Bug#16658] `method__cache__clear` DTrace hook was dropped without replacement — v.ondruch@...

Issue #16658 has been reported by vo.x (Vit Ondruch).

9 messages 2020/02/27

[#97307] [Ruby master Feature#16663] Add block or filtered forms of Kernel#caller to allow early bail-out — headius@...

Issue #16663 has been reported by headius (Charles Nutter).

29 messages 2020/02/28

[#97310] [Ruby master Feature#16665] Add an Array#except_index method — alexandr1golubenko@...

Issue #16665 has been reported by alex_golubenko (Alex Golubenko).

12 messages 2020/02/29

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

From: eregontp@...
Date: 2020-02-23 14:24:46 UTC
List: ruby-core #97244
SXNzdWUgIzE2NTExIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N
Cg0KDQpUaGFua3MgZm9yIHdyaXRpbmcgdGhhdCBvdXQuDQoNCkkgdGhpbmsgaW4gZ2VuZXJhbCB0
cmFja2luZyB3aGV0aGVyIGEgSGFzaCBpcyBrZXl3b3JkcyBvciBwb3NpdGlvbmFsIGR5bmFtaWNh
bGx5IG1ha2VzIGV2ZXJ5dGhpbmcgY29tcGxpY2F0ZWQuDQpMb25nLXRlcm0sIEkgdGhpbmsgaXQn
cyBjbGVhciB3ZSB3YW50IHRvIGtub3cgc3ludGFjdGljYWxseSB3aGV0aGVyIGEgSGFzaCBpcyBr
ZXl3b3JkIGFyZ3VtZW50cyBvciBwb3NpdGlvbmFsLg0KQW55dGhpbmcgdGhhdCBnb2VzIGFnYWlu
c3QgdGhhdCBsb25nIHRlcm0gSU1ITyBicmVha3MgdGhlIHNlcGFyYXRpb24gYW5kIG1ha2VzIHRo
ZSBzZXBhcmF0aW9uIHByZXR0eSBtb290Lg0KSSB0aGluayBpdCdzIHZlcnkgaW1wb3J0YW50IHRv
IGhhdmUgdGhhdCBzeW50YWN0aWNhbCBzZXBhcmF0aW9uLCBvdGhlcndpc2Ugb25lIGNhbm5vdCB1
bmRlcnN0YW5kIHRoZSBiZWhhdmlvciBvZiBjYWxsaW5nIGEgbWV0aG9kIGp1c3QgYmUgbG9va2lu
ZyBhdCBjYWxsZXIgYW5kIGNhbGxlZSwgd2hpY2ggd291bGQgYmUgYSB2ZXJ5IGxhcmdlIGlzc3Vl
IGZvciBub24tdHJpdmlhbCBjb2RlYmFzZXMuDQpGb3IgdGhhdCByZWFzb24sIEknbSBhZ2FpbnN0
IGFueXRoaW5nIG1vcmUgZHluYW1pYyB0aGFuIGluIDIuNy4wIGFuZCBgcnVieTJfa2V5d29yZHNg
Lg0KDQpGcm9tIG15IHVuZGVyc3RhbmRpbmcgb2YgdGhpcyBwcm9wb3NhbCwgaXQncyBtb3JlIGR5
bmFtaWMsIHNvIEknbSBhZ2FpbnN0IGl0Lg0KRGVzdHJ1Y3Rpb24gaXRlcmF0aW9uIGFzIHlvdSBw
cm9wb3NlIHJlbGllcyBvbiBkeW5hbWljIHRyYWNraW5nIG9mIGtleXdvcmRzIHZzIHBvc2l0aW9u
YWwsIHNvIGZvciBtZSB0aGF0J3MgYSBiaWcgbm8tbm8sIGFzIGl0IHdpbGwgaGF2ZSB0byBicmVh
ayB0byBoYXZlIGEgc3ludGFjdGljYWwgc2VwYXJhdGlvbi4NCg0KVGhhdCdzIGFsc28gd2h5IEkg
aGF2ZSBiZWVuIGFnYWluc3QgYHJ1YnkyX2tleXdvcmRzYCBmcm9tIHRoZSBzdGFydCwgYW5kIHdp
c2ggd2Ugd291bGQgb25seSB1c2Ugc3ludGFjdGljIHdheXMgdG8gZGVsZWdhdGUgKGUuZy4sIG9u
bHkgKmFyZ3MgaW4gdGhlIHNhbWUgbWV0aG9kcyBwYXNzZXMgdGhlIGt3YXJncyBhcy1pcywgb3Ig
YC4uLmApLg0KSG93ZXZlciwgc2luY2UgYHJ1YnkyX2tleXdvcmRzYCBpcyB0aGVyZSBhbmQgaXQg
c2VlbXMgdG8gYmUgdGhlIG9ubHkgcmVhc29uYWJsZSB3YXkgbm93IHRvIHByZXNlcnZlIGRlbGVn
YXRpb24gaW4gMi43IChpbiB0ZXJtcyBvZiBhbW91bnQgb2YgY2hhbmdlcyBhbmQgcmlzayksDQpJ
IHRoaW5rIGl0IG1ha2VzIHNlbnNlIHRvIGJlIHRoZSBkZWZhdWx0LCBzbyBgKmFyZ3NgLWRlbGVn
YXRpb24gc3RpbGwgd29ya3MgYW5kIHRoZXJlIGlzIHN0aWxsIGFuIGludHVpdGl2ZSBzeW50YXgg
dG8gZG8gZGVsZWdhdGlvbiBpbiBhIGNvbXBhdGlibGUgd2F5IHdpdGggZWFybGllciB2ZXJzaW9u
cy4NCg0KYCphcmdzYCBpcyBub3QgcGVyZmVjdCBidXQgaXQncyB0aGUgYmVzdCBwYXR0ZXJuIHdl
IGhhdmUgdG8gY2FwdHVyZSBkZWxlZ2F0aW9uIEFGQUlLLg0KSWYgbm90aGluZyBicmVha3MgaW4g
UmFpbHMgZHVlIHRvIGFkZGluZyBgcnVieTJfa2V5d29yZHNgIHNlbWFudGljcyB0byBgKmFyZ3Ng
IGl0J3MgYSBnb29kIHNpZ24gaXQncyBlaXRoZXIgdXNlZCBmb3IgZGVsZWdhdGlvbiwgb3IgaW4g
YSB3YXkgYHJ1YnkyX2tleXdvcmRzYCBkb2Vzbid0IGJyZWFrIGFueXRoaW5nLg0KDQpNaW5pbXVt
IGFyaXR5IG1pZ2h0IGJlIHNvbWV0aGluZyB0byBoZWxwIHRyYW5zaXRpb24sIGJ1dCBsb25nLXRl
cm0gZm9yIHN5bnRhY3RpY2FsIHNlcGFyYXRpb24gaXQgaGFzIHRvIGJlIHJlbW92ZWQgYXMgd2Vs
bCAoZS5nLiwgc3ludGFjdGljIGt3YXJncyBwYXNzZWQgdG8gYSBtZXRob2QgYWNjZXB0aW5nIGt3
YXJncyBzaG91bGQgZWl0aGVyIGJlIHBhc3NlZCBhcyBrd2FyZ3Mgb3IgQXJndW1lbnRFcnJvciwg
bm8gInRyZWF0IGFzIHBvc2l0aW9uYWwgYmVjYXVzZSBub3QgZW5vdWdoIGFyZ3VtZW50cyIpLCBz
byBJIHRoaW5rIGl0IHNob3VsZG4ndCBzdGF5IGFueSBsb25nZXIgdGhhbiBuZWVkZWQuDQpSdWxl
cyByZWxhdGVkIHRvIG1pbmltdW0gYXJpdHkgaXMgYnJvdWdodCB0aGlzIHdob2xlIGFtYmlndWl0
eSBiZXR3ZWVuIHBvc2l0aW9uYWwgYW5kIGtleXdvcmQgYXJndW1lbnRzIGluIHRoZSBmaXJzdCBw
bGFjZS4NCg0KSW4gZ2VuZXJhbCwgSSBkb3VidCBzdWNoIGEgbGFyZ2UgY2hhbmdlIHdvdWxkIGV2
ZW4gYmUgY29uc2lkZXJlZCBmb3IgMi43IG9yIGxhdGVyIGJ5IG1vc3QgTVJJIGNvbW1pdHRlcnMs
IGJlY2F1c2UgaXQgd291bGQgYmUgYSBiaWcgcmlzay4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMTY1MTE6IFN0YWdlZCB3YXJuaW5ncyBhbmQg
YmV0dGVyIGNvbXBhdGliaWxpdHkgZm9yIGtleXdvcmQgYXJndW1lbnRzIGluIDIuNy4xDQpodHRw
czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTY1MTEjY2hhbmdlLTg0MzU2DQoNCiogQXV0
aG9yOiBEYW4wMDQyIChEYW5pZWwgRGVMb3JtZSkNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5
OiBOb3JtYWwNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkFzIGFu
IGFsdGVybmF0aXZlIHRvICMxNjQ2MyBhbmQgIzE2NDk0IEknZCBsaWtlIHRvIHByb3Bvc2UgdGhp
cyBhcHByb2FjaCwgd2hpY2ggSSBiZWxpZXZlIGFsbG93cyBhICoqbXVjaCoqIG1vcmUgZmxleGli
bGUgcGF0aCBmb3IgbWlncmF0aW9uIG9mIGtleXdvcmQgYXJndW1lbnRzLg0KDQpUaGUgaWRlYSBp
cyB0byBpbmRpY2F0ZSBmb3IgZXZlcnkgSGFzaCBvYmplY3QgaWYgaXQncyBpbnRlbmRlZCB0byBy
ZXByZXNlbnQgYSBfa2V5d29yZF8gaGFzaCBvciBhIF9kYXRhXyBoYXNoLiBUaGlzIGV4dHJhIGlu
Zm9ybWF0aW9uIGlzIHRoZW4gdXNlZCB0byBnZW5lcmF0ZSBtb3JlIGdyYW51bGFyIHdhcm5pbmdz
IGRlcGVuZGluZyBvbiBhIHVzZXIncyBjb21wYXRpYmlsaXR5IG5lZWRzLg0KDQpUaGUgImtleXdv
cmRuZXNzIiBvZiBhIGhhc2ggd291bGQgYmUgaW5kaWNhdGVkIGJ5IGEgKipmbGFnKiogb24gdGhl
IEhhc2ggb2JqZWN0OyB0aGlzIGlzIGFscmVhZHkgaW1wbGVtZW50ZWQgaW4gMi43IGFuZCBpcyB0
aGUgYXBwcm9hY2ggZmF2b3JlZCBieSBNYXR6LiBMZXQncyBjYWxsIHRoaXMgZmxhZ2dlZCBoYXNo
IGEgIkt3SGFzaCIsIGFuZCBhIG5vbi1mbGFnZ2VkIGhhc2ggaXMganVzdCBhICJIYXNoIi4gTm90
ZTogdGhpcyBjb3VsZCBhbHNvIGJlIGltcGxlbWVudGVkIHZpYSBhICoqc3ViY2xhc3MqKiBvZiBI
YXNoIChJIHBlcnNvbmFsbHkgZmF2b3IgdGhpcyBvYmplY3Qtb3JpZW50ZWQgYXBwcm9hY2gpIHdo
aWNoIHdhcyB0aGUgb3JpZ2luYWwgaWRlYSBpbiB0aGlzIHByb3Bvc2FsLg0KDQpJJ2xsIHRyeSB0
byBkZXNjcmliZSB0aGUgaWRlYSBpbiBkZXRhaWwgYnkgYnJlYWtpbmcgaXQgZG93biBpbnRvIGZp
Z3VyYXRpdmUgc3RlcHMuIChTa2lwIHRvICJQdXR0aW5nIGl0IGFsbCB0b2dldGhlciIgZm9yIHRo
ZSBUTDtEUiB2ZXJzaW9uLikgSW1hZ2luZSBzdGFydGluZyB3aXRoIHJ1YnkgMi42IGFuZCB0aGVu
Og0KDQojIyMgU3RlcCAxDQoNCldoZW4gYSBkb3VibGUtc3BsYXQgb3IgYSBicmFjZS1sZXNzIGhh
c2ggaXMgdXNlZCwgaW5zdGVhZCBvZiBhIEhhc2ggaXQgY3JlYXRlcyBhIEt3SGFzaC4NCg0KYGBg
cnVieQ0KZGVmIGZvbyh4KSB4IGVuZA0KZm9vKGs6MSkuY2xhc3MgICAgICAjPT4gS3dIYXNoDQpm
b28oKipoYXNoKS5jbGFzcyAgICM9PiBLd0hhc2gNCltrOjFdLmxhc3QuY2xhc3MgICAgIz0+IEt3
SGFzaA0KWyoqaGFzaF0ubGFzdC5jbGFzcyAjPT4gS3dIYXNoDQp7KipoYXNofS5jbGFzcyAgICAg
ICM9PiBIYXNoDQpgYGANCg0KQXQgdGhpcyBwb2ludCB3ZSBoYXZlbid0IGludHJvZHVjZWQgYW55
IHJlYWwgY2hhbmdlLiBFdmVyeXRoaW5nIHRoYXQgd29ya2VkIGJlZm9yZSBpcyBzdGlsbCB3b3Jr
aW5nIHRoZSBzYW1lIHdheS4NCihXaXRoIGEgbWlub3IgZXhjZXB0aW9uIGlmIHVzaW5nIHRoZSBz
dWJjbGFzcyBhcHByb2FjaDogdW51c3VhbCBjb2RlIGxpa2UgYGt3LmNsYXNzID09IEhhc2hgIHdv
dWxkIG5vdyByZXR1cm4gZmFsc2UuKQ0KDQojIyMgU3RlcCAyDQoNCldoZW4gdGhlcmUgaXMgYW1i
aWd1aXR5IGR1ZSB0byBvcHRpb25hbCB2cyBrZXl3b3JkIGFyZ3VtZW50LCB3ZSByZWx5IG9uIHRo
ZSBsYXN0IGFyZ3VtZW50IGJlaW5nIEhhc2ggb3IgS3dIYXNoIHRvIGRpc2FtYmlndWF0ZS4NCg0K
YGBgcnVieQ0KZGVmIGZvbyh4PW5pbCwgKiprdykNCiAgW3gsa3ddDQplbmQNCmZvbyh7azoxfSkg
Iz0+IFt7azoxfSx7fV0NCmZvbyhrOjEpICAgIz0+IFtuaWwse2s6MX1dDQpgYGANCg0KVGhpcyBp
cyB0aGUgX21pbmltdW1fIGFtb3VudCBvZiBpbmNvbXBhdGliaWxpdHkgcmVxdWlyZWQgdG8gc29s
dmUgQUxMIGJ1Z3MgcHJldmlvdXNseSByZXBvcnRlZCB3aXRoIGtleXdvcmQgYXJndW1lbnRzLiAo
IzgwNDAsICM4MzE2LCAjOTg5OCwgIzEwODU2LCAjMTEyMzYsICMxMTk2NywgIzEyMTA0LCAjMTI3
MTcsICMxMjgyMSwgIzEzMzM2LCAjMTM2NDcsICMxNDEzMCwgZXRjLikgDQoNClRoZSB3YXJuaW5n
cyBmb3IgdGhpcyB3b3VsZCBiZSBhYm91dCBhbiBpbXBlbmRpbmcgX2NoYW5nZSBvZiBiZWhhdmlv
cl8gaW4gdGhlIF9uZXh0IHJ1YnkgdmVyc2lvbl8sIHdoZXJlIGBmb28oe2s6MX0pYCBpcyBubyBs
b25nZXIgaW50ZXJwcmV0ZWQgYXMga2V5d29yZCBhcmd1bWVudC4NCg0KIyMjIFN0ZXAgMw0KDQpJ
bnRyb2R1Y2UgYWRkaXRpb25hbCBpbmNvbXBhdGliaWxpdHkgdG8gaW1wcm92ZSBjbGFyaXR5IG9m
IGRlc2lnbi4gSGVyZSB3ZSBkZXByZWNhdGUgdGhlIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIEhh
c2ggdG8ga2V5d29yZCBhcmd1bWVudDsgb25seSBLd0hhc2ggaXMgYWNjZXB0ZWQuIFdpdGggYSBk
ZXByZWNhdGlvbi93YXJuaW5nIHBoYXNlLCBvZiBjb3Vyc2UuIFRoZSAiYXV0b21hdGljIiBwcm9t
b3Rpb24gb2YgYSBLd0hhc2ggdG8gYSBrZXl3b3JkIGFyZ3VtZW50IGZvbGxvd3MgdGhlIHNhbWUg
cnVsZXMgYXMgYSBIYXNoIGluIDIuNjsgc2luY2UgdGhlIEt3SGFzaCBpcyBjb25jZXB0dWFsbHkg
aW50ZW5kZWQgdG8gcmVwcmVzZW50IGtleXdvcmQgYXJndW1lbnRzLCB0aGlzIGNvbnZlcnNpb24g
bWFrZXMgc2Vuc2UgaW4gYSB3YXkgdGhhdCBhIG5vcm1hbCBkYXRhIEhhc2ggZG9lc24ndC4gV2Un
dmUgdGFrZW4gdGhlICJsYXN0IHBvc2l0aW9uYWwgaGFzaCIgY29uY2VwdCBhbmQgc3BsaXQgaXQg
aW50byAiY29uY2VwdHVhbGx5IGEgaGFzaCIgYW5kICJjb25jZXB0dWFsbHkga2V5d29yZCBhcmd1
bWVudHMiLiBfTW9zdCBpbXBvcnRhbnRseV8sIGFsbCB0aGUgY2hhbmdlcyByZXF1aXJlZCB0byBz
aWxlbmNlIHRoZXNlIHdhcm5pbmdzIGFyZSBfY29tcGF0aWJsZSB3aXRoIDIuNl8uDQoNCmBgYHJ1
YnkNCmRlZiBmb28oeCwgKiprdyk7IGVuZA0KZm9vKGs6MSkgICAgICAjIEFyZ3VtZW50RXJyb3Ig
YmVjYXVzZSB4IG5vdCBzcGVjaWZpZWQNCmZvbygxLCB7azoxfSkgIyBBcmd1bWVudEVycm9yIGJl
Y2F1c2UgdG9vIG1hbnkgYXJndW1lbnRzOyBIYXNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gS3dI
YXNocw0Kb3B0cyA9IFtrOjFdLmZpcnN0DQpmb28ob3B0cykgICAgICMgb3B0cyBpcyBhIEt3SGFz
aCB0aGVyZWZvcmUgdXNlZCBhcyBrZXl3b3JkIGFyZ3VtZW50OyBBcmd1bWVudEVycm9yIGJlY2F1
c2UgeCBub3Qgc3BlY2lmaWVkDQpmb28oMSwgb3B0cykgICMgb3B0cyBpcyBhIEt3SGFzaCB0aGVy
ZWZvcmUgdXNlZCBhcyBrZXl3b3JkIGFyZ3VtZW50DQpgYGANCg0KVGhlIHdhcm5pbmdzIGZvciB0
aGlzIHdvdWxkIGJlIGFib3V0IHVwY29taW5nIF9lcnJvcnNfIGZvciBwb3NpdGlvbmFsIGFyZ3Vt
ZW50czogYGZvbyh4OjEpYCB3aWxsIGJlICJnaXZlbiAwLCBleHBlY3RlZCAxIiBhbmQgYGZvbygx
LHt4OjJ9KWAgd2lsbCBiZSAiZ2l2ZW4gMiwgZXhwZWN0ZWQgMSIuIFN1Y2ggZXJyb3JzIGFyZSB1
c2VmdWwgd2hlbiBkZXZlbG9waW5nLCBidXQgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkg
cGVyIHNlLCBqdXN0IGEgc3RyaWN0ZXIgc3ludGF4LiBTbyBpdCdzIGxlc3MgaW1wb3J0YW50IHRv
IGVzY2FsYXRlIHRvIGFuIGVycm9yIGFuZCB3ZSBjYW4ga2VlcCB0aGUgd2FybmluZ3MgZm9yIGxv
bmdlciB0aGFuIFN0ZXAgMi4NCg0KQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGFjaGlldmVkIF9hbG1v
c3QtZnVsbF8gKipkeW5hbWljKioga2V5d29yZCBzZXBhcmF0aW9uLCBhcyBvcHBvc2VkIHRvIHRo
ZSBjdXJyZW50IF9hbG1vc3QtZnVsbF8gKipzdGF0aWMqKiBhcHByb2FjaC4gSSB3YW50IHRvIG1h
a2UgdGhlIHBvaW50IGhlcmUgdGhhdCwgeWVzLCBrZXl3b3JkIGFyZ3VtZW50cyAqKmFyZSoqIHNl
cGFyYXRlZCwgaXQncyBqdXN0IGEgZGlmZmVyZW50IHBhcmFkaWdtLiBXaXRoIHN0YXRpYyBzZXBh
cmF0aW9uLCBhIGtleXdvcmQgYXJndW1lbnQgaXMgZGVmaW5lZCBsZXhpY2FsbHkgYnkgYSBkb3Vi
bGUtc3BsYXQuIFdpdGggZHluYW1pYyBzZXBhcmF0aW9uLCBhIGtleXdvcmQgYXJndW1lbnQgaXMg
d2hlbiB0aGUgbGFzdCBhcmd1bWVudCBpcyBhIEt3SGFzaC4ge3tOb3RlOiBJJ20gc2F5aW5nICJh
bG1vc3QtZnVsbCIgYmVjYXVzZSBLd0hhc2ggaXMgbm90IHByb21vdGVkIHRvIGtleXdvcmRzIGlu
IGBkZWYgZm9vKGEsKiprdyk7ZW5kO2Zvbyh4OjEpYCBhbmQgYmVjYXVzZSBzdGF0aWMga2V5d29y
ZHMgYXJlIGF1dG8tZGVtb3RlZCB0byBwb3NpdGlvbmFsIGluIGBkZWYgZm9vKGEpO2VuZDtmb28o
eDoxKWB9fQ0KDQpBbnkgZm9ybSBvZiBkZWxlZ2F0aW9uIHdvcmtzIHdpdGggbm8gY2hhbmdlIHJl
cXVpcmVkLiBUaGlzIHByZXNlcnZlcyB0aGUgYmVoYXZpb3Igb2YgMi42IGJ1dCBvbmx5IGZvciBL
d0hhc2ggb2JqZWN0cy4gVGhpcyBpcyBzaW1pbGFyIHRvIGhhdmluZyAyLjcgd2l0aCBgcnVieTJf
a2V5d29yZHNgIGVuYWJsZWQgYnkgZGVmYXVsdC4gQnV0IGFsc28gZGlmZmVyZW50IGluIHNvbWUg
d2F5czsgbW9zdCBub3RhYmx5IGl0IGFsbG93cyB0aGUgY2FzZSBzaG93biBpbiAjMTY0OTQgdG8g
d29yayBieSBkZWZhdWx0Og0KDQpgYGBydWJ5DQphcnJheSA9IFt4OjFdDQphcnJheS5wdXNoKHg6
MikNCmFycmF5Lm1hcHsgfHg6fCB4IH0gIz0+IFsxLDJdDQpbe3g6M31dLm1hcHsgfHg6fCB4IH0g
Iz0+IGJ1dCB0aGlzIHdhcm5zLCBhcyBpdCBzaG91bGQNCmBgYA0KDQpUaGUgY3VycmVudCBhcHBy
b2FjaCBkb2VzIG5vdCBhbGxvdyB0aGlzIHRvIHdvcmsgYXQgYWxsLiBUaGUgc29sdXRpb24gcHJv
cG9zZWQgaW4gIzE2NDk0IGhhcyBhbGwgdGhlIHNhbWUgZmxhd3MgYXMgSGFzaC1iYXNlZCBrZXl3
b3JkIGFyZ3VtZW50czsgd2hhdCBoYXBwZW5zIHRvIGBlYWNoeyB8eD1uaWwsKiprd3wgfWAgPyBU
aGlzIHNvbHV0aW9uIGFsbG93cyBhIEt3SGFzaCB0byBiZSBjb252ZXJ0ZWQgdG8uLi4ga2V5d29y
ZHMuIFZlcnkgdW5zdXJwcmlzaW5nLg0KDQpHaXZlbiB0aGF0IHJ1YnkgaXMgYSBkeW5hbWljYWxs
eS10eXBlZCBsYW5ndWFnZSBJIGZlZWwgdGhhdCBkeW5hbWljIHR5cGluZyBvZiBrZXl3b3JkcyBp
ZiBhIG1vcmUgbmF0dXJhbCBmaXQgdGhhbiBzdGF0aWMgdHlwaW5nLiBCdXQgSSByZWFsaXplIHRo
YXQgbWFueSBkaXNhZ3JlZSB3aXRoIHRoYXQsIHdoaWNoIGlzIHdoeSB3ZSBjb250aW51ZSB0by4u
Lg0KDQojIyMgU3RlcCA0DQoNCkludHJvZHVjZSBhZGRpdGlvbmFsIGluY29tcGF0aWJpbGl0eSB0
byByZWFjaCBzdGF0aWMvbGV4aWNhbCBzZXBhcmF0aW9uIG9mIGtleXdvcmQgYXJndW1lbnRzLiBI
ZXJlIHdlIHJlcXVpcmUgdGhhdCBldmVuIGEgS3dIYXNoIHNob3VsZCBiZSBwYXNzZWQgd2l0aCBh
IGRvdWJsZS1zcGxhdCBpbiBvcmRlciB0byBxdWFsaWZ5IGFzIGEga2V5d29yZCBhcmd1bWVudC4N
Cg0KYGBgcnVieQ0KZGVmIGJhcigqKmt3KQ0KZW5kDQpkZWYgZm9vKCoqa3cpDQogIGJhcihrdykg
ICAjPT4gZXJyb3I7IEt3SGFzaCBwYXNzZWQgd2l0aG91dCAqKg0KICBiYXIoKiprdykgIz0+IG9r
DQplbmQNCmBgYA0KDQpBdCB0aGlzIHBvaW50IHdlJ3ZlIHJlYWNoZWQgdGhlIHNhbWUgYmVoYXZp
b3IgYXMgMi43LiBEZWxlZ2F0aW9uIG5lZWRzIHRvIGJlIGZpeGVkLCBidXQgYXMgd2Uga25vdyB0
aGUgY2hhbmdlcyByZXF1aXJlZCB0byBzaWxlbmNlIHRoZXNlIHdhcm5pbmdzIGFyZSAqKm5vdCoq
IGNvbXBhdGlibGUgd2l0aCAyLjYgb3IgMi43LiBUaGUgd2FybmluZ3MgZm9yIHRoaXMgYXJlIF9m
dW5kYW1lbnRhbGx5IG5vdCBmaXhhYmxlXyBhcyBsb25nIGFzIFN0ZXAgMiBoYXMgbm90IGJlZW4g
Zml4ZWQuIFRoaXMgaXMgdGhlIGNvcmUgcmVhc29uIHdoeSBgcnVieTJfa2V5d29yZHNgIGlzIGN1
cnJlbnRseSBuZWNlc3NhcnkgaW4gMi43LiBTbyBpbiB0aGUgdmVyc2lvbiBhZnRlciAyLjcgd2Ug
Y2FuIGVuYWJsZSB0aGVzZSB3YXJuaW5ncyBieSBkZWZhdWx0IHNpbmNlIGl0J3Mgbm93IHBvc3Np
YmxlIHRvIGZpeCBkZWxlZ2F0aW9uIHRvIHVzZSBzdGF0aWMga2V5d29yZHMuIEV4Y2VwdCB0aGF0
IGdlbSBhdXRob3JzIHdobyBuZWVkIHRvIHN0YXkgY29tcGF0aWJsZSB3aXRoIOKJpDIuNyBjYW5u
b3QgeWV0IG1ha2UgdGhlc2UgY2hhbmdlcywgc28gd2UgaW50cm9kdWNlIGEgd2F5IHRvIF9zaWxl
bmNlICoqb25seSoqIHRoZXNlICJTdGVwIDQiIHdhcm5pbmdzXywgZm9yIHBlb3BsZSB3aG8gbmVl
ZCB0byByZW1haW4gY29tcGF0aWJsZSB3aXRoIOKJpDIuNy4gQW5kIHdlIGtlZXAgdGhlbSBhcyB3
YXJuaW5ncyBpbnN0ZWFkIG9mIGVycm9ycyB1bnRpbCBydWJ5IDIuNyBpcyBFT0wuDQoNClNvIGlu
c3RlYWQgb2YgaGF2aW5nIHRvIHVwZGF0ZSBhIGJ1bmNoIG9mIHBsYWNlcyB3aXRoIGBydWJ5Ml9r
ZXl3b3Jkc2AganVzdCB0byB0ZW1wb3JhcmlseSBzaWxlbmNlIHdhcm5pbmdzLCBpdCdzIGEgc2lu
Z2xlIGZsYWcgbGlrZSBgV2FybmluZ1s6cnVieTNfa2V5d29yZHNdYC4gT25jZSBydWJ5IDIuNyBp
cyBFT0wgdGhlc2UgYmVjb21lIGNvbnRyb2xsZWQgYnkgYFdhcm5pbmdbOmRlcHJlY2F0ZWRdYCB3
aGljaCB0ZWxscyBwZW9wbGUgdGhleSAqKmhhdmUqKiB0byBmaXggdGhlaXIgY29kZS4gV2hpY2gg
aXMganVzdCBsaWtlIHRoZSBldmVudHVhbCBkZXByZWNhdGlvbiBvZiBgcnVieTJfa2V5d29yZHNg
LCBqdXN0IHdpdGhvdXQgdGhlIGJ1c3kgd29yayBvZiBhZGRpbmcgYHJ1YnkyX2tleXdvcmRzYCBz
dGF0ZW1lbnRzIGluIHRoZSBmaXJzdCBwbGFjZS4gQnV0IGFnYWluLCB0aGlzIGludHJvZHVjZXMg
bm8gbmV3IGZ1bmN0aW9uYWxpdHksIGp1c3QgYSBzdHJpY3RlciBzeW50YXguIFNvIHdlIGNhbiBw
bGF5IG5pY2UgYW5kIGxlYXZlIHRoZSB3YXJuaW5ncyBmb3IgYSBmZXcgeWVhcnMgYmVmb3JlIGNo
YW5naW5nIHRvIGVycm9ycy4NCg0KVGhlIHF1ZXN0aW9uIHJlbWFpbnMgb2YgaG93IHRvIGhhbmRs
ZSAjMTY0OTQgaGVyZS4gRWl0aGVyIGRpc2FsbG93IGl0IGVudGlyZWx5LCBidXQgSSB0aGluayB0
aGF0IHdvdWxkIGJlIGEgc2hhbWUuIE9yIGp1c3QgbGlrZSAjMTY0OTQgc3VnZ2VzdHMsIGFsbG93
IGhhc2ggdW5wYWNraW5nIGluIG5vbi1sYW1iZGEgUHJvYy4gRXhjZXB0IHRoYXQgbm93IGl0IGNh
biBiZSBhIEt3SGFzaCBpbnN0ZWFkIG9mIGEgSGFzaCwgd2hpY2ggYXQgbGVhc3QgcHJlc2VydmVz
IGR5bmFtaWMga2V5d29yZCBzZXBhcmF0aW9uLg0KDQojIyBQdXR0aW5nIGl0IGFsbCB0b2dldGhl
ciAoVEw7RFIpDQoNClRoZSBpZGVhIGlzIF9ub3RfIHRvIHJlaW1wbGVtZW50IGtleXdvcmQgYXJn
dW1lbnQgc2VwYXJhdGlvbjsgYWxsIHRoYXQgaXMgbmVlZGVkIGlzIHRvIGltcGxlbWVudCB0aGUg
dGhpbmdzIGFib3ZlIHRoYXQgYXJlIG5vdCBpbiAyLjc6DQoqIENyZWF0ZSBhIEt3SGFzaCBvYmpl
Y3QgZm9yIGJyYWNlLWxlc3MgYW5kIGRvdWJsZS1zcGxhdHRlZCBoYXNoZXMuDQoqIERpZmZlcmVu
dGlhdGUgdGhlIHZhcmlvdXMgdHlwZXMgb2Ygd2FybmluZ3MgYW5kIGFsbG93IHRvIHRvZ2dsZSBv
bi9vZmYgc2VwYXJhdGVseQ0KICAqIFN0ZXAgMiB3YXJuaW5ncyBfbXVzdF8gYmUgZml4ZWQgbm93
OyBjYW5ub3QgdG9nZ2xlIG9mZg0KICAqIFN0ZXAgMyB3YXJuaW5ncyBfc2hvdWxkXyBiZSBmaXhl
ZCBub3cgYnV0IHlvdSBkb24ndCBhYnNvbHV0ZWx5IG5lZWQgdG8gdXBncmFkZSB5b3VyIGdlbXMg
anVzdCBmb3IgdGhhdA0KICAqIFN0ZXAgNCB3YXJuaW5ncyBfc2hvdWxkXyBiZSBmaXhlZCBpbiBu
ZXh0IHZlcnNpb24gdW5sZXNzIHlvdSBuZWVkIHRvIHN1cHBvcnQg4omkMi43DQoNCkkgdGhpbmsg
dGhhdCdzIGFsbCwgcmVhbGx5Li4uDQoNCiMjIyBQcm9zDQoqIENsZWFuZXIgd2F5IHRvIHNvbHZl
ICMxNjQ5NA0KKiBCZXR0ZXIgY29tcGF0aWJpbGl0eSAoYXQgbGVhc3QgdW50aWwgMi42IGlzIEVP
TCkNCiAgICogZGVsZWdhdGlvbg0KICAgKiBzdG9yaW5nIGFuIGFyZ3VtZW50IGxpc3QgdGhhdCBl
bmRzIHdpdGggYSBLd0hhc2gNCiAgICogZGVzdHJ1Y3R1cmluZyBpdGVyYXRpb24gKCMxNjQ5NCkN
CiogV2UgY2FuIGF2b2lkIHRoZSAidW5mb3J0dW5hdGUgY29ybmVyIGNhc2UiIGFzIGRlc2NyaWJl
ZCBpbiB0aGUgW3JlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vd3d3LnJ1YnktbGFuZy5vcmcvZW4vbmV3
cy8yMDE5LzEyLzEyL3NlcGFyYXRpb24tb2YtcG9zaXRpb25hbC1hbmQta2V5d29yZC1hcmd1bWVu
dHMtaW4tcnVieS0zLTAvKQ0KICAgKiBpbiAyLjcgb25seSBkbyBub3Qgb3V0cHV0ICJTdGVwIDQi
IHdhcm5pbmdzLCBsZWF2ZSBkZWxlZ2F0aW9uIGxpa2UgaXQgd2FzDQogICAqIGluIDIuOCB0aGUg
IlN0ZXAgMyIgd2FybmluZ3MgaGF2ZSBiZWVuIGZpeGVkIGFuZCBhIEhhc2ggd2lsbCBub3QgYmUg
Y29udmVydGVkIHRvIGtleXdvcmQgYXJndW1lbnRzDQogICAqIGRlbGVnYXRpb24gY2FuIG5vdyBz
YWZlbHkgYmUgZml4ZWQgdG8gdXNlIHRoZSBgKipgIHN5bnRheA0KKiBydWJ5Ml9rZXl3b3JkcyBp
cyBub3QgcmVxdWlyZWQsIHdoaWNoIGlzIGRlc2lyYWJsZSBiZWNhdXNlDQogICAqIGl0J3MgYSBo
aWRkZW4gZmxhZyBfaGFja18NCiAgICogaXQgcmVxdWlyZXMgdG8gY2hhbmdlIHRoZSBjb2RlIG5v
dywgYW5kIGNoYW5nZSBpdCBfYWdhaW5fIHdoZW4gcnVieTJfa2V5d29yZHMgaXMgZGVwcmVjYXRl
ZDsgdHdpY2UgdGhlIHdvcms7IHR3aWNlIHRoZSBnZW0gdXBncmFkZXMNCiAgICogaXQgd2FzIHN1
cHBvc2VkIHRvIGJlIHVzZWQgb25seSBmb3IgcGVvcGxlIHdobyBuZWVkIHRvIHN1cHBvcnQgMi42
IG9yIGJlbG93LCBidXQgaXQncyBiZWluZyBtaXN1bmRlcnN0b29kIGFzIGFuIGFjY2VwdGFibGUg
d2F5IHRvIGZpeCBkZWxlZ2F0aW9uIGluIGdlbmVyYWwNCiAgICogdGhlcmUncyB0aGUgbm9uLXpl
cm8gcmlzayB0aGF0IHJ1YnkyX2tleXdvcmRzIHdpbGwgbmV2ZXIgYmUgcmVtb3ZlZCwgbGVhdmlu
ZyB1cyB3aXRoIGEgcGVybWFuZW50ICJoYWNrIG1vZGUiDQogICAgICAqIGR5bmFtaWMga2V5d29y
ZHMgYXJlIGJ5IGZhciBwcmVmZXJhYmxlIHRvIHN1cHBvcnRpbmcgcnVieTJfa2V5d29yZHMgZm9y
ZXZlcg0KKiBMaWtlbHkgX2JldHRlciBwZXJmb3JtYW5jZV8sIGFzIHRoZSBLd0hhc2ggY2xhc3Mg
Y2FuIGJlIG9wdGltaXplZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2Yg
a2V5d29yZCBhcmd1bWVudHMuDQoqIE1vcmUgZmxleGlibGUgbWlncmF0aW9uDQogICAqIEFsbG93
IG1vcmUgdGltZSB0byB1cGdyYWRlIHRoZSBoYXJkIHN0dWZmIGluIFN0ZXAgNA0KICAgKiBDYW4g
cmVhY2ggdGhlIF9zYW1lXyBnb2FsIGFzIHRoZSBjdXJyZW50IHN0YXRpYyBhcHByb2FjaA0KICAg
KiBMYXJnZXIgInN1cHBvcnQgem9uZSIgaHR0cHM6Ly94a2NkLmNvbS8yMjI0Lw0KICAgKiBJbnN0
ZWFkIG9mIHdpZGUtcmFuZ2luZyBpbmNvbXBhdGliaWxpdGllcyBhbGwgYXQgb25jZSwgdGhlcmUn
cyB0aGUgX3Bvc3NpYmlsaXR5XyBvZiBtYWtpbmcgaXQgZmluZXItZ3JhaW5lZCBhbmQgbW9yZSBn
cmFkdWFsDQogICAgICAqIHJ1Ynlpc3RzIGNhbiBfY2hvb3NlXyB0byBtaWdyYXRlIGFsbCBhdCBv
bmNlIG9yIGluIHNtYWxsZXIgY2h1bmtzDQogICAqIEl0IGhlZGdlcyB0aGUgcmlza3MgYnkga2Vl
cGluZyBtb3JlIHBvc3NpYmlsaXRpZXMgb3BlbiBmb3Igbm93Lg0KICAgKiBJdCBhbGxvd3MgdG8g
Y29wLW91dCBhdCBTdGVwIDMgaWYgU3RlcCA0IHR1cm5zIG91dCB0b28gaGFyZCBiZWNhdXNlIGl0
IGJyZWFrcyB0b28gbXVjaCBzdHVmZg0KDQojIyMgQ29ucw0KKiBJdCBhbGxvd3MgdG8gY29wLW91
dCBhdCBTdGVwIDMgaWYgU3RlcCA0IHR1cm5zIG91dCB0b28gaGFyZCBiZWNhdXNlIGl0IGJyZWFr
cyB0b28gbXVjaCBzdHVmZg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn
Lw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/
c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4v
bWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next