From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 222D61F404 for ; Wed, 12 Sep 2018 07:48:23 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id D683A1209E3; Wed, 12 Sep 2018 16:48:20 +0900 (JST) Received: from o1678916x28.outbound-mail.sendgrid.net (o1678916x28.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 49B601209E2 for ; Wed, 12 Sep 2018 16:48:19 +0900 (JST) Received: by filter0001p3iad2.sendgrid.net with SMTP id filter0001p3iad2-7969-5B98C4BE-2B 2018-09-12 07:48:14.664123046 +0000 UTC m=+465712.406547615 Received: from herokuapp.com (ec2-54-156-87-177.compute-1.amazonaws.com [54.156.87.177]) by ismtpd0002p1iad2.sendgrid.net (SG) with ESMTP id -Dq-ysBiQR2TMQBWTWkZWw Wed, 12 Sep 2018 07:48:14.625 +0000 (UTC) Date: Wed, 12 Sep 2018 07:48:15 +0000 (UTC) From: loic.nageleisen@gmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 64349 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 14982 X-Redmine-Issue-Author: jjyr X-Redmine-Issue-Assignee: matz X-Redmine-Sender: lloeki 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-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS4qzYOXiP1Vsr9fyttt9mQ47BL7eH0RIMAmvx ORuN/2JFwel6OLG23twpUud504ZBp/yd0UqFm6yly0/kOSV47RoiUJM7I110T1jmEkDQHjRYhpaV58 xCVjf2lMaAYhbKlyDWlVwfC09qngSwQ/yfD2GR6Pe8YBnh3s15wWNzJu2w== X-ML-Name: ruby-core X-Mail-Count: 88957 Subject: [ruby-core:88957] [Ruby trunk Feature#14982] Improve namespace system in ruby to avoiding top-level names chaos 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" SXNzdWUgIzE0OTgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbGxvZWtpIChMb2ljIE5hZ2VsZWlzZW4p LgoKClBsZWFzZSBhbGxvdyBtZSB0byBodW1ibHkgcHJlc2VudCBbdGhpcyBkZXNpZ24gYW5kIGlt cGxlbWVudGF0aW9uIG9mIGltcG9ydCBzZW1hbnRpY3NdKGh0dHBzOi8vZ2l0bGFiLmNvbS9sbG9l a2kvcGFrKSBhaW1pbmcgdG8gc29sdmUgcHJlY2lzZWx5IHRoZSBjdXJyZW50IGlzc3VlLCB0YWtp bmcgaW5zcGlyYXRpb24gZnJvbSBHbywgUHl0aG9uLCBhbmQgTm9kZS4KCkJhc2ljYWxseSBpdCBp bXBsZW1lbnRzIGEgYFBhY2thZ2VgIGNsYXNzIGluaGVyaXRpbmcgYE1vZHVsZWAgYW5kIGxldmVy YWdpbmcgdGhlIGBLZXJuZWwjbG9hZGAgYWJpbGl0eSB0byBgd3JhcGAgd2l0aCBpdHMgc2Vjb25k IGFyZ3VtZW50LCB0b2dldGhlciB3aXRoIGBtb2R1bGVfZXZhbGAuCldpdGggaXQgeW91IGNhbiBj dXJyZW50bHkgZG86Cgp+fn5ydWJ5CmltcG9ydCgnZm9vJykgICAgICAgICAgICAgICAgICAgICMg aW1wb3J0IHBhY2thZ2UgZmlsZSBhcyBgZm9vYAppbXBvcnQoJ2Zvby9iYXonKSAgICAgICAgICAg ICAgICAjIGltcG9ydCBuZXN0ZWQgcGFja2FnZSBmaWxlIGFzIGBiYXpgCmltcG9ydCgnZm9vJywg dG86IDptZXRob2QpICAgICAgICMgbWFrZSBhdmFpbGFibGUgYXMgbWV0aG9kIGBmb29gIHVzaW5n IGEgc2lkZSBlZmZlY3QgKGRlZmF1bHQpCmltcG9ydCgnZm9vJywgdG86IDpjb25zdCkgICAgICAg ICMgbWFrZSBhdmFpbGFibGUgYXMgY29uc3RhbnQgYEZvb2AgdXNpbmcgYSBzaWRlIGVmZmVjdApp bXBvcnQoJ2ZvbycsIHRvOiA6bG9jYWwpICAgICAgICAjIChhdHRlbXB0IHRvLCBzZWUgYmVsb3cp IG1ha2UgYXZhaWxhYmxlIGFzIGxvY2FsIHZhcmlhYmxlIGBmb29gIHVzaW5nIGEgc2lkZSBlZmZl Y3QKaW1wb3J0KCdmb28nLCBhczogOmJhcikgICAgICAgICAgIyByZW5hbWUgdGhlIHRhcmdldCBz ZXQgYXMgYSBzaWRlIGVmZmVjdCB0byBgYmFyYCwgY2FuIGJlIGNvbWJpbmVkIHdpdGggYHRvOmAK Zj0gaW1wb3J0KCdmb28nLCB0bzogOnZhbHVlKSAgICAgIyBubyBzaWRlIGVmZmVjdCwgZXhwbGlj aXQgYXNzaWdubWVudCB0byBhIGxvY2FsIHZhcgpGb28gPSBpbXBvcnQoJ2ZvbycsIHRvOiA6dmFs dWUpICAjIG5vIHNpZGUgZWZmZWN0LCBleHBsaWNpdCBhc3NpZ25tZW50IHRvIGEgbG9jYWwgY29u c3QKZGVmIGZvbzsgaW1wb3J0KCdmb28nLCB0bzogOnZhbHVlKTsgZW5kICAjIHlvdSBnZXQgdGhl IGlkZWEKfn5+CgpNb3JlIGV4YW1wbGVzIGFyZSBhdmFpbGFibGUgaW4gdGhlIFJFQURNRSBhbmQg aW4gYHRlc3QucmJgIGFsb25nIHdpdGggdGhlIGB0ZXN0YCBmaXh0dXJlIHRyZWUgKHRob3NlIGFy ZSBub3QgdW5pdCB0ZXN0cyB0aG91Z2gsIGFwb2xvZ2llcyBmb3IgdGhlIGJhZCBuYW1pbmcgb24g bXkgcGFydCkuCgpUaGUgdmFyaW91cyBwb3NzaWJpbGl0aWVzIG9mIGB0bzpgIChgbmlsYCwgYDpt ZXRob2RgLCBgOmNvbnN0YCwgYDpsb2NhbGApIGFyZSB0byBleHBsb3JlIHRoZSBwb3NzaWJsZSB3 YXlzIHRvIG1ha2UgdGhlIG1vZHVsZSBhdmFpbGFibGUgdG8gdGhlIGNhbGxlci4KClRoZSBpbXBs ZW1lbnRhdGlvbiB3b3JrcyBvbiBjdXJyZW50IFJ1YnksIGFuZCB3b3VsZCB3b3JrIGV2ZW4gYmV0 dGVyIFtzYXZlIGZvciBhIGxpbWl0YXRpb25dKGh0dHBzOi8vZ2l0bGFiLmNvbS9sbG9la2kvcGFr I3dpc2hsaXN0LXNldHRpbmctbG9jYWxzLWRpcmVjdGx5KSBvZiBgYmluZF9sb2NhbF92YXJpYWJs ZV9zZXRgLiBJdCByZXF1aXJlcyB0aGUgYGJpbmRpbmdfb2ZfY2FsbGVyYCBnZW0gaW4gc29tZSBz aXR1YXRpb25zIGJ1dCBpdCBpcyBub3QgYSBzdHJpY3QgcmVxdWlyZW1lbnQgKG5vdCBuZWVkZWQg d2l0aCBgdG86IDp2YWx1ZWApLgoKVGhlIHBhY2thZ2UgZmlsZSBkb2VzIG5vdCBjb250YWlucyBh IGRlY2xhcmF0aW9uIG9mIHRoZSBQYWNrYWdlIGluc3RhbmNlIChhcyBgY2xhc3NgIGFuZCBgbW9k dWxlYCBkbyksIGFzIGl0IHdpbGwgYmUgZGVkdWNlZCBmcm9tIHRoZSBmaWxlIG5hbWUsIHRoZSBn b2FsIGJlaW5nIHRvIGJveCBhbmQgaXNvbGF0ZSBhdXRvbWF0aWNhbGx5IHRoZSBmaWxlIGNvbnRl bnRzLCBhbmQgbm90IHJlcXVpcmluZyBuZXcgKElNSE8gYXdrd2FyZCkga2V5d29yZHMgbGlrZSBg aXNvbGF0ZWAuIE1heWJlIHVzaW5nIGEgZmlsZSBleHRlbnNpb24gc3VjaCBhcyBgLnJicGAgdG8g ZGlzdGluZ3Vpc2ggYC5yYmAgZmlsZXMgd3JpdHRlbiB0byBiZSBgcmVxdWlyZWBkIGZyb20gdGhv c2UgdG8gYmUgYGltcG9ydGBlZCBjb3VsZCBiZSB1c2VmdWwsIGJ1dCBpdCBpcyBkZWZpbml0ZWx5 IG5vdCBtYW5kYXRvcnkuIE1heWJlIGEgYHBhY2thZ2VgIGtleXdvcmQgKGxpa2UgaW4gR28pIGF0 IHRoZSBzdGFydCBjb3VsZCBiZSB1c2VmdWwgdG8gZ3VhcmQgYWdhaW5zdCB0aGUgZmlsZSBiZWlu ZyBgcmVxdWlyZWBkLiBidXQgYWdhaW4sIHRoaXMgaXMgbm90IG1hbmRhdG9yeS4gQ29kZSBsZXZl cmFnaW5nIHRoaXMgZGVzaWduIGFsc28gaGFzIHRoZSBhZHZhbnRhZ2UgdG8gZWxpbWluYXRlIGlu ZGVudGF0aW9uLCByZXBldGl0aW9uLCBhbmQgYm9pbGVycGxhdGUgdGhhdCBpcyB0eXBpY2FsbHkg cHJlc2VudCBpbiBkZWVwbHkgbmVzdGVkIHJ1YnkgZmlsZXMgd2hlbiBjb252ZW50aW9uYWxseSBt YXRjaGluZyB0aGUgZmlsZSBhbmQgZGlyZWN0b3J5IG5hbWVzIHdpdGggdGhlIG1vZHVsZSBhbmQg Y2xhc3MgbmFtZXMuCgpXaGF0IGRvIHlvdSB0aGluaz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTQ5ODI6IEltcHJvdmUgbmFtZXNwYWNlIHN5c3Rl bSBpbiBydWJ5IHRvIGF2b2lkaW5nIHRvcC1sZXZlbCAgbmFtZXMgY2hhb3MKaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0OTgyI2NoYW5nZS03Mzk5MAoKKiBBdXRob3I6IGpqeXIg KEppbnlhbmcgSmlhbmcpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2ln bmVlOiBtYXR6IChZdWtpaGlybyBNYXRzdW1vdG8pCiogVGFyZ2V0IHZlcnNpb246IE5leHQgTWFq b3IKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpVcGRhdGVkOiBodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTQ5ODIjbm90ZS01CgoKCiMjIFdoeQoKUnVi eSBoYXMgZXZhbHVhdGlvbiBhbGwgY2xhc3MvbW9kdWxlIG5hbWVzIGluIHRvcC1sZXZlbCBjb250 ZXh0KGFrYSBUT1BMRVZFTF9CSU5ESU5HKS4gCkFzIGEgdXNlciB3ZSBiYXNpY2FsbHkgaGFyZCB0 byBrbm93IGhvdyBtYW55IG5hbWVzIGluIHRoZSBjdXJyZW50IGNvbnRleHQsIGlzIGNhdXNpbmcg Y2hhb3MgaW4gc29tZSBjYXNlcy4gRm9yIGV4YW1wbGU6CgpjYXNlIDE6IAoKUHV0IGNvbW1vbiB1 c2VkIGVycm9ycyBjbGFzcyBpbiBhIHNpbmdsZSBmaWxlLCBsaWtlIGJlbG93CgpgYGAgcnVieQoj IHV0aWxzL2Vycm9ycy5yYgoKY2xhc3MgRm9vRXJyb3IKZW5kCgpjbGFzcyBCYXJFcnJvcgplbmQK YGBgCgpJbiBvdGhlciBmaWxlcyB1bmRlciAndXRpbHMnIHdlIHdhbnQgdG8gdXNlIHRob3NlIGVy cm9ycywgc28gdGhlIGJlc3QgcHJhY3RpY2UgaXMgdG8gdXNlIGByZXF1aXJlX3JlbGF0aXZlICdl cnJvcnMnYCBpbiBlYWNoIGZpbGUgd2UgbmVlZC4KCmBgYCBydWJ5CiMgdXRpbHMvYmluYXJ5X2hl bHBlci5yYgoKIyB3ZSBmb3JnZXQgcmVxdWlyZSBlcnJvcnMKCm1vZHVsZSBCaW5hcnlIZWxwZXIK IyAuLi4KICByYWlzZSBCYXJFcnJvcgojIC4uLgplbmQKCmBgYAoKQnV0IHNvbWV0aW1lIHdlIG1h eSBmb3JnZXQgdG8gcmVxdWlyZSBkZXBlbmRlbmNpZXMgaW4gYSBmaWxlLCBpdCdzIGhhcmQgdG8g bm90aWNlIGJlY2F1c2UKIGlmIFJ1YnlWTSBhbHJlYWR5IGV4ZWN1dGUgdGhlIHJlcXVpcmVzIHdl IHN0aWxsIGNhbiBhY2Nlc3MgdGhlIG5hbWUgQmFyRXJyb3IsCgpidXQgaWYgdXNlciBkaXJlY3Rs eSB0byByZXF1aXJlICd1dGlscy9iaW5hcnlfaGVscGVyJywgaGUvc2hlIHdpbGwgZ290IGFuIE5h bWVFcnJvci4KCgpjYXNlIDI6IAoKVHdvIGdlbXMgdXNlIHNhbWUgdG9wLWxldmVsIG1vZHVsZSBu YW1lLCBzbyB3ZSBjYW4ndCB1c2UgdGhlbSB0b2dldGhlcgoKIyMgVGhlIFJlYXNvbiBvZiBUaGUg UHJvYmxlbQoKVGhlIHJlYXNvbiBpcyB3ZSBsZXQgbW9kdWxlIGF1dGhvciB0byBkZWNpc2lvbiB3 aGljaCBtb2R1bGUgdXNlciBjYW4gdXNlLiAoJ3JlcXVpcmUnIGlzIGJhc2ljYWxseSBldmFsdWF0 aW9uLCBoaWdobHkgZGVwZW5kZW50IG9uIHRoZSBtb2R1bGUgYXV0aG9yJ3MgZGVzaWduKQoKQnV0 IHdlIHNob3VsZCBsZXQgdXNlcnMgY29udHJvbCB3aGljaCBuYW1lcyB0byB1c2UgYW5kIGF2YWls YWJsZSBpbiBjb250ZXh0LiBBcyBtYW55IG90aGVyIHBvcHVsYXIgbGFuZ3VhZ2VzIGRvc2UoUnVz dCwgUHl0aG9uLi4pCgpJIHRoaW5rIHRoZSBzb2x1dGlvbiBpcyBiYXNpY2FsbHkgdGhlIHNhbWUg cGhpbG9zb3BoeSBjb21wYXJlcyB0byByZWZpbmVtZW50IGZlYXR1cmUuCgoKIyMgVGhlIERlc2ln bgoKSSBwcm9wb3NlIGFuIGltcHJvdmVkIG5hbWVzcGFjZSB0byBSdWJ5LCB0byBzb2x2ZSB0aGUg cHJvYmxlbXMgYW5kIHN0aWxsIGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBSdWJ5IG1vZHVs ZSBzeXN0ZW0uCgpgYGAgcnVieQpjbGFzcyBGb28KZW5kCgojIGludHJvZHVjZSBLZXJuZWwjbmFt ZXNwYWNlCm5hbWVzcGFjZSA6SGVsbG8gZG8KICAjIGF2b2lkaW5nIG5hbWVzcGFjZSBjaGFvcwog ICMgRm9vIC0+IE5hbWVFcnJvciwgY2FuJ3QgYWNjZXNzIFRPUExFVkVMX0JJTkRJTkcgZGlyZWN0 bHkKICAKICAjIEtlcm5lbCNpbXBvcnQgbWV0aG9kLCBpbnRyb2R1Y2UgRm9vIG5hbWUgZnJvbSBU T1BMRVZFTF9CSU5ESU5HCiAgaW1wb3J0IDpGb28KCiAgIyBpbiBhIG5hbWVzcGFjZSB1c2VyIGNh biBvbmx5IGFjY2VzcyBpbXBvcnRlZCBuYW1lCiAgRm9vCgogICMgaW1wb3J0IGNvbnN0YW50IHRv IGFub3RoZXIgYWxpYXMgbmFtZQogICMgY2FuIGF2b2lkIHdyaXRpbmcgbmVzdGVkIG1vZHVsZS9j bGFzcyBuYW1lcwogIGltcG9ydCA6IkE6OkI6OkM6OkQiLCBhczogOkUKCiAgIyByZXF1aXJlIHRo ZW4gaW1wb3J0LCBmb3IgY29udmVuaWVudCAKICBpbXBvcnQgOiJBOjpCOjpDOjpEIiwgYXM6IDpF LCBmcm9tOiAnc29tZV9yYl9maWxlJwoKICAjIGltcG9ydCBzYW1lIG5hbWUgZnJvbSB0d28gZ2Vt cwogIGltcG9ydCA6IkZvbyIsIGFzOiA6Rm9vX0EsIGZyb206ICdmb29fYScKICBpbXBvcnQgOiJG b28iLCBhczogOkZvb19CLCBmcm9tOiAnZm9vX2InCgogICMgaW1wb3J0IG5hbWVzIGluIGJhdGNo CiAgaW1wb3J0ICVpeyJBOjpCOjpDOjpEIiwgIkFub3RoZXJDbGFzcyJ9LCBmcm9tOiAnc29tZV9y Yl9maWxlJwoKICAjIGltcG9ydCBhbmQgYWxpYXMgaW4gYmF0Y2gKICBpbXBvcnQgezoiQTo6Qjo6 Qzo6RCIgPT4gOkUsIDpGb28gPT4gRm9vMn0sIGZyb206ICdzb21lX3JiX2ZpbGUnCgogIGNsYXNz IEJhcgogICAgZGVmIHh4eAogICAgICAjIGNhbiBhY2Nlc3MgYWxsIG5hbWVzIGluIG5hbWVzcGFj ZSBzY29wZQogICAgICBbRm9vLCBGb29fQSwgRm9vX0JdCiAgICBlbmQKICBlbmQKZW5kCgpIZWxs by5jbGFzcyAjICAtPiBtb2R1bGUuIG5hbWVzcGFjZSBpcyBqdXN0IGEgbW9kdWxlCkhlbGxvOjpC YXIgIyBzbyB3ZSBkbyBub3QgYnJva2VuIGN1cnJlbnQgcnVieSBtb2R1bGUgZGVzaWduCgojIG5h bWVzcGFjZSBzeXN0ZW0gaXMgaW50ZW50IHRvIGxldCB1c2VyIHRvIGNvbnRyb2wgbmFtZXMgaW4g Y29udGV4dAojIFNvIHVzZXIgY2FuIGNob29zZSB1c2UgdGhlIG9sZCByZXF1aXJlIHdheQoKcmVx dWlyZSAnaGVsbG8nCgpIZWxsbzo6QmFyCgoKIyBPciB1c2VyIGNhbiB1c2UgbmFtZXNwYWNlIHN5 c3RlbSBhcyB3ZSBkbyBpbiBoZWxsby5yYgoKbmFtZXNwYWNlIDpFeGFtcGxlIGRvCiAgaW1wb3J0 IDoiSGVsbG86OkJhciIsIGFzOiA6QmFyCiAgQmFyICMgb2sKICBGb28gIyBuYW1lIGVycm9yLCBj YXVzZSB3ZSBkbyBub3QgaW1wb3J0IEZvbyBpbiA6RXhhbXBsZSBuYW1lc3BhY2UKZW5kCgpGb28g IyBvaywgY2F1c2UgRm9vIGlzIGxvYWRlZCBpbiBUT1BMRVZFTF9CSU5ESU5HCgojIGRlZmluZSBu ZXN0ZWQgbmFtZXNwYWNlCgojIG1vcmUgY2xlYXIgc3ludGF4IHRoYW4g4oCcbW9kdWxlIEV4YW1w bGU6Ok5lc3RlZEV4YW1wbGXigJ0KbmFtZXNwYWNlIDpOZXN0ZWRFeGFtcGxlLCB1bmRlcjogRXhh bXBsZSBkbwplbmQKCm5hbWVzcGFjZSA6RXhhbXBsZTIgZG8KICBuYW1lc3BhY2UgOk5lc3RlZEV4 YW1wbGUgZG8KICBlbmQKZW5kCgpgYGAKClByb3M6CgoqIENvbXBsZXRlbHkgY29tcGF0aWJsZSB3 aXRoIHRoZSBjdXJyZW50IG1vZHVsZSBzeXN0ZW0sIGEgZ2VtIHVzZXIgY2FuIGNvbXBsZXRlbHkg aWdub3JlIHdoZXRoZXIgYSBnZW0gaXMgd3JpdGUgaW4gTmFtZXNwYWNlIG9yIG5vdC4KKiBVc2Vy IGNhbiBjb21wbGV0ZWx5IGNvbnRyb2wgd2hpY2ggbmFtZXMgaW4gY3VycmVudCBjb250ZXh0L3Nj b3BlLgoqIE1heSBzb2x2ZSB0aGUgdG9wIG1vZHVsZSBuYW1lIGNvbmZsaWN0IGlzc3VlKGRlcGVu ZHMgb24gVk0gaW1wbGVtZW50YXRpb24pLgoqIEF2b2lkIGludHJvZHVjaW5nIG5ldyBrZXl3b3Jk IGFuZCBzeW50YXguCiogVHlwZSBoaW50IG9yIG5hbWUgaGludCBjYW4gYmUgbW9yZSBhY2N1cmFj eSB1bmRlciBuYW1lc3BhY2Uobm90IHN1cmUpLgoKQ29uczoKCiogTmVlZCB0byBtb2RpZnkgUnVi eSBWTSB0byBzdXBwb3J0IHRoZSBmZWF0dXJlLgoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnLwo=