[#120465] [Ruby master Bug#20998] rb_str_locktmp() changes flags of frozen strings and string literals — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Issue #20998 has been reported by Eregon (Benoit Daloze).
17 messages
2025/01/03
[ruby-core:120559] [Ruby master Feature#21005] Update the source location method to include line start/stop and column start/stop details
From:
"tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date:
2025-01-08 17:22:04 UTC
List:
ruby-core #120559
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==