[#105544] [Ruby master Feature#18239] Variable Width Allocation: Strings — "peterzhu2118 (Peter Zhu)" <noreply@...>

SXNzdWUgIzE4MjM5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHBldGVyemh1MjExOCAoUGV0ZXIgWmh1

18 messages 2021/10/04

[#105566] [Ruby master Bug#18242] Parser makes multiple assignment sad in confusing way — "danh337 (Dan Higgins)" <noreply@...>

SXNzdWUgIzE4MjQyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGRhbmgzMzcgKERhbiBIaWdnaW5zKS4K

9 messages 2021/10/06

[#105573] [Ruby master Bug#18243] Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it — "Eregon (Benoit Daloze)" <noreply@...>

SXNzdWUgIzE4MjQzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEVyZWdvbiAoQmVub2l0IERhbG96ZSku

11 messages 2021/10/06

[#105586] [Ruby master Bug#18244] Unexpected errors output order — "inversion (Yura Babak)" <noreply@...>

SXNzdWUgIzE4MjQ0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGludmVyc2lvbiAoWXVyYSBCYWJhayku

8 messages 2021/10/07

[#105618] [Ruby master Bug#18249] The ABI version of dev builds of CRuby does not correspond to the ABI — "Eregon (Benoit Daloze)" <noreply@...>

SXNzdWUgIzE4MjQ5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEVyZWdvbiAoQmVub2l0IERhbG96ZSku

23 messages 2021/10/11

[#105626] [Ruby master Bug#18250] Anonymous variables seem to break `Ractor.make_shareable` — "tenderlovemaking (Aaron Patterson)" <noreply@...>

SXNzdWUgIzE4MjUwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHRlbmRlcmxvdmVtYWtpbmcgKEFhcm9u

14 messages 2021/10/12

[#105660] [Ruby master Feature#18254] Add an `offset` parameter to String#unpack and String#unpack1 — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjU0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

13 messages 2021/10/18

[#105665] [Ruby master Bug#18255] ioctl zeroes the last buffer byte — "vihai (Daniele Orlandi)" <noreply@...>

SXNzdWUgIzE4MjU1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHZpaGFpIChEYW5pZWxlIE9ybGFuZGkp

8 messages 2021/10/18

[#105672] [Ruby master Feature#18256] Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable — "Eregon (Benoit Daloze)" <noreply@...>

SXNzdWUgIzE4MjU2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEVyZWdvbiAoQmVub2l0IERhbG96ZSku

6 messages 2021/10/19

[#105692] [Ruby master Bug#18257] SystemTap/DTrace coredump on ppc64le/s390x — "vo.x (Vit Ondruch)" <noreply@...>

SXNzdWUgIzE4MjU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHZvLnggKFZpdCBPbmRydWNoKS4KCi0t

22 messages 2021/10/20

[#105750] [Ruby master Feature#18262] Enumerator::Lazy#partition — "zverok (Victor Shepelev)" <noreply@...>

SXNzdWUgIzE4MjYyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2

8 messages 2021/10/22

[#105781] [Ruby master Misc#18266] DevelopersMeeting20211118Japan — "mame (Yusuke Endoh)" <noreply@...>

SXNzdWUgIzE4MjY2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1hbWUgKFl1c3VrZSBFbmRvaCkuCgot

13 messages 2021/10/25

[#105805] [Ruby master Bug#18270] Refinement#{extend_object, append_features, prepend_features} should be removed — "shugo (Shugo Maeda)" <noreply@...>

SXNzdWUgIzE4MjcwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNodWdvIChTaHVnbyBNYWVkYSkuCgot

8 messages 2021/10/26

[#105826] [Ruby master Feature#18273] Class.subclasses — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjczIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

35 messages 2021/10/27

[#105833] [Ruby master Feature#18275] Add an option to define_method to not capture the surrounding environment — "vinistock (Vinicius Stock)" <noreply@...>

SXNzdWUgIzE4Mjc1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHZpbmlzdG9jayAoVmluaWNpdXMgU3Rv

11 messages 2021/10/27

[#105853] [Ruby master Feature#18276] `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)` — "ko1 (Koichi Sasada)" <noreply@...>

SXNzdWUgIzE4Mjc2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtvMSAoS29pY2hpIFNhc2FkYSkuCgot

15 messages 2021/10/28

[ruby-core:105676] [Ruby master Feature#18020] Introduce `IO::Buffer` for fiber scheduler.

From: "Eregon (Benoit Daloze)" <noreply@...>
Date: 2021-10-19 10:27:06 UTC
List: ruby-core #105676
SXNzdWUgIzE4MDIwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K
CgpJbiB0aGUgZGVzY3JpcHRpb24ncyBjb2RlLCB0aGVyZSBpcyBgbG9ja2AgYW5kIGB1bmxvY2tg
LgpBcmUgdGhvc2Ugc3VwcG9zZWQgdG8gYmUgdGhyZWFkLXNhZmU/IElmIHllcyBJIHRoaW5rIHlv
dSdkIG5lZWQgdG8gc3luY2hyb25pemUgaW4gYWxtb3N0IGV2ZXJ5IG1ldGhvZCwgaWYgaXQncyBw
b3NzaWJsZSB0byBhY2Nlc3MgdGhlIGJ1ZmZlciB3aXRob3V0IEdWTC4KSSB0aGluayBpdCdzIGJl
dHRlciB0byBvbmx5IGFsbG93ICJsb2NrIiBvbiBjcmVhdGlvbiwgdG8gdGhlcmUgaXMgbm8gZHlu
YW1pYyBsb2NrIG9yIHVubG9jaywgd2hpY2ggbWFrZXMgZXZlcnl0aGluZyBtb3JlIGNvbXBsZXgu
CkluIGZhY3QsIGRvIHdlIGV2ZW4gbmVlZCByZXNpemFibGUgYnVmZmVycz8gSU1ITyB1c2luZyBh
bm90aGVyIGJ1ZmZlciBzZWVtcyBtdWNoIGNsZWFuZXIgaWYgb25lIG5lZWRzIHRvIGdyb3cgaXQu
CgpUaGUgbmV3IGludGVyZmFjZSBmZWVscyByZWFsbHkgYmlnIGFuZCBoYXJkIHRvIHVuZGVyc3Rh
bmQgaXQgYXMgYSB3aG9sZS4KSU1ITyB0aGUgdGhyZWFkLXVuc2FmZSBwYXJ0cyAodGhpcyBhbmQg
W3RoYXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC80NjIxI2Rpc2N1c3Npb25f
cjY2MzM1NTM0OCkpIHNob3VsZCBiZSByZW1vdmVkLCBhbmQgdGhlIGludGVyZmFjZSBzaW1wbGlm
aWVkIGFzIG11Y2ggYXMgcG9zc2libGUsIGFuZCB0aGVuIGl0IHdvdWxkIGJlIGEgbG90IGVhc2ll
ciB0byByZXZpZXcuCmUuZy4sIGlmIGl0J3MgYSBmaXhlZC1zaXplIGJ1ZmZlciB0aGVuIGl0J3Mg
YWxyZWF5ZCBtdWNoIGVhc2llciB0byByZWFzb24gYWJvdXQgdGhhbiBzb21lIElPOjpCdWZmZXIg
ZG9pbmcgZXZlcnl0aGluZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KRmVhdHVyZSAjMTgwMjA6IEludHJvZHVjZSBgSU86OkJ1ZmZlcmAgZm9yIGZpYmVyIHNjaGVk
dWxlci4KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4MDIwI2NoYW5nZS05NDE3
NgoKKiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpCiogU3RhdHVzOiBPcGVuCiog
UHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CkFmdGVyIGNvbnRpbnVpbmcgdG8gYnVpbGQgb3V0IHRoZSBmaWJlciBzY2hlZHVsZXIgaW50ZXJm
YWNlIGFuZCB0aGUgc3BlY2lmaWMgaG9va3MgcmVxdWlyZWQgZm9yIGBpb191cmluZ2AsIEkgZm91
bmQgc29tZSB0cm91YmxlIHdpdGhpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYElPYC4KCkkgZm91
bmQgdGhhdCBpbiBzb21lIGNhc2VzLCB3ZSBuZWVkIHRvIHJlYWQgaW50byB0aGUgaW50ZXJuYWwg
SU8gYnVmZmVycyBkaXJlY3RseS4gSSB0cmllZCBjcmVhdGluZyBhICJmYWtlIHN0cmluZyIgaW4g
b3JkZXIgdG8gdHJhbnNpdCBiYWNrIGludG8gdGhlIFJ1YnkgZmliZXIgc2NoZWR1bGVyIGludGVy
ZmFjZSBhbmQgdGhpcyBkaWQgd29yayB0byBhIGNlcnRhaW4gZXh0ZW50LCBidXQgSSB3YXMgdG9s
ZCB3ZSBjYW5ub3QgZXhwb3NlIGZha2Ugc3RyaW5nIHRvIFJ1Ynkgc2NoZWR1bGVyIGludGVyZmFj
ZS4KClNvLCBhZnRlciB0aGlzLCBhbmQgbWFueSBvdGhlciBmcnVzdHJhdGlvbnMgd2l0aCB1c2lu
ZyBgU3RyaW5nYCBhcyBhIElPIGJ1ZmZlciwgSSBkZWNpZGVkIHRvIGltcGxlbWVudCBhIGxvdyBs
ZXZlbCBgSU86OkJ1ZmZlcmAgYmFzZWQgb24gbXkgbmVlZHMgZm9yIGhpZ2ggcGVyZm9ybWFuY2Ug
SU8sIGFuZCBhcyBwYXJ0IG9mIHRoZSBmaWJlciBzY2hlZHVsZXIgaW50ZXJmYWNlLgoKSGVyZSBp
cyByb3VnaGx5IHRoZSBpbnRlcmZhY2UgaW1wbGVtZW50ZWQgYnkgdGhlIHNjaGVkdWxlciB3LnIu
dC4gdGhlIGJ1ZmZlcjoKCmBgYHJ1YnkKY2xhc3MgU2NoZWR1bGVyCiAgIyBAcGFyYW1ldGVyIGJ1
ZmZlciBbSU86OkJ1ZmZlcl0gQnVmZmVyIGZvciByZWFkaW5nIGludG8uCiAgZGVmIGlvX3JlYWQo
aW8sIGJ1ZmZlciwgbGVuZ3RoKQogICAgIyBpbXBsZW1lbnRhdGlvbiBwcm92aWRlZCBieSBgcmVh
ZGAgc3lzdGVtIGNhbGwsIElPX1VSSU5HX1JFQURWLCBldGMuCiAgZW5kCgogICMgQHBhcmFtZXRl
ciBidWZmZXIgW0lPOjpCdWZmZXJdIEJ1ZmZlciBmb3Igd3JpdGluZyBmcm9tLgogIGRlZiBpb193
cml0ZShpbywgYnVmZmVyLCBsZW5ndGgpCiAgICAjIGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIGJ5
IGB3cml0ZWAgc3lzdGVtIGNhbGwsIElPX1VSSU5HX1dSSVRFViwgZXRjLgogIGVuZAoKICAjIFBv
dGVudGlhbCBuZXcgaG9va3MgKFNvY2tldCNyZWN2bXNnLCBzZW5kbXNnLCBldGMpOgogIGRlZiBp
b19yZWN2bXNnKGlvLCBidWZmZXIsIGxlbmd0aCkKICBlbmQKZW5kCmBgYAoKSW4gcmV2aWV3aW5n
IG90aGVyIGxhbmd1YWdlIGRlc2lnbnMsIEkgZm91bmQgdGhhdCB0aGlzIGRlc2lnbiBpcyB2ZXJ5
IHNpbWlsYXIgdG8gQ3J5c3RhbCdzIElPIGJ1ZmZlcmluZyBzdHJhdGVneS4KClRoZSBwcm9wb3Nl
ZCBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyBlbm91Z2ggb2YgYW4gaW50ZXJmYWNlIHRvIGltcGxl
bWVudCBib3RoIG5hdGl2ZSBzY2hlZHVsZXJzIGFzIHdlbGwgYXMgcHVyZSBSdWJ5IHNjaGVkdWxl
cnMuIEl0IGFsc28gcHJvdmlkZXMgc29tZSBleHRyYSBmdW5jdGlvbmFsaXR5IGZvciBpbnRlcnBy
ZXRpbmcgdGhlIGRhdGEgaW4gdGhlIGJ1ZmZlci4gVGhpcyBpcyBtb3N0bHkgZm9yIHRlc3Rpbmcg
YW5kIGV4cGVyaW1lbnRhdGlvbiwgYWx0aG91Z2ggaXQgbWlnaHQgbWFrZSBzZW5zZSB0byBleHBv
c2UgdGhpcyBpbnRlcmZhY2UgZm9yIGJpbmFyeSBwcm90b2NvbHMgbGlrZSBIVFRQLzIsIFFVSUMs
IFdlYlNvY2tldHMsIGV0Yy4KCiMjIFByb3Bvc2VkIFNvbHV0aW9uCgpXZSBpbnRyb2R1Y2UgbmV3
IGNsYXNzIGBJTzo6QnVmZmVyYC4KCmBgYHJ1YnkKY2xhc3MgSU86OkJ1ZmZlcgogICMgQHJldHVy
bnMgW0lPOjpCdWZmZXJdIEEgYnVmZmVyIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBzdHJpbmcg
ZGF0YS4KICBkZWYgc2VsZi5mb3Ioc3RyaW5nKQogIGVuZAoKICBQQUdFX1NJWkUgPSAjIC4uLiBv
cGVyYXRpbmcgc3lzdGVtIHBhZ2Ugc2l6ZQoKICAjIEByZXR1cm5zIFtJTzo6QnVmZmVyXSBBIGJ1
ZmZlciB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBtYXBwZWQgdG8gbWVtb3J5LgogIGRl
ZiBzZWxmLm1hcChmaWxlKQogIGVuZAoKICAjIEZsYWdzIGZvciBidWZmZXIgc3RhdGUuCiAgRVhU
RVJOQUwgPSAjIFRoZSBidWZmZXIgaXMgZnJvbSBleHRlcm5hbCBtZW1vcnkuCiAgSU5URVJOQUwg
PSAjIFRoZSBidWZmZXIgaXMgZnJvbSBpbnRlcm5hbCBtZW1vcnkgKG1hbGxvYykuCiAgTUFQUEVE
ID0gIyBUaGUgYnVmZmVyIGlzIGZyb20gbWFwcGVkIG1lbW9yeSAobW1hcCwgVmlydHVhbEFsbG9j
LCBldGMpCiAgTE9DS0VEID0gIyBUaGUgYnVmZmVyIGlzIGxvY2tlZCBmb3IgdXNhZ2UgKGNhbm5v
dCBiZSByZXNpemVkKQogIFBSSVZBVEUgPSAjIFRoZSBidWZmZXIgaXMgbWFwcGVkIGFzIGNvcHkt
b24td3JpdGUuCiAgSU1NVVRBQkxFID0gIyBUaGUgYnVmZmVyIGNhbm5vdCBiZSBtb2RpZmllZC4K
CiAgIyBAcmV0dXJucyBbSU86OkJ1ZmZlcl0gQSBidWZmZXIgd2l0aCB0aGUgc3BlY2lmaWVkIHNp
emUsIGFsbG9jYXRlZCBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIGZsYWdzLgogIGRlZiBpbml0aWFs
aXplKHNpemUsIGZsYWdzKQogIGVuZAoKICAjIEByZXR1cm5zIFtJbnRlZ3JhbF0gVGhlIHNpemUg
b2YgdGhlIGJ1ZmZlcgogIGF0dHIgOnNpemUKCiAgIyBAcmV0dXJucyBbU3RyaW5nXSBBIGJyaWVm
IHN1bW1hcnkgYW5kIGhleCBkdW1wIG9mIHRoZSBidWZmZXIuCiAgZGVmIGluc3BlY3QKICBlbmQK
CiAgIyBAcmV0dXJucyBbU3RyaW5nXSBBIGJyaWVmIHN1bW1hcnkgb2YgdGhlIGJ1ZmZlci4KICBk
ZWYgdG9fcwogIGVuZAoKICAjIEZsYWcgcHJlZGljYXRlczoKICBkZWYgZXh0ZXJuYWw/CiAgZW5k
CgogIGRlZiBpbnRlcm5hbD8KICBlbmQKCiAgZGVmIG1hcHBlZD8KICBlbmQKCiAgZGVmIGxvY2tl
ZD8KICBlbmQKCiAgZGVmIGltbXV0YWJsZT8KICBlbmQKCiAgIyBGbGFncyBmb3IgZW5kaWFuL2J5
dGUgb3JkZXI6CiAgTElUVExFX0VORElBTiA9ICMgLi4uCiAgQklHX0VORElBTiA9ICMgLi4uCiAg
SE9TVF9FTkRJQU4gPSAjIC4uLgogIE5FVFdPUktfRU5ESUFOPSAjIC4uLgoKICAjIExvY2sgdGhl
IGJ1ZmZlciAocHJldmVudCByZXNpemUsIHVubWFwLCBjaGFuZ2VzIHRvIGJhc2UgYW5kIHNpemUp
LgogIGRlZiBsb2NrCiAgICByYWlzZSAiQWxyZWFkeSBsb2NrZWQhIiBpZiBmbGFncyAmIExPQ0tF
RAogICAgCiAgICBmbGFncyB8PSBMT0NLRUQKICBlbmQKCiAgIyBVbmxvY2sgdGhlIGJ1ZmZlci4K
ICBkZWYgdW5sb2NrCiAgICByYWlzZSAiTm90IGxvY2tlZCEiIHVubGVzcyBmbGFncyAmIExPQ0tF
RAogICAgCiAgICBmbGFncyB8PSB+TE9DS0VECiAgZW5kCgogIC8vIE1hbmlwdWxhdGlvbjoKICAj
IEByZXR1cm5zIFtJTzo6QnVmZmVyXSBBIHNsaWNlIG9mIHRoZSBidWZmZXIncyBkYXRhLiBEb2Vz
IG5vdCBjb3B5LgogIGRlZiBzbGljZShvZmZzZXQsIGxlbmd0aCkKICBlbmQKCiAgIyBAcmV0dXJu
cyBbU3RyaW5nXSBBIGJpbmFyeSBzdHJpbmcgc3RhcnRpbmcgYXQgb2Zmc2V0LCBsZW5ndGggYnl0
ZXMuCiAgZGVmIHRvX3N0cihvZmZzZXQsIGxlbmd0aCkKICBlbmQKCiAgIyBDb3B5IHRoZSBzcGVj
aWZpZWQgc3RyaW5nIGludG8gdGhlIGJ1ZmZlciBhdCB0aGUgZ2l2ZW4gb2Zmc2V0LgogIGRlZiBj
b3B5KHN0cmluZywgb2Zmc2V0KQogIGVuZAoKICAjIENvbXBhcmUgdHdvIGJ1ZmZlcnMuCiAgZGVm
IDw9PihvdGhlcikKICBlbmQKCiAgaW5jbHVkZSBDb21wYXJhYmxlCgogICMgUmVzaXplIHRoZSBi
dWZmZXIsIHByZXNlcnZpbmcgdGhlIGdpdmVuIGxlbmd0aCAoaWYgbm9uLXplcm8pLgogIGRlZiBy
ZXNpemUoc2l6ZSwgcHJlc2VydmUgPSAwKQogIGVuZAoKICAjIENsZWFyIHRoZSBidWZmZXIgdG8g
dGhlIHNwZWNpZmllZCB2YWx1ZS4KICBkZWYgY2xlYXIodmFsdWUgPSAwLCBvZmZzZXQgPSAwLCBs
ZW5ndGggPSAoQHNpemUgLSBvZmZzZXQpKQogIGVuZAoKICAjIERhdGEgVHlwZXM6CiAgIyBMb3dl
ciBjYXNlOiBsaXR0bGUgZW5kaWFuLgogICMgVXBwZXIgY2FzZTogYmlnIGVuZGlhbiAobmV0d29y
ayBlbmRpYW4pLgogICMKICAjIDpVOCAgICAgICAgfCB1bnNpZ25lZCA4LWJpdCBpbnRlZ2VyLgog
ICMgOlM4ICAgICAgICB8IHNpZ25lZCA4LWJpdCBpbnRlZ2VyLgogICMKICAjIDp1MTYsIDpVMTYg
fCB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlci4KICAjIDpzMTYsIDpTMTYgfCBzaWduZWQgMTYtYml0
IGludGVnZXIuCiAgIwogICMgOnUzMiwgOlUzMiB8IHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyLgog
ICMgOnMzMiwgOlMzMiB8IHNpZ25lZCAzMi1iaXQgaW50ZWdlci4KICAjCiAgIyA6dTY0LCA6VTY0
IHwgdW5zaWduZWQgNjQtYml0IGludGVnZXIuCiAgIyA6czY0LCA6UzY0IHwgc2lnbmVkIDY0LWJp
dCBpbnRlZ2VyLgogICMKICAjIDpmMzIsIDpGMzIgfCAzMi1iaXQgZmxvYXRpbmcgcG9pbnQgbnVt
YmVyLgogICMgOmY2NCwgOkY2NCB8IDY0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXIuCgogICMg
R2V0IHRoZSBnaXZlbiBkYXRhIHR5cGUgYXQgdGhlIHNwZWNpZmllZCBvZmZzZXQuCiAgZGVmIGdl
dCh0eXBlLCBvZmZzZXQpCiAgZW5kCgogICMgU2V0IHRoZSBnaXZlbiB2YWx1ZSBhcyB0aGUgc3Bl
Y2lmaWVkIGRhdGEgdHlwZSBhdCB0aGUgc3BlY2lmaWVkIG9mZnNldC4KICBkZWYgc2V0KHR5cGUs
IG9mZnNldCwgdmFsdWUpCiAgZW5kCmVuZApgYGAKClRoZSBDIGludGVyZmFjZSBwcm92aWRlcyBh
IGZldyBjb252ZW5pZW50IG1ldGhvZHMgZm9yIGFjY2Vzc2luZyB0aGUgdW5kZXJseWluZyBkYXRh
IGJ1ZmZlcjoKCmBgYGMKdm9pZCByYl9pb19idWZmZXJfZ2V0X211dGFibGUoVkFMVUUgc2VsZiwg
dm9pZCAqKmJhc2UsIHNpemVfdCAqc2l6ZSk7CnZvaWQgcmJfaW9fYnVmZmVyX2dldF9pbW11dGFi
bGUoVkFMVUUgc2VsZiwgY29uc3Qgdm9pZCAqKmJhc2UsIHNpemVfdCAqc2l6ZSk7CmBgYAoKSW4g
dGhlIGZpYmVyIHNjaGVkdWxlciwgaXQgaXMgdXNlZCBsaWtlIHRoaXM6CgpgYGBjClZBTFVFCnJi
X2ZpYmVyX3NjaGVkdWxlcl9pb19yZWFkX21lbW9yeShWQUxVRSBzY2hlZHVsZXIsIFZBTFVFIGlv
LCB2b2lkICpiYXNlLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IGxlbmd0aCkKewogICAgVkFMVUUgYnVm
ZmVyID0gcmJfaW9fYnVmZmVyX25ldyhiYXNlLCBzaXplLCBSQl9JT19CVUZGRVJfTE9DS0VEKTsK
CiAgICBWQUxVRSByZXN1bHQgPSByYl9maWJlcl9zY2hlZHVsZXJfaW9fcmVhZChzY2hlZHVsZXIs
IGlvLCBidWZmZXIsIGxlbmd0aCk7CgogICAgcmJfaW9fYnVmZmVyX2ZyZWUoYnVmZmVyKTsKCiAg
ICByZXR1cm4gcmVzdWx0Owp9CmBgYAoKVGhpcyBmdW5jdGlvbiBpcyBpbnZva2VkIGZyb20gYGlv
LmNgIGF0IHZhcmlvdXMgcGxhY2VzIHRvIGZpbGwgdGhlIGJ1ZmZlci4gV2Ugc3BlY2lmaWNhbGx5
IHRoZSBgKGJhc2UsIHNpemUpYCB0dXBsZSwgYWxvbmcgd2l0aCBgbGVuZ3RoYCB3aGljaCBpcyB0
aGUgKm1pbmltdW0qIGxlbmd0aCByZXF1aXJlZCBhbmQgYXNzaXN0cyB3aXRoIGVmZmljaWVudCBu
b24tYmxvY2tpbmcgaW1wbGVtZW50YXRpb24uCgpUaGUgYHVyaW5nLmNgIGltcGxlbWVudGF0aW9u
IGluIHRoZSBldmVudCBnZW0gdXNlcyB0aGlzIGludGVyZmFjZSBsaWtlIHNvOgoKYGBgYwpWQUxV
RSBFdmVudF9CYWNrZW5kX1VSaW5nX2lvX3JlYWQoVkFMVUUgc2VsZiwgVkFMVUUgZmliZXIsIFZB
TFVFIGlvLCBWQUxVRSBidWZmZXIsIFZBTFVFIF9sZW5ndGgpIHsKCXN0cnVjdCBFdmVudF9CYWNr
ZW5kX1VSaW5nICpkYXRhID0gTlVMTDsKCVR5cGVkRGF0YV9HZXRfU3RydWN0KHNlbGYsIHN0cnVj
dCBFdmVudF9CYWNrZW5kX1VSaW5nLCAmRXZlbnRfQmFja2VuZF9VUmluZ19UeXBlLCBkYXRhKTsK
CQoJaW50IGRlc2NyaXB0b3IgPSBSQl9OVU0ySU5UKHJiX2Z1bmNhbGwoaW8sIGlkX2ZpbGVubywg
MCkpOwoJCgl2b2lkICpiYXNlOwoJc2l6ZV90IHNpemU7CglyYl9pb19idWZmZXJfZ2V0X211dGFi
bGUoYnVmZmVyLCAmYmFzZSwgJnNpemUpOwoJCglzaXplX3Qgb2Zmc2V0ID0gMDsKCXNpemVfdCBs
ZW5ndGggPSBOVU0yU0laRVQoX2xlbmd0aCk7CgkKCXdoaWxlIChsZW5ndGggPiAwKSB7CgkJc2l6
ZV90IG1heGltdW1fc2l6ZSA9IHNpemUgLSBvZmZzZXQ7CgkJaW50IHJlc3VsdCA9IGlvX3JlYWQo
ZGF0YSwgZmliZXIsIGRlc2NyaXB0b3IsIChjaGFyKiliYXNlK29mZnNldCwgbWF4aW11bV9zaXpl
KTsKCQkKCQlpZiAocmVzdWx0ID09IDApIHsKCQkJYnJlYWs7CgkJfSBlbHNlIGlmIChyZXN1bHQg
PiAwKSB7CgkJCW9mZnNldCArPSByZXN1bHQ7CgkJCWlmICgoc2l6ZV90KXJlc3VsdCA+IGxlbmd0
aCkgYnJlYWs7CgkJCWxlbmd0aCAtPSByZXN1bHQ7CgkJfSBlbHNlIGlmICgtcmVzdWx0ID09IEVB
R0FJTiB8fCAtcmVzdWx0ID09IEVXT1VMREJMT0NLKSB7CgkJCUV2ZW50X0JhY2tlbmRfVVJpbmdf
aW9fd2FpdChzZWxmLCBmaWJlciwgaW8sIFJCX0lOVDJOVU0oUkVBREFCTEUpKTsKCQl9IGVsc2Ug
ewoJCQlyYl9zeXNlcnJfZmFpbCgtcmVzdWx0LCBzdHJlcnJvcigtcmVzdWx0KSk7CgkJfQoJfQoJ
CglyZXR1cm4gU0laRVQyTlVNKG9mZnNldCk7Cn0KYGBgCgojIyBCdWZmZXIgQWxsb2NhdGlvbgoK
VGhlIExpbnV4IGtlcm5lbCBwcm92aWRlcyBzb21lIGFkdmFuY2VkIG1lY2hhbmlzbXMgZm9yIHJl
Z2lzdGVyaW5nIGJ1ZmZlcnMgZm9yIGFzeW5jaHJvbm91cyBJL08gdG8gcmVkdWNlIHBlci1vcGVy
YXRpb24gb3ZlcmhlYWQuCgo+IFRoZSBpb191cmluZ19yZWdpc3RlcigpIHN5c3RlbSBjYWxsIHJl
Z2lzdGVycyB1c2VyIGJ1ZmZlcnMgb3IgZmlsZXMgZm9yIHVzZSBpbiBhbiBpb191cmluZyg3KSBp
bnN0YW5jZSByZWZlcmVuY2VkIGJ5IGZkLiBSZWdpc3RlcmluZyBmaWxlcyBvciB1c2VyIGJ1ZmZl
cnMgYWxsb3dzIHRoZSBrZXJuZWwgdG8gdGFrZSBsb25nIHRlcm0gcmVmZXJlbmNlcyB0byBpbnRl
cm5hbCBkYXRhIHN0cnVjdHVyZXMgb3IgY3JlYXRlIGxvbmcgdGVybSBtYXBwaW5ncyBvZiBhcHBs
aWNhdGlvbiBtZW1vcnksIGdyZWF0bHkgcmVkdWNpbmcgcGVyLUkvTyBvdmVyaGVhZC4KCldpdGgg
YXBwcm9wcmlhdGUgc3VwcG9ydCwgd2UgY2FuIHVzZSBgSU9SSU5HX09QX1BST1ZJREVfQlVGRkVS
U2AgdG8gZWZmaWNpZW50bHkgbWFuYWdlIGJ1ZmZlcnMgaW4gYXBwbGljYXRpb25zIHdoaWNoIGFy
ZSBkZWFsaW5nIHdpdGggbG90cyBvZiBzb2NrZXRzLiBTZWUgPGh0dHBzOi8vbG9yZS5rZXJuZWwu
b3JnL2lvLXVyaW5nLzIwMjAwMjI4MjAzMDUzLjI1MDIzLTEtYXhib2VAa2VybmVsLmRrL1QvPiBm
b3IgbW9yZSBkZXRhaWxzIGFib3V0IGhvdyBpdCB3b3Jrcy4gSSdtIHN0aWxsIGV4cGxvcmluZyB0
aGUgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zIG9mIHRoaXMsIGJ1dCB0aGUgcHJvcG9zZWQgaW1w
bGVtZW50YXRpb24gcHJvdmlkZXMgc3VmZmljaWVudCBtZXRhLWRhdGEgZm9yIHVzIHRvIGV4cGxv
cmUgdGhpcyBpbiByZWFsIHdvcmxkIHNjaGVkdWxlcnMuCgpQUjogaHR0cHM6Ly9naXRodWIuY29t
L3J1YnkvcnVieS9wdWxsLzQ2MjEKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoK
VW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJq
ZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWls
bWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread