[#116016] [Ruby master Bug#20150] Memory leak in grapheme clusters — "peterzhu2118 (Peter Zhu) via ruby-core" <ruby-core@...>
Issue #20150 has been reported by peterzhu2118 (Peter Zhu).
7 messages
2024/01/04
[#116382] [Ruby master Feature#20205] Enable `frozen_string_literal` by default — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Issue #20205 has been reported by byroot (Jean Boussier).
77 messages
2024/01/23
[ruby-core:115983] [Ruby master Bug#19991] rb_register_postponed_job async-signal-unsafety causes crash in GC
From:
"ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>
Date:
2024-01-02 15:47:39 UTC
List:
ruby-core #115983
SXNzdWUgIzE5OTkxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaXZvYW5qbyAoSXZvIEFuam8pLg0NCg0N Cg0NCkkgZ3Vlc3MgdGhpcyBjYW4gYmUgY2xvc2VkIHNpbmNlIGh0dHBzOi8vZ2l0aHViLmNvbS9y dWJ5L3J1YnkvcHVsbC84OTQ5IHdhcyBtZXJnZWQ/IDspDQ0KDQ0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NCkJ1ZyAjMTk5OTE6IHJiX3JlZ2lzdGVyX3Bvc3Rwb25l ZF9qb2IgYXN5bmMtc2lnbmFsLXVuc2FmZXR5IGNhdXNlcyBjcmFzaCBpbiBHQw0NCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTk5MSNjaGFuZ2UtMTA1OTUxDQ0KDQ0KKiBBdXRo b3I6IGtqdHNhbmFrdHNpZGlzIChLSiBUc2FuYWt0c2lkaXMpDQ0KKiBTdGF0dXM6IE9wZW4NDQoq IFByaW9yaXR5OiBOb3JtYWwNDQoqIEJhY2twb3J0OiAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9X TiwgMy4yOiBVTktOT1dODQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0NCk91ciBwcm9kdWN0aW9uIGFwcGxpY2F0aW9uIGV4cGVyaWVuY2VkIGFuIGludGVycHJldGVy IGNyYXNoIHRvZGF5IHRoYXQgSeKAmW0gZmFpcmx5IHN1cmUgaXMgdGhlIHJlc3VsdCBvZiBhIGJ1 ZyBpbiB0aGUgYHJiX3JlZ2lzdGVyX3Bvc3Rwb25lZF9qb2JgIGluZnJhc3RydWN0dXJlLg0NCg0N CiMjIERpYWdub3Npcw0NCg0NCknigJl2ZSBhdHRhY2hlZCBhIG1vcmUgY29tcGxldGUgdmVyc2lv biBvZiB0aGUgY3Jhc2ggZHVtcCwgYnV0IHRoZSBrZXkgaW5mb3JtYXRpb24gSSB0aGluayBpcyB0 aGUgZm9sbG93aW5nIGJhY2t0cmFjZToNDQoNDQpgYGANDQo8aW50ZXJuYWw6Z2M+OjM1OiBbQlVH XSBTZWdtZW50YXRpb24gZmF1bHQgYXQgMHgwMDAwMDAwMDAwMDAwMGM4DQ0KLi4uLg0NCi91c3Iv bGliL2xpYnJ1Ynkuc28uMy4xKHJiX3ZtX2J1Z3JlcG9ydCsweDYwYykgWzB4ZmZmZmFhZjU3YTZj XSB2bV9kdW1wLmM6NzU5DQ0KL3Vzci9saWIvbGlicnVieS5zby4zLjEocmJfYnVnX2Zvcl9mYXRh bF9zaWduYWwrMHhkOCkgWzB4ZmZmZmFhZDZkMTIwXSBlcnJvci5jOjgyMQ0NCi91c3IvbGliL2xp YnJ1Ynkuc28uMy4xKHNpZ3NlZ3YrMHg1OCkgWzB4ZmZmZmFhZWI0MzUwXSBzaWduYWwuYzo5NjQN DQovdXNyL2xpYi9saWJydWJ5LnNvLjMuMShzaWdpbGwpIChudWxsKTowDQ0KbGludXgtdmRzby5z by4xKF9fa2VybmVsX3J0X3NpZ3JldHVybisweDApIFsweGZmZmZhYjIwZjc4Y10NDQovdXNyL2xp Yi9saWJydWJ5LnNvLjMuMShyYmltcGxfYXRvbWljX2V4Y2hhbmdlKzB4MCkgWzB4ZmZmZmFhZDk0 MDE4XSBnYy5jOjQwODENDQovdXNyL2xpYi9saWJydWJ5LnNvLjMuMShnY19maW5hbGl6ZV9kZWZl cnJlZCkgZ2MuYzo0MDgxDQ0KL3Vzci9saWIvbGlicnVieS5zby4zLjEocmJfcG9zdHBvbmVkX2pv Yl9mbHVzaCsweDIxOCkgWzB4ZmZmZmFhZjVkZDYwXSB2bV90cmFjZS5jOjE3MjgNDQovdXNyL2xp Yi9saWJydWJ5LnNvLjMuMShyYl90aHJlYWRwdHJfZXhlY3V0ZV9pbnRlcnJ1cHRzKzB4MzI4KSBb MHhmZmZmYWFlZjc1MjBdIHRocmVhZC5jOjI0NDQNDQovdXNyL2xpYi9saWJydWJ5LnNvLjMuMSh2 bV9leGVjX2NvcmUrMHg0ZTU0KSBbMHhmZmZmYWFmNDFjNmNdIHZtLmluYzo1ODgNDQovdXNyL2xp Yi9saWJydWJ5LnNvLjMuMShyYl92bV9leGVjKzB4MTQ0KSBbMHhmZmZmYWFmNDI3Y2NdIHZtLmM6 MjIxMQ0NCmBgYA0NCg0NCkkgZGlzYXNzZW1ibGVkIGBnY19maW5hbGl6ZV9kZWZlcnJlZGAgaW4g R0RCIChkaWZmZXJlbnQgZXhlY3V0aW9uLCBzbyB0aGUgYWRkcmVzc2VzIGRvbuKAmXQgbGluZSB1 cCAtIHRoaXMgaXMgTk9UIGZyb20gYSBjb3JlIGR1bXApOg0NCg0NCmBgYA0NCihnZGIpIGRpc2Fz c2VtYmxlIGdjX2ZpbmFsaXplX2RlZmVycmVkDQ0KRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3Ig ZnVuY3Rpb24gZ2NfZmluYWxpemVfZGVmZXJyZWQ6DQ0KICAgMHgwMDAwZmZmZmY3Y2MzZmY4IDwr MD46ICBzdHAgeDI5LCB4MzAsIFtzcCwgIy00OF0hDQ0KICAgMHgwMDAwZmZmZmY3Y2MzZmZjIDwr ND46ICBtb3YgdzEsICMweDEgLy8gIzENDQogICAweDAwMDBmZmZmZjdjYzQwMDAgPCs4PjogIG1v diB4MjksIHNwDQ0KICAgMHgwMDAwZmZmZmY3Y2M0MDA0IDwrMTI+OiBzdHAgeDE5LCB4MjAsIFtz cCwgIzE2XQ0NCiAgIDB4MDAwMGZmZmZmN2NjNDAwOCA8KzE2PjogbW92IHgxOSwgeDANDQogICAw eDAwMDBmZmZmZjdjYzQwMGMgPCsyMD46IGFkZCB4MjAsIHgwLCAjMHhjOA0NCiAgIDB4MDAwMGZm ZmZmN2NjNDAxMCA8KzI0PjogbGRheHIgdzAsIFt4MjBdDQ0KICAgLi4uLiBjb250aW51ZXMgLi4u Lg0NCmBgYA0NCg0NCkJhc2VkIG9uIHRoZSBsaW5lIG51bWJlcnMgZnJvbSB0aGUgZGVidWdpbmZv LCB0aGUgZmF1bHRpbmcgaW5zdHJ1Y3Rpb24gaXMgbGlrZWx5IHRvIGJlIGBnY19maW5hbGl6ZV9k ZWZlcnJlZCsyNGAgKHdoaWNoIGlzIHRoZSBpbmxpbmVkIGByYmltcGxfYXRvbWljX2V4Y2hhbmdl YCkuIFRoYXQgd291bGQgYXR0ZW1wdCBhIGxvYWQgb2YgMHhjOCBpZiB4MCB3YXMgemVybyAtIGku ZS4gaWYgYGdjX2ZpbmFsaXplX2RlZmVycmVkYCB3YXMgY2FsbGVkIHdpdGggYSBOVUxMIG9ianNw YWNlLg0NCg0NClRoZSBlbnF1ZXVpbmcgb2YgYGdjX2ZpbmFsaXplX2RlZmVycmVkYCB3aXRoIHBv c3Rwb25lZCBqb2Igb25seSBoYXBwZW5zIGluIG9uZSBwbGFjZSAoaW4gZ2Nfc3dlZXBfcGFnZSwg W2hlcmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYmxvYi81Y2ZmNGM1YWEzNzU3ODc5 MjRlMmRmNWMwYjk4MWRkOTIyYjk1YThjL2djLmMjTDU2NTBDMjktTDU2NTBDMjkpKSBhbmQgaWYg YG9ianNwYWNlYCB3YXMgbnVsbCB0aGVyZSB0aGVuIHRoZSBjcmFzaCB3b3VsZCBoYXZlIGhhZCB0 byBoYXZlIGFscmVhZHkgaGFwcGVuZWQgaW4gYGdjX3N3ZWVwX3BhZ2VgLiBUaHVzLCBJIHRoaW5r IHRoYXQgYGdjX2ZpbmFsaXplX2RlZmVycmVkYCB3YXMgX2VucXVldWVkXyBpbnRvIHRoZSBwb3N0 cG9uZWQgam9iIGxpc3Qgd2l0aCBhIG5vdC1OVUxMIGFyZ3VtZW50LCBidXQgdGhlIGFyZ3VtZW50 IHdhcyBjb3JydXB0ZWQgd2hpbHN0IGl0IHdhcyBpbiBgdm0tPnBvc3Rwb25lZF9qb2JfYnVmZmVy YCwgYW5kIGlmIG9ianNwYWNlIHdhcyBudWxsIHRoZXJlIHRoZW4gdGhlIGNyYXNoIHdvdWxkIGhh dmUgaGFkIHRvIGhhdmUgYWxyZWFkeSBoYXBwZW5lZCBpbiBgZ2Nfc3dlZXBfcGFnZWAuIFRodXMs IEkgdGhpbmsgdGhhdCBgZ2NfZmluYWxpemVfZGVmZXJyZWRgIHdhcyBlbnF1ZXVlZCBpbnRvIHRo ZSBwb3N0cG9uZWQgam9iIGxpc3Qgd2l0aCBhIG5vdC1OVUxMIGFyZ3VtZW50LCBidXQgdGhlIGFy Z3VtZW50IHdhcyBjb3JydXB0ZWQgd2hpbHN0IGl0IHdhcyBpbiBgdm0tPnBvc3Rwb25lZF9qb2Jf YnVmZmVyYC4NDQoNDQpJIGhhZCBhIGxvb2sgYXQgdGhlIHBvc3Rwb25lZCBqb2IgY29kZSwgd2hp Y2ggaXMgb2YgY291cnNlIHZlcnkgdHJpY2t5IGJlY2F1c2UgaXQgbmVlZHMgdG8gYmUgYXN5bmMt c2lnbmFsLXNhZmUuIE1vcmUgc3BlY2lmaWNhbGx5Og0NCiogSXQgbmVlZHMgdG8gd29yayBpZiBy dW4gZnJvbSBhIHRocmVhZCBub3QgaG9sZGluZyB0aGUgR1ZMDQ0KKiBJdCBuZWVkcyB0byB3b3Jr IGlmIHJ1biBmcm9tIGEgdGhyZWFkLCB3aGlsc3QgYW5vdGhlciB0aHJlYWQgaXMgYWN0dWFsbHkg ZXhlY3V0aW5nIGByYl9wb3N0cG9uZWRfam9iX2ZsdXNoYA0NCiogSXQgbmVlZHMgdG8gd29yayBp ZiBydW4gZnJvbSBhIHNpZ25hbCBjYXVnaHQgaW4gYSB0aHJlYWQgdGhhdCBpcyBjdXJyZW50bHkg ZXhlY3V0aW5nIGByYl9wb3N0cG9uZWRfam9iX2ZsdXNoYCAodGhpcyBydWxlcyBvdXQgdHJpdmlh bCBtdXRleC1iYXNlZCBzb2x1dGlvbnMpDQ0KDQ0KV2UgdXNlIHRoZSBEYXRhZG9nIGNvbnRpbnVv dXMgcHJvZmlsZXIgaW4gb3VyIGFwcGxpY2F0aW9uIChDQzogQGl2b2Fuam8gOyksIHdoaWNoIGNh bGxzIGByYl9wb3N0cG9uZWRfam9iX3JlZ2lzdGVyYCB0byBjYXB0dXJlIHByb2ZpbGluZyBzYW1w bGVzLiBUaHVzLCBJIHRoaW5rIG91ciBhcHBsaWNhdGlvbiBpcyBsaWtlbHkgdG8gaGl0IGFsbCBv ZiB0aG9zZSBzY2VuYXJpb3Mgc2VtaS1yZWd1YXJseS4NDQoNDQpNeSBiZXN0IGd1ZXNzIGF0IGEg cGxhdXNpYmxlIHNlcXVlbmNlIG9mIGV2ZW50cywgdG8gZ2VuZXJhdGUgdGhpcyBwYXJ0aWN1bGFy IGNyYXNoLCBpcyB0aGF0Og0NCjEuIGByYl9wb3N0cG9uZWRfam9iX2ZsdXNoYCB3YXMgcnVubmlu ZyBvbiB0aHJlYWQgVDEuDQ0KMi4gVGhlcmUgaXMgYSBxdWV1ZWQgY2FsbCB0byBnY19maW5hbGl6 ZV9kZWZlcnJlZCBzaXR0aW5nIGluIGB2bS0+cG9zdHBvbmVkX2pvYl9idWZmZXJbdm0tPnBvc3Rw b25lZF9qb2JfaW5kZXgtMV1gLg0NCjMuIFQxIGV4ZWN1dGVkIHRoZSBgQVRPTUlDX0NBU2AgYXQg dm1fdHJhY2UuYzoxODAwLCBkZWNyZW1lbnRpbmcgYHZtLT5wb3N0cG9uZWRfam9iX2luZGV4YCAo d2hpY2ggbm93IGVxdWFscyBgaW5kZXggLSAxYCkgYW5kIGRldGVybWluaW5nIHRoYXQgYSBqb2Ig YXQgaW5kZXggaW5kZXggc2hvdWxkIGJlIHJ1bi4NDQo0LiBUaHJlYWQgVDIgcmVjZWl2ZWQgYSBz aWduYWwsIGFuZCB0aGUgRGF0YWRvZyBjb250aW51b3VzIHByb2ZpbGVyIGNhbGxlZCBgcmJfcG9z dHBvbmVkX2pvYl9yZWdpc3Rlcl9vbmUoMCwgc2FtcGxlX2Zyb21fcG9zdHBvbmVkX2pvYiwgTlVM TClgDQ0KNS4gVDIgZXhlY3V0ZWQgdGhlIGBBVE9NSUNfQ0FTYCBhdCB2bV90cmFjZS5jOjE2Nzks IHJlLWluY3JlbWVudGluZyBgdm0tPnBvc3Rwb25lZF9qb2JfaW5kZXhgLiBJdOKAmXMgbm93IGVx dWFsIHRvIGBpbmRleGAgZnJvbSBUMSBhZ2Fpbi4NDQo2LiBUMiB0aGVuIGV4ZWN1dGVzIHRoZSBz ZXRzIG9uIGBwam9iLT5mdW5jYCBhbmQgYHBqb2ItPmRhdGFgIGF0IHZtX3RyYWNlLmM6MTY4Ny4g SXQgc2V0cyBgLT5mdW5jYCB0byBgc2FtcGxlX2Zyb21fcG9zdHBvbmVkX2pvYmAgKGZyb20gZGR0 cmFjZSksIGFuZCBgLT5kYXRhYCB0byAwLg0NCjcuIFQxIHRoZW4gZ29lcyB0byBjYWxsIGAoKnBq b2ItPmZ1bmMpKHBqb2ItPmRhdGEpYCBhdCB2bV90cmFjZS5jOjE4MDINDQo4LiBTaW5jZSB0aGVy ZSBpcyBubyBtZW1vcnkgYmFycmllciBiZXR3ZWVuIDYgJiA3LCBUMSBpcyBhbGxvd2VkIHRvIHNl ZSB0aGUgZWZmZWN0cyBvZiB0aGUgc2V0IG9uIGBwam9iLT5kYXRhYCBhbmQgbm90IHNlZSB0aGF0 IG9mIGBwam9iLT5mdW5jYC4NDQo5LCBUMSB0aHVzIGNhbGxzIGBnY19maW5hbGl6ZV9kZWZlcnJl ZGAgKHdoaWNoIGl0IHdhcyBtZWFudCB0byBkbykgd2l0aCBhbiBhcmd1bWVudCBvZiAwICh3aGlj aCBpdCB3YXMgbm90KS4NDQoNDQojIyBTb2x1dGlvbg0NCg0NCk1hbmFnaW5nIGEgdGhyZWFkLXNh ZmUgbGlzdCBvZiB0b28tYmlnLXRvLWJlLWF0b21pYyBvYmplY3RzIChsaWtlIGByYl9wb3N0cG9u ZWRfam9iX3RgKSBpcyByZWFsbHkgdHJpY2t5LiBJIHRoaW5rIGl0IG1pZ2h0IGJlIGJlc3QgZm9y IHRoaXMgY29kZSBpZiB3ZSB1c2UgYSBjb21iaW5hdGlvbiBvZiBtYXNraW5nIHNpZ25hbHMgKHRv IHByZXZlbnQgbWFuaXB1bGF0aW9uIG9mIHRoZSBwb3N0cG9uZWQgam9iIGxpc3Qgb2NjdXJyaW5n IGR1cmluZyBgcmJfcG9zdHBvbmVkX2pvYl9mbHVzaGAsIGFuZCB1c2luZyBhIHNlbWFwaG9yZSB0 byBwcm90ZWN0IHRoZSBsaXN0IChzaW5jZSBzZW1hcGhvcmVzIGFyZSByZXF1aXJlZCB0byBiZSBh c3luYy1zaWduYWwtc2FmZSBvbiBQT1NJWCBzeXN0ZW1zKS4gSSd2ZSBpbXBsZW1lbnRlZCB0aGlz IGluIGEgUFIgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzg4NTYNDQoN DQpJdCBzZWVtcyBfc2xpZ2h0bHlfIHNsb3dlciB0byBkbyBpdCB0aGlzIHdheSAtIHNlbWFwaG9y ZXMgcmVxdWlyZSBzeXN0ZW0gY2FsbHMgaW4gdGhlIHVuY29udGVuZGVkIGNhc2UsIHdoaWNoIGlz IHdoeSB0aGV5J3JlIGFzeW5jLXNpZ25hbC1zYWZlIGJ1dCBhbHNvIG1ha2VzIHRoZW0gbW9yZSBl eHBlbnNpdmUgdGhhbiBwdGhyZWFkIG11dGV4ZXMsIHdoaWNoIGRvbid0LCBvbiBtb3N0IHN5c3Rl bXMuIEkgcmFuIG15IGJyYW5jaCB0aHJvdWdoIHlqaXQgYmVuY2g6DQ0KDQ0KV2l0aCBteSBwYXRj aDoNDQoNDQpgYGANDQppbnRlcnA6IHJ1YnkgMy4zLjBkZXYgKDIwMjMtMTEtMDdUMDg6MTQ6MDla IGt0c2FuYWt0c2lkaXMvcG9zdC4uIDM0MmYzMGY1NjYpIFthcm02NC1kYXJ3aW4yMl0NDQp5aml0 OiBydWJ5IDMuMy4wZGV2ICgyMDIzLTExLTA3VDA4OjE0OjA5WiBrdHNhbmFrdHNpZGlzL3Bvc3Qu LiAzNDJmMzBmNTY2KSArWUpJVCBbYXJtNjQtZGFyd2luMjJdDQ0KDQ0KLS0tLS0tLS0tLS0tLS0g IC0tLS0tLS0tLS0tICAtLS0tLS0tLS0tICAtLS0tLS0tLS0gIC0tLS0tLS0tLS0gIC0tLS0tLS0t LS0tLSAgLS0tLS0tLS0tLS0NDQpiZW5jaCAgICAgICAgICAgaW50ZXJwIChtcykgIHN0ZGRldiAo JSkgIHlqaXQgKG1zKSAgc3RkZGV2ICglKSAgeWppdCAxc3QgaXRyICBpbnRlcnAveWppdA0NCmFj dGl2ZXJlY29yZCAgICAzMS4yICAgICAgICAgMy40ICAgICAgICAgMTcuMCAgICAgICA1LjcgICAg ICAgICAxLjI5ICAgICAgICAgIDEuODMNDQpjaHVua3ktcG5nICAgICAgNTQzLjUgICAgICAgIDAu NSAgICAgICAgIDM2Ny4wICAgICAgMC43ICAgICAgICAgMS40MCAgICAgICAgICAxLjQ4DQ0KZXJ1 YmktcmFpbHMgICAgIDEwNDQuMiAgICAgICAwLjYgICAgICAgICA1NjQuNyAgICAgIDEuMyAgICAg ICAgIDEuNjkgICAgICAgICAgMS44NQ0NCmhleGFwZGYgICAgICAgICAxNTE3LjYgICAgICAgMy4x ICAgICAgICAgOTE3LjYgICAgICAxLjIgICAgICAgICAxLjQ2ICAgICAgICAgIDEuNjUNDQpsaXF1 aWQtYyAgICAgICAgMzcuMSAgICAgICAgIDEuMyAgICAgICAgIDI4LjkgICAgICAgMS40ICAgICAg ICAgMC44OSAgICAgICAgICAxLjI5DQ0KbGlxdWlkLWNvbXBpbGUgIDM5LjAgICAgICAgICAxLjQg ICAgICAgICAyOS45ICAgICAgIDEuNiAgICAgICAgIDAuNzYgICAgICAgICAgMS4zMA0NCmxpcXVp ZC1yZW5kZXIgICA4OS45ICAgICAgICAgMS44ICAgICAgICAgMzkuNiAgICAgICAxLjQgICAgICAg ICAxLjM3ICAgICAgICAgIDIuMjcNDQpsb2JzdGVycyAgICAgICAgNTk4LjIgICAgICAgIDEuNyAg ICAgICAgIDQzNS40ICAgICAgNS4yICAgICAgICAgMC42MyAgICAgICAgICAxLjM3DQ0KbWFpbCAg ICAgICAgICAgIDc5LjggICAgICAgICAzLjEgICAgICAgICA1Mi41ICAgICAgIDEuMCAgICAgICAg IDAuNzkgICAgICAgICAgMS41Mg0NCnBzeWNoLWxvYWQgICAgICAxNDQxLjUgICAgICAgMS43ICAg ICAgICAgODg1LjQgICAgICAwLjUgICAgICAgICAxLjYwICAgICAgICAgIDEuNjMNDQpyYWlsc2Jl bmNoICAgICAgMTAxMC44ICAgICAgIDEuMCAgICAgICAgIDYwOS4zICAgICAgMS4zICAgICAgICAg MS4yNCAgICAgICAgICAxLjY2DQ0KcnVieS1sc3AgICAgICAgIDQwLjkgICAgICAgICAzLjQgICAg ICAgICAyOS4yICAgICAgIDMwLjAgICAgICAgIDAuNjYgICAgICAgICAgMS40MA0NCnNlcXVlbCAg ICAgICAgICAzOS44ICAgICAgICAgMS44ICAgICAgICAgMzMuMCAgICAgICAyLjQgICAgICAgICAx LjE4ICAgICAgICAgIDEuMjENDQotLS0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0gIC0tLS0tLS0t LS0gIC0tLS0tLS0tLSAgLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0tLQ0NCmBg YA0NCg0NCldpdGhvdXQgdGhlIHBhdGNoOg0NCmBgYA0NCmludGVycDogcnVieSAzLjMuMGRldiAo MjAyMy0xMS0wN1QwNzo1Njo0M1ogbWFzdGVyIDVhMjc3OWQ0MGYpIFthcm02NC1kYXJ3aW4yMl0N DQp5aml0OiBydWJ5IDMuMy4wZGV2ICgyMDIzLTExLTA3VDA3OjU2OjQzWiBtYXN0ZXIgNWEyNzc5 ZDQwZikgK1lKSVQgW2FybTY0LWRhcndpbjIyXQ0NCg0NCi0tLS0tLS0tLS0tLS0tICAtLS0tLS0t LS0tLSAgLS0tLS0tLS0tLSAgLS0tLS0tLS0tICAtLS0tLS0tLS0tICAtLS0tLS0tLS0tLS0gIC0t LS0tLS0tLS0tDQ0KYmVuY2ggICAgICAgICAgIGludGVycCAobXMpICBzdGRkZXYgKCUpICB5aml0 IChtcykgIHN0ZGRldiAoJSkgIHlqaXQgMXN0IGl0ciAgaW50ZXJwL3lqaXQNDQphY3RpdmVyZWNv cmQgICAgMzEuMyAgICAgICAgIDMuMyAgICAgICAgIDE2LjcgICAgICAgNS41ICAgICAgICAgMS4z NiAgICAgICAgICAxLjg4DQ0KY2h1bmt5LXBuZyAgICAgIDUyMS42ICAgICAgICAwLjYgICAgICAg ICAzNDguOCAgICAgIDAuNyAgICAgICAgIDEuNDAgICAgICAgICAgMS41MA0NCmVydWJpLXJhaWxz ICAgICAxMDM4LjkgICAgICAgMC45ICAgICAgICAgNTY2LjMgICAgICAxLjIgICAgICAgICAxLjcw ICAgICAgICAgIDEuODMNDQpoZXhhcGRmICAgICAgICAgMTUwMS45ICAgICAgIDEuMSAgICAgICAg IDk1MS43ICAgICAgMy45ICAgICAgICAgMS40MiAgICAgICAgICAxLjU4DQ0KbGlxdWlkLWMgICAg ICAgIDM2LjcgICAgICAgICAxLjIgICAgICAgICAyOS4zICAgICAgIDEuNyAgICAgICAgIDAuODYg ICAgICAgICAgMS4yNQ0NCmxpcXVpZC1jb21waWxlICAzOC44ICAgICAgICAgMS4xICAgICAgICAg MjkuNyAgICAgICAzLjcgICAgICAgICAwLjczICAgICAgICAgIDEuMzENDQpsaXF1aWQtcmVuZGVy ICAgOTIuMiAgICAgICAgIDAuOSAgICAgICAgIDM4LjMgICAgICAgMS4wICAgICAgICAgMS40NyAg ICAgICAgICAyLjQwDQ0KbG9ic3RlcnMgICAgICAgIDU4Mi41ICAgICAgICAyLjAgICAgICAgICA0 MjkuOCAgICAgIDUuNiAgICAgICAgIDAuNTkgICAgICAgICAgMS4zNg0NCm1haWwgICAgICAgICAg ICA3Ny45ICAgICAgICAgMS4zICAgICAgICAgNTQuOCAgICAgICAwLjkgICAgICAgICAwLjc2ICAg ICAgICAgIDEuNDINDQpwc3ljaC1sb2FkICAgICAgMTQxOS4xICAgICAgIDAuNyAgICAgICAgIDg4 Ny43ICAgICAgMC41ICAgICAgICAgMS42MCAgICAgICAgICAxLjYwDQ0KcmFpbHNiZW5jaCAgICAg IDEwMTcuOCAgICAgICAxLjEgICAgICAgICA2MDkuOSAgICAgIDEuMiAgICAgICAgIDEuMjQgICAg ICAgICAgMS42Nw0NCnJ1YnktbHNwICAgICAgICA0MS4wICAgICAgICAgMi4yICAgICAgICAgMjgu OCAgICAgICAyOC44ICAgICAgICAwLjY0ICAgICAgICAgIDEuNDMNDQpzZXF1ZWwgICAgICAgICAg MzYuMCAgICAgICAgIDEuNSAgICAgICAgIDMwLjQgICAgICAgMS44ICAgICAgICAgMS4xMSAgICAg ICAgICAxLjE4DQ0KLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tICAtLS0tLS0tLS0tICAtLS0t LS0tLS0gIC0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0NDQpgYGANDQoNDQpN YXliZSB0aGlzIGlzIHdpdGhpbiB0aGUgbm9pc2UgZmxvb3IsIGJ1dCBJIHRob3VnaHQgSSBzaG91 bGQgYnJpbmcgaXQgdXAuDQ0KDQ0KLS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0NCmNyYXNoLnR4dCAoMy42OSBLQikNDQoNDQoNDQotLSANDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy8NDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9y ZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVi eS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21h aWxtYW4zL3Bvc3Rvcml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=