From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 28F451F5AE for ; Wed, 9 Jun 2021 05:32:27 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 26AAC120B12; Wed, 9 Jun 2021 14:31:17 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 5CEBE120A9C for ; Wed, 9 Jun 2021 14:31:14 +0900 (JST) Received: by filterdrecv-79b856d5bc-sl9tr with SMTP id filterdrecv-79b856d5bc-sl9tr-1-60C05265-13 2021-06-09 05:32:21.269853655 +0000 UTC m=+463343.770990631 Received: from herokuapp.com (unknown) by ismtpd0168p1mdw1.sendgrid.net (SG) with ESMTP id oI-5soRGQ1qcxKr7Oh6NRg for ; Wed, 09 Jun 2021 05:32:21.126 +0000 (UTC) Date: Wed, 09 Jun 2021 05:32:21 +0000 (UTC) From: merch-redmine@jeremyevans.net Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 17942 X-Redmine-Issue-Author: TylerRick X-Redmine-Sender: jeremyevans0 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 80297 X-SG-EID: =?us-ascii?Q?RVE3t853K5scBhbmJHUzZTFFeVC=2FZSUmHZ0Dc+26wcEi2CTgsF1oz0wTSSxGGN?= =?us-ascii?Q?BIlD90dJ0WEUbymBrMZCLHHhHImufdF+lWA+eOB?= =?us-ascii?Q?9ZzPEawJiqaq2ry6rqxdQl25b4QQw1RyACWPqCx?= =?us-ascii?Q?XFeqUidOd2ottFwI7UQohqJEMtKXI35OazlFJ5s?= =?us-ascii?Q?dRz8GtBNvf2xY26qCnVjLbG5JvakJQuLK6d5GmP?= =?us-ascii?Q?STUeRcouQUy7oOtBE=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 104215 Subject: [ruby-core:104215] [Ruby master Feature#17942] Add a `initialize(public @a, private @b)` shortcut syntax for defining public/private accessors for instance vars as part of constructor X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE3OTQyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgamVyZW15ZXZhbnMwIChKZXJlbXkgRXZh bnMpLg0KDQoNCllvdSBzaG91bGQgcHJvYmFibHkgcmVhZCBAbWF0eidzIHJlc3BvbnNlIHRvIGEg cHJldmlvdXMgcmVxdWVzdCBmb3IgaW5zdGFuY2UgdmFyaWFibGUgcGFyYW1ldGVyczogaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzg1NjMjbm90ZS0zICh3aGljaCBoZSBjb25maXJt ZWQgaGFkIG5vdCBjaGFuZ2VkIGFzIG9mIDIwMTc6IGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy84NTYzI25vdGUtMTgpLiBZb3VyIHByb3Bvc2FsIGlzIG1vcmUgY29tcGxleCwgYnV0 IGRvZXNuJ3QgYWRkcmVzcyB0aGUgY29tcGxhaW50IEBtYXR6IGhhcyByZWdhcmRpbmcgdXNpbmcg aW5zdGFuY2UgdmFyaWFibGVzIGFzIHBhcmFtZXRlcnMuICBBIG5ldyBpc3N1ZSB3aXRoIHlvdXIg cHJvcG9zYWwgaXMgaXQgd291bGQgdHVybiBgcHVibGljYC9gcHJpdmF0ZWAgaW50byBrZXl3b3Jk cywgd2hlbiB0aGV5IGFyZSBjdXJyZW50bHkganVzdCBtZXRob2RzLg0KDQpJZiB5b3Ugd2FudCBy ZWFsbHkgY29uY2lzZSBjbGFzcyBkZWZpbml0aW9ucywgdXNlIGBTdHJ1Y3RgLiAgSXQgZG9lc24n dCBnZXQgbXVjaCBtb3JlIGNvbmNpc2UgdGhhbjoNCg0KYGBgcnVieQ0KVGhpbmcgPSBTdHJ1Y3Qu bmV3KDphLCA6YiwgOmMpDQpgYGANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KRmVhdHVyZSAjMTc5NDI6IEFkZCBhIGBpbml0aWFsaXplKHB1YmxpYyBAYSwgcHJp dmF0ZSBAYilgIHNob3J0Y3V0IHN5bnRheCBmb3IgZGVmaW5pbmcgcHVibGljL3ByaXZhdGUgYWNj ZXNzb3JzIGZvciBpbnN0YW5jZSB2YXJzIGFzIHBhcnQgb2YgY29uc3RydWN0b3INCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNzk0MiNjaGFuZ2UtOTIzOTkNCg0KKiBBdXRob3I6 IFR5bGVyUmljayAoVHlsZXIgUmljaykNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3Jt YWwNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClRoaXMgcHJvcG9z YWwgYnVpbGRzIG9uIHRoZSBwcm9wb3NlZCBgaW5pdGlhbGl6ZShAYSwgQGIpYCBpbnN0YW5jZSB2 YXIgYXNzaWdubWVudCBzaG9ydGN1dCBzeW50YXggZGVzY3JpYmVkIGluICMxNTE5Mi4NCg0KMS4g SXQgYWxsb3dzIHlvdSB0byBhZGQgYW4gKm9wdGlvbmFsKiBgcHVibGljYC9gcHJvdGVjdGVkYC9g cHJpdmF0ZWAgbW9kaWZpZXIgYmVmb3JlIGFueSBpbnN0YW5jZSB2YXIgcGFyYW1ldGVyLiBEb2lu ZyBzbyBhdXRvbWF0aWNhbGx5IGRlZmluZXMgKmFjY2Vzc29yIG1ldGhvZHMqICh3aXRoIHRoZSBn aXZlbiBhY2Nlc3MgbW9kaWZpZXI7IGVxdWl2YWxlbnQgdG8gYGF0dHJfYWNjZXNzb3JgIGluc2lk ZSBvZiBhICBgcHVibGljYC9gcHJvdGVjdGVkYC9gcHJpdmF0ZWAgYmxvY2spIGZvciB0aGUgaW5z dGFuY2UgdmFyIGl0IHByZWNlZGVzLg0KMi4gSWYgdGhlIHZpc2liaWxpdHkgbW9kaWZpZXIgaXMg b21pdHRlZCwgdGhlbiBpdCBkZWZhdWx0cyB0byBhdXRvbWF0aWNhbGx5IF9ub18gZ2V0dGVyL3Nl dHRlciBtZXRob2RzIGZvciB0aGF0IGluc3RhbmNlIHZhciAoaXQgX29ubHlfIGRvZXMgYW4gYXNz aWdubWVudCBvZiB0aGF0IGFscmVhZHktcHJpdmF0ZSBpbnN0YW5jZSB2YXIpLg0KDQojIyBQYXJh bWV0ZXIgcHJvcGVydGllcyBpbiBUeXBlU2NyaXB0IGxhbmd1YWdlDQoNClRoaXMgaXMgaW5zcGly ZWQgYnkgVHlwZVNjcmlwdCdzIGBjb25zdHJ1Y3RvcihwdWJsaWMgYSwgcHJpdmF0ZSBiKWAgc3lu dGF4LCB3aGljaCBhbGxvd3MgeW91IHRvIHdyaXRlIHRoaXMgKFtSRVBMXShodHRwczovL3d3dy50 eXBlc2NyaXB0bGFuZy5vcmcvcGxheT8jY29kZS9NWUd3aGd6aEFFQmlEMjlvRzhCUTBQV1BBZGhB TGdFNEN1dys4aEFGQUE3RUJHSUFsc05HQUZ3N0VDMmRBcG9RQnBvdEJzMmgwTzNQb09HRkdBTnpE NWVXU1QzNEJLRk9rd0JmVlBxQSkpOg0KYGBganMNCmNsYXNzIEZvbyB7DQogICAgY29uc3RydWN0 b3IocHVibGljIGE6bnVtYmVyLCBwdWJsaWMgYjpudW1iZXIsIHByaXZhdGUgYzpudW1iZXIpIHsN CiAgICB9DQp9DQpgYGANCmluc3RlYWQgb2YgdGhpczoNCmBgYGpzDQpjbGFzcyBGb28gew0KICAg IGNvbnN0cnVjdG9yKGEsIGIsIGMpIHsNCiAgICAgICAgdGhpcy5hID0gYTsNCiAgICAgICAgdGhp cy5iID0gYjsNCiAgICAgICAgdGhpcy5jID0gYzsNCiAgICB9DQp9DQpgYGANCg0KKFRoZSBgcHVi bGljYC9gcHJpdmF0ZWAgYWNjZXNzIG1vZGlmaWVycyBhY3R1YWxseSBkaXNhcHBlYXIgaW4gdGhl IHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjb2RlIGJlY2F1c2UgaXQncyBvbmx5IHRoZSBUeXBlU2Ny aXB0IGNvbXBpbGVyIHRoYXQgZW5mb3JjZXMgdGhvc2UgYWNjZXNzIG1vZGlmaWVycywgYW5kIGl0 IGRvZXMgc28gYXQgKmNvbXBpbGUqIHRpbWUgcmF0aGVyIHRoYW4gYXQgcnVuIHRpbWUuKQ0KDQpG dXJ0aGVyIHJlYWRpbmc6DQotIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hh bmRib29rLzIvY2xhc3Nlcy5odG1sI3BhcmFtZXRlci1wcm9wZXJ0aWVzDQotIGh0dHBzOi8vYmFz YXJhdC5naXRib29rLmlvL3R5cGVzY3JpcHQvZnV0dXJlLWphdmFzY3JpcHQvY2xhc3NlcyNkZWZp bmUtdXNpbmctY29uc3RydWN0b3INCi0gaHR0cHM6Ly9rZW5kYWxlaXYuY29tL3R5cGVzY3JpcHQt Y29uc3RydWN0b3ItYXNzaWdubWVudC1wdWJsaWMtYW5kLXByaXZhdGUta2V5d29yZHMvDQoNCg0K IyMgRGlmZmVyZW5jZXMgZnJvbSBUeXBlU2NyaXB0DQoNCkkgcHJvcG9zZSBhZGRpbmcgYSBzaW1p bGFyIGZlYXR1cmUgdG8gUnVieSwgYnV0IHdpdGggZm9sbG93aW5nIGRpZmZlcmVuY2VzIGZyb20g VHlwZVNjcmlwdDoNCg0KMS4gVXNlICoqYEBhYCoqIGluc3RlYWQgb2YgYmFyZSBgYWAuIFRoaXMg bWFrZXMgaXQgKm11Y2gqIGNsZWFyZXIgdGhhdCB5b3UgYXJlIGFzc2lnbmluZyBkaXJlY3RseSB0 byBpbnN0YW5jZSB2YXJpYWJsZXMgaW5zdGVhZCBvZiB0byBsb2NhbHMuDQogICAgLSBSYXRpb25h bGU6IFRoZSBgQGAgaXMgYWN0dWFsbHkgX3BhcnRfIG9mIHRoZSBpbnN0YW5jZSB2YXJpYWJsZSBu YW1lLCBhbmQgaXMgaW5zZXBhcmFibGUgZnJvbSBpdC4gKFRoaXMgaXMgYWxzbyBjb25zaXN0ZW50 IHdpdGggaG93IHRoZSBgI2AgaXMgcGFydCBvZiB0aGUgbmFtZSBpdHNlbGYgaW4gSmF2YVNjcmlw dCdzIFsoUHJpdmF0ZSBpbnN0YW5jZSBmaWVsZHMpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxh Lm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9DbGFzc2VzL1ByaXZhdGVf Y2xhc3NfZmllbGRzI3ByaXZhdGVfaW5zdGFuY2VfZmllbGRzKS4pDQogICAgLSAoYHB1YmxpYyBh YCB3b3VsZCBiZSBhIHN5bnRheCBlcnJvciBiZWNhdXNlIHRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBh cyBhY2Nlc3MgbW9kaWZpZXJzIGZvciBsb2NhbHMuIE9rYXksIEkgZ3Vlc3MgdGhlcmUncyBubyBz dWNoIHRoaW5nIGFzIGFjY2VzcyBtb2RpZmllcnMgZm9yIGluc3RhbmNlIHZhcnMgZWl0aGVyLCB3 aGljaCBpcyB3aHkuLi4pDQoNCjEuIE1ha2UgdGhlIHN5bnRheCBmb3IgKioqYXNzaWduaW5nKioq IHRvIGluc3RhbmNlIHZhcnMgKGBAYWApICh0aGUgcHJvcG9zYWwgaW4gIzE1MTkyKSBhbmQgZGVm aW5pbmcgKioqYWNjZXNzb3IgbWV0aG9kcyoqKiBmb3IgdGhvc2UgaW5zdGFuY2UgdmFycyAoYHB1 YmxpY2AvYHByaXZhdGVgKSBzZXBhcmF0ZS9kaXN0aW5jdC4NCiAgICAtIEluIG90aGVyIHdvcmRz LCByYXRoZXIgdGhhbiBtYWtlIHRoZSBgcHVibGljYC9gcHJpdmF0ZWAga2V5d29yZHMgYSAqcmVx dWlyZWQqIHBhcnQgb2YgdGhlIHN5bnRheCBsaWtlIGl0IGlzIGZvciBUeXBlU2NyaXB0IFtwYXJh bWV0ZXIgcHJvcGVydGllc10oaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFu ZGJvb2svMi9jbGFzc2VzLmh0bWwjcGFyYW1ldGVyLXByb3BlcnRpZXMpLCB5b3UgY291bGQgb21p dCB0aGUgbW9kaWZpZXIgYW5kIGl0IHdvdWxkIHN0aWxsIGRvIHRoZSBpbnN0YW5jZSB2YXIgX2Fz c2lnbm1lbnQqLg0KICAgIC0gVGhlIGBwdWJsaWNgL2Bwcml2YXRlYCBhY2Nlc3MgbW9kaWZpZXJz IGJlIGFuIGFkZGl0aW9uYWwgKCpvcHRpb25hbCopIHNob3J0Y3V0IHdoZW4geW91IHdhbnQgdG8g YWRkIGFuICoqKmFjY2Vzc29yIG1ldGhvZCoqKiBpbiAqYWRkaXRpb24qIHRvIGRvaW5nIGFuICoq KmFzc2lnbm1lbnQqKiogLg0KICAgIC0gVW5saWtlIEphdmEgYW5kIFR5cGVTY3JpcHQgd2hlcmUg eW91IF9jYW5fIGFkZCBhY2Nlc3MgbW9kaWZpZXJzIHRvIGluc3RhbmNlIHZhcmlhYmxlcywgaW4g UnVieSwgYHB1YmxpY2AvYHByaXZhdGVgIF9jYW4ndF8gYmUgYXBwbGllZCB0byBpbnN0YW5jZSB2 YXJpYWJsZXMgKGRpcmVjdCBhY2Nlc3MgaXMgb25seSBwb3NzaWJsZSBmcm9tIHdpdGhpbiB0aGUg aW5zdGFuY2UpLiBTbyBpZiB3ZSdyZSBnb2luZyB0byBhbGxvdyBhIGBwdWJsaWNgL2Bwcml2YXRl YCBtb2RpZmllciBoZXJlIGF0IGFsbCwgVGhleSBfbXVzdF8gcmVmZXIgdG8gbWV0aG9kcywgc3Bl Y2lmaWNhbGx5IGFjY2Vzc29yIG1ldGhvZHMgZm9yIHRob3NlIGluc3RhbmNlIHZhcmlhYmxlcy4N Cg0KMS4gS2VlcCBpdCAqKnByaXZhdGUqKiBieSBkZWZhdWx0ICh3aGljaCBvZiBjb3Vyc2UgYEBh YCBieSBpdHNlbGYgaW1wbGllc+KAlGl0IF9pc18gcHJpdmF0ZSB1bmxlc3MgeW91IGFkZCBhIHB1 YmxpYyBhY2Nlc3NvcikuDQogICAgLSAoUmF0aGVyIHRoYW4gbWFrZSBpdCBgcHVibGljYCBieSBk ZWZhdWx0IGxpa2UgaXQgaXMgaW4gVHlwZVNjcmlwdC4pDQogICAgLSBLZWVwaW5nIGluc3RhbmNl IHZhcmlhYmxlcyBjb21wbGV0ZWx5IHByaXZhdGUgaXMgcHJvYmFibHkgd2hhdCBwZW9wbGUgd2ls bCB3YW50IG1vc3Qgb2YgdGhlIHRpbWUsIGFuZCB3ZSBzaG91bGQgb3B0aW1pemUgdGhlIGVyZ29u b21pY3MgZm9yIHRoZSBtb3N0IGNvbW1vbiBjYXNlLg0KICAgIC0gUHJpdmF0ZSBpcyBhIHNhZmVy IGRlZmF1bHQsIGFuZCBzaG91bGQgYmUgYXNzdW1lZCB1bmxlc3MgeW91IGV4cGxpY2l0bHkgYXNr IGZvciBhIHB1YmxpYyBhY2Nlc3NvciB0byBiZSBhZGRlZC4NCiAgICAtIEkgYmV0IFR5cGVTY3Jp cHQgbWFkZSB0aGUgYHB1YmxpY2AgdGhlIGRlZmF1bHQgbW9zdGx5IHRvIGJlIGNvbnNpc3RlbnQg d2l0aCBKYXZhU2NyaXB0ICh3aGljaCBUeXBlU2NyaXB0IGNvbXBpbGVzIHRvKTogSmF2YVNjcmlw dCAoYWxvbmcgd2l0aCBvdGhlciBsYW5ndWFnZXMgbGlrZSBKYXZhKSBhbGxvd3MgZGlyZWN0IGFj Y2VzcyAobm8gZ2V0dGVyL3NldHRlciBuZWVkZSkgdG8gaW5zdGFuY2UgcHJvcGVydGllcy92YXJp YWJsZXMgZnJvbSBvYmplY3RzIG91dHNpZGUgdGhlIGluc3RhbmNlLiBKYXZhU2NyaXB0IGRvZXNu J3QgZXZlbiBfaGF2ZV8gYSB3YXkgdG8gbWFrZSBpbnN0YW5jZSB2YXJpYWJsZXMgcHJpdmF0ZSAo YnV0IGhvcGVmdWxseSB3aWxsIHNvb24gd2l0aCB0aGlzIFtwcm9wb3NhbF0oaHR0cHM6Ly9naXRo dWIuY29tL3RjMzkvcHJvcG9zYWwtcHJpdmF0ZS1tZXRob2RzKSB0byBhZGQgYCNhYCBzeW50YXgg Zm9yIHByaXZhdGUgcHJvcGVydGllcykuDQoNClNvIHRoaXM6DQoNCmBgYHJ1YnkNCmNsYXNzIFRo aW5nDQogIGRlZiBpbml0aWFsaXplKHB1YmxpYyBAYSwgcHVibGljIEBiLCBAYykNCiAgZW5kDQpl bmQNCmBgYA0KDQp3b3VsZCBiZSBlcXVpdmFsZW50IHRvIHRoaXM6DQoNCmBgYHJ1YnkNCmNsYXNz IFRoaW5nDQogIGF0dHJfYWNjZXNzb3IgOmEsIDpiDQoNCiAgZGVmIGluaXRpYWxpemUoYSwgYiwg YykNCiAgICBAYSA9IGENCiAgICBAYiA9IGINCiAgICBAYyA9IGMNCiAgZW5kDQpgYGANCg0KIyMg SG93IGlzIGBpbml0aWFsaXplKHByaXZhdGUgQGEpYCBkaWZmZXJlbnQgZnJvbSBgaW5pdGlhbGl6 ZShAYSlgPw0KDQpFdmVuIHRob3VnaCBgQGFgIGJ5IGl0c2VsZiBpcyBhbHJlYWR5IHByaXZhdGUu Li4NCjEuIFRoaXMgZGVmaW5lcyBhIHByaXZhdGUgYWNjZXNzb3IgZm9yIHRoYXQgaW5zdGFuY2Ug dmFyLCB3aGljaCBsZXRzIHlvdSB3cml0ZSBgc2VsZi5hID1gIGluc3RlYWQgb2YgYEBhID1gIChp ZiB5b3Ugd2FudCkuDQoyLiBIYXZpbmcgYSBjb25jaXNlIHdheSB0byBkbyB0aGF0IGlzIGhlbHBm dWwsIGZvciBleGFtcGxlIGlmIHlvdSB3YW50IHRvIG1ha2UgaXQgYSBtYXR0ZXIgb2YgcHJhY3Rp Y2UvcG9saWN5IHRvIG9ubHkgc2V0IGFuIGluc3RhbmNlIHZhcmlhYmxlIGJ5IGdvaW5nIHRocm91 Z2ggaXRzICpzZXR0ZXIgbWV0aG9kKi4gKFNlZSBbZGlzY3Vzc2lvbiBoZXJlXShodHRwczovL3N0 YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNTU3MTY0Mi9ydWJ5LXByaXZhdGUtYW5kLXB1Ymxp Yy1hY2Nlc3NvcnMpLikNCg0KDQpXaHkgbm90IGp1c3QgdXNlIGBpbml0aWFsaXplKHByaXZhdGUg QGEpYCB0byBiZSBjb25zaXN0ZW50IHdpdGggVHlwZVNjcmlwdCBzcGVjPw0KLSBUeXBlU2NyaXB0 J3MgYHB1YmxpY2AvYHByaXZhdGVgIGlzIG5vdCBzdGFuZGFyZCBKYXZhU2NyaXB0LiBJbiBmYWN0 LCBpZiB0aGUgW3ByaXZhdGUgbWV0aG9kcy9maWVsZHMgcHJvcG9zYWxdKGh0dHBzOi8vZ2l0aHVi LmNvbS90YzM5L3Byb3Bvc2FsLXByaXZhdGUtbWV0aG9kcykgaGFkIGV4aXN0ZWQgd2hlbiBUeXBl U2NyaXB0IGFkZGVkIFtwYXJhbWV0ZXIgcHJvcGVydGllc10oaHR0cHM6Ly93d3cudHlwZXNjcmlw dGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9jbGFzc2VzLmh0bWwjcGFyYW1ldGVyLXByb3BlcnRp ZXMpLCBJJ2QgbGlrZSB0byB0aGluayB0aGF0IHRoZXkgbWlnaHQgaGF2ZSBhY3R1YWxseSAqbWFk ZSB1c2UqIG9mIHRoZSBuZXcgYCNiYCBzeW50YXggYW5kIGdvbmUgd2l0aCBhIHRlcnNlciBzeW50 YXggbGlrZSBgY29uc3RydWN0b3IocHVibGljIGEsICNiKWAgaW5zdGVhZCBvZiBgYGNvbnN0cnVj dG9yKHB1YmxpYyBhLCBwcml2YXRlIGIpYC4NCg0KDQojIyBVcHNpZGVzIG9mIHRoaXMgcHJvcG9z YWwNCg0KMS4gUmVtb3ZlcyBldmVuIG1vcmUgYm9pbGVycGxhdGUgKGFsbCB0aG9zZSBgYXR0cl9h Y2Nlc3NvcmAgbGluZXMpLCBtdWNoIG9mIHRoZSB0aW1lDQoNCiMjIERvd25zaWRlcyBvZiB0aGlz IHByb3Bvc2FsDQoNCjEuIE9ubHkgcHJvdmlkZXMgYSB3YXkgdG8gZGVmaW5lIGJvdGggZ2V0dGVy IGFuZCBzZXR0ZXIgYXQgb25jZS4gRG9lc24ndCBwcm92aWRlIGEgd2F5IHRvIF9qdXN0XyBkZWZp bmUgYSBnZXR0ZXIgYW5kIG5vdCBhIHNldHRlciwgZm9yIGV4YW1wbGUuDQogICAgLSBEb2Vzbid0 IHNlZW0gbGlrZSBhIGJpZyBkZWFsLCBob3dldmVyLiBZb3UgY2FuIGp1c3Qgbm90IHVzZSB0aGlz IGZlYXR1cmUgYW5kIGRlZmluZSB0aGUgZ2V0dGVyIHdpdGggYGF0dHJfcmVhZGVyIDphYCBpbnN0 ZWFkLiBPciBkZWZpbmUgcHJpdmF0ZSBnZXR0ZXIvc2V0dGVyIHdpdGggYHByaXZhdGUgQGFgIGFu ZCB0aGVuIG92ZXJyaWRlIHdpdGggYGF0dHJfcmVhZGVyIDphYCB0byBhZGQgYSBwdWJsaWMgZ2V0 dGVyICh3aGlsZSBrZWVwaW5nIHRoZSBwcml2YXRlIHNldHRlcikuDQoNCg0KDQoNCi0tIA0KaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQo=