[ruby-core:110104] [Ruby master Feature#19024] Proposal: Import Modules
From:
"shioyama (Chris Salzberg)" <noreply@...>
Date:
2022-09-27 08:33:53 UTC
List:
ruby-core #110104
SXNzdWUgIzE5MDI0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hpb3lhbWEgKENocmlzIFNhbHpiZXJn KS4KCgo+IEludHVpdGl2ZWx5LCB0aGlzIHByb3Bvc2FsIGNoYW5nZXMgdGhlIHdheSBSdWJ5IHdv cmtzIGluIGEgd2F5IHRoYXQgSSBiZWxpZXZlIGhhcyB0b28gbWFueSByYW1pZmljYXRpb25zIGFu ZCBlZGdlIGNhc2VzLiBBbHNvLCBpdCBkZWxlZ2F0ZXMgY29udHJvbCB0byB0aGUgY2FsbGVyLCBy YXRoZXIgdGhhbiB0byB0aGUgc3ViamVjdCAodGhlIGNvZGUgYmVpbmcgbG9hZGVkKS4KCkknbSBh Y3R1YWx5IHRyeWluZyB0byBjaGFuZ2UgUnVieSBfYXMgbGl0dGxlIGFzIHBvc3NpYmxlXyB0byBt YWtlIHRoaXMgaGFwcGVuLiBgbG9hZGAgd2l0aCB0aGUgYHdyYXBgIG9wdGlvbiBhbHJlYWR5IGRv ZXMgc29tZSBvZiB0aGlzLCBhbmQgZGVsZWdhdGVzIGNvbnRyb2wgdG8gdGhlIGNhbGxlciwgc28g dGhpcyBpcyBub3QgZXhhY3RseSBuZXcuCgpBbmQgdG8gbWUsIGRlbGVnYXRpbmcgY29udHJvbCB0 byB0aGUgY2FsbGVyIGlzIG5hdHVyYWwuIFRoZSBwcm9ibGVtIHdpdGggYHJlcXVpcmVgIGlzIGV4 YWN0bHkgdGhhdCB0aGUgY2FsbGVyIF9sb3Nlc18gY29udHJvbCwgcmVzdWx0aW5nIGluIGNhbGxl ZCBjb2RlIGJlaW5nIGFibGUgdG8gInBhcmsiIGl0c2VsZiB3aGVyZXZlciBpdCBsaWtlcy4gVGhp cyBpcyB3aHkgZXZlcnkgZ2VtIGhhcyB0byBiZSBhIGdvb2QgY2l0aXplbiBhbmQga2VlcCBpdHMg Y29kZSBpbiBvbmUgbmFtZXNwYWNlLgoKPiBTaW5jZSB0aGUgcHJvYmxlbSB0aGUgcHJvcG9zYWwg d2FudHMgdG8gYWRkcmVzcyBpcyBhY2Nlc3Mgb2YgY29uc3RhbnRzIGNyb3NzLXBhY2thZ2VzLCBJ IHdvbmRlciBpZiBhbiBhcHByb2FjaCB0aGF0IHdvdWxkIGJlIG1vcmUgYWxpZ25lZCB3aXRoIFJ1 Ynkgd291bGQgYmUgdG8gaW50cm9kdWNlIGEgInBhY2thZ2UiIHZpc2liaWxpdHkga2V5d29yZC4K ClRvIGJlIGNsZWFyLCBjb250cm9sbGluZyBjcm9zcy1wYWNrYWdlIGFjY2VzcyBpcyBhIHBvc2l0 aXZlIG91dGNvbWUgb2Ygd3JhcHBpbmcgbG9hZGVkIGNvZGUgaW4gYSBuYW1lc3BhY2UsIG5vdCB0 aGUgZ29hbCBpbiBhbmQgb2YgaXRzZWxmLiBOYW1lc3BhY2luZyBoYXMgYWR2YW50YWdlcyBvZiBp dHMgb3duIG91dHNpZGUgb2YgYm91bmRhcnkgZGVmaW5pdGlvbiBhbG9uZS4KCldlIGhhdmUgYSBs YXJnZSBjb2RlYmFzZSBtYWRlIHVwIG9mIGNvbXBvbmVudHMuIFRvIGVmZmVjdGl2ZWx5IGtlZXAg Y29kZSBzZXBhcmF0ZSwgaXQncyBwcmVmZXJhYmxlIGlmIGVhY2ggY29tcG9uZW50IGRlZmluZXMg aXRzIG93biBuYW1lc3BhY2UgKHVuZGVyIGEgbW9kdWxlKSwgYnV0IGluIHByYWN0aWNlIHRoaXMg bWVhbnMgYSBsb3Qgb2YgbmVzdGluZyBjbGFzc2VzIGFuZCBtb2R1bGVzIHJlbGF0aXZlIHRvIHRo ZSBhYnNvbHV0ZSB0b3AtbGV2ZWwsIGFuZCBwcmVmaXhpbmcgY2FsbHMgd2l0aCBgQ29tcG9uZW50 QTo6Rm9vYCBldGMuCgpXaGVyZWFzLCBpZiB5b3UgaGF2ZSBpbXBvcnRzLCBlYWNoIGNvbXBvbmVu dCBvZiBhbiBhcHBsaWNhdGlvbiB3b3VsZCBiZSBhYmxlIHRvIGRlZmluZSBpdHNlbGYgX2F0IHRo ZSB0b3BsZXZlbF8gb2YgaXRzIG93biB1bml2ZXJzZS4gTGlrZXdpc2UsIHlvdSBjb3VsZCBncmFu dCBhY2Nlc3MgdG8gb3RoZXIgY29tcG9uZW50cyB3aXRoIGNvbnN0YW50IHJlZmVyZW5jZXM6Cgpg YGBydWJ5CnBsYXRmb3JtID0gaW1wb3J0ICJjb21wb25lbnRzL3BsYXRmb3JtIgpzaG9wX2lkZW50 aXR5ID0gaW1wb3J0ICJjb21wb25lbnRzL3Nob3BfaWRlbnRpdHkiCgpwbGF0Zm9ybTo6U2hvcCA9 IHNob3BfaWRlbnRpdHk6OlNob3AKYGBgCgo+IHRoZXJlIGFyZSB3YXkgdG9vIG1hbnkgZWRnZSBj YXNlcyBmb3IgbG9hZGluZyBleGlzdGluZyBjb2RlIGluIGFuIGlzb2xhdGVkIHdheSBsaWtlIHRo aXMuIEkgbWlnaHQgd29yayBmb3Igc29tZSwgbWF5YmUgZXZlbiBtb3N0IHBhY2thZ2VzLCBidXQg dWx0aW1hdGVseSBpdCB3aWxsIGNlcnRhaW5seSByZXF1aXJlIGNvb3BlcmF0aW9uIGZyb20gdGhl IHBhY2thZ2VzLCBzbyBtaWdodCBhcyB3ZWxsIG9mZmVyIGEgcHJvcGVyIGNvbnN0cnVjdCBmb3Ig aXQuCgpXb3VsZG4ndCBpdCBtYWtlIHNlbnNlIHRvIGZpcnN0IGRldGVybWluZSB3aGF0IHRob3Nl IGVkZ2UgY2FzZXMgYXJlPyBJIGZlZWwgbGlrZSB3ZSdyZSBpbW1lZGlhdGVseSBqdW1waW5nIHRv IHRoZSBjb25jbHVzaW9uIHRoYXQgInRoaXMgaXMgaGFyZCwgc28gbGV0J3MgZG8gdGhpcyBvdGhl ciB0aGluZyBpbnN0ZWFkIiBiZWZvcmUgd2UgaGF2ZSBkZXRlcm1pbmVkIGlmIGl0IHJlYWxseSBp cyB0aGF0IGhhcmQgdG8gZG8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCkZlYXR1cmUgIzE5MDI0OiBQcm9wb3NhbDogSW1wb3J0IE1vZHVsZXMKaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDI0I2NoYW5nZS05OTM2MgoKKiBBdXRob3I6IHNoaW95 YW1hIChDaHJpcyBTYWx6YmVyZykKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhlcmUgaXMgbm8gZ2VuZXJh bCB3YXkgaW4gUnVieSB0byBsb2FkIGNvZGUgb3V0c2lkZSBvZiB0aGUgZ2xvYmFsbHktc2hhcmVk IG5hbWVzcGFjZS4gVGhpcyBtYWtlcyBpdCBoYXJkIHRvIGlzb2xhdGUgY29tcG9uZW50cyBvZiBh biBhcHBsaWNhdGlvbiBmcm9tIGVhY2ggb3RoZXIgYW5kIGZyb20gdGhlIGFwcGxpY2F0aW9uIGl0 c2VsZiwgbGVhZGluZyB0byBjb21wbGljYXRlZCByZWxhdGlvbnNoaXBzIHRoYXQgY2FuIGJlY29t ZSBpbnRyYWN0YWJsZSBhcyBhcHBsaWNhdGlvbnMgZ3JvdyBpbiBzaXplLgoKVGhlIGdyb3dpbmcg cG9wdWxhcml0eSBvZiBhIGdlbSBsaWtlIFtQYWNrd2Vya10oaHR0cHM6Ly9naXRodWIuY29tL3No b3BpZnkvcGFja3dlcmspLCB3aGljaCBwcm92aWRlcyBhIG5ldyBjb25jZXB0IG9mICJwYWNrYWdl IiB0byBlbmZvY2UgYm91bmRhcmllcyBzdGF0aWNhbGx5IGluIENJLCBpcyBldmlkZW5jZSB0aGF0 IHRoaXMgaXMgYSByZWFsIHByb2JsZW0uIEJ1dCBpbnRyb2R1Y2luZyBhIG5ldyBwYWNrYWdpbmcg Y29uY2VwdCBhbmQgQ0kgc3RlcCBpcyBhdCBiZXN0IG9ubHkgYSBwYXJ0aWFsIHNvbHV0aW9uLCB3 aXRoIGRvd25zaWRlczogaXQgYWRkcyBjb21wbGV4aXR5IGFuZCBjb2duaXRpdmUgb3ZlcmhlYWQg dGhhdCB3b3VsZG4ndCBiZSBuZWNlc3NhcnkgaWYgUnVieSBwcm92aWRlZCBiZXR0ZXIgcGFja2Fn aW5nIGl0c2VsZiAoYXMgTWF0eiBoYXMgc3VnZ2VzdGVkIFtpdCBzaG91bGRdKGh0dHBzOi8veW91 dHUuYmUvRHAxMmEzS0dORnc/dD0yOTU2KSkuCgpUaGVyZSBpcyBfb25lXyBsaW1pdGVkIHdheSBp biBSdWJ5IGN1cnJlbnRseSB0byBsb2FkIGNvZGUgd2l0aG91dCBwb2xsdXRpbmcgdGhlIGdsb2Jh bCBuYW1lc3BhY2U6IGBsb2FkYCB3aXRoIHRoZSBgd3JhcGAgcGFyYW1ldGVyLCB3aGljaCBhcyBv ZiBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvNjIxMCBjYW4gbm93IGJlIGEgbW9k dWxlLiBIb3dldmVyLCB0aGlzIG9wdGlvbiBkb2VzIG5vdCBhcHBseSB0cmFuc2l0aXZlbHkgdG8g YHJlcXVpcmVgIGNhbGxzIHdpdGhpbiB0aGUgbG9hZGVkIGZpbGUsIHNvIGl0cyB1c2VmdWxuZXNz IGlzIGxpbWl0ZWQuCgpNeSBwcm9wb3NhbCBoZXJlIGlzIHRvIGVuYWJsZSBtb2R1bGUgaW1wb3J0 cyBieSBkb2luZyB0aGUgZm9sbG93aW5nOgoKMS4gYXBwbHkgdGhlIGB3cmFwYCBtb2R1bGUgbmFt ZXNwYWNlIHRyYW5zaXRpdmVseSB0byBgcmVxdWlyZWBzIGluc2lkZSB0aGUgbG9hZGVkIGNvZGUs IGluY2x1ZGluZyBuYXRpdmUgZXh0ZW5zaW9ucyAob3IgcHJvdmlkZSBhIG5ldyBmbGFnIG9yIG1l dGhvZCB0aGF0IHdvdWxkIGRvIHRoaXMpLAoyLiBtYWtlIHRoZSBgd3JhcGAgbW9kdWxlIHRoZSB0 b3BsZXZlbCBjb250ZXh0IGZvciBjb2RlIGxvYWRlZCB1bmRlciBpdCwgc28gYDo6Rm9vYCByZXNv bHZlcyB0byBgPHRvcF93cmFwcGVyPjo6Rm9vYCBpbiBsb2FkZWQgY29kZSAob3IsIGFnYWluLCBw cm92aWRlIGEgbmV3IGZsYWcgb3IgbWV0aG9kIHRoYXQgd291bGQgZG8gdGhpcykuIF9BbHNvIG1h a2UgdGhpcyBhcHBseSB3aGVuIGNvZGUgdW5kZXIgdGhlIHdyYXBwZXIgbW9kdWxlIGlzIGNhbGxl ZCBvdXRzaWRlIG9mIHRoZSBsb2FkIHByb2Nlc3MgKHdoZW4gYHRvcF93cmFwcGVyYCBpcyBubyBs b25nZXIgc2V0KSAmbWRhc2g7IHRoaXMgbWF5IGJlIHF1aXRlIGhhcmQgdG8gZG9fLgozLiByZXNv bHZlIGBuYW1lYCBvbiBhbm9ueW1vdXMgbW9kdWxlcyB1bmRlciB0aGUgd3JhcHBlZCBtb2R1bGUg dG8gdGhlaXIgbmFtZXMgd2l0aG91dCB0aGUgdG9wIHdyYXBwZXIgbW9kdWxlLCBzbyBgPHRvcF93 cmFwcGVyPjo6Rm9vLm5hbWVgIGV2YWx1YXRlcyB0byBgIkZvbyJgLiBUaGVyZSBtYXkgYmUgb3Ro ZXIgd2F5cyB0byBoYW5kbGUgdGhpcyBwcm9ibGVtLCBidXQgYSBnZW0gbGlrZSBSYWlscyB1c2Vz IGBuYW1lYCB0byByZXNvbHZlIGZpbGVuYW1lcyBhbmQgZmFpbHMgd2hlbiBhbm9ueW1vdXMgbW9k dWxlcyByZXR1cm4gc29tZXRoaW5nIGxpa2UgYCM8TW9kdWxlOiAuLi4+OjpBY3RpdmVSZWNvcmRg IGluc3RlYWQgb2YganVzdCBgQWN0aXZlUmVjb3JkYC4KCkkgaGF2ZSByb3VnaGx5IGltcGxlbWVu dGVkIHRoZXNlIHRocmVlIHRoaW5ncyBpbiBbdGhpcyBwYXRjaF0oaHR0cHM6Ly9naXRodWIuY29t L3J1YnkvcnVieS9jb21wYXJlL21hc3Rlci4uLnNoaW95YW1hOnJ1Ynk6aW1wb3J0X21vZHVsZXMp LiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGluY29tcGxldGUgKGl0IGRvZXMgbm90IGNvdmVyIHRo ZSBsYXN0IGhpZ2hsaWdodGVkIHBhcnQgb2YgMikgYnV0IHByb3ZpZGVzIGVub3VnaCBvZiBhIGJh c2lzIHRvIGltcGxlbWVudCBhbiBgaW1wb3J0YCBtZXRob2QsIHdoaWNoIEkgaGF2ZSBkb25lIGlu IGEgZ2VtIGNhbGxlZCBbSW1dKGh0dHBzOi8vZ2l0aHViLmNvbS9zaGlveWFtYS9pbSkuCgpJbSBw cm92aWRlcyBhbiBgaW1wb3J0YCBtZXRob2Qgd2hpY2ggY2FuIGJlIHVzZWQgdG8gaW1wb3J0IGdl bSBjb2RlIHVuZGVyIGEgbmFtZXNwYWNlOgoKYGBgcnVieQpyZXF1aXJlICJpbSIKZXh0ZW5kIElt CgphY3RpdmVfbW9kZWwgPSBpbXBvcnQgImFjdGl2ZV9tb2RlbCIKIz0+IDwjSW06OkltcG9ydCBy b290OiBhY3RpdmVfbW9kZWw+CgpBY3RpdmVNb2RlbAojPT4gTmFtZUVycm9yCgphY3RpdmVfbW9k ZWw6OkFjdGl2ZU1vZGVsCiM9PiBBY3RpdmVNb2RlbAoKYWN0aXZlX3JlY29yZCA9IGltcG9ydCAi YWN0aXZlX3JlY29yZCIKIz0+IDwjSW06OkltcG9ydCByb290OiBhY3RpdmVfcmVjb3JkPgoKIyBD b25zdGFudHMgZGVmaW5lZCBpbiB0aGUgc2FtZSBmaWxlIHVuZGVyIGRpZmZlcmVudCBpbXBvcnRz IHBvaW50IHRvIHRoZSBzYW1lIG9iamVjdHMKYWN0aXZlX3JlY29yZDo6QWN0aXZlTW9kZWwgPT0g YWN0aXZlX21vZGVsOjpBY3RpdmVNb2RlbAojPT4gdHJ1ZQpgYGAKCldpdGggdGhlIGNvbnN0YW50 cyBhbGwgbG9hZGVkIHVuZGVyIGFuIGFub255bW91cyBuYW1lc3BhY2UsIGFueSBjb2RlIGltcG9y dGluZyB0aGUgZ2VtIGNhbiBuYW1lIGNvbnN0YW50cyBob3dldmVyIGl0IGxpa2VzOgoKYGBgcnVi eQpjbGFzcyBQb3N0IDwgYWN0aXZlX3JlY29yZDo6QWN0aXZlUmVjb3JkOjpCYXNlCmVuZAoKQVIg PSBhY3RpdmVfcmVjb3JkOjpBY3RpdmVSZWNvcmQKClBvc3Quc3VwZXJjbGFzcwojPT4gQVI6OkJh c2UKYGBgCgpOb3RlIHRoYXQgdGhpcyBlbmFibGVzIHRoZSBpbXBvcnRlciB0byBjb21wbGV0ZWx5 IGRldGVybWluZSB0aGUgbmFtaW5nIGZvciBldmVyeSBjb25zdGFudCBpdCBpbXBvcnRzLiBTbyBn ZW1zIGNhbiBvcHQgdG8gaGlkZSB0aGVpciBkZXBlbmRlbmNpZXMgYnkgImFuY2hvcmluZyIgdGhl bSBpbnNpZGUgdGhlaXIgb3duIG5hbWVzcGFjZSwgbGlrZSB0aGlzOgoKYGBgcnVieQojIGluIGxp Yi9teV9nZW0ucmIKbW9kdWxlIE15R2VtCiAgZGVwID0gaW1wb3J0ICJteV9nZW1fZGVwZW5kZW5j eSIKCiAgIyBteV9nZW1fZGVwZW5kZW5jeSBpcyAiYW5jaG9yZWQiIHVuZGVyIHRoZSBNeUdlbSBu YW1lc3BhY2UsIHNvIG5vdCBleHBvc2VkIHRvIHVzZXJzCiAgIyBvZiB0aGUgZ2VtIHVubGVzcyB0 aGV5IGFsc28gcmVxdWlyZSBpdC4KICBNeUdlbURlcGVuZGVuY3kgPSBkZXAKCiAgIy4uLgplbmQK YGBgCgpUaGVyZSBhcmUgYSBjb3VwbGUgaW1wb3J0YW50IGltcGxlbWVudGF0aW9uIGRlY2lzaW9u cyBpbiB0aGUgZ2VtOgoKMS4gX09ubHkgbG9hZCBjb2RlIG9uY2UuXyBXaGVuIHRoZSBzYW1lIGZp bGUgaXMgaW1wb3J0ZWQgYWdhaW4gKGVpdGhlciBkaXJlY3RseSBvciB0cmFuc2l0aXZlbHkpLCAi Y29weSIgY29uc3RhbnRzIGZyb20gcHJldmlvdXNseSBpbXBvcnRlZCBuYW1lc3BhY2UgdG8gdGhl IG5ldyBuYW1lc3BhY2UgdXNpbmcgYSByZWdpc3RyeSB3aGljaCBtYXBzIHdoaWNoIG5hbWVzcGFj ZSAoaW1wb3J0KSB3YXMgdXNlZCB0byBsb2FkIHdoaWNoIGZpbGUgKGFzIHNob3duIGFib3ZlIHdp dGggYWN0aXZlcmVjb3JkL2FjdGl2ZW1vZGVsKS4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJl IHRoYXQgZGlmZmVyZW50IGltcG9ydHMgY2FuICJzZWUiIHNoYXJlZCBmaWxlcy4gQSBzaW1pbGFy IHJlZ2lzdHJ5IGlzIHVzZWQgdG8gdHJhY2sgYXV0b2xvYWRzIHNvIHRoYXQgdGhleSB3b3JrIGNv cnJlY3RseSB3aGVuIHVzZWQgZnJvbSBpbXBvcnRlZCBjb2RlLgoyLiBUb3BsZXZlbCBjb3JlIHR5 cGVzIChgTmlsQ2xhc3NgLCBgVHJ1ZUNsYXNzYCwgYEZhbHNlQ2xhc3NgLCBgU3RyaW5nYCwgZXRj KSBhcmUgImFsaWFzZWQiIHRvIGNvbnN0YW50cyB1bmRlciBlYWNoIGltcG9ydCBtb2R1bGUgdG8g bWFrZSB0aGVtIGF2YWlsYWJsZS4gVGh1cyB0aGVyZSBjYW4gYmUgc2lkZS1lZmZlY3RzIG9mIGlt cG9ydGluZyBjb2RlLCBidXQgdGhpcyBhbGxvd3MgYSBnZW0gbGlrZSBSYWlscyB0byBtb25rZXlw YXRjaCBjb3JlIGNsYXNzZXMgd2hpY2ggaXQgbmVlZHMgdG8gZG8gZm9yIGl0IHRvIHdvcmsuCjMu IGBPYmplY3QuY29uc3RfbWlzc2luZ2AgaXMgcGF0Y2hlZCB0byBjaGVjayB0aGUgY2FsbGVyIGxv Y2F0aW9uIGFuZCByZXNvbHZlIHRvIHRoZSBjb25zdGFudCBkZWZpbmVkIHVuZGVyIGFuIGltcG9y dCwgaWYgdGhlcmUgaXMgYW4gaW1wb3J0IGRlZmluZWQgZm9yIHRoYXQgZmlsZS4KClRvIGJlIGNs ZWFyOiAqKkkgdGhpbmsgMSkgc2hvdWxkIGJlIGltcGxlbWVudGVkIGluIFJ1YnksIGJ1dCBub3Qg MikgYW5kIDMpLioqIFRoZSBsYXN0IG9uZSAoYE9iamVjdC5jb25zdF9taXNzaW5nYCkgaXMgYSBo YWNrIHRvIHN1cHBvcnQgdGhlIGNhc2Ugd2hlcmUgYSB0b3BsZXZlbCBjb25zdGFudCBpcyByZWZl cmVuY2VkIGZyb20gYSBtZXRob2QgY2FsbGVkIGluIGltcG9ydGVkIGNvZGUgKGF0IHdoaWNoIHBv aW50IHRoZSBgdG9wX3dyYXBwZXJgIGlzIG5vdCBhY3RpdmUuKQoKSSBrbm93IHRoaXMgaXMgYSBi aWcgcHJvcG9zYWwsIGFuZCB0aGVyZSBhcmUgc3Ryb25nIG9waW5pb25zIGhlbGQuIEkgd291bGQg cmVhbGx5IGFwcHJlY2lhdGUgY29uc3RydWN0aXZlIGZlZWRiYWNrIG9uIHRoaXMgZ2VuZXJhbCBp ZGVhLgoKU2VlIGFsc28gc2ltaWxhciBkaXNjdXNzaW9uIGluOiBodHRwczovL2J1Z3MucnVieS1s YW5nLm9yZy9pc3N1ZXMvMTAzMjAKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoK VW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJq ZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWls bWFuL29wdGlvbnMvcnVieS1jb3JlPgo=