This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1529346232-299838580-969387904=:24497 Content-Type: TEXT/PLAIN; charset=US-ASCII Incidentally... On Tue, 19 Sep 2000, Barry A. Warsaw wrote: > >>>>> "GvR" == Guido van Rossum <guido@beopen.com> writes: > > GvR> Note that this (and other, similar issues) is all because > GvR> Python doesn't have a standard class hierarchy. > > Or a formal interface mechanism. Incidentally, jim/Zope is going forward with something like the interfaces strawman - the "scarecrow" - that jim proposed at IPC?7?. I don't know if a PEP would have made any sense for 2.x, so maybe it's just as well we haven't had time. In the meanwhile, DC will get a chance to get experience with and refine it... Anyway, for anyone that might be interested, i'm attaching a copy of python/lib/Interfaces/README.txt from a recent Zope2 checkout. I was pretty enthusiastic about it when jim originally presented the scarecrow, and on skimming it now it looks very cool. (I'm not getting it all on my quick peruse, and i suspect there's some contortions that wouldn't be necessary if it were happening more closely coupled with python development - but what jim sketches out is surprising sleek, regardless...) ken klm@digicool.com ---1529346232-299838580-969387904=:24497 Content-Type: TEXT/plain; name="README.txt" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.21.0009191425040.24497@korak.digicool.com> Content-Description: Interfaces README.txt - the Scarecrow Content-Disposition: attachment; filename="README.txt" UHl0aG9uIEludGVyZmFjZXMgLSBUaGUgU2NhcmVjcm93IEltcGxlbWVudGF0 aW9uDQoNClRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIG15IGltcGxlbWVudGF0 aW9uIG9mIHRoZSBQeXRob24gaW50ZXJmYWNlcw0Kc2NhcmVjcm93IHByb3Bv c2FsLiAgDQoNClN0YXR1cw0KDQogIFRoaXMgaXMgYSBmaXJzdC1jdXQgaW1w bGVtZW50YXRpb24gb2YgdGhlIHByb3Bvc2FsLiAgTXkgcHJpbWFyeSBnb2Fs DQogIGlzIHRvIHNoZWQgbGlnaHQgb24gc29tZSBpZGVhcyBhbmQgdG8gcHJv dmlkZSBhIGZyYW1ld29yayBmb3INCiAgY29uY3JldGUgZGlzY3Vzc2lvbi4N Cg0KICBUaGlzIGltcGxlbWVudGF0aW9uIGhhcyBoYWQgbWluaW1hbCB0ZXN0 aW5nLiBJIGV4cGVjdCBtYW55IGFzcGVjdHMNCiAgb2YgdGhlIGltcGxlbWVu dGF0aW9uIHRvIGV2b2x2ZSBvdmVyIHRpbWUuDQoNCkJhc2ljIGFzc3VtcHRp b25zOg0KDQogIEludGVyZmFjZXMgYXJlICpub3QqIGNsYXNzZXM6DQogICAg DQogICAgbyBJbnRlcmZhY2VzIGhhdmUgdGhlaXIgb3duICJoaWVyYXJjaHki IChEQUcgcmVhbGx5KQ0KICAgIA0KICAgIG8gSW50ZXJmYWNlcyBhcmUgb2Jq ZWN0cyB0aGF0IHByb3ZpZGUgYSBwcm90b2NvbCBmb3INCiAgICAJcXVlcnlp bmcgYXR0cmlidXRlcyAoaW5jbHVkaW5nIG1ldGhvZHMpIGRlZmluZWQgYnkg YW4NCiAgICAJYW4gaW50ZXJmYWNlOg0KICAgIA0KICAgIAkgIG5hbWVzKCkg LS0gcmV0dXJuIGEgc2VxdWVuY2Ugb2YgZGVmaW5lZCBuYW1lcw0KICAgIA0K ICAgIAkgIGdldERlc2NyaXB0aW9uRm9yKG5hbWUsIFtkZWZhdWx0XSkgLS0N CiAgICAJICAgICBHZXQgYSBkZXNjcmlwdGlvbiBvZiBhIG5hbWUuDQogICAg DQogICAgbyBZb3UgY2Fubm90IG1peCBpbnRlcmZhY2VzIGFuZCBjbGFzc2Vz IGluIGJhc2UtY2xhc3MgbGlzdHMuDQogICAgDQogIFRoZXJlIGFyZSB1dGls aXRpZXMgYW5kIG1ldGhvZHMgZm9yIGNvbXB1dGluZyBpbXBsaWVkIGludGVy ZmFjZXMNCiAgZnJvbSBjbGFzc2VzIGFuZCBmb3IgY29tcHV0aW5nICJkZWZl cnJlZCIgY2xhc3NlcyBmcm9tIGludGVyZmFjZXMuDQoNCiAgV2h5IGFyZW4n dCBpbnRlcmZhY2UgY2xhc3Nlcz8gIEludGVyZmFjZXMgcGVyZm9ybSBhIGRp ZmZlcmVudA0KICBmdW5jdGlvbiB0aGF0IGNsYXNzZXMuICBDbGFzc2VzIGFy ZSBmb3Igc2hhcmluZyBpbXBsZW1lbnRhdGlvbi4NCiAgSW50ZXJmYWNlcyBh cmUgZm9yIGRlbm90aW5nLCBkZWZpbmluZywgYW5kIGRvY3VtZW50aW5nIGFi c3RyYWN0DQogIGJlaGF2aW9yLiAgICAgIA0KDQpEZXRhaWxzDQoNCiAgU29m dHdhcmUgbGF5b3V0DQoNCiAgICBUaGVyZSBpcyBhbiAnSW50ZXJmYWNlJyBw YWNrYWdlIHRoYXQgZXhwb3J0cyBhIHZhcmlldHkgb2YgdXNlZnVsDQogICAg ZmFjaWxpdGllcy4gIFRoZXNlIGFyZSBkZXNjcmliZWQgYmVsb3cuDQoNCiAg Q3JlYXRpbmcgSW50ZXJmYWNlcw0KDQogICAgSW50ZXJmYWNlcyBjYW4gYmUg Y3JlYXRlZCBpbiBzZXZlcmFsIHdheXMuICBUaGUgY2xhc3Mgc3RhdGVtZW50 DQogICAgY2FuIGJlIHVzZWQgd2l0aCBvbmUgb3IgbW9yZSBpbnRlcmZhY2Vz IHByb3ZpZGVkIGFzIGJhc2UgY2xhc3Nlcy4NCiAgICBUaGlzIGFwcHJvYWNo IGlzIGNvbnZlbmllbnQsIHN5bnRhY3RpY2FsbHksIGFsdGhvdWdoIGl0IGlz IGENCiAgICBsaXR0bGUgbWlzbGVhZGluZywgc2luY2UgaW50ZXJmYWNlcyBh cmUgKm5vdCogY2xhc3Nlcy4gIEEgbWluaW1hbA0KICAgIGludGVyZmFjZSB0 aGF0IGNhbiBiZSB1c2VkIGFzIGEgYmFzZSBpcyBJbnRlcmZhY2UuQmFzZS4N CiAgDQogICAgWW91IGNhbiBhbHNvIGNhbGwgSW50ZXJmYWNlLm5ldzoNCiAg DQogICAgICBuZXcobmFtZSwgW2Jhc2VzLCBhdHRycywgX19kb2NfX10pIC0t DQogIA0KCUNyZWF0ZSBhIG5ldyBpbnRlcmZhY2UuICBUaGUgYXJndW1lbnRz IGFyZToNCiAgDQoJICBuYW1lIC0tIHRoZSBpbnRlcmZhY2UgbmFtZQ0KICAN CgkgIGJhc2VzIC0tIGEgc2VxdWVuY2Ugb2YgImJhc2UiIGludGVyZmFjZXMu ICBCYXNlIGludGVyZmFjZXMNCgkgICAgYXJlICJleHRlbmRlZCIgYnkgdGhl IG5ldyBpbnRlcmZhY2UuDQogIA0KCSAgYXR0cnMgLS0gYW4gb2JqZWN0IHRo YXQgY29uZm9ybXMgdG8NCgkgICAgJ0ludGVyZmFjZXMuU3RhbmRhcmQuRGlj dGlvbmFyeScgdGhhdCBwcm92aWRlcyBhdHRyaWJ1dGVzDQoJICAgIGRlZmlu ZWQgYnkgYW4gaW50ZXJmYWNlLiAgVGhlIGF0dHJpYnV0ZXMgc2hvdWxkIGJl DQoJICAgICdJbnRlcmZhY2UuQXR0cmlidXRlIG9iamVjdHMnLg0KICANCiAg ICBGaW5hbGx5IHlvdSBjYW4gY29tcHV0ZSBhbiBpbXBsaWVkIGludGVyZmFj ZSBmcm9tIGEgY2xhc3MgYnkgY2FsbGluZw0KICAgICdJbnRlcmZhY2UuaW1w bGllZEludGVyZmFjZSc6IA0KICANCiAgICAgIGltcGxpZWRJbnRlcmZhY2Uo a2xhc3MsIFtfX25hbWVfXywgX19kb2NfX10pDQogIA0KCSBrbGFzcyAtLSBh IGNsYXNzIGZyb20gd2hpY2ggdG8gY3JlYXRlIGFuIGludGVyZmFjZS4NCiAg DQoJIF9fbmFtZV9fIC0tIFRoZSBuYW1lIG9mIHRoZSBpbnRlcmZhY2UuICBU aGUgZGVmYXVsdCBuYW1lIGlzIHRoZQ0KCSAgICBjbGFzcyBuYW1lIHdpdGgg dGhlIHN1ZmZpeCAiSW50ZXJmYWNlIi4NCiAgDQoJX19kb2NfXyAtLSBhIGRv YyBzdHJpbmcgZm9yIHRoZSBpbnRlcmZhY2UuICBUaGUgZGVmYXVsdCBkb2MN CgkgICAgc3RyaW5nIGlzIHRoZSBjbGFzcyBkb2Mgc3RyaW5nLg0KICANCglU aGUgZ2VuZXJhdGVkIGludGVyZmFjZSBoYXMgYXR0cmlidXRlcyBmb3IgZWFj aCBwdWJsaWMgbWV0aG9kDQoJZGVmaW5lZCBpbiBvciBpbmhlcml0ZWQgYnkg dGhlIGludGVyZmFjZS4gQSBtZXRob2QgaXMgY29uc2lkZXJlZA0KCXB1Ymxp YyBpZiBpdCBoYXMgYSBub24tZW1wdHkgZG9jIHN0cmluZyBhbmQgaWYgaXQn cyBuYW1lIGRvZXMNCglub3QgYmVnaW4gd2l0aCAnXycgb3IgZG9lcyBiZWdp biBhbmQgZW5kIHdpdGggJ19fJyBhbmQgaXMNCglncmVhdGVyIHRoYW4gNCBj aGFyYWN0ZXJzIGluIGxlbmd0aC4NCiAgDQogICAgTm90ZSB0aGF0IGNvbXB1 dGluZyBhbiBpbnRlcmZhY2UgZnJvbSBhIGNsYXNzIGRvZXMgbm90IGF1dG9t YXRpY2FsbHkNCiAgICBhc3NlcnQgdGhhdCB0aGUgY2xhc3MgaW1wbGVtZW50 cyBhbiBpbnRlcmZhY2UuDQoNCiAgICBIZXJlJ3MgYW4gZXhhbXBsZToNCg0K ICAgICAgY2xhc3MgWDoNCg0KICAgICAgICBkZWYgZm9vKHNlbGYsIGEsIGIp Og0KICAgICAgICAgIC4uLg0KDQogICAgICBYSW50ZXJmYWNlPUludGVyZmFj ZS5pbXBsaWVkSW50ZXJmYWNlKFgpDQogICAgICBYLl9faW1wbGVtZW50c19f PVhJbnRlcmZhY2UNCg0KICBJbnRlcmZhY2UgYXNzZXJ0aW9ucw0KDQogICAg T2JqZWN0cyBjYW4gYXNzZXJ0IHRoYXQgdGhleSBpbXBsZW1lbnQgb25lIG9y IG1vcmUgaW50ZXJmYWNlcy4NCiAgICBUaGV5IGRvIHRoaXMgYnkgYnkgZGVm aW5pbmcgYW4gJ19faW50ZXJmYWNlc19fJyBhdHRyaWJ1dGUgdGhhdCBpcw0K ICAgIGJvdW5kIHRvIGFuIGludGVyZmFjZSBhc3NlcnRpb24uDQoNCiAgICBB biAqaW50ZXJmYWNlIGFzc2VydGlvbiogaXMgZWl0aGVyOiANCg0KICAgICAg LSBhbiBJbnRlcmZhY2Ugb3INCg0KICAgICAgLSBhIHNlcXVlbmNlIG9mIGlu dGVyZmFjZSBhc3NlcnRpb25zLg0KDQogICAgSGVyZSBhcmUgc29tZSBleGFt cGxlcyBvZiBpbnRlcmZhY2UgYXNzZXJ0aW9uczoNCg0KICAgICAgSTENCg0K ICAgICAgSTEsIEkyDQoNCiAgICAgIEkxLCAoSTIsIEkzKQ0KDQogICAgd2hl cmUgSTEsIEkyLCBhbmQgSTMgYXJlIGludGVyZmFjZXMuDQoNCiAgICBDbGFz c2VzIG1heSBwcm92aWRlIChkZWZhdWx0KSBhc3NlcnRpb25zIGZvciB0aGVp ciBpbnN0YW5jZXMNCiAgICAoYW5kIHN1YmNsYXNzIGluc3RhbmNlcykuICBU aGUgdXN1YWwgaW5oZXJpdGFuY2UgcnVsZXMgYXBwbHkuDQogICAgTm90ZSB0 aGF0IHRoZSBkZWZpbml0aW9uIG9mIGludGVyZmFjZSBhc3NlcnRpb25zIG1h a2VzIGNvbXBvc2l0aW9uDQogICAgb2YgaW50ZXJmYWNlcyBzdHJhaWdodGZv cndhcmQuICBGb3IgZXhhbXBsZToNCg0KICAgICAgY2xhc3MgQToNCg0KICAg ICAgICBfX2ltcGxlbWVudHNfXyA9IEkxLCBJMiANCg0KICAgICAgICAuLi4N Cg0KICAgICAgY2xhc3MgQg0KDQogICAgICAgIF9faW1wbGVtZW50c19fID0g STMsIEk0DQoNCiAgICAgIGNsYXNzIEMoQS4gQik6DQogICAgICAgIC4uLg0K DQogICAgICBjbGFzcyBEOg0KICAgICAgICANCiAgICAgICAgX19pbXBsZW1l bnRzX18gPSBJNQ0KDQogICAgICBjbGFzcyBFOg0KDQogICAgICAgIF9faW1w bGVtZW50c19fID0gSTUsIEEuX19pbXBsZW1lbnRzX18NCiAgICAgIA0KICBT cGVjaWFsLWNhc2UgaGFuZGxpbmcgb2YgY2xhc3Nlcw0KDQogICAgU3BlY2lh bCBoYW5kbGluZyBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIGNsYXNzZXMgdG8g bWFrZSBhc3NlcnRpb25zDQogICAgYWJvdXQgdGhlIGludGVyZmFjZXMgYSBj bGFzcyBpbXBsZW1lbnRzLCBhcyBvcHBvc2VkIHRvIHRoZQ0KICAgIGludGVy ZmFjZXMgdGhhdCB0aGUgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcyBpbXBsZW1l bnQuICBZb3UgY2Fubm90DQogICAgc2ltcGx5IGRlZmluZSBhbiAnX19pbXBs ZW1lbnRzX18nIGF0dHJpYnV0ZSBmb3IgdGhlIGNsYXNzIGJlY2F1c2UNCiAg ICBjbGFzcyAiYXR0cmlidXRlcyIgYXBwbHkgdG8gaW5zdGFuY2VzLg0KDQog ICAgQnkgZGVmYXVsdCwgY2xhc3NlcyBhcmUgYXNzdW1lZCB0byBpbXBsZW1l bnQgdGhlIEludGVyZmFjZS5TdGFuZGFyZC5DbGFzcw0KICAgIGludGVyZmFj ZS4gIEEgY2xhc3MgbWF5IG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJ5IHByb3Zp ZGluZyBhDQogICAgJ19fY2xhc3NfaW1wbGVtZW50c19fJyBhdHRyaWJ1dGUg d2hpY2ggd2lsbCBiZSB0cmVhdGVkIGFzIGlmIGl0IHdlcmUNCiAgICB0aGUg J19faW1wbGVtZW50c19fJyBhdHRyaWJ1dGUgb2YgdGhlIGNsYXNzLg0KDQog IFRlc3RpbmcgYXNzZXJ0aW9ucw0KDQogICAgWW91IGNhbiB0ZXN0IHdoZXRo ZXIgYW4gb2JqZWN0IGltcGxlbWVudHMgYW4gaW50ZXJmYWNlIGJ5IGNhbGxp bmcNCiAgICB0aGUgJ2ltcGxlbWVudGVkQnknIG1ldGhvZCBvZiB0aGUgaW50 ZXJmYWNlIGFuZCBwYXNzaW5nIHRoZQ0KICAgIG9iamVjdDo6DQoNCiAgICAg IEkxLmltcGxlbWVudGVkQnkoeCkNCg0KICAgIFNpbWlsYXJseSwgeW91IGNh biB0ZXN0IHdoZXRoZXIsIGJ5IGRlZmF1bHQsIGluc3RhbmNlcyBvZiBhIGNs YXNzDQogICAgaW1wbGVtZW50IGFuIGludGVyZmFjZSBieSBjYWxsaW5nIHRo ZSAnaW1wbGVtZW50ZWRCeUluc3RhbmNlc09mJw0KICAgIG1ldGhvZCBvbiB0 aGUgaW50ZXJmYWNlIGFuZCBwYXNzaW5nIHRoZSBjbGFzczo6DQogIA0KICAg ICAgSTEuaW1wbGVtZW50ZWRCeUluc3RhbmNlc09mKEEpDQoNCiAgVGVzdGlu ZyBpbnRlcmZhY2VzDQoNCiAgICBZb3UgY2FuIHRlc3Qgd2hldGhlciBvbmUg aW50ZXJmYWNlIGV4dGVuZHMgYW5vdGhlciBieSBjYWxsaW5nIHRoZQ0KICAg IGV4dGVuZHMgbWV0aG9kIG9uIGFuIGludGVyZmFjZToNCg0KICAgICAgSTEu ZXh0ZW5kcyhJMikNCg0KICAgIE5vdGUgdGhhdCBhbiBpbnRlcmZhY2UgZG9l cyBub3QgZXh0ZW5kIGl0c2VsZi4NCg0KICBJbnRlcmZhY2UgYXR0cmlidXRl cw0KDQogICAgVGhlIHB1cnBvc2Ugb2YgYW4gaW50ZXJmYWNlIGlzIHRvIGRl c2NyaWJlIGJlaGF2aW9yLCBub3QgdG8NCiAgICBwcm92aWRlIGltcGxlbWVu dGF0aW9uLiAgSW4gYSBzaW1pbGFyIGZhc2hpb24gdGhlIGF0dHJpYnV0ZXMg b2YNCiAgICBhbiBpbnRlcmZhY2UgZGVzY3JpYmUgYW5kIGRvY3VtZW50IHRo ZSBhdHRyaWJ1dGVzIHByb3ZpZGVkIGJ5IGFuDQogICAgb2JqZWN0IHRoYXQg aW1wbGVtZW50cyB0aGUgaW50ZXJmYWNlLg0KDQogICAgVGhlcmUgYXJlIGN1 cnJlbnRseSB0d28ga2luZHMgb2Ygc3VwcG9ydGVkIGF0dHJpYnV0ZXM6DQoN CiAgICAgIEludGVyZmFjZS5BdHRyaWJ1dGUgLS0gVGhlIG9iamVjdHMgZGVz Y3JpYmUgaW50ZXJmYWNlDQogICAgICAgIGF0dHJpYnV0ZXMuICBUaGV5IGRl ZmluZSBhdCBsZWFzdCBuYW1lcyBhbmQgZG9jIHN0cmluZ3MgYW5kDQogICAg ICAgIG1heSBkZWZpbmUgb3RoZXIgaW5mb3JtYXRpb24gYXMgd2VsbC4NCg0K ICAgICAgSW50ZXJmYWNlLk1ldGhvZCAtLSBUaGVzZSBhcmUgaW50ZXJmYWNl IGF0dHJpYnV0ZXMgdGhhdA0KICAgICAgICBkZXNjcmliZSBtZXRob2RzLiAg VGhleSAqbWF5KiBkZWZpbmUgaW5mb3JtYXRpb24gYWJvdXQgbWV0aG9kDQog ICAgICAgIHNpZ25hdHVyZXMuIChOb3RlIE1ldGhvZHMgYXJlIGtpbmRzIG9m IEF0dHJpYnV0ZXMuKQ0KDQogICAgV2hlbiBhIGNsYXNzIHN0YXRlbWVudCBp cyB1c2VkIHRvIGRlZmluZSBhbiBpbnRlcmZhY2UsIG1ldGhvZA0KICAgIGRl ZmluaXRpb25zIG1heSBiZSBwcm92aWRlZC4gIFRoZXNlIGdldCBjb252ZXJ0 ZWQgdG8gTWV0aG9kDQogICAgb2JqZWN0cyBkdXJpbmcgaW50ZXJmYWNlIGNy ZWF0aW9uLiAgRm9yIGV4YW1wbGU6DQoNCiAgICAgIGNsYXNzIEkxKEludGVy ZmFjZS5CYXNlKToNCiAgICAgICAgIA0KICAgICAgICBfX25hbWVfXz1BdHRy aWJ1dGUoIlRoZSBvYmplY3QncyBuYW1lIikNCg0KICAgICAgICBkZWYgZm9v KHNlbGYsIGEsIGIpOg0KICAgICAgICAgICAiYmxhaCBibGFoIg0KDQogICAg ZGVmaW5lcyBhbiBpbnRlcmZhY2UsICdJMScgdGhhdCBoYXMgdHdvIGF0dHJp YnV0ZXMsICdfX25hbWVfXycgYW5kDQogICAgJ2ZvbycuIFRoZSBhdHRyaWJ1 dGUgJ2ZvbycgaXMgYSBNZXRob2QgaW5zdGFuY2UuICBJdCBpcyAqbm90KiBh DQogICAgUHl0aG9uIG1ldGhvZC4NCg0KICAgIEl0IGlzIG15IGV4cGVjdGF0 aW9uIHRoYXQgQXR0cmlidXRlIG9iamVjdHMgd2lsbCBldmVudHVhbGx5IGJl DQogICAgYWJsZSB0byBwcm92aWRlIGFsbCBzb3J0cyBvZiBpbnRlcmVzdGlu ZyBtZXRhLWRhdGEuICANCg0KICBEZWZlcnJlZCBjbGFzc2VzDQoNCiAgICBZ b3UgY2Fubm90IHVzZSBpbnRlcmZhY2VzIGFzIGJhc2UgY2xhc3Nlcy4gIFlv dSBjYW4sIGhvd2V2ZXIsIA0KICAgIGNyZWF0ZSAiZGVmZXJyZWQiIGNsYXNz ZXMgZnJvbSBhbiBpbnRlcmZhY2U6DQoNCiAgICAgIGNsYXNzIFN0YWNrSW50 ZXJmYWNlKEludGVyZmFjZS5CYXNlKToNCg0KICAgICAgICAgZGVmIHB1c2go c2VsZiwgdik6DQogICAgICAgICAgICAiQWRkIGEgdmFsdWUgdG8gdGhlIHRv cCBvZiBhIHN0YWNrIg0KDQogICAgICAgICBkZWYgcG9wKHNlbGYpOg0KICAg ICAgICAgICAgIlJlbW92ZSBhbmQgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHRo ZSB0b3Agb2YgdGhlIHN0YWNrIg0KDQogICAgICBjbGFzcyBTdGFjayhTdGFj a0ludGVyZmFjZS5kZWZlcnJlZCgpKToNCiAgICAgICAgICJUaGlzIGlzIHN1 cHBvc2VkIHRvIGltcGxlbWVudCBhIHN0YWNrIg0KDQogICAgICAgICBfX2lt cGxlbWVudHNfXz1TdGFja0ludGVyZmFjZQ0KDQogICAgQXR0ZW1wdHMgdG8g Y2FsbCBtZXRob2RzIGluaGVyaXRlZCBmcm9tIGEgZGVmZXJyZWQgY2xhc3Mg d2lsbA0KICAgIHJhaXNlIEludGVyZmFjZS5Ccm9rZW5JbXBsZW1lbnRhdGlv biBleGNlcHRpb25zLg0KDQogIFRyaWFsIGJhbGxvb246IGFic3RyYWN0IGlt cGxlbWVudGF0aW9ucw0KDQogICAgVGltIFBldGVycyBoYXMgZXhwcmVzc2Vk IHRoZSBkZXNpcmUgdG8gcHJvdmlkZSBhYnN0cmFjdA0KICAgIGltcGxlbWVu dGF0aW9ucyBpbiBpbnRlcmZhY2UgZGVmaW5pdGlvbnMsIHdoZXJlLCBwcmVz dW1hYmx5LCBhbg0KICAgIGFic3RyYWN0IGltcGxlbWVudGF0aW9uIHVzZXMg b25seSBmZWF0dXJlcyBkZWZpbmVkIGJ5IHRoZQ0KICAgIGludGVyZmFjZS4N Cg0KICAgIFBlcmhhcHMgaWYgYSBtZXRob2QgZGVmaW5pdGlvbiBoYXMgYSBi b2R5IChvdGhlciB0aGFuIGEgZG9jDQogICAgc3RyaW5nKSwgdGhlbiB0aGUg Y29ycmVzcG9uZGluZyBtZXRob2QgaW4gdGhlIGRlZmVycmVkIGNsYXNzDQog ICAgd2lsbCBub3QgYmUgZGVmZXJyZWQuIFRoaXMgd291bGQgbm90IGJlIGhh cmQgdG8gZG8gaW4gQ1B5dGhvbg0KICAgIGlmIEkgY2hlYXQgYW5kIHNuaWZm IGF0IG1ldGhvZCBieXRlY29kZXMuDQoNCiAgICBGb3IgZXhhbXBsZToNCg0K ICAgICAgY2xhc3MgTGlzdEludGVyZmFjZShJbnRlcmZhY2UuU3RhbmRhcmQu TXV0YWJsZVNlcXVlbmNlKToNCg0KICAgICAgICBkZWYgYXBwZW5kKHNlbGYs IHYpOg0KICAgICAgICAgICAiYWRkIGEgdmFsdWUgdG8gdGhlIGVuZCBvZiB0 aGUgb2JqZWN0Ig0KDQoJZGVmIHB1c2goc2VsZiwgdik6DQogICAgICAgICAg ICJhZGQgYSB2YWx1ZSB0byB0aGUgZW5kIG9mIHRoZSBvYmplY3QiDQogICAg ICAgICAgIHNlbGYuYXBwZW5kKHYpDQoNCiAgICAgIExpc3RCYXNlPUxpc3RJ bnRlcmZhY2UuZGVmZXJyZWQoKQ0KDQogICAgICBjbGFzcyBMaXN0SW1wbGVt ZW50ZXIoTGlzdGJhc2UpOg0KICAgICAgICAgZGVmIGFwcGVuZChzZWxmLCB2 KTogLi4uDQoNCiAgICBJbiB0aGlzIGV4YW1wbGUsIHdlIGNhbiBjcmVhdGUg YSBiYXNlIGNsYXNzLCBMaXN0QmFzZSwgdGhhdCBwcm92aWRlcyBhbg0KICAg IGFic3RyYWN0IGltcGxlbWVudGF0aW9uIG9mICdwdXNoJyBhbmQgYW4gaW1w bGVtZW50YXRpb24gb2YgYXBwZW5kDQogICAgdGhhdCByYWlzZXMgYW4gZXJy b3IgaWYgbm90IG92ZXJyaWRkZW4uDQoNCiAgU3RhbmRhcmQgaW50ZXJmYWNl cw0KDQogICAgVGhlIG1vZHVsZSBJbnRlcmZhY2UuU3RhbmRhcmQgZGVmaW5l cyBpbnRlcmZhY2VzIGZvciBzdGFuZGFyZA0KICAgIHB5dGhvbiBvYmplY3Rz Lg0KDQogICAgVGhpcyBtb2R1bGUgYW5kIHRoZSBtb2R1bGVzIGl0IHVzZXMg bmVlZCBhIGxvdCBtb3JlIHdvcmshDQoNCiAgSGFuZGxpbmcgZXhpc3Rpbmcg YnVpbHQtaW4gdHlwZXMNCg0KICAgIEEgaGFjayBpcyBwcm92aWRlZCB0byBh bGxvdyBpbXBsZW1lbnRhdGlvbiBhc3NlcnRpb25zIHRvIGJlIG1hZGUNCiAg ICBmb3IgYnVpbHRpbiB0eXBlcy4gIEludGVyZmFjZXMuYXNzZXJ0VHlwZUlt cGxlbWVudHMgY2FuIGJlIGNhbGxlZA0KICAgIHRvIGFzc2VydCB0aGF0IGlu c3RhbmNlcyBvZiBhIGJ1aWx0LWluIHR5cGUgaW1wbGVtZW50IG9uZSBvciBt b3JlDQogICAgaW50ZXJmYWNlczo6DQoNCiAgICAgICBVdGlsLmFzc2VydFR5 cGVJbXBsZW1lbnRzKA0KICAgICAgICAgdHlwZSgxTCksIA0KICAgICAgICAg KEFicml0cmFyeVByZWNpc2lvbiwgQml0TnVtYmVyLCBTaWduZWQpKQ0KDQpJ c3N1ZXMNCg0KICBvIFdoYXQgc2hvdWxkIHRoZSBvYmplY3RzIHRoYXQgZGVm aW5lIGF0dHJpYnV0ZXMgbG9vayBsaWtlPw0KICAgIFRoZXkgc2hvdWxkbid0 ICpiZSogdGhlIGF0dHJpYnV0ZXMsIGJ1dCBzaG91bGQgZGVzY3JpYmUgdGhl DQogICAgdGhlIGF0dHJpYnV0ZXMuDQoNCiAgICBOb3RlIHRoYXQgd2UndmUg bWFkZSBhIGZpcnN0IGN1dCB3aXRoICdBdHRyaWJ1dGUnIGFuZA0KICAgICdN ZXRob2QnIG9iamVjdHMuDQoNCiAgICBOb3RlIHRoYXQgdGhlIGluZm9ybWF0 aW9uIGNvbnRhaW5lZCBpbiBhIG5vbi1tZXRob2QgYXR0cmlidXRlDQogICAg b2JqZWN0IG1pZ2h0IGNvbnRhaW4gdGhlIGF0dHJpYnV0ZSB2YWx1ZSdzIGlu dGVyZmFjZSBhcyB3ZWxsIGFzDQogICAgb3RoZXIgaW5mb3JtYXRpb24sIHN1 Y2ggYXMgYW4gYXR0cmlidXRlJ3MgdXNhZ2UuDQoNCiAgbyBUaGVyZSBhcmUg cGxhY2VzIGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHRoYXQgdXNl DQogICAgJ2lzaW5zdGFuY2UnIHRoYXQgc2hvdWxkIGJlIGNoYW5nZWQgdG8g dXNlIGludGVyZmFjZQ0KICAgIGNoZWNrcy4NCg0KICBvIFdoZW4gdGhlIGlu dGVyZmFjZSBpbnRlcmZhY2VzIGFyZSBmaW5hbGl6ZWQsIEMgaW1wbGVtZW50 YXRpb25zDQogICAgd2lsbCBiZSBoaWdobHkgZGVzaXJhYmxlIGZvciBwZXJm b3JtYW5jZSByZWFzb25zLg0KDQogIG8gQSBsb3QgbW9yZSB3b3JrIGlzIG5l ZWRlZCBvbiB0aGUgc3RhbmRhcmQgaW50ZXJmYWNlIGhpZXJhcmNoeS4gICAg DQoNCiAgLi4uDQo= ---1529346232-299838580-969387904=:24497--
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4