From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 341091F4CC for ; Wed, 8 Jan 2025 17:22:44 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=oBkflZ2A; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=QJsNoBjq; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1736356931; bh=AGQ+Z80nZSLUzbjHpkRBILQJAyokCixeobYpdmWhNaY=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=oBkflZ2Aq/kUs0WqtqkcALEtQwfVaYw32PHBaQAT81zX6PLN5A5dGim5iUyv15JD1 EMIi23Qir3KJsRXA6178Qg+KNtYT5/ef/9spMI2BS/54QuL1GUuIzT2mFlFAu6JNrH G4sivcS3cci8L3eIfRXNHHXd3rO8/poAZcf/LaSY= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 6251C46709 for ; Wed, 8 Jan 2025 17:22:11 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=QJsNoBjq; dkim-atps=neutral Received: from s.wrqvwxzv.outbound-mail.sendgrid.net (s.wrqvwxzv.outbound-mail.sendgrid.net [149.72.154.232]) by nue.mailmanlists.eu (Postfix) with ESMTPS id 748E546689 for ; Wed, 8 Jan 2025 17:22:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=Fmahn45/zMPf22H8JiZiIoiVER+O+gtVMBV/9q9R0wg=; b=QJsNoBjqpYY5fFG2sEPAg15XWWyqD4M1AF7dmmqOXf8K9i/u3DEqNivAfnUKL7pH0W4j /F4oxegj/80rysJZqdOHxGHCnBVWL4Xf0VWlG24M7Tst7JJRY9Qopy8tvvvAmAbrbZ8Kap LPLdu+TOBwa3+p/UdBoiozITL2pZVQ50TbfcR1wdt3Cztj5/M7ezOPb/VjCPlcKDAHJzAE aU1uUvj47GzRib4R1udHDsQU8LAUWJdwcaO+J4YtNads/QcRp7akHiz6HpR48W9LI9CUgD lb1P8b31xvgYLA9Nl7qiF6usMQZgqFg22rPCBWPwXneqeYjnXUrymyWm25neum1A== Received: by recvd-69cbc48b94-pgsv7 with SMTP id recvd-69cbc48b94-pgsv7-1-677EB43C-4 2025-01-08 17:22:04.354508306 +0000 UTC m=+4737503.936209352 Received: from herokuapp.com (unknown) by geopod-ismtpd-16 (SG) with ESMTP id JSEIu0yIROuch0qKQAzfvg for ; Wed, 08 Jan 2025 17:22:04.301 +0000 (UTC) Date: Wed, 08 Jan 2025 17:22:04 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 21005 X-Redmine-Issue-Author: bkuhlmann X-Redmine-Issue-Priority: Normal X-Redmine-Sender: tenderlovemaking 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: 97235 X-SG-EID: =?us-ascii?Q?u001=2ElWMe69GVkz6xHw8adpMU6eTKSGZqJ7+E1FrjckpA7cvWAPDyDX2cAv9Do?= =?us-ascii?Q?wZtGRg2vsYQLU1U4jx+ljWd9jTs=2FpZn02mllaZG?= =?us-ascii?Q?4g2CkB4nYTASNjystjB5OzBhwYBfmOaHjyiT67y?= =?us-ascii?Q?2aEsNTsxanNP8NqxGRBLCg3IIv+TfUjQXiDjoYL?= =?us-ascii?Q?g4QbpDdOWKz95d5HMVKOLlJR=2FuS4sHlIYFITQPJ?= =?us-ascii?Q?c1CjX3KkonMVG61o7qucHTZvCi=2FzlqU+gsRtYtq?= =?us-ascii?Q?MwrV81+4=2FuCw8Qrm8ZiKHNWrFQ=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: ERNU642EUP3NIIWZKIQCC4GSPATBFNSU X-Message-ID-Hash: ERNU642EUP3NIIWZKIQCC4GSPATBFNSU X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120559] [Ruby master Feature#21005] Update the source location method to include line start/stop and column start/stop details List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "tenderlovemaking (Aaron Patterson) via ruby-core" Cc: "tenderlovemaking (Aaron Patterson)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIxMDA1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgdGVuZGVybG92ZW1ha2luZyAoQWFyb24g UGF0dGVyc29uKS4NCg0KDQpFcmVnb24gKEJlbm9pdCBEYWxvemUpIHdyb3RlIGluICNub3RlLTE0 OiANCj4gTWF5YmUgQ1J1YnkgZG9lcyBub3QgY3VycmVudGx5IHByZXNlcnZlIHRoZSBpbmZvcm1h dGlvbiBvZiBlbmQgbGluZSBhbmQgc3RhcnQvZW5kIGNvbHVtbiBmb3IgcHJvY3MgYW5kIG1ldGhv ZHM/DQoNCkkgdGhpbmsgd2UgZG8sIGJ1dCBJIGNhbiBpbnZlc3RpZ2F0ZS4gSUlSQyBpdCdzIG9u IHRoZSBJbnN0cnVjdGlvblNlcXVlbmNlIG9iamVjdCAoc28gd2UnZCBzdGlsbCBoYXZlIHRvIHVz ZSBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Ugb24gQ1J1YnkpLg0KDQo+IEZvciBgZGVmYCBp dCB3b3VsZCBiZSB0cml2aWFsIHRvIHByZXNlcnZlIGl0IGJ1dCBJIGd1ZXNzIGZvciBibG9ja3Mg YW5kIGBkZWZpbmVfbWV0aG9kYCBpdCBtaWdodCBiZSB0cmlja2llci4NCj4gRm9yIHN1Y2ggY2Fz ZXMgYHNvdXJjZV9sb2NhdGlvbmAgY291bGQgaW50ZXJuYWxseSB1c2UgdGhlIGBub2RlX2lkYCBz dHVmZiBpZiB0aGF0J3MgZWFzaWVyIG9yIGRlZW1lZCBhIGJldHRlciB0cmFkZS1vZmYgb24gQ1J1 YnkuDQoNCkkgX3RoaW5rXyBzdGFydCAvIGNvbHVtbiBpbmZvIGlzIGFsd2F5cyB0aGVyZSwgYnV0 IG5vdCAxMDAlIHN1cmUuDQogDQo+IEluIHN1bW1hcnk6DQo+ICogSSB0aGluayB3ZSBjYW4gYnVp bGQgYFByaXNtLm5vZGVfZm9yKFByb2N8TWV0aG9kfFVuYm91bmRNZXRob2QpYCBvbiBgKFByb2N8 TWV0aG9kfFVuYm91bmRNZXRob2QpI3NvdXJjZV9sb2NhdGlvbmAgd2l0aCBzdGFydC9lbmQgbGlu ZS9jb2x1bW4uDQo+ICogVGhvc2Ugd291bGQgYWxsIGJlIHB1YmxpYyBBUElzIHdvcmtpbmcgb24g YWxsIFJ1YnkgaW1wbGVtZW50YXRpb25zLg0KPiAqIFVzZXJzIGRvbid0IG5lZWQgdG8ga25vdyBh Ym91dCBsb3ctbGV2ZWwgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMgKGkuZS4gQ1J1Ynktb25seSkg Y29uY2VwdHMgbGlrZSBgbm9kZV9pZGAuDQoNCvCfkY0NCg0KDQpEYW4wMDQyIChEYW5pZWwgRGVM b3JtZSkgd3JvdGUgaW4gI25vdGUtMTU6DQo+IEVyZWdvbiAoQmVub2l0IERhbG96ZSkgd3JvdGUg aW4gI25vdGUtMzoNCj4gPiBJZiBpdCdzIGEgbmV3IG1ldGhvZCwgSSB0aGluayB3ZSBzaG91bGQg cmV0dXJuIGEgImNvZGUgbG9jYXRpb24iIG9iamVjdCAoY291bGQgYmUgYFJ1Ynk6OkNvZGVMb2Nh dGlvbmAgb3IgYFJ1Ynk6OkxvY2F0aW9uYCBvciBgUnVieTo6U291cmNlTG9jYXRpb25gIG9yIHNv KSBhbmQgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHMgKGluc3BpcmVkIGZyb20gaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzYwMTIjbm90ZS0xOSk6DQo+ID4gKiBzdGFydF9saW5l DQo+ID4gKiBlbmRfbGluZQ0KPiANCj4gSSByZWFsbHkgbGlrZSB0aGUgaWRlYSBvZiBhIGAjc291 cmNlYCBtZXRob2QgdGhhdCByZXR1cm5zIGEgYFJ1Ynk6OlNvdXJjZUxvY2F0aW9uYCBvYmplY3Qu IEhvd2V2ZXIsIHdoZW4gdGhlcmUncyBhIHN0YXJ0IGFuZCBlbmQsIEkgYmVsaWV2ZSBSdWJ5IHNo b3VsZCBpZGVhbGx5IGFsaWduIHdpdGggaXRzIG93biBjb3JlIGNvbnZlbnRpb25zIGFuZCByZXR1 cm4gYSBgUmFuZ2VgLiBGb3IgZXhhbXBsZSwgYG1ldGhvZC5zb3VyY2UubGluZXMgPT4gc3RhcnQu Li5lbmRgLiBXaGlsZSBJIHVuZGVyc3RhbmQgY29uY2VybnMgYWJvdXQgdGhlIGFsbG9jYXRpb24g b2YgYFJhbmdlYCBvYmplY3RzIGFuZCBwZXJmb3JtYW5jZSwgSSBmZWVsIHRoYXQ6IDEpIHRoaXMg bWlnaHQgYmUgYW4gZXhhbXBsZSBvZiBwcmVtYXR1cmUgbWljcm8tb3B0aW1pemF0aW9uLCBhbmQg MikgZnJvbSBhbiBBUEkgZGVzaWduIHBlcnNwZWN0aXZlLCBhIGBSYW5nZWAgb2JqZWN0IGZlZWxz IGxpa2UgdGhlIG5hdHVyYWwgZGVmYXVsdC4gU2VwYXJhdGUgYHN0YXJ0YC9gZW5kYCBhY2Nlc3Nv cnMgY291bGQgcmVtYWluIGEgbG93LWxldmVsLCBwZXJmb3JtYW5jZS1mb2N1c2VkIEFQSSBpZiB0 cnVseSBuZWNlc3NhcnkuDQo+IA0KPiBBcyBhbiBhbHRlcm5hdGl2ZSB0byBgc3RhcnRgL2BlbmRg IGFjY2Vzc29ycywgaXQgd291bGQgYmUgZXZlbiBiZXR0ZXIgaWYgdGhlIGBSYW5nZWAtcmV0dXJu aW5nIG1ldGhvZCBjb3VsZCBiZSBvcHRpbWl6ZWQgdmlhIG9wY29kZS4gUmVmZXJyaW5nIGJhY2sg dG8gdGhlIGlkZWEgb2YgYFJhbmdlI2JvdW5kc2AgaW4gIzIwMDgwLCB3ZSBjb3VsZCBoYXZlIHNv bWV0aGluZyBsaWtlIGBzdGFydF9saW5lLCBlbmRfbGluZSA9IG1ldGhvZC5zb3VyY2UubGluZXMu Ym91bmRzYCwgd2hpY2ggY291bGQgYmUgb3B0aW1pemVkIHZpYSBvcGNvZGUgdG8gYXZvaWQgYWxs b2NhdGluZyBhIGBSYW5nZWAgb2JqZWN0IGVudGlyZWx5Lg0KPiANCj4gSXQgd291bGQgYmUgZ3Jl YXQgdG8gc2VlIFJ1YnkgY29udGludWUgdG8gZW1icmFjZSBpdHMgb3duIGxhbmd1YWdlIGlkaW9t cyBhbmQgZXhwbG9yZSBzdWNoIG9wdGltaXphdGlvbnMgZm9yIGEgbW9yZSBlbGVnYW50IEFQSS4N Cg0KQXMgQG1hbWUgd2FzIHBvaW50aW5nIG91dCwgSSBkb24ndCB0aGluayBhIHNpbmdsZSByYW5n ZSBmb3IgbGluZXMgbWFrZXMgc2Vuc2UuDQoNCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgY29kZToN Cg0KYGBgcnVieQ0KZGVmIGZvbzsgPDxGT087IGVuZDsgZGVmIGJhcjsgPDxCQVI7IGVuZA0KZm9v IG1ldGhvZA0KRk9PDQpiYXIgbWV0aG9kDQpCQVINCmBgYA0KDQpXaGF0IHNob3VsZCB0aGUgYGxp bmVzYCBtZXRob2QgcmVwb3J0IGZvciB0aGUgc291cmNlIGNvZGUgZm9yIGBiYXJgPyAgSXQgY2Fu bm90IGJlIGEgc2luZ2xlIGBSYW5nZWAgYmVjYXVzZSBsaW5lcyAyIGFuZCAzIGFuZCBwYXJ0IG9m IHRoZSBgZm9vYCBtZXRob2QuICBgYmFyYCBpcyBvbmx5IGRlZmluZWQgbGluZSBsaW5lcyAxLCA0 LCBhbmQgNS4gIElmIHdlIHdlcmUgdG8gcHJvdmlkZSBhIGBzb3VyY2VgIG1ldGhvZCB0byByZXR1 cm4gdGhlIHRleHQgb2YgdGhlIGBiYXJgIG1ldGhvZCBvYmplY3QsIHdoYXQgdGV4dCB3b3VsZCBp dCByZXR1cm4/DQoNClNpbmNlIGhlcmVkb2NzIGFyZSBhbGxvd2VkIHRvIGV4dGVuZCBiZXlvbmQg dGhlIGBlbmRgIG9mIHRoZSBtZXRob2QgLyBibG9jaywgSSByZWFsbHkgZG9uJ3QgdGhpbmsgaXQg bWFrZXMgc2Vuc2UgdG8gdHJ5IHRvIHByb3ZpZGUgYSBzaW5nbGUgc3RhcnQgLyBlbmQgbGluZS4g IEluIG9yZGVyIHRvIHRydWx5IHByb3ZpZGUgdGhlIHNvdXJjZSBsb2NhdGlvbiBvZiB0aGUgbWV0 aG9kLCB3ZSB3b3VsZCBoYXZlIHRvIHJldHVybiBtdWx0aXBsZSBvYmplY3RzIGFuZCBJIHRoaW5r IHRoYXQgdHlwZSBvZiBpbnRlcmZhY2Ugd291bGQganVzdCBiZSB0b28gY3VtYmVyc29tZSB0byB1 c2UuICBJIGNvbXBsZXRlbHkgYWdyZWUgdGhhdCB3ZSBzaG91bGQgcHJvdmlkZSBhIHdheSB0byBn ZXQgdGhlIEFTVCBmb3IgYSBtZXRob2QgcmF0aGVyIHRoYW4gdHJ5IHRvIHByb3ZpZGUgbGluZSAv IGNvbHVtbiBpbmZvcm1hdGlvbiBhbG9uZS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjEwMDU6IFVwZGF0ZSB0aGUgc291cmNlIGxvY2F0aW9u IG1ldGhvZCB0byBpbmNsdWRlIGxpbmUgc3RhcnQvc3RvcCBhbmQgY29sdW1uIHN0YXJ0L3N0b3Ag ZGV0YWlscw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIxMDA1I2NoYW5nZS0x MTEzNjkNCg0KKiBBdXRob3I6IGJrdWhsbWFubiAoQnJvb2tlIEt1aGxtYW5uKQ0KKiBTdGF0dXM6 IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIFdoeQ0K DQrwn5GLIEhlbGxvLiBBZnRlciBkaXNjdXNzaW5nIHdpdGggS2V2aW4gTmV3dG9uIGFuZCBCZW5v aXQgRGFsb3plIGluIFtGZWF0dXJlIDIwOTk5XShodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9p c3N1ZXMvMjA5OTkpLCBJJ2QgbGlrZSB0byBwcm9wb3NlIGFkZGluZyBsaW5lIHN0YXJ0L3N0b3Ag YW5kIGNvbHVtbiBzdGFydC9zdG9wIGluZm9ybWF0aW9uIHRvIHRoZSBgI3NvdXJjZV9sb2NhdGlv bmAgbWV0aG9kIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdHM6DQoNCi0gW0JpbmRpbmddKGh0dHBz Oi8vZG9jcy5ydWJ5LWxhbmcub3JnL2VuL21hc3Rlci9CaW5kaW5nLmh0bWwpDQotIFtQcm9jXSho dHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0ZXIvUHJvYy5odG1sKQ0KLSBbTWV0aG9k XShodHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0ZXIvTWV0aG9kLmh0bWwpDQotIFtV bmJvdW5kTWV0aG9kXShodHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0ZXIvVW5ib3Vu ZE1ldGhvZC5odG1sKQ0KDQpBdCB0aGUgbW9tZW50LCB3aGVuIHVzaW5nIGAjc291cmNlX2xvY2F0 aW9uYCwgeW91IG9ubHkgZ2V0IHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246DQoNCmBgYCBydWJ5 DQpkZWYgZGVtbyA9ICJBIGRlbW9uc3RyYXRpb24uIg0KDQojIEZyb20gZGlzay4NCm1ldGhvZCg6 ZGVtbykuc291cmNlX2xvY2F0aW9uICAjIFsiL1VzZXJzL2JrdWhsbWFubi9FbmdpbmVlcmluZy9N aXNjL2RlbW8iLCAxNV0NCg0KIyBGcm9tIG1lbW9yeS4NCm1ldGhvZCg6ZGVtbykuc291cmNlX2xv Y2F0aW9uICAjIFsiKGlyYikiLCAzXQ0KYGBgDQoNCk5vdGljZSwgd2hlbiBhc2tpbmcgZm9yIHRo ZSBzb3VyY2UgbG9jYXRpb24sIHdlIG9ubHkgZ2V0IHRoZSBwYXRoL2xvY2F0aW9uIGFzIHRoZSBm aXJzdCBlbGVtZW50IGFuZCB0aGUgbGluZSBudW1iZXIgYXMgdGhlIHNlY29uZCBlbGVtZW50IGJ1 dCBJJ2QgbGlrZSB0byBvYnRhaW4gYSBtdWNoIHJpY2hlciBzZXQgb2YgZGF0YSB3aGljaCBpbmNs dWRlcyBsaW5lIHN0YXJ0L3N0b3AgYW5kIGNvbHVtbiBzdGFydC9zdG9wIHNvIEkgY2FuIGF2b2lk IGxlYW5pbmcgb24gdGhlIGBSdWJ5Vk1gIGZvciB0aGlzIGluZm9ybWF0aW9uLiBFeGFtcGxlOg0K DQpgYGAgcnVieQ0KZGVmIGRlbW8gPSAiQSBkZW1vbnN0cmF0aW9uLiINCg0KIyBGcm9tIGRpc2su DQppbnN0cnVjdGlvbnMgPSBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Uub2YgbWV0aG9kKDpk ZW1vKQ0KcHV0cyBbaW5zdHJ1Y3Rpb25zLmFic29sdXRlX3BhdGgsICppbnN0cnVjdGlvbnMudG9f YS5kaWcoNCwgOmNvZGVfbG9jYXRpb24pXQ0KDQpbDQogICIvVXNlcnMvYmt1aGxtYW5uL0VuZ2lu ZWVyaW5nL01pc2MvZGVtbyIsICAjIFNvdXJjZSBwYXRoLg0KICAxNSwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIyBMaW5lIHN0YXJ0Lg0KICAwLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDb2x1bW4gc3RhcnQuDQogIDE1LCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIExpbmUgc3RvcC4NCiAgMjkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ29sdW1uIHN0b3AuDQpdDQoNCiMg RnJvbSBtZW1vcnkuDQppbnN0cnVjdGlvbnMgPSBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Uu b2YgbWV0aG9kKDpkZW1vKQ0KcHV0cyBpbnN0cnVjdGlvbnMuc2NyaXB0X2xpbmVzDQoNClsNCiAg ImRlZiBkZW1vID0gXCJBIGRlbW9uc3RyYXRpb24uXCJcbiIsDQogICIiDQpdDQpgYGANCg0KQnkg aGF2aW5nIGFjY2VzcyB0byB0aGUgcGF0aCAob3IgbGFjayB0aGVyZW9mIGluIGNhc2Ugb2YgSVJC KSwgbGluZSBzdGFydC9zdG9wLCBhbmQgY29sdW1uIHN0YXJ0L3N0b3AsIHRoaXMgbWVhbnMgd2Ug Y291bGQgYXZvaWQgdXNpbmcgdGhlIFJ1YnlWTSB0byBvYnRhaW4gcmF3IHNvdXJjZSBjb2RlIGZv ciBhbnkgb2YgdGhlc2Ugb2JqZWN0cy4gVGhpcyB3b3VsZCBub3Qgb25seSBlbmhhbmNlIGRlYnVn Z2luZyBzaXR1YXRpb25zIGJ1dCBhbHNvIGltcHJvdmUgRG9tYWluIFNwZWNpZmljIExhbmd1YWdl cyB0aGF0IHdpc2ggdG8gbGV2ZXJhZ2UgdGhpcyBpbmZvcm1hdGlvbiBmb3IgaW50cm9kdWNpbmcg bmV3IGZlYXR1cmVzIGFuZC9vciBuZXcgZGVidWdnaW5nIGNhcGFiaWxpdGllcyB0byB0aGUgbGFu Z3VhZ2UuDQoNCiMjIEhvdw0KDQpCdWlsZGluZyB1cG9uIHRoZSBleGFtcGxlcyBwcm92aWRlZCBh Ym92ZSwgSSdkIGxpa2UgdG8gc2VlIGBCaW5kaW5nYCwgYFByb2NgLCBgTWV0aG9kYCwgYW5kIGBV bmJvdW5kTWV0aG9kYCByZXNwb25kIHRvIGAjc291cmNlX2xvY2F0aW9uYCBhcyBmb2xsb3dzOg0K DQpgYGAgcnVieQ0KWw0KICAiL1VzZXJzL2JrdWhsbWFubi9FbmdpbmVlcmluZy9NaXNjL2RlbW8i LCAgIyBTb3VyY2UgcGF0aC4NCiAgMTUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMgTGluZSBzdGFydC4NCiAgMTUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMgTGluZSBzdG9wLg0KICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBDb2x1bW4gc3RhcnQuDQogIDI5ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjIENvbHVtbiBzdG9wLg0KXQ0KYGBgDQoNCk5vdGljZSwgZm9yIGRh dGEgZ3JvdXBpbmcgcHVycG9zZXMsIEkgY2hhbmdlZCB0aGUgYXJyYXkgc3RydWN0dXJlIHRvIGFs d2F5cyBzdGFydCB3aXRoIHRoZSBwYXRoIGFzIHRoZSBmaXJzdCBlbGVtZW50LCBmb2xsb3dlZCBi eSBsaW5lIGluZm9ybWF0aW9uLCBhbmQgZW5kaW5nIHdpdGggY29sdW1uIGluZm9ybWF0aW9uLiBB bHRlcm5hdGl2ZWx5LCBpdCBjb3VsZCBtaWdodCBiZSBuaWNlIHRvIGltcHJvdmUgdXBvbiB0aGUg YWJvdmUgYnkgYW5zd2VyaW5nIGEgaGFzaCBlYWNoIHRpbWUsIGluc3RlYWQsIGZvciBhIG1vcmUg c2VsZi1kZXNjcmliaW5nIGRhdGEgc3RydWN0dXJlLiBFeGFtcGxlOg0KDQpgYGAgcnVieQ0Kew0K ICBwYXRoOiAiL1VzZXJzL2JrdWhsbWFubi9FbmdpbmVlcmluZy9NaXNjL2RlbW8iLA0KICBsaW5l X3N0YXJ0OiAxNSwNCiAgbGluZV9zdG9wOiAxNSwNCiAgY29sdW1uX3N0YXJ0OiAwLA0KICBjb2x1 bW5fc3RvcDogMjkNCn0NCmBgYA0KDQpGb3IgaW4tbWVtb3J5LCBzaXR1YXRpb25zIGxpa2UgSVJC LCBpdCB3b3VsZCBiZSBuaWNlIHRvIGFuc3dlciB0aGUgZXF1aXZhbGVudCBvZiBgUnVieVZNOjpJ bnN0cnVjdGlvblNlcXVlbmNlI3NjcmlwdF9saW5lc2Agd2hpY2ggd291bGQgYWx3YXlzIGJlIGFu IGBBcnJheWAgd2l0aCBubyBsaW5lIG9yIGNvbHVtbiBpbmZvcm1hdGlvbiBzaW5jZSBvbmx5IHRo ZSBzb3VyY2UgY29kZSBpcyBuZWNlc3NhcnkuIEV4YW1wbGU6DQoNCmBgYCBydWJ5DQpbDQogICJk ZWYgZGVtbyA9IFwiQSBkZW1vbnN0cmF0aW9uLlwiXG4iLA0KICAiIg0KXQ0KYGBgDQoNCkZyb20g YSBwYXR0ZXJuIG1hdGNoaW5nIHBlcnNwZWN0aXZlLCB0aGlzIGNvdWxkIHByb3ZpZGUgdGhlIGJl c3Qgb2YgYm90aCB3b3JsZHMgZXNwZWNpYWxseSBpZiBpbmZvcm1hdGlvbiBpcyBhbnN3ZXJlZCBh cyBlaXRoZXIgYSBgSGFzaGAgb3IgYW5kIGBBcnJheWAuIEV4YW1wbGU6DQoNCmBgYCANCmRlZiBk ZW1vID0gIkEgZGVtb25zdHJhdGlvbi4iDQoNCmNhc2UgbWV0aG9kKDpkZW1vKS5zb3VyY2VfbG9j YXRpb24NCiAgaW4gSGFzaCB0aGVuIHB1dHMgIlNvdXJjZSBpbmZvcm1hdGlvbiBvYnRhaW5lZCBm cm9tIGRpc2suIg0KICBpbiBBcnJheSB0aGVuIHB1dHMgIlNvdXJjZSBvYnRhaW5lZCBmcm9tIG1l bW9yeS4iDQogIGVsc2UgZmFpbCBUeXBlRXJyb3IsICJVbnJlY29nbml6ZWQgc291cmNlIGxvY2F0 aW9uIHR5cGUuIg0KZW5kDQpgYGANCg0KVGhpcyBhYm92ZSBpcyBvbmx5IGEgc2ltcGxlIGV4YW1w bGUgYnV0IHRoZXJlJ3MgYSBsb3Qgd2UgY291bGQgZG8gd2l0aCB0aGlzIGluZm9ybWF0aW9uIGlm IHRoZSBhYm92ZSBwYXR0ZXJuIG1hdGNoIHdhcyBlbmhhbmNlZCB0byBkZWFsIHdpdGggdGhlIGV4 dHJhY3Rpb24gYW5kIGZvcm1hdHRpbmcgb2YgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSENCg0KIyMg Tm90ZXMNCg0KVGhpcyBmZWF0dXJlIHJlcXVlc3QgaXMgcmVsYXRlZCB0byB0aGUgZm9sbG93aW5n IGRpc2N1c3Npb25zIGluIGNhc2UgbW9yZSBjb250ZXh0IGlzIG9mIGhlbHA6DQoNCi0gW0ZlYXR1 cmUgNjAxMl0oaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzYwMTIpDQotIFtGZWF0 dXJlIDIwOTk5XShodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA5OTkpDQoNCg0K DQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBy dWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0 byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0 cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxh bmcub3JnLw==