[#119132] Segfault using ruby C on MacOS (Intel Catalina and M2 Sonoma) — "martin.kufner--- via ruby-core" <ruby-core@...>
Hey guys,
4 messages
2024/09/12
[#119133] Re: Segfault using ruby C on MacOS (Intel Catalina and M2 Sonoma)
— "martin.kufner--- via ruby-core" <ruby-core@...>
2024/09/12
I just saw, that the #includes dont show up in the c file ...
[#119145] [Ruby master Misc#20728] Propose Eileen Uchitelle as a core committer — "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>
Issue #20728 has been reported by kddnewton (Kevin Newton).
14 messages
2024/09/12
[#119312] [Ruby master Bug#20762] `make test-basic` with -DRGENGC_FORCE_MAJOR_GC is always failure — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>
Issue #20762 has been reported by hsbt (Hiroshi SHIBATA).
6 messages
2024/09/27
[ruby-core:119032] [Ruby master Bug#20710] Reducing Hash allocation introduces large performance degradation (probably related to VWA)
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2024-09-04 03:28:40 UTC
List:
ruby-core #119032
SXNzdWUgIzIwNzEwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQpAcGV0ZXJ6aHUyMTE4IFRoaXMgaXMgdG90YWxseSBkaWZmZXJlbnQgZnJvbSB0aGUgaXNzdWUg d2UgdGFsa2VkIGFib3V0IGluIFNsYWNrLCB3aGljaCB3YXMgZW50aXJlbHkgYSBtaWNyby1iZW5j aG1hcmsgb2YgdGhlIHNwZWVkIG9mIGdlbmVyYXRpbmcgZW1wdHkgaGFzaGVzLiBUaGlzIHByb2Js ZW0gaXMgbXVjaCBtb3JlIGNvbXBsZXguDQoNClRoaXMgcHJvYmxlbSBpcyB0aGF0IOKAnHJlZHVj aW5nIHRoZSBudW1iZXIgb2Ygb2JqZWN0IGNyZWF0aW9uIGNhbiBzbG93IGRvd24gZXhlY3V0aW9u IHRpbWXigJ0uIElmIG15IGludmVzdGlnYXRpb24gaXMgY29ycmVjdCwgdGhlIG1lY2hhbmlzbSBv ZiB0aGUgcHJvYmxlbSBpcyBhcyBmb2xsb3dzLg0KDQoqIElmIGEgcHJvZ3JhbSBjcmVhdGVzIG1v cmUgb2JqZWN0cywgR0Mgb2Z0ZW4gb2NjdXJzIGFuZCB0aGUgaGVhcCBncm93cy4gVGhpcyBkZWNy ZWFzZXMgdGhlIGZyZXF1ZW5jeSBvZiBHQyBvY2N1cnJlbmNlIGdyYWR1YWxseSBhbmQgYW5kIHRo cm91Z2hwdXQgaW5jcmVhc2VzLg0KKiBJZiBhIHByb2dyYW0gY3JlYXRlcyBmZXdlciBvYmplY3Rz LCBvbmx5IG1pbm9yIEdDcyBvY2N1ciBhbmQgdGhlIGhlYXAgZG9lcyBub3QgZ3Jvdy4gVGhlcmVm b3JlLCBtaW5vciBHQ3MgY29udGludWUgdG8gb2NjdXIgYXQgYSBoaWdoIGZyZXF1ZW5jeSBhbmQg dGhyb3VnaHB1dCBkb2VzIG5vdCBpbmNyZWFzZS4NCg0KVGhlcmVmb3JlLCBhbGxvY2F0aW5nIHVu bmVjZXNzYXJ5IG9iamVjdHMgY2FuIGJlIG11Y2ggZmFzdGVyLCBpcm9uaWNhbGx5Lg0KDQpJZiBt eSB1bmRlcnN0YW5kaW5nIGlzIGNvcnJlY3QsIG1pbm9yIEdDIGdyb3dzIHRoZSBoZWFwIG9ubHkg dGhlIGZpcnN0IGZldyB0aW1lcywgYW5kIG5vIG1hdHRlciBob3cgbWFueSBtaW5vciBHQ3Mgb2Nj dXIgYWZ0ZXIgdGhhdCwgdGhlIGhlYXAgd2lsbCBub3QgZ3Jvdy4gSSBmZWVsIHRoZXJlIGlzIHJv b20gZm9yIGltcHJvdmVtZW50IGluIHRoaXMuDQoNCkkgYW0gZXZlbiB1bnN1cmUgaWYgVldBIGlz IHJlYWxseSBpbnZvbHZlZCBpbiB0aGlzIHByb2JsZW0uIEJ1dCB3ZSBoYXZlIG9ic2VydmVkIHRo aXMgcHJvYmxlbSB3aXRoIEhhc2ggb2JqZWN0cyBhbmQgUnVieSAzLjMuIEl0IGRvZXMgbm90IHJl cHJvZHVjZSBvbiBSdWJ5IDMuMi4gV2UgY291bGRuJ3QgcmVwcm9kdWNlIHRoaXMgYnkgcmVkdWNp bmcgYW4gb2JqZWN0IHJhdGhlciB0aGFuIEhhc2guDQoNCk5vdGUgdGhhdCB0aGlzIHByb2JsZW0g aXMgbm90IGluIGEgbWljcm8tYmVuY2htYXJrLiBJdCBhY3R1YWxseSBvY2N1cnMgaW4gUkJTICsg U3RlZXAsIGEgcmVhbC13b3JsZCBtYWNybyBiZW5jaG1hcmsuDQoNCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkJ1ZyAjMjA3MTA6IFJlZHVjaW5nIEhhc2ggYWxsb2Nh dGlvbiBpbnRyb2R1Y2VzIGxhcmdlIHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uIChwcm9iYWJseSBy ZWxhdGVkIHRvIFZXQSkNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDcxMCNj aGFuZ2UtMTA5NjExDQoNCiogQXV0aG9yOiBwb2NrZSAoTWFzYXRha2EgS3V3YWJhcmEpDQoqIFN0 YXR1czogT3Blbg0KKiBydWJ5IC12OiBydWJ5IDMuMy40ICgyMDI0LTA3LTA5IHJldmlzaW9uIGJl MTA4OWM4ZWMpIFthcm02NC1kYXJ3aW4yMV0NCiogQmFja3BvcnQ6IDMuMTogVU5LTk9XTiwgMy4y OiBVTktOT1dOLCAzLjM6IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCkkgZm91bmQgYSBzdXJwcmlzaW5nIHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uIHdo aWxlIGRldmVsb3BpbmcgUkJTLg0KSW4gc2hvcnQsIEkgdHJpZWQgdG8gcmVtb3ZlIHVubmVjZXNz YXJ5IEhhc2ggYWxsb2NhdGlvbnMgZm9yIFJCUy4gVGhlbiwgaXQgbWFkZSB0aGUgZXhlY3V0aW9u IHRpbWUgMnggc2xvd2VyLg0KDQpWV0EgZm9yIEhhc2ggcHJvYmFibHkgY2F1c2VzIHRoaXMgZGVn cmFkYXRpb24uIEknZCBiZSBoYXBweSBpZiB3ZSBjb3VsZCBtaXRpZ2F0ZSB0aGUgaW1wYWN0IGJ5 IHVwZGF0aW5nIHRoZSBtZW1vcnkgbWFuYWdlbWVudCBzdHJhdGVneS4NCg0KDQojIyBSZXByb2R1 Y2UNCg0KWW91IGNhbiByZXByb2R1Y2UgdGhpcyBwcm9ibGVtIG9uIGEgUFIgaW4gcG9ja2UvcmJz IHJlcG9zaXRvcnkuDQpodHRwczovL2dpdGh1Yi5jb20vcG9ja2UvcmJzL3B1bGwvMg0KVGhpcyBQ UiBkZWR1cHMgZW1wdHkgSGFzaCBvYmplY3RzLg0KDQoxLiBgZ2l0IGNsb25lYCBhbmQgY2hlY2tv dXQNCjEuIGBidW5kbGUgaW5zdGFsbGANCjEuIGBidW5kbGUgZXhlYyByYWtlIGNvbXBpbGVgIGZv ciBDLWV4dA0KMS4gYGJ1bmRsZSBydWJ5IGJlbmNobWFyay9iZW5jaG1hcmtfbmV3X2Vudi5yYmAN Cg0KVGhlICJiZWZvcmUiIGNvbW1pdCBpcyBodHRwczovL2dpdGh1Yi5jb20vcG9ja2UvcmJzL2Nv bW1pdC8yYzM1NmMwNjAyODY0MjljZmRiMDM0Zjg4YTc0YTZmOTQ0MjBmZDIxLg0KVGhlICJhZnRl ciIgY29tbWl0IGlzIGh0dHBzOi8vZ2l0aHViLmNvbS9wb2NrZS9yYnMvY29tbWl0L2JmYjJjMzY3 YzdkM2I3ZjkzNzIwMzkyMjUyZDNhMzk4MGQ3YmYzMzUuDQoNClRoZSBiZW5jaG1hcmsgcmVzdWx0 cyBhcmUgdGhlIGZvbGxvd2luZzoNCg0KYGBgDQojIEJlZm9yZQ0KJCBidW5kbGUgZXhlYyBydWJ5 IGJlbmNobWFyay9iZW5jaG1hcmtfbmV3X2Vudi5yYg0KKHNuaXApDQogICAgICAgICAgICAgbmV3 X2VudiAgICAgIDYuNDI2ICjCsTE1LjYlKSBpL3MgLSAgICAgNjQuMDAwIGluICAxMC4xMjU0NDJz DQogICAgICAgbmV3X3JhaWxzX2VudiAgICAgIDAuOTY4ICjCsSAwLjAlKSBpL3MgLSAgICAgMTAu MDAwIGluICAxMC4zNTU3MzhzDQoNCiMgQWZ0ZXINCiQgYnVuZGxlIGV4ZWMgcnVieSBiZW5jaG1h cmsvYmVuY2htYXJrX25ld19lbnYucmINCihzbmlwKQ0KICAgICAgICAgICAgIG5ld19lbnYgICAg ICA0LjM3MSAowrEyMi45JSkgaS9zIC0gICAgIDQzLjAwMCBpbiAgMTAuMTUwMTkycw0KICAgICAg IG5ld19yYWlsc19lbnYgICAgICAwLjM2MCAowrEgMC4wJSkgaS9zIC0gICAgICA0LjAwMCBpbiAg MTEuMzEzMTU4cw0KYGBgDQoNClRoZSBJUFMgZGVjcmVhc2VkIDEuNDd4IGZvciBgbmV3X2VudmAg Y2FzZSAocGFyc2luZyBzbWFsbCBSQlMgZW52KSwgYW5kIDIuNjl4IGZvciBgbmV3X3JhaWxzX2Vu dmAgKHBhcnNpbmcgbGFyZ2UgUkJTIGVudikuDQoNCg0KIyMgSW52ZXN0aWdhdGlvbg0KDQojIyMg R0Muc3RhdA0KDQpgR0Muc3RhdGAgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgbWlub3IgR0NzIGlu Y3JlYXNlcy4NCg0KYGBgcnVieQ0KIyBJbiB0aGUgUkJTIHJlcG9zaXRvcnkNCnJlcXVpcmVfcmVs YXRpdmUgJy4vYmVuY2htYXJrL3V0aWxzJw0KDQp0bXBkaXIgPSBwcmVwYXJlX2NvbGxlY3Rpb24h DQpuZXdfcmFpbHNfZW52KHRtcGRpcikNCnBwIEdDLnN0YXQNCmBgYA0KDQoNCmBgYA0KIyBiZWZv cmUNCns6Y291bnQ9PjEyNiwNCiA6dGltZT0+NTQxLA0KIDptYXJraW5nX3RpbWU9PjQ5NiwNCiA6 c3dlZXBpbmdfdGltZT0+NDUsDQogOmhlYXBfYWxsb2NhdGVkX3BhZ2VzPT43MDIsDQogOmhlYXBf c29ydGVkX2xlbmd0aD0+OTg0LA0KIDpoZWFwX2FsbG9jYXRhYmxlX3BhZ2VzPT4yODIsDQogOmhl YXBfYXZhaWxhYmxlX3Nsb3RzPT43OTMyNzAsDQogOmhlYXBfbGl2ZV9zbG90cz0+Nzg3NDA3LA0K IDpoZWFwX2ZyZWVfc2xvdHM9PjU4NjMsDQogOmhlYXBfZmluYWxfc2xvdHM9PjAsDQogOmhlYXBf bWFya2VkX3Nsb3RzPT43NTc3NDQsDQogOmhlYXBfZWRlbl9wYWdlcz0+NzAyLA0KIDpoZWFwX3Rv bWJfcGFnZXM9PjAsDQogOnRvdGFsX2FsbG9jYXRlZF9wYWdlcz0+NzAyLA0KIDp0b3RhbF9mcmVl ZF9wYWdlcz0+MCwNCiA6dG90YWxfYWxsb2NhdGVkX29iamVjdHM9PjIyMjA2MDUsDQogOnRvdGFs X2ZyZWVkX29iamVjdHM9PjE0MzMxOTgsDQogOm1hbGxvY19pbmNyZWFzZV9ieXRlcz0+NTg3MiwN CiA6bWFsbG9jX2luY3JlYXNlX2J5dGVzX2xpbWl0PT4xNjc3NzIxNiwNCiA6bWlub3JfZ2NfY291 bnQ9PjExMiwNCiA6bWFqb3JfZ2NfY291bnQ9PjE0LA0KIDpjb21wYWN0X2NvdW50PT4wLA0KIDpy ZWFkX2JhcnJpZXJfZmF1bHRzPT4wLA0KIDp0b3RhbF9tb3ZlZF9vYmplY3RzPT4wLA0KIDpyZW1l bWJlcmVkX3diX3VucHJvdGVjdGVkX29iamVjdHM9PjAsDQogOnJlbWVtYmVyZWRfd2JfdW5wcm90 ZWN0ZWRfb2JqZWN0c19saW1pdD0+NDc3OSwNCiA6b2xkX29iamVjdHM9PjYxNTcwNCwNCiA6b2xk X29iamVjdHNfbGltaXQ9Pjk1NTg3MiwNCiA6b2xkbWFsbG9jX2luY3JlYXNlX2J5dGVzPT4yMTA5 MTIsDQogOm9sZG1hbGxvY19pbmNyZWFzZV9ieXRlc19saW1pdD0+MTY3NzcyMTZ9DQoNCiMgYWZ0 ZXINCns6Y291bnQ9PjI1NSwNCiA6dGltZT0+MTU1MSwNCiA6bWFya2luZ190aW1lPT4xNDk2LA0K IDpzd2VlcGluZ190aW1lPT41NSwNCiA6aGVhcF9hbGxvY2F0ZWRfcGFnZXM9PjU3MCwNCiA6aGVh cF9zb3J0ZWRfbGVuZ3RoPT4xMDM4LA0KIDpoZWFwX2FsbG9jYXRhYmxlX3BhZ2VzPT40NjgsDQog OmhlYXBfYXZhaWxhYmxlX3Nsb3RzPT43MzU1MjAsDQogOmhlYXBfbGl2ZV9zbG90cz0+NzMxNzEy LA0KIDpoZWFwX2ZyZWVfc2xvdHM9PjM4MDgsDQogOmhlYXBfZmluYWxfc2xvdHM9PjAsDQogOmhl YXBfbWFya2VkX3Nsb3RzPT43Mjg3MjcsDQogOmhlYXBfZWRlbl9wYWdlcz0+NTcwLA0KIDpoZWFw X3RvbWJfcGFnZXM9PjAsDQogOnRvdGFsX2FsbG9jYXRlZF9wYWdlcz0+NTcwLA0KIDp0b3RhbF9m cmVlZF9wYWdlcz0+MCwNCiA6dG90YWxfYWxsb2NhdGVkX29iamVjdHM9PjIxODMyNzgsDQogOnRv dGFsX2ZyZWVkX29iamVjdHM9PjE0NTE1NjYsDQogOm1hbGxvY19pbmNyZWFzZV9ieXRlcz0+MTIw MCwNCiA6bWFsbG9jX2luY3JlYXNlX2J5dGVzX2xpbWl0PT4xNjc3NzIxNiwNCiA6bWlub3JfZ2Nf Y291bnQ9PjI0MiwNCiA6bWFqb3JfZ2NfY291bnQ9PjEzLA0KIDpjb21wYWN0X2NvdW50PT4wLA0K IDpyZWFkX2JhcnJpZXJfZmF1bHRzPT4wLA0KIDp0b3RhbF9tb3ZlZF9vYmplY3RzPT4wLA0KIDpy ZW1lbWJlcmVkX3diX3VucHJvdGVjdGVkX29iamVjdHM9PjAsDQogOnJlbWVtYmVyZWRfd2JfdW5w cm90ZWN0ZWRfb2JqZWN0c19saW1pdD0+NTkxNSwNCiA6b2xkX29iamVjdHM9PjYwMDU5NCwNCiA6 b2xkX29iamVjdHNfbGltaXQ9PjExODMwNzAsDQogOm9sZG1hbGxvY19pbmNyZWFzZV9ieXRlcz0+ ODEyOCwNCiA6b2xkbWFsbG9jX2luY3JlYXNlX2J5dGVzX2xpbWl0PT4xNjc3NzIxNn0NCmBgYA0K DQojIyMgV2FybWluZyB1cCBIYXNoZXMNCg0KVGhlIGZvbGxvd2luZyBwYXRjaCwgd2hpY2ggY3Jl YXRlcyB1bm5lY2Vzc2FyeSBIYXNoIG9iamVjdHMgYmVmb3JlIHRoZSBiZW5jaG1hcmssIGltcHJv dmVzIHRoZSBleGVjdXRpb24gdGltZS4NCg0KDQpgYGBkaWZmDQpkaWZmIC0tZ2l0IGEvYmVuY2ht YXJrL2JlbmNobWFya19uZXdfZW52LnJiIGIvYmVuY2htYXJrL2JlbmNobWFya19uZXdfZW52LnJi DQppbmRleCA2ZGQyYjczZi4uYThkYTYxYzYgMTAwNjQ0DQotLS0gYS9iZW5jaG1hcmsvYmVuY2ht YXJrX25ld19lbnYucmINCisrKyBiL2JlbmNobWFyay9iZW5jaG1hcmtfbmV3X2Vudi5yYg0KQEAg LTQsNiArNCw4IEBAIHJlcXVpcmUgJ2JlbmNobWFyay9pcHMnDQogDQogdG1wZGlyID0gcHJlcGFy ZV9jb2xsZWN0aW9uIQ0KIA0KKygwLi4zMF8wMDBfMDAwKS5tYXAgeyB7fSB9DQorDQogQmVuY2ht YXJrLmlwcyBkbyB8eHwNCiAgIHgudGltZSA9IDEwDQpgYGANCg0KDQpUaGUgcmVzdWx0cyBhcmUg dGhlIGZvbGxvd2luZzoNCg0KYGBgDQojIEJlZm9yZQ0KQ2FsY3VsYXRpbmcgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgICAgICAgIG5ld19lbnYgICAgIDEwLjM1 NCAowrEgOS43JSkgaS9zIC0gICAgMTAzLjAwMCBpbiAgMTAuMDEzODM0cw0KICAgICAgIG5ld19y YWlsc19lbnYgICAgICAxLjY2MSAowrEgMC4wJSkgaS9zIC0gICAgIDE3LjAwMCBpbiAgMTAuMjgy NDkwcw0KDQojIEFmdGVyDQpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQogICAgICAgICAgICAgbmV3X2VudiAgICAgMTAuNzcxICjCsSA5LjMlKSBpL3Mg LSAgICAxMDcuMDAwIGluICAxMC4wMTA0NDZzDQogICAgICAgbmV3X3JhaWxzX2VudiAgICAgIDEu NTg0ICjCsSAwLjAlKSBpL3MgLSAgICAgMTYuMDAwIGluICAxMC4xNzg5ODRzDQpgYGANCg0KDQoj IyMgYFJVQllfR0NfSEVBUF9GUkVFX1NMT1RTX01JTl9SQVRJT2ANCg0KVGhlIGBSVUJZX0dDX0hF QVBfRlJFRV9TTE9UU19NSU5fUkFUSU9gIGVudiB2YXIgYWxzbyBtaXRpZ2F0ZXMgdGhlIHBlcmZv cm1hbmNlIGltcGFjdC4NCkluIHRoaXMgZXhhbXBsZSwgSSBzZXQgYFJVQllfR0NfSEVBUF9GUkVF X1NMT1RTX01JTl9SQVRJTz0wLjZgIChkZWZhdWx0OiAwLjIwKQ0KDQpgYGBjb25zb2xlDQojIEJl Zm9yZQ0KQ2FsY3VsYXRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K ICAgICAgICAgICAgIG5ld19lbnYgICAgIDEwLjI3MSAowrEgOS43JSkgaS9zIC0gICAgMTAyLjAw MCBpbiAgMTAuMDg3MTkxcw0KICAgICAgIG5ld19yYWlsc19lbnYgICAgICAxLjUyOSAowrEgMC4w JSkgaS9zIC0gICAgIDE2LjAwMCBpbiAgMTAuNTM4MDQzcw0KDQojIEFmdGVyDQokIGVudiBSVUJZ X0dDX0hFQVBfRlJFRV9TTE9UU19NSU5fUkFUSU89MC42IGJ1bmRsZSBleGVjIHJ1YnkgYmVuY2ht YXJrL2JlbmNobWFya19uZXdfZW52LnJiDQpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgICAgbmV3X2VudiAgICAgMTEuMDAzICjCsSA5 LjElKSBpL3MgLSAgICAxMTAuMDAwIGluICAxMC4wNjg0MjhzDQogICAgICAgbmV3X3JhaWxzX2Vu diAgICAgIDEuMzQ3ICjCsSAwLjAlKSBpL3MgLSAgICAgMTQuMDAwIGluICAxMS4xMTc2NjVzDQpg YGANCg0KDQojIyBBZGRpdGlvbmFsIEluZm9ybWF0aW9uDQoNCiogSSBhcHBsaWVkIHRoZSBzYW1l IGNoYW5nZSB0byBBcnJheS4gQnV0IGl0IGRvZXMgbm90IGNhdXNlIHRoaXMgcHJvYmxlbS4NCiAg KiBJIGd1ZXNzIHRoZSBjYXVzZSBpcyB0aGUgZGlmZmVyZW5jZSBvZiB0aGUgU2l6ZSBQb29sLiBB biBlbXB0eSBBcnJheSB1c2VzIDQwIGJ5dGVzIGxpa2UgdGhlIG9yZGluYWwgUnVieSBvYmplY3Qs IGJ1dCBhbiBlbXB0eSBIYXNoIHVzZXMgMTYwIGJ5dGVzLg0KICAqIFRoZSBTaXplIFBvb2wgZm9y IDE2MCBieXRlcyBvYmplY3RzIGhhcyBmZXdlciBvYmplY3RzIHRoYW4gdGhlIDQwIGJ5dGVzIG9u ZS4gU28sIHJlZHVjaW5nIGFsbG9jYXRpb24gYWZmZWN0cyB0aGUgcGVyZm9ybWFuY2Ugc2Vuc2l0 aXZlbHkuDQoqIEkgdHJpZWQgaXQgb24gUnVieSAzLjIuIFRoaXMgY2hhbmdlIG9uIFJ1YnkgMy4y IGRvZXMgbm90IGRlZ3JhZGUgdGhlIGV4ZWN1dGlvbiB0aW1lLg0KICAqIFZXQSBmb3IgSGFzaCBp cyBpbnRyb2R1Y2VkIHNpbmNlIFJ1YnkgMy4zLiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5 L2Jsb2IvNzNjMzlhNWY5M2QzYWQ0NTE0YTA2MTU4ZTJiYjc2MjI0OTYzNzJiOS9kb2MvTkVXUy9O RVdTLTMuMy4wLm1kI2djLS1tZW1vcnktbWFuYWdlbWVudA0KDQoNCg0KIyMgQWNrbm93bGVkZ2Vt ZW50DQoNCkBtYW1lLCBAa28xLCBhbmQgQHNvdXRhcm8gaGVscGVkIHRoZSBpbnZlc3RpZ2F0aW9u LiBJIHdvdWxkIGxpa2UgdG8gdGhhbmsgdGhlbS4gDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5v cmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1 YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9t YWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=