[#99856] [Ruby master Feature#17143] Improve support for warning categories — merch-redmine@...

Issue #17143 has been reported by jeremyevans0 (Jeremy Evans).

16 messages 2020/09/03

[#99868] [Ruby master Bug#17144] Tempfile.open { ... } does not unlink the file — eregontp@...

Issue #17144 has been reported by Eregon (Benoit Daloze).

15 messages 2020/09/03

[#99885] [Ruby master Feature#17145] Ractor-aware `Object#deep_freeze` — marcandre-ruby-core@...

Issue #17145 has been reported by marcandre (Marc-Andre Lafortune).

32 messages 2020/09/03

[#99903] [Ruby master Bug#17146] Queue operations are allowed after it is frozen — eregontp@...

Issue #17146 has been reported by Eregon (Benoit Daloze).

16 messages 2020/09/03

[#100016] [Ruby master Feature#17171] Why is the visibility of constants not affected by `private`? — marcandre-ruby-core@...

Issue #17171 has been reported by marcandre (Marc-Andre Lafortune).

10 messages 2020/09/15

[#100024] [Ruby master Bug#17175] Ruby 2.5: OpenSSL related test failures — jaruga@...

Issue #17175 has been reported by jaruga (Jun Aruga).

10 messages 2020/09/16

[#100025] [Ruby master Feature#17176] GC.enable_autocompact / GC.disable_autocompact — tenderlove@...

Issue #17176 has been reported by tenderlovemaking (Aaron Patterson).

11 messages 2020/09/16

[#100099] [Ruby master Bug#17184] No stdlib function to perform simple string replacement — sheerun@...

Issue #17184 has been reported by sheerun (Adam Stankiewicz).

18 messages 2020/09/24

[#100192] [Ruby master Bug#17197] Some Hash methods still have arity 2 instead of 1 — marcandre-ruby-core@...

Issue #17197 has been reported by marcandre (Marc-Andre Lafortune).

14 messages 2020/09/28

[#100200] [Ruby master Misc#17199] id outputed by inspect and to_s output does not allow to find actual object_id and vice-versa — baptiste.courtois@...

Issue #17199 has been reported by Annih (Baptiste Courtois).

7 messages 2020/09/28

[#100206] [Ruby master Misc#17200] DevelopersMeeting20201026Japan — mame@...

Issue #17200 has been reported by mame (Yusuke Endoh).

18 messages 2020/09/28

[#100239] [Ruby master Feature#17206] Introduce new Regexp option to avoid MatchData allocation — fatkodima123@...

Issue #17206 has been reported by fatkodima (Dima Fatko).

8 messages 2020/09/30

[ruby-core:99899] [Ruby master Feature#17100] Ractor: a proposal for a new concurrent abstraction without thread-safety issues

From: ko1@...
Date: 2020-09-03 20:26:12 UTC
List: ruby-core #99899
SXNzdWUgIzE3MTAwIGhhcyBiZWVuIHVwZGF0ZWQgYnkga28xIChLb2ljaGkgU2FzYWRhKS4NCg0K
DQptYXJjYW5kcmUgKE1hcmMtQW5kcmUgTGFmb3J0dW5lKSB3cm90ZSBpbiAjbm90ZS0yNDoNCj4g
SSBmaW5kIGBSYWN0b3JgIHZlcnkgcHJvbWlzaW5nIPCfjokNCg0KSSBob3BlIHNvLg0KDQo+IFRo
ZSBpbXBhY3QgaXMgc2V2ZXJpbHkgbGltaXRlZCB3aXRob3V0IHN1cHBvcnQgZm9yIHVzZXItYmFz
ZWQgaW1tdXRhYmxlIHR5cGVzLiBJcyB0aGF0IHBsYW5uZWQgZm9yIDMuMD8NCj4gDQo+IEknbSBj
dXJpb3VzIHdoYXQgaXMgdGhlIHRlY2huaWNhbCBkaWZmaWN1bHR5LiBJIG1lYW4sIGNhbid0IGV4
aXN0aW5nIGJ1aWx0aW4gYGZyZWV6ZWAgY2hlY2sgZm9yIGFsbCBpbnN0YW5jZSB2YXJpYWJsZXMg
YW5kIGlmIGFsbCBhcmUgaW1tdXRhYmxlIG9yIHNoYXJlYWJsZSwgdGhlbiBpdCBhbHNvIHNldHMg
dGhlIGltbXV0YWJsZSBmbGFnIGZvciB0aGUgY3VycmVudCBvYmplY3Q/DQoNCkkgaW50cm9kdWNl
ZCBgc2hhcmVhYmxlYCBmbGFnIGludG8gb2JqZWN0cyAoYEZMX1NIQVJFQUJMRWAgaW4gQyBsZXZl
bCkuDQpPbmNlIHRoZSBpbnRlcnByZXRlciBmb3VuZCBpdCBpcyBpbW11dGFibGUsIHRoaXMgZmxh
ZyB3aWxsIGJlIHNldCBhbmQgbm8gbmVlZCB0byBjaGVjayB0d2ljZS4NCg0KPiBIb3BlZnVsbHkg
d2Ugd2lsbCBnZXQgYGRlZXBfZnJlZXplYC4gSSBjcmVhdGVkICMxNzE0NQ0KPiANCj4gV2Ugc2hv
dWxkIHByb2JhYmx5IGhhdmUgYFJhY3Rvci5zaGFyZWFibGU/KG9iaikgIyA9PiB0cnVlIG9yIGZh
bHNlYCwgcmlnaHQ/DQoNCkl0IGlzIGVhc3kgdG8gaW1wbGVtZW50LCBidXQgbm90IHN1cmUgaG93
IHRvIHVzZSB0aGVtLiBkZWJ1Z2dpbmcgcHVycG9zZT8NCihJIGRvbid0IGFnYWluc3QgdG8gaW50
cm9kdWNlIGl0KQ0KDQo+IGBSYWN0b3Iuc2VsZWN0YDogSG93IGFib3V0IHJldmVyc2luZyB0aGUg
cmVzdWx0IG9yZGVyIChmcm9tIGBbcmFjdG9yLCBtZXNzYWdlXWAgdG8gYFttZXNzYWdlLCByYWN0
b3JdYCk/IEkgY2FuIGltYWdpbmUgbW9yZSBjYXNlcyB3ZXJlIHdlIGRvbid0IGNhcmUgYWJvdXQg
d2hpY2ggcmFjdG9yIHdlIGdvdCB0aGUgcmVzdWx0IGZyb20gdGhhbiB0aGUgcmV2ZXJzZS4gYHJl
c3VsdCwgPSBSYWN0b3Iuc2VsZWN0KCpyYWN0b3JfZmFybSlgIGlzIGVhc2llciB0byB3cml0ZS4N
Cg0KR29vZCBpZGVhLg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCkZlYXR1cmUgIzE3MTAwOiBSYWN0b3I6IGEgcHJvcG9zYWwgZm9yIGEgbmV3IGNvbmN1cnJl
bnQgYWJzdHJhY3Rpb24gd2l0aG91dCB0aHJlYWQtc2FmZXR5IGlzc3Vlcw0KaHR0cHM6Ly9idWdz
LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE3MTAwI2NoYW5nZS04NzQzMQ0KDQoqIEF1dGhvcjoga28x
IChLb2ljaGkgU2FzYWRhKQ0KKiBTdGF0dXM6IENsb3NlZA0KKiBQcmlvcml0eTogTm9ybWFsDQoq
IEFzc2lnbmVlOiBrbzEgKEtvaWNoaSBTYXNhZGEpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQojIFJhY3RvcjogYSBwcm9wb3NhbCBmb3IgYSBuZXcgY29uY3VycmVu
dCBhYnN0cmFjdGlvbiB3aXRob3V0IHRocmVhZC1zYWZldHkgaXNzdWVzDQoNCiMjIEFic3RyYWN0
DQoNClRoaXMgdGlja2V0IHByb3Bvc2VzIGEgbmV3IGNvbmN1cnJlbnQgYWJzdHJhY3Rpb24gbmFt
ZWQgIlJhY3RvciwiIFJ1YnkncyBBY3Rvci1saWtlIGZlYXR1cmUgKG5vdCBhbiBleGFjdCBBY3Rv
ci1tb2RlbCkuDQoNClJhY3RvciBhY2hpZXZlcyB0aGUgZm9sbG93aW5nIGdvYWxzOg0KDQoqIFBh
cmFsbGVsIGV4ZWN1dGlvbiBpbiBhIFJ1YnkgaW50ZXJwcmV0ZXIgcHJvY2Vzcw0KKiBBdm9pZGFu
Y2Ugb2YgdGhyZWFkLXNhZmV0eSBpc3N1ZXMgKGVzcGVjaWFsbHkgcmFjZSBpc3N1ZXMpIGJ5IGxp
bWl0aW5nIG9iamVjdCBzaGFyaW5nDQoqIENvbW11bmljYXRpb24gdmlhIGNvcHlpbmcgYW5kIG1v
dmluZw0KDQpJIGhhdmUgYmVlbiB3b3JraW5nIG9uIHRoaXMgcHJvcG9zYWwgZm9yIGEgZmV3IHll
YXJzLiBUaGUgcHJvamVjdCBuYW1lIGhhcyBiZWVuICJHdWlsZCwiIGJ1dCBJIHJlbmFtZWQgaXQg
dG8gUmFjdG9yIGZvbGxvd2luZyBNYXR6JyBwcmVmZXJlbmNlLg0KDQpSZXNvdXJjZXM6DQoqIFBy
b3Bvc2VkIHNwZWNpZmljYXRpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9rbzEvcnVieS9ibG9iL3Jh
Y3Rvcl9wYXJhbGxlbC9kb2MvcmFjdG9yLm1kDQoqIE15IHRhbGs6DQogICogKGxhdGVzdCwgYnV0
IHdyaXR0ZW4gaW4gSmFwYW5lc2UpIGh0dHA6Ly9hdGRvdC5uZXQvfmtvMS9hY3Rpdml0aWVzLzIw
MjBfcnVieTNzdW1taXQucGRmDQogICogKG9sZCwgQVBJIGlzIGNoYW5nZWQpIGh0dHA6Ly9hdGRv
dC5uZXQvfmtvMS9hY3Rpdml0aWVzLzIwMThfcnVieWthaWdpMjAxOC5wZGYNCiAgKiAob2xkLCBB
UEkgaXMgY2hhbmdlZCkgaHR0cDovL2F0ZG90Lm5ldC9+a28xL2FjdGl2aXRpZXMvMjAxOF9ydWJ5
Y29uZjIwMTgucGRmDQoNCkN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNvbXBsZXRlIChj
b250YWlucyBtYW55IGJ1Z3MpIGJ1dCBpdCBwYXNzZXMgdGhlIGN1cnJlbnQgQ0kuIEkgcHJvcG9z
ZSB0byBtZXJnZSBpdCBzb29uIGFuZCB0cnkgdGhlIEFQSSwgYW5kIHRvIGNvbnRpbnVlIHdvcmtp
bmcgb24gdGhlIGltcGxlbWVudGF0aW9uIG9uIG1hc3RlciBicmFuY2guDQoNCiMjIEJhY2tncm91
bmQNCg0KTVJJIGRvZXNuJ3QgcHJvdmlkZSBhbiBpbi1wcm9jZXNzIHBhcmFsbGVsIGNvbXB1dGF0
aW9uIGZlYXR1cmUgYmVjYXVzZSBwYXJhbGxlbCAiVGhyZWFkcyIgaGF2ZSBtYW55IGlzc3VlczoN
Cg0KKiBSdWJ5IHByb2dyYW1tZXJzIG5lZWQgdG8gY29uc2lkZXIgYWJvdXQgVGhyZWFkLXNhZmV0
eSBtb3JlLg0KKiBJbnRlcnByZXRlciBkZXZlbG9wZXJzIG5lZWQgdG8gY29uc2lkZXIgYWJvdXQg
VGhyZWFkLXNhZmV0eSBtb3JlLg0KKiBJbnRlcnByZXRlciB3aWxsIHNsb3cgZG93biBpbiBzaW5n
bGUgdGhyZWFkIGV4ZWN1dGlvbiBiZWNhdXNlIG9mIGZpbmUtZ3JhaW4gc3luY2hyb25pemF0aW9u
IHdpdGhvdXQgY2xldmVyIG9wdGltaXphdGlvbnMuDQoNClRoZSByZWFzb24gZm9yIHRoZXNlIGlz
c3VlcyBpcyAic2hhcmVkLWV2ZXJ5dGhpbmciIHRocmVhZCBtb2RlbC4NCg0KIyMgUHJvcG9zYWwN
Cg0KVG8gb3ZlcmNvbWUgdGhlIGlzc3VlcyBvbiBtdWx0aXBsZS10aHJlYWRzLCBSYWN0b3IgYWJz
dHJhY3Rpb24gaXMgcHJvcG9zZWQuIFRoaXMgcHJvcG9zYWwgY29uc2lzdHMgb2YgdHdvIGxheWVy
czogbWVtb3J5IG1vZGVsIGFuZCBjb21tdW5pY2F0aW9uIG1vZGVsLg0KDQpCYXNpY3M6DQoqIElu
dHJvZHVjZSAiUmFjdG9yIiBhcyBhIG5ldyBjb25jdXJyZW50IGVudGl0eS4NCiogUmFjdG9ycyBy
dW4gaW4gcGFyYWxsZWwuDQoNCk1lbW9yeSBtb2RlbDoNCiogU2VwYXJhdGUgInNoYXJlYWJsZSIg
b2JqZWN0cyBhbmQgInVuLXNoYXJlYWJsZSIgb2JqZWN0cyBhbW9uZyByYWN0b3JzIHJ1bm5pbmcg
aW4gcGFyYWxsZWwuDQogICAqIFNoYXJlYWJsZSBvYmplY3RzOg0KICAgICAqIEltbXV0YWJsZSBv
YmplY3RzIChmcm96ZW4gb2JqZWN0cyBvbmx5IHJlZmVyIHRvIHNoYXJlYWJsZSBvYmplY3RzKQ0K
ICAgICAqIENsYXNzL21vZHVsZSBvYmplY3RzDQogICAgICogU3BlY2lhbCBzaGFyZWFibGUgb2Jq
ZWN0cyAoUmFjdG9yIG9iamVjdHMsIGFuZCBzbyBvbikNCiAgICogVW4tc2hhcmVhYmxlIG9iamVj
dHM6IA0KICAgICAqIE90aGVyIG9iamVjdHMNCiogTW9zdCBvYmplY3RzIGFyZSAidW4tc2hhcmVh
YmxlLCIgd2hpY2ggbWVhbnMgd2UgUnVieSBwcm9ncmFtbWVycyBhbmQgaW50ZXJwcmV0ZXIgZGV2
ZWxvcGVycyBkb24ndCBuZWVkIHRvIGNhcmUgYWJvdXQgdGhyZWFkLXNhZmV0eSBpbiBtb3N0IGNh
c2VzLg0KKiBXZSBvbmx5IGNvbmNlbnRyYXRlIG9uIHN5bmNocm9uaXppbmcgInNoYXJlYWJsZSIg
b2JqZWN0cy4NCiogQ29tcGFyZWQgd2l0aCBjb21wbGV0ZWx5IHNlcGFyYXRlZCBtZW1vcnkgbW9k
ZWwgKGxpa2UgTVZNIHByb3Bvc2FsKSwgcHJvZ3JhbW1pbmcgd2lsbCBiZSBlYXNpZXIuDQoqIFRo
aXMgbW9kZWwgaXMgc2ltaWxhciB0byBSYWNrZXQncyBgUGxhY2VgIGFic3RyYWN0aW9uLg0KDQpD
b21tdW5pY2F0aW9uIG1vZGVsOg0KKiBBY3Rvci1saWtlIChub3QgdGhlIHNhbWUpIG1lc3NhZ2Ug
cGFzc2luZyB1c2luZyBgUmFjdG9yI3NlbmQob2JqKWAgYW5kIGBSYWN0b3IucmVjdmANCiogUHVs
bC10eXBlIGNvbW11bmljYXRpb24gdXNpbmcgYFJhY3Rvci55aWVsZChvYmopYCBhbmQgYFJhY3Rv
ciN0YWtlYA0KKiBTdXBwb3J0IGZvciBtdWx0aXBsZSB3YWl0aW5nIHVzaW5nIGBSYWN0b3Iuc2Vs
ZWN0KC4uLilgDQoNCkFjdG9yLWxpa2UgbW9kZWwgaXMgdGhlIG9yaWdpbiBvZiB0aGUgbmFtZSBv
ZiBvdXIgcHJvcG9zYWwgIlJhY3RvciIgKFJ1YnkncyBhY3RvcikuIEhvd2V2ZXIsIGN1cnJlbnRs
eSwgaXQgaXMgbm90IGFuIEFjdG9yIG1vZGVsIGJlY2F1c2Ugd2UgY2FuJ3Qgc2VsZWN0IHRoZSBt
ZXNzYWdlICh1c2luZyBwYXR0ZXJuIG1hdGNoIGFzIGluIEVybGFuZywgRWxpeGlyLCAuLi4pLiBU
aGlzIG1lYW5zIHRoYXQgd2UgY2FuJ3QgaGF2ZSBtdWx0aXBsZSBjb21tdW5pY2F0aW9uIGNoYW5u
ZWxzLiBJbnN0ZWFkIG9mIGFkb3B0aW5nIGFuIGluY29tcGxldGUgYWN0b3IgbW9kZWwsIHRoaXMg
cHJvcG9zYWwgcHJvdmlkZXMgYHlpZWxkYC9gdGFrZWAgcGFpciB0byBoYW5kbGUgbXVsdGlwbGUg
Y2hhbm5lbHMuIFdlIGRpc2N1c3MgdGhpcyB0b3BpYyBsYXRlci4NCg0KSSBzdHJvbmdseSBiZWxp
ZXZlIHRoZSBtZW1vcnkgbW9kZWwgaXMgcHJvbWlzaW5nLiBIb3dldmVyLCBJJ20gbm90IHN1cmUg
aWYgdGhlIGNvbW11bmljYXRpb24gbW9kZWwgaXMgdGhlIGJlc3QuIFRoaXMgaXMgd2h5IEkgaW50
cm9kdWNlZCAiZXhwZXJpbWVudGFsIiB3YXJuaW5nLg0KDQpQcm9wb3NlZCBzcGVjaWZpY2F0aW9u
OiBodHRwczovL2dpdGh1Yi5jb20va28xL3J1YnkvYmxvYi9yYWN0b3JfcGFyYWxsZWwvZG9jL3Jh
Y3Rvci5tZA0KDQojIyBJbXBsZW1lbnRhdGlvbg0KDQpodHRwczovL2dpdGh1Yi5jb20vcnVieS9y
dWJ5L3B1bGwvMzM2NQ0KQWxsIEdIIGFjdGlvbnMgcGFzcy4NCg0KSSBkZXNjcmliZSB0aGUgaW1w
bGVtZW50YXRpb24gYnJpZWZseS4NCg0KIyMjIGByYl9yYWN0b3JfdGANCg0KV2l0aG91dCBSYWN0
b3IsIHRoZSBWTS1UaHJlYWQtRmliZXIgaGllcmFyY2h5IGlzIGxpa2UgdGhpczoNCg0KKiBUaGUg
Vk0gYHJiX3ZtX3RgIG1hbmFnZXMgcnVubmluZyB0aHJlYWRzIChgcmJfdGhyZWFkX3RgKS4NCiog
QSB0aHJlYWQgKGByYl90aHJlYWRfdGApIHBvaW50cyB0byBhIHJ1bm5pbmcgZmliZXIgKGByYl9m
aWJlcl90YCkuDQoNCldpdGggUmFjdG9yLCB3ZSBpbnRyb2R1Y2UgYSBuZXcgbGF5ZXIgYHJiX3Jh
Y3Rvcl90YDoNCg0KKiBUaGUgVk0gYHJiX3ZtX3RgIG1hbmFnZXMgcnVubmluZyByYWN0b3JzIChg
cmJfcmFjdG9yX3RgKS4NCiogQSBSYWN0b3IgbWFuYWdlcyBydW5uaW5nIHRocmVhZHMgKGByYl90
aHJlYWRfdGApLg0KKiBBIHRocmVhZCAoYHJiX3RocmVhZF90YCkgcG9pbnRzIHRvIGEgcnVubmlu
ZyBmaWJlciAoYHJiX2ZpYmVyX3RgKS4NCg0KYHJiX3JhY3Rvcl90YCBoYXMgYSBHVkwgdG8gbWFu
YWdlIHRocmVhZHMgKG9ubHkgb25lIGFtb25nIGEgUmFjdG9yJ3MgdGhyZWFkcyBjYW4gcnVuKS4N
Cg0KUmFjdG9yIGltcGxlbWVudGF0aW9uIGlzIGxvY2F0ZWQgaW4gYHJhY3Rvci5oYCwgYHJhY3Rv
ci5jYCBhbmQgYHJhY3Rvci5yYmAuDQoNCiMjIyBWTS13aWRlIGxvY2sNCg0KVk0td2lkZSBsb2Nr
IGlzIGludHJvZHVjZWQgdG8gcHJvdGVjdCBWTSBnbG9iYWwgcmVzb3VyY2VzIHN1Y2ggYXMgb2Jq
ZWN0IHNwYWNlLiBJdCBzaG91bGQgYWxsb3cgcmVjdXJzaXZlIGxvY2ssIHNvIHRoZSBpbXBsZW1l
bnRhdGlvbiBpcyBhIG1vbml0b3IuIFdlIHNoYWxsIGNhbGwgaXQgVk0td2lkZSBtb25pdG9yLiBG
b3Igbm93LCBgUkJfVk1fTE9DS19FTlRFUigpYCBhbmQgYFJCX1ZNX0xPQ0tfTEVBVkUoKWAgYXJl
IHByb3ZpZGVkIHRvIGFjcXVpcmUvcmVsZWFzZSB0aGUgbG9jay4NCg0KTm90ZSB0aGF0IGl0IGlz
IGRpZmZlcmVudCBmcm9tIHRoZSAoY3VycmVudCkgR1ZMLiBBIEdWTCBpcyBhY3F1aXJlZCBhbnl0
aW1lIHlvdSBydW4gYSBSdWJ5IHRocmVhZC4gVk0td2lkZSBsb2NrIGlzIGFjcXVpcmVkIG9ubHkg
d2hlbiBhY2Nlc3NpbmcgVk0td2lkZSByZXNvdXJjZXMuDQoNCk9uIHNpbmdsZSByYWN0b3IgbW9k
ZSAoYWxsIFJ1Ynkgc2NyaXB0cyBleGNlcHQgbXkgdGVzdHMpIA0KDQojIyMgT2JqZWN0IG1hbmFn
ZW1lbnQgYW5kIEdDDQoNCiogKDEpIEFsbCByYWN0b3JzIHNoYXJlIHRoZSBvYmplY3Qgc3BhY2Uu
DQoqICgyKSBFYWNoIEdDIGV2ZW50IHdpbGwgc3RvcCBhbGwgcmFjdG9ycywgYW5kIGEgcmFjdG9y
IEdDIHdvcmtzIHVuZGVyIGJhcnJpZXIgc3luY2hyb25pemF0aW9uLg0KICAqIEJhcnJpZXIgYXQg
YGdjX2VudGVyKClgDQogICogbWFya2luZywgKGxhenkpIHN3ZWVwaW5nLCAuLi4NCiogKDMpIEJl
Y2F1c2UgYWxsIG9mIHRoZSBvYmplY3Qgc3BhY2UgYXJlIHNoYXJlZCBieSByYWN0b3JzLCBvYmpl
Y3QgY3JlYXRpb24gaXMgcHJvdGVjdGVkIGJ5IFZNLXdpZGUgbG9jay4NCg0KKDIpIGFuZCAoMykg
aGF2ZSBodWdlIGltcGFjdCBvbiBwZXJmb3JtYW5jZS4gVGhlIHBsYW4gaXM6DQoNCiogRm9yICgy
KSwgaW50cm9kdWNlIChzZW1pLSlzZXBhcmF0ZWQgb2JqZWN0IHNwYWNlLiBJdCB3b3VsZCByZXF1
aXJlIGEgbG9uZyB0aW1lIGFuZCBSdWJ5IDMuMCBjYW4ndCBlbXBsb3kgdGhpcyB0ZWNobmlxdWUu
DQoqIEZvciAoMyksIGludHJvZHVjZSBmcmVlIHNsb3QgY2FjaGUgZm9yIGV2ZXJ5IHJhY3Rvcjsg
dGhlbiBtb3N0IGNyZWF0aW9ucyBjYW4gYmUgZG9uZSB3aXRob3V0IHN5bmNocm9uaXphdGlvbi4g
SXQgd2lsbCBiZSBlbXBsb3llZCBzb29uLg0KDQojIyMgRXhwZXJpbWVudGFsIHdhcm5pbmcNCg0K
Q3VycmVudGx5LCBSYWN0b3IgaW1wbGVtZW50YXRpb24gYW5kIHNwZWNpZmljYXRpb24gYXJlIG5v
dCBzdGFibGUuIFNvIHVwb24gaXRzIGZpcnN0IHVzYWdlLCBgUmFjdG9yLm5ld2Agd2lsbCBzaG93
IGEgd2FybmluZzoNCg0KYHdhcm5pbmc6IFJhY3RvciBpcyBleHBlcmltZW50YWwsIGFuZCB0aGUg
YmVoYXZpb3IgbWF5IGNoYW5nZSBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgUnVieSEgQWxzbyB0aGVy
ZSBhcmUgbWFueSBpbXBsZW1lbnRhdGlvbiBpc3N1ZXMuYA0KDQojIyBEaXNjdXNzaW9uDQoNCiMj
IyBBY3Rvci1iYXNlZCBhbmQgY2hhbm5lbC1iYXNlZA0KDQpJIHRoaW5rIHRoZXJlIGFyZSB0d28g
bWVzc2FnZSBwYXNzaW5nIGFwcHJvYWNoZXM6IEFjdG9yLWJhc2VkIChhcyBpbiBFcmxhbmcsIC4u
LikgYW5kIGNoYW5uZWwtYmFzZWQgKGFzIGluIEdvLCAuLi4pLg0KDQpXaXRoIGNoYW5uZWwtYmFz
ZWQgYXBwcm9hY2gsIGl0IGlzIGVhc3kgdG8gbWFuaXB1bGF0ZSBtdWx0aXBsZSBjaGFubmVscyBi
ZWNhdXNlIGl0IG1hbmFnZXMgdGhlbSBleHBsaWNpdGx5LiBBY3Rvci1iYXNlZCBhcHByb2FjaCBt
YW5pcHVsYXRlcyBtdWx0aXBsZSBjaGFubmVscyB3aXRoIG1lc3NhZ2UgcGF0dGVybi4gVGhlIHJl
Y2VpdmVyIGNhbiBpZ25vcmUgdW5leHBlY3RlZCBzdHJ1Y3R1cmVkIG1lc3NhZ2VzIG9yIHB1dCB0
aGVtIG9uIGhvbGQgYW5kIGNhbiBoYW5kbGUgdGhlbSBhZnRlciB0aGUgYmVoYXZpb3IgaGFzIGNo
YW5nZWQgKHJvbGUgb2YgYWN0b3IgaGFzIGNoYW5nZWQpLg0KDQpSYWN0b3IgaGFzIGBzZW5kL3Jl
Y3ZgIGxpa2UgQWN0b3ItbW9kZWwsIGJ1dCB0aGVyZSBpcyBubyBwYXR0ZXJuIG1hdGNoaW5nIGZl
YXR1cmUuIFRoaXMgaXMgYmVjYXVzZSB3ZSBjYW4ndCBpbnRyb2R1Y2UgbmV3IHN5bnRheCwgYW5k
IEkgY2FuJ3QgZGVzaWduIGEgZ29vZCBBUEkuDQoNCldpdGggY2hhbm5lbC1iYXNlZCBhcHByb2Fj
aCwgaXQgaXMgZWFzeSB0byBkZXNpZ24gdGhlIEFQSSAoZm9yIGV4YW1wbGUsIGRvIGBjaCA9IFJh
Y3Rvcjo6Q2hhbm5lbC5uZXdgIGFuZCBzaGFyZSB0aGUgYGNoYCB0aGF0IHJhY3RvcnMgY2FuIHBy
b3ZpZGUpLiBIb3dldmVyLCBJIGNhbid0IGRlc2lnbiBhIGdvb2QgQVBJIHRvIGhhbmRsZSBleGNl
cHRpb25zIGFtb25nIFJhY3RvcnMuDQoNClJlZ2FyZGluZyBlcnJvciBoYW5kbGluZywgd2UgcHJv
cG9zZSBhIGh5YnJpZCBtb2RlbCB1c2luZyBgc2VuZC9yZWN2YCwgYHlpZWxkL3Rha2VgIHBhaXJz
LiBgUmFjdG9yI3Rha2VgIGNhbiByZWNlaXZlIHRoZSBzb3VyY2UgcmFjdG9yJ3MgZXhjZXB0aW9u
IChsaWtlIGBUaHJlYWQjam9pbmApLiBPbiBBY3RvciBhcHByb2FjaCwgd2UgY2FuIGRldGVjdCB3
aGVuIHRoZSBkZXN0aW5hdGlvbiBSYWN0b3IgaXMgbm90IHdvcmtpbmcgKGtpbGxlZCkgdXBvbiBg
UmFjdG9yI3NlbmQob2JqKWAuIEEgcmVjZWl2ZXIgcmFjdG9yICh3YWl0aW5nIGZvciBgUmFjdG9y
LnJlY3ZgKSBjYW5ub3QgZGV0ZWN0IHRoZSBzZW5kZXIncyB0cm91YmxlLCBidXQgbWF5YmUgdGhl
IHByaW9yaXR5IGlzIG5vdCBoaWdoLiBgUmFjdG9yI3Rha2VgIGFsc28gZGV0ZWN0cyB0aGUgc2Vu
ZGVyJ3MgKGBSYWN0b3IueWllbGQob2JqKWApIGVycm9yLCBzbyB0aGUgZXJyb3IgY2FuIGJlIHBy
b3BhZ2F0ZWQuDQoNClRvIGhhbmRsZSBtdWx0aXBsZSBjb21tdW5pY2F0aW9uIGNoYW5uZWxzIG9u
IFJhY3RvciwgaW5zdGVhZCBvZiB1c2luZyBtdWx0aXBsZSBjaGFubmVscywgd2UgdXNlICpwaXBl
KiByYWN0b3JzLg0KDQpgYGANCiMgd29ya2VyLXBvb2wgKHJlY2VpdmUgYnkgc2VuZCkNCg0KbWFp
biAjIHBpcGUuc2VuZChvYmopDQotPiBwaXBlICMgUmFjdG9yLnlpZWxkIFJhY3Rvci5yZWN2DQog
IC0+DQogICAgd29ya2VyMSAjIFJhY3Rvci55aWVsZChzb21lX3Rhc2sgcGlwZS50YWtlKSkNCiAg
ICB3b3JrZXIyICMgUmFjdG9yLnlpZWxkKHNvbWVfdGFzayBwaXBlLnRha2UpKQ0KICAgIHdvcmtl
cjMgIyBSYWN0b3IueWllbGQoc29tZV90YXNrIHBpcGUudGFrZSkpDQotPiBtYWluICMgUmFjdG9y
LnNlbGVjdCh3b3JrZXIxLCB3b3JrZXIyLCB3b3JrZXIzKQ0KDQojIGlmIHdvcmtlciogY2F1c2Vz
IGFuIGVycm9yLCBtYWluIGNhbiBkZXRlY3QgdGhlIGVycm9yLg0KYGBgDQoNCipwaXBlKiByYWN0
b3JzIG1heSBsb29rIGxpa2UgY2hhbm5lbHMuIEhvd2V2ZXIsIHdlIGRvbid0IG5lZWQgdG8gaW50
cm9kdWNlIG5ldyBjbGFzc2VzIHdpdGggdGhpcyB0ZWNobmlxdWUgKHRoZSBpbXBsZW1lbnRhdGlv
biBjYW4gb21pdCBSYWN0b3IgY3JlYXRpb24gZm9yIHBpcGUgcmFjdG9ycykuDQoNCk1heWJlIHRo
ZXJlIGFyZSBvdGhlciBwb3NzaWJpbGl0aWVzLiBGb3IgZXhhbXBsZSwgaWYgd2UgY2FuIHByb3Bh
Z2F0ZSB0aGUgZXJyb3JzIHdpdGggY2hhbm5lbHMsIHdlIGNhbiBhbHNvIGNvbnNpZGVyIGEgY2hh
bm5lbC1tb2RlbCAod2UgbmVlZCB0byBjaGFuZ2UgdGhlIFJhY3RvciBuYW1lIDpwIHRoZW4pLg0K
DQojIyMgTmFtZSBvZiBSYWN0b3IgKGFuZCBHdWlsZCkNCg0KV2hlbiBJIHByb3Bvc2VkIEd1aWxk
IGluIDIwMTYsIEkgcmVnYXJkZWQgIm1vdmUiIG1lc3NhZ2UtcGFzc2luZyAoc2VlIHNwZWNpZmlj
YXRpb24pIHRvIGJlIGNoYXJhY3RlcmlzdGljIG9mIGl0LCBhbmQgSSBjYWxsZWQgdGhpcyBmZWF0
dXJlICJtb3ZpbmcgbWVtYmVyc2hpcC4iIFRoaXMgaXMgd2h5IHRoZSBuYW1lICJHdWlsZCIgd2Fz
IGNob3Nlbi4gSG93ZXZlciBNYXR6IHBvaW50ZWQgb3V0IHRoYXQgdGhpcyBtb3ZlIHNlbWFudGlj
cyBpcyBub3QgdXNlZCBmcmVxdWVudGx5LCBhbmQgaGUgYXNrZWQgbWUgdG8gY2hhbmdlIHRoZSBu
YW1lLiBBbHNvLCBzb21lb25lIGhhZCBhbHJlYWR5IGJlZW4gdXNpbmcgdGhlIGNsYXNzIG5hbWUg
Ikd1aWxkLiINCg0KIlJhY3RvciIgaXMgc2hvcnQgYW5kIGlzIG5vdCBhbiBleGlzdGluZyBjbGFz
czsgdGhpcyBpcyB3aHkgSSBjaG9vc2UgIlJhY3Rvci4iDQoNCkkgdW5kZXJzdGFuZCBwZW9wbGUg
bWF5IGNvbmZ1c2UgaXQgd2l0aCAiUmVhY3Rvci4iDQoNCiMjIFRPRE8NCg0KVGhlcmUgYXJlIG1h
bnkgcmVtYWluaW5nIHRhc2tzLg0KDQojIyMgUHJvdGVjdGlvbg0KDQpNYW55IFZNLXdpZGUgKHBy
b2Nlc3Mtd2lkZSkgcmVzb3VyY2VzIGFyZSBub3QgcHJvdGVjdGVkIGNvcnJlY3RseSwgc28gdXNp
bmcgUmFjdG9yIG9uIGEgY29tcGxpY2F0ZWQgcHJvZ3JhbSBjYW4gY2F1c2UgY3JpdGljYWwgYnVn
cyAoYFtCVUddYCkuIE1vc3QgZ2xvYmFsIHJlc291cmNlIGFyZSBtYW5hZ2VkIGJ5IGdsb2JhbCB2
YXJpYWJsZXMsIHNvIHdlIG5lZWQgdG8gY2hlY2sgdGhlbSBjb3JyZWN0bHkuDQoNCiMjIyBDLW1l
dGhvZHMNCg0KQ3VycmVudGx5LCBDLW1ldGhvZHMgKG1ldGhvZHMgd3JpdHRlbiBpbiBDIGFuZCBk
ZWZpbmVkIHdpdGggYHJiX2RlZmluZV9tZXRob2QoKWApIHJ1biBpbiBwYXJhbGxlbC4gSXQgbWVh
bnMgdGhhdCB0aHJlYWQtdW5zYWZlIGNvZGUgY2FuIHJ1biBpbiBwYXJhbGxlbC4gVG8gc29sdmUg
dGhpcyBpc3N1ZSwgSSBwbGFuIHRoZSBmb2xsb3dpbmc6DQoNCigxKSBJbnRyb2R1Y2UgdGhyZWFk
LXVuc2FmZSBsYWJlbCBmb3IgbWV0aG9kcw0KDQpJdCBpcyBpbXBvc3NpYmxlIHRvIG1ha2UgYWxs
IEMtbWV0aG9kcyB0aHJlYWQtc2FmZSwgZXNwZWNpYWxseSBmb3IgQy1tZXRob2RzIGluIHRoaXJk
IHBhcnR5IEMtZXh0ZW5zaW9ucy4gVG8gcHJvdGVjdCB0aGVtLCBsYWJlbCB0aGVzZSAocG9zc2li
bHkpIHRocmVhZC11bnNhZmUgQy1tZXRob2RzIGFzICJ0aHJlYWQtdW5zYWZlLiINCg0KV2hlbiAi
dW5zYWZlIi1sYWJlbGVkIEMgbWV0aG9kcyBhcmUgaW52b2tlZCwgdGhleSBhY3F1aXJlIGEgVk0t
d2lkZSBsb2NrLiBUaGlzIFZNLXdpZGUgbG9jayBzaG91bGQgY2hlY2sgZm9yIHJlY3Vyc2l2ZW5l
c3MgKHNvIHRoaXMgbG9jayBzaG91bGQgYmUgYSBtb25pdG9yKSBhbmQgZXNjYXBpbmcgKGV4Y2Vw
dGlvbnMpLiBDdXJyZW50bHksIFZNLXdpZGUgbG9jayBkb2Vzbid0IGNoZWNrIGZvciBlc2NhcGlu
ZywgYnV0IHRoYXQgc2hvdWxkIGJlIGltcGxlbWVudGVkIHNvb24uDQoNCigyKSBCdWlsdC1pbiBD
LW1ldGhvZHMNCg0KSSdsbCBmaXggbW9zdCBvZiB0aGUgYnVpbHRpbiBDLW1ldGhvZHMgKFN0cmlu
ZywgQXJyYXksIC4uLikgc28gdGhhdCB0aGV5IHdpbGwgYmVjb21lIHRocmVhZC1zYWZlLiBJZiBp
dCBpcyBub3QgZWFzeSwgSSdsbCB1c2UgdGhyZWFkLXVuc2FmZSBsYWJlbC4NCg0KIyMjIENvcHlp
bmcgYW5kIG1vdmluZw0KDQpDdXJyZW50bHksIE1hcnNoYWwgcHJvdG9jb2wgbWFrZXMgZGVlcCBj
b3B5IG9uIG1lc3NhZ2UgY29tbXVuaWNhdGlvbi4gSG93ZXZlciwgTWFyc2hhbCBwcm90b2NvbCBk
b2Vzbid0IHN1cHBvcnQgc29tZSBvYmplY3RzIGxpa2UgYFJhY3RvcmAgb2JqZWN0cywgc28gd2Ug
bmVlZCB0byBtb2RpZnkgdGhlbS4NCg0KT25seSBhIGZldyB0eXBlcyBhcmUgc3VwcG9ydGVkIGZv
ciBtb3ZpbmcsIHNvIHdlIG5lZWQgdG8gd3JpdGUgbW9yZS4NCg0KIyMjICJHVkwiIG5hbWluZw0K
DQpDdXJyZW50bHksIHRoZSBzb3VyY2UgY29kZSBjb250YWlucyB0aGUgbmFtZSAiR1ZMIiBmb3Ig
UmFjdG9yIGxvY2FsIGxvY2tzLiBNYXliZSB0aGV5IHNob3VsZCBiZSByZW5hbWVkLg0KDQojIyMg
UGVyZm9ybWFuY2UNCg0KVG8gaW50cm9kdWNlIGZpbmUtZ3JhaW5lZCBsb2NrLCBwZXJmb3JtYW5j
ZSB0dW5pbmcgaXMgbmVlZGVkLg0KDQojIyMgQnVnIGZpeGVzDQoNCm1hbnkgbWFueSAuLi4uDQoN
CiMjIENvbmNsdXNpb24NCg0KVGhpcyB0aWNrZXQgcHJvcG9zZXMgYSBuZXcgY29uY3VycmVudCBh
YnN0cmFjdGlvbiAiUmFjdG9yLiIgSSB0aGluayBSdWJ5IDMgY2FuIHNoaXAgd2l0aCBSYWN0b3Ig
dW5kZXIgImV4cGVyaW1lbnRhbCIgc3RhdHVzLg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5y
dWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1
YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcu
b3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread