From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from atl4mhob02.registeredsite.com (atl4mhob02.registeredsite.com [209.17.115.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 7F0653B2A4 for ; Tue, 17 Oct 2023 16:06:20 -0400 (EDT) Received: from mymail.myregisteredsite.com (jax4wmnode3b.mymail.myregisteredsite.com [209.237.134.215]) by atl4mhob02.registeredsite.com (8.14.4/8.14.4) with SMTP id 39HK6AeM009204 for ; Tue, 17 Oct 2023 16:06:10 -0400 Received: (qmail 25505 invoked by uid 80); 17 Oct 2023 20:06:09 -0000 Received: from unknown (HELO ?192.168.1.100?) (jack@3kitty.org@76.137.180.175) by 209.237.134.154 with ESMTPA; 17 Oct 2023 20:06:09 -0000 Message-ID: Date: Tue, 17 Oct 2023 13:06:07 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: nnagain@lists.bufferbloat.net References: <4c44a9ef4c4b14a06403e553e633717d@rjmcmahon.com> <150CFF4F99854A2F9DCC034476343836@SRA6> <3234A2D6-69C8-4506-9985-C52CC5EB4682@gmx.de> Content-Language: en-US From: Jack Haverty Autocrypt: addr=jack@3kitty.org; keydata= xsDNBGCm2psBDADGOWO8n9wfkDW9ZUEo8o+SZ5MU9us2il+fS4EFM/RaZFIbQ+P72bExzSd3 WnJdPfqO1O7Q+dRnvVO9+G2/9oT/uRZVaE05+SothzKZBv32HcZoUkdNZOTqSkdo3EwNPjid LLxX+dMBxMpR3pBdvGN8Z7lnZe6fV4QO2xtd58y3B33AVZJp+RuNwucby9dY2meyy2BJVKrx mKhYXAucVyg0ALVIchHt9UknVW4aLvQF+oMfzXVvCWeguW+DvbyazVceWGO7FSgUJ8ED3Ii7 xAR5zZJ1LASoMhG1ixg07P9Uy4ohV6c+c0yV9SY4yqhZ3+zN2cm9h/aXpwjSuiVVAJbK7zzb FjI+h89dbnaVQrLx6GikV0OVYqC6TCeMfCFZQAJLs1icxQi3BLL7O1fbTGatEfTgLa5nqfKq K/D/HlOCUeFxqZI8hXvT5dG4e1m3ilpF2/ytcWKSVg3d699UFntPv3sEbAQwwfXsnuD4Hem6 0Ao0/z41n8x1aeZE80FdkpEAEQEAAc0eSmFjayBIYXZlcnR5IDxqYWNrQDNraXR0eS5vcmc+ wsEJBBMBCAAzFiEEZLvMn5vmvTAlFEILdGzDIkA7jlAFAmCm2pwCGwMFCwkIBwIGFQgJCgsC BRYCAwEAAAoJEHRswyJAO45QuX0L/jOluv8fr/BmuEEQsWWGW6oARIbjDQrI93kXIJXuPnfp tGjkx/f1TMIzI2B9s/tejiYE7IZOhWbX1YvKF0UbkSJi50UyV9XtYRnLdD5TcksKB4luDF8S R+nj5WBm17Bp8qwriCMgA1jGL2wQ7J1KUw4Q/gsMcjhn/39PevswkriU2qqVplfCs9yTTMU5 SvtE2U9F3Y1ZINHn3kUysvxhRFd+Oh3PocWHmVE+hkII+qsra6z4eztDgoB+vqxmOJEdtvex GhT8OKu74DacguZVfu/AV+cwpX701sdjJrMyKjcv8uhFLM/E5gf6kSUAFxBVwe6pNDmAgmbS c0fAFrZjgXxNxxndpu/8OAUDVzKg+l5WJ0nWss9Q14BwA+FcoclO3lwzFu7jOiLvkm7jQkFB o+p8Owe4iAED1KK/aocIa/RiD4sZ3KXUJ92kkemZ1Qe2XpFVdzxaQDG0huNkc5Mie9rdt62O Ae+5cYdPeWmBVn+pFNs5H09kQQbVR5pUxe2Aps7AzQRgptqcAQwAzzougHNMFr/O/L8HnNJW 1YyOuX0PEVNUXQPwkxKuD8bAXsPr4Hv1a+840ByesiJSadhQgVSMruRqoQC5tTkbEWkqlfDW waNAdqCJOXl2T6gtK7RpcHNx7+/du/gCAhHOXqH1Qfs0Zi3YEbR/kQFRP3wD4GiCvHSny8zJ X9plIHqQGoE5DePNAtE2KimbFMsjguqJgq5x0tMf3qEaMNd0IGTStGpcC49iss71slotH091 Y1Yo9CpzL6rj8IP0BfssEujAvf3Gbf1oi92JRE3s2humFDfPvSlHmRIfWPQ4qFOw1zmlzsV1 eg83gErKbjaDdkbwQA85RTmMVKNVvonM80WB6jAg8tlJ5VlYlpbzASpJRNj+FL1LLBQxCbPU eFwrzqYgNvtdKR7j5nTgdndCxq+2aws/aAjdL10S8yeH7ZOpNPzjDJfMSt/L1O25zPUhXdQC 9AZNYsfyV7rf+POEgVpIEth1fT9WbmS0rZxRd/+y628n31GicbA+teN890vdABEBAAHCwPYE GAEIACAWIQRku8yfm+a9MCUUQgt0bMMiQDuOUAUCYKbanQIbDAAKCRB0bMMiQDuOUF1LC/4q 4pLtmDt6TIET2H7zGj5ie3ng7kC7YqtFPYwgLQzs9WeqQ/5WowEmHOPonBcqhGbtDj22GebQ 7w0RoUHb+aXsbC85I/C+nWgT1ZcfMBTHGlBcIQvOCNG18g87Ha9jgD0HnW4bRUkZmGMpP0Yd TLM+PBNu41AK6z82VPQrfTuPKqwAAS2FK/RpF2xB7rjpETzIPl9Dj9EAkRbviURIg0BQkmej l02FLzGmlTfBIDHBdEgzvD71Z5H9BP8DAbxBzonSTzx/KZyv7njSUzdVLW+5O/WzPgb4Qt4I jQd66LS9HWS1G7AcLjiSQAIf8v7JkX3NwtN+NGX5cmt2p0e9FOOKWXVgCIgPN3/712EEGAgq UUxuPEBD5DrRCgjZL40eHxQza2BAhoVoWopUCGZdCCZJP3iF7818wIph0U393DELG9NAGLJa qkoA8KBimXp9Rd2QvpA864JRy/REoEOEF9lm3clriLyEqaL/VMIQRhl/VSkUuez4Wr68eHus TFdwePg= In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------e3ZI0kRLOkhth1bXjpQkTex0" Subject: Re: [NNagain] NN and freedom of speech, and whether there is worthwhile good-faith discussion in that direction X-BeenThere: nnagain@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: =?utf-8?q?Network_Neutrality_is_back!_Let=C2=B4s_make_the_technical_aspects_heard_this_time!?= List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Oct 2023 20:06:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------e3ZI0kRLOkhth1bXjpQkTex0 Content-Type: multipart/mixed; boundary="------------g299Xolw28ByENqKNJ6FsOUW"; protected-headers="v1" From: Jack Haverty To: nnagain@lists.bufferbloat.net Message-ID: Subject: Re: [NNagain] NN and freedom of speech, and whether there is worthwhile good-faith discussion in that direction References: <4c44a9ef4c4b14a06403e553e633717d@rjmcmahon.com> <150CFF4F99854A2F9DCC034476343836@SRA6> <3234A2D6-69C8-4506-9985-C52CC5EB4682@gmx.de> In-Reply-To: --------------g299Xolw28ByENqKNJ6FsOUW Content-Type: multipart/alternative; boundary="------------hnaULdhvlwjlo9EBLOS6eJno" --------------hnaULdhvlwjlo9EBLOS6eJno Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 V2hlbiBJIGludHJvZHVjZWQgdGhlIFZHViBhY3JvbnltLCBJIHVzZWQgR2FtaW5nIGFzIHRo ZSBHLCBidXQgdGhhdCB3YXMgDQpwcm9iYWJseSBtaXNsZWFkaW5nLsKgIFRoZXJlIGFyZSBt YW55ICJ1c2UgY2FzZXMiIG90aGVyIHRoYW4gZ2FtaW5nLsKgwqAgQSANCmJldHRlciB0ZXJt IG1pZ2h0IGJlIEludGVyYWN0aXZlLCBhbmQgYSBWSVYgYWNyb255bS4NCg0KUGVyc29uYWxs eSwgSSd2ZSBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCAiaG9tZSBhdXRvbWF0aW9uIiwgYW5k IGhhdmUgDQpmb3VuZCB0aGUgY2xvdWQtYmFzZWQgc2NoZW1lcyB0byBiZSBpbnRvbGVyYWJs ZS7CoMKgIFdoZW4geW91IGZsaXAgYSBsaWdodCANCnN3aXRjaCwgeW91IGV4cGVjdCB0aGUg bGlnaHQgdG8gY29tZSBvbiBhbG1vc3QgaW5zdGFudGx5LCBhbmQgDQpjbG91ZC1iYXNlZCBt ZWNoYW5pc21zIGFyZSBkaXN0dXJiaW5nbHkgaW5jb25zaXN0ZW50LCBwb3NzaWJseSBkdWUg dG8gDQp2YXJpYWJpbGl0eSBpbiBsYXRlbmN5LsKgwqAgTGlnaHRzIHR1cm5pbmcgb24gMjAg c2Vjb25kcyBhZnRlciB5b3UgZmxpcCANCnRoZSBzd2l0Y2ggaXMgdW5hY2NlcHRhYmxlLg0K DQpUaGVyZSBhcmUgb3RoZXIgc3VjaCAic2VyaW91cyIgSW50ZXJhY3RpdmUgdXNlIGNhc2Vz IG5vdCByZWxhdGVkIHRvIA0KR2FtaW5nLsKgIENvbnNpZGVyLCBmb3IgZXhhbXBsZSwgYSAi ZHJpdmVybGVzcyIgdmVoaWNsZSB3aGljaCByZWxpZXMgb24gDQp0aGUgYWJpbGl0eSBmb3Ig YSBodW1hbiBhdCBzb21lIHJlbW90ZSBjb250cm9sIGNlbnRlciB0byAidGFrZSBvdmVyIiAN CmNvbnRyb2wgb2YgYSB2ZWhpY2xlIHdoZW4gbmVjZXNzYXJ5LsKgwqAgT3IgYSBwb3dlciBw bGFudCwgb3IgbWVkaWNhbCANCmRldmljZSwgb3IgLi4uDQoNCklNSE8sICJVc2UgQ2FzZXMi IGFyZSB0aGUgZm91bmRhdGlvbiB0byBzZXR0aW5nIGdvb2QgcG9saWN5IGFuZCANCnJlZ3Vs YXRpb24uwqAgV2hhdCBzaG91bGQgVXNlcnMgZXhwZWN0IHRvIGJlIGFibGUgdG8gZG8gd2hl biB1c2luZyB0aGUgDQpJbnRlcm5ldD8NCg0KQmFjayBpbiB0aGUgZWFybHkgZGF5cywgdGhl IGRlc2lnbiBvZiBJbnRlcm5ldCBtZWNoYW5pc21zIHdhcyBkcml2ZW4gYnkgDQpzZXZlcmFs ICJ1c2UgY2FzZXMiLsKgIFNpbmNlIHRoZSBwcm9qZWN0IHdhcyBmdW5kZWQgYnkgdGhlIG1p bGl0YXJ5LCB0aGUgDQp1c2UgY2FzZXMgd2VyZSBhbHNvIG1pbGl0YXJ5LsKgwqAgQnV0IGh1 bWFucyBuZWVkIHNpbWlsYXIga2luZHMgb2YgDQpjb21tdW5pY2F0aW9ucywgd2hldGhlciB0 aGV5IGFyZSBleGNoYW5naW5nIGNvbW1hbmRzIHRvIHRoZSB0cm9vcHMgb3IgDQp0d2VldHMg dG8gdGhlIGZvcnVtcy4NCg0KT25lIHN1Y2ggInVzZSBjYXNlIiBtb3RpdmF0ZWQgdGhlIGNv bmNlcm4gZm9yIGxhdGVuY3kuwqAgVGhlIHNjZW5hcmlvIHdhcyANCnNpbXBsZS7CoCBBbiBh cm15IGlzIGVuZ2FnZWQgaW4gc29tZSBhY3Rpb24sIGFuZCBhbiBvbmxpbmUgY29uZmVyZW5j ZSBpcyANCmJlaW5nIGhlbGQgYW1vbmdzdCBhbGwgdGhlIHBsYXllcnMsIGZyb20gdGhlIGdl bmVyYWxzIGluIEhRcyB0byB0aGUgDQpmaWVsZCBjb21tYW5kZXJzIGluIHRlbnRzIG9yIGV2 ZW4gamVlcHMgb3IgYWlycGxhbmVzLiBUaGUgY29uZmVyZW5jZSANCnN1cHBvcnRzIG11bHRp bWVkaWEgaW50ZXJhY3Rpb25zLCB1c2luZyBzb21ldGhpbmcgbGlrZSBhICJzaGFyZWQgDQp3 aGl0ZWJvYXJkIiB0aGF0IGV2ZXJ5b25lIGNhbiBzZWUgKHZpZGVvIHdhcyBqdXN0IGEgZHJl YW0gaW4gMTk4MCkgYW5kIA0KY2hhbmdlIHVzaW5nIGEgbW91c2Ugb3Igc29tZSBraW5kIG9m IHBvaW50ZXIgZGV2aWNlLg0KDQpJbiBzdWNoIGEgc2NlbmFyaW8sIHRoZSBwYXJ0aWNpcGFu dHMgbWlnaHQgYmUgdmlld2luZyBhIG1hcCwgYW5kIA0KZXhjaGFuZ2luZyBpbmZvcm1hdGlv biB3aGlsZSBwb2ludGluZyBvbiB0aGUgbWFwLsKgICJUaGUgZW5lbXkgSFEgaXMgDQpoZXJl LiLCoCAiT3VyIHBhdHJvbCBpcyBoZXJlLiLCoCAiU2VuZCB0aGUgYmF0dGFsaW9uIGhlcmUu IsKgICJXZSdsbCBvcmRlciANCmFydGlsbGVyeSB0byBzdHJpa2UgaGVyZS4iwqAgSXQncyB2 ZXJ5IGltcG9ydGFudCB0aGF0IHRoZSBwb2ludGluZyBpcyANCnN5bmNocm9uaXplZCB3aXRo IHRoZSBzcGVlY2gsIGFuZCB0aGF0IHRoZSBncmFwaGljcyBhbmQgc3BlZWNoIGFyZSANCmRl bGl2ZXJlZCBpbnRhY3QuDQoNClRob3NlIHNjZW5hcmlvcyBtb3RpdmF0ZWQgdGhlIGluY2x1 c2lvbiBvZiBJbnRlcm5ldCBtZWNoYW5pc21zIHN1Y2ggYXMgDQpTUSwgVFRMLCBUT1MgZXQg YWwuDQoNClN1Y2ggc2NlbmFyaW9zIGFyZSB1c2VkIHRvZGF5LCBxdWl0ZSBmcmVxdWVudGx5 LCBpbiBub3JtYWwgZXZlcnlkYXkgbGlmZSANCmJ5IGh1bWFucyBpbiBhbGwgc29ydHMgb2Yg YWN0aXZpdGllcy7CoCBUaGV5J3JlIG5vIGxvbmdlciBqdXN0IG1pbGl0YXJ5IA0Kc2l0dWF0 aW9ucy4NCg0KQ29uc2lkZXJpbmcgImZyZWVkb20gb2Ygc3BlZWNoIiwgd2hhdCBhcmUgdGhl IFVzZSBDYXNlcyB0aGF0IHRoZSANCkludGVybmV0IG11c3Qgc3VwcG9ydD/CoCBTZXR0aW5n IGFzaWRlIHRoZSBxdWVzdGlvbiBvZiB3aGF0IGNhbiBiZSBzYWlkLCANCmFyZSB0aGVyZSBv dGhlciBhc3BlY3RzIG9mIGZyZWVkb20gb2Ygc3BlZWNoPw0KDQpPbmUgZXhhbXBsZSAtIGFz c3VtaW5nIHBlb3BsZSBzaG91bGQgaGF2ZSB0aGUgcmlnaHQgdG8gc3BlYWsgDQphbm9ueW1v dXNseSwgc2hvdWxkIHRoZXkgYWxzbyBoYXZlIHRoZSByaWdodCB0byBzcGVhayBub24tYW5v bnltb3VzbHk/wqAgDQpTaG91bGQgc29tZW9uZSBoYXZlIHRoZSByaWdodCB0byBrbm93IHRo YXQgc3BlZWNoIGF0dHJpYnV0ZWQgdG8gc29tZSANCnBlcnNvbiBhY3R1YWxseSB3YXMgc3Bv a2VuIGJ5IHRoYXQgcGVyc29uPw0KDQpUb2RheSwgcmVndWxhdG9ycyBhcmUgZGVhbGluZyB3 aXRoIHRoaXMgcXVlc3Rpb24gaW4gb3RoZXIgdmVudWVzLCBlLmcuLCANCmJ5IGFkZGluZywg YW5kIGVuZm9yY2luZywgdGhlIG5vdGlvbiBvZiAidmVyaWZpZWQiIHRlbGVwaG9uZSBudW1i ZXJzLCBpbiANCnJlc3BvbnNlIHRvIHRoZSB0c3VuYW1pIG9mIHJvYm9jYWxscywgcGhpc2hp bmcsIGFuZCBzdWNoIGFjdGl2aXRpZXMuwqAgDQpTaG91bGQgdGhlIEludGVybmV0IGFsc28g cHJvdmlkZSBhIHdheSB0byB2ZXJpZnkgdGhlIHNvdXJjZXMgb2YgZW1haWxzLCANCmJsb2cg cG9zdHMsIGV0Yy4/DQoNCkkndmUgImRpZ2l0YWxseSBzaWduZWQiIHRoaXMgbWVzc2FnZSwg dXNpbmcgdGhlIHRlY2hub2xvZ3kgd2hpY2ggSSBmb3VuZCANCmluIG15IGVtYWlsIHByb2dy YW0uIMKgIE1heWJlIHRoYXQgd2lsbCBlbmFibGUgeW91IHRvIGJlbGlldmUgdGhhdCBJIA0K YWN0dWFsbHkgd3JvdGUgdGhpcyBtZXNzYWdlLiDCoCBCdXQgSSByYXJlbHkgcmVjZWl2ZSBh bnkgInNpZ25lZCIgZW1haWwsIA0KZXhjZXB0IG9jY2FzaW9uYWxseSBmcm9tIG1lbWJlcnMg b2YgdGhlIFRlY2hub3JhdGkuIFBlcmhhcHMgdGhlIA0KcmVxdWlyZW1lbnQgdG8gYmUgYW5v bnltb3VzIGlzIGp1c3QgcGFydCBvZiB0aGUgSW50ZXJuZXQgbm93PyDCoCBPciBpcyANCnRo YXQgYSBVc2UgQ2FzZSB0aGF0IHNpbXBseSBoYXNuJ3QgYmVlbiBkZXZlbG9wZWQsIHByb3Bh Z2F0ZWQsIGFuZCANCmVuZm9yY2VkIHlldD8NCg0KV2hhdCBhcmUgdGhlICJVc2UgQ2FzZXMi IHRoYXQgdGhlIEludGVybmV0IG11c3Qgc3VwcG9ydCwgYW5kIHRoYXQgDQpyZWd1bGF0b3Jz IHNob3VsZCBlbmZvcmNlPw0KDQpKYWNrIEhhdmVydHkNCg0KDQoNCk9uIDEwLzE3LzIzIDEw OjI2LCBTcGVuY2VyIFNldmlsbGEgdmlhIE5uYWdhaW4gd3JvdGU6DQo+IEkga25vdyB0aGlz IGlzIGEgc21hbGwgc2lkZSBub3RlIGJ1dCBJIGZlbHQgY29tcGVsbGVkIHRvIHNwZWFrIHVw IGluIA0KPiBkZWZlbnNlIG9mIG9ubGluZSBnYW1pbmcuIEnigJltIG5vdCBhIGdhbWVyIGF0 IGFsbCBhbmQgdXAgdGlsbCBhIHllYXIgb3IgDQo+IHR3byBhZ28sIHdvdWxkIGhhdmUgYWdy ZWVkIHdpdGggRGlja+KAmXMgdGFrZSBhYm91dCBiZW5lZml0IHRvIOKAnHNvY2lldHkgDQo+ IGFzIGEgd2hvbGUu4oCdIEhvd2V2ZXIsIGxhdGVseSBJ4oCZdmUgc3RhcnRlZCBoZWFyaW5n IHNvbWUgcmVzZWFyY2ggb24gdGhlIA0KPiBiZW5lZml0cyBvZiBncm91cHMgb2YgZnJpZW5k cyB1c2luZyBvbmxpbmUgZ2FtZXMgdG8gc29jaWFsaXplIA0KPiB0b2dldGhlciwgZWZmZWN0 aXZlbHkgdXNpbmcgdGhlIGdhbWUgcHJpbWFyaWx5IGFzIGEgZ3JvdXAgY2FsbC4NCj4NCj4g VGhlcmXigJlzIGFsc28gdGhpcyBwcm9qZWN0LCB3aGVyZSBwZW9wbGUgaGF2ZSBjb2xsZWN0 ZWQgYmFubmVkL2NlbnNvcmVkIA0KPiBib29rcyBpbnRvIGEgbGlicmFyeSBpbiBNaW5lY3Jh ZnQuIFNwZWNpZmljYWxseSBhcyBhIHNvbHV0aW9uIHRvIA0KPiBjb250ZXh0cyB3aGVyZSBy ZWd1bGF0b3JzL2NlbnNvcnMgYmFuIGFuZCBtb25pdG9yIGNvbnRlbnQgdGhyb3VnaCANCj4g b3RoZXIgY2hhbm5lbHMgKHdlYnNpdGVzIGV0YykgYnV0IGRvbuKAmXQgc3VydmVpbCBNaW5l Y3JhZnQuLi4gDQo+IFByZXN1bWFibHkgYmVjYXVzZSB0aGV5IHNoYXJlIERpY2vigJlzIG9w aW5pb24gOy0pIA0KPiBodHRwczovL3d3dy51bmNlbnNvcmVkbGlicmFyeS5jb20vZW4NCj4N Cj4+IE9uIE9jdCAxNywgMjAyMywgYXQgMDM6MjYsIFNlYmFzdGlhbiBNb2VsbGVyIHZpYSBO bmFnYWluIA0KPj4gPG5uYWdhaW5AbGlzdHMuYnVmZmVyYmxvYXQubmV0PiB3cm90ZToNCj4+ DQo+PiBIaSBSaWNoYXJkLA0KPj4NCj4+DQo+Pj4gT24gT2N0IDE2LCAyMDIzLCBhdCAyMDow NCwgRGljayBSb3kgPGRpY2tyb3lAYWx1bS5taXQuZWR1PiB3cm90ZToNCj4+Pg0KPj4+IEdv b2QgcG9pbnRzIGFsbCwgU2ViYXN0aWVuLiDCoEhvdyB0byAidHJhZGUtb2ZmIiBhIGZpeGVk IGNhcGFjaXR5IA0KPj4+IGFtb25nc3QgbWFueSB1c2VycyBpcyB1bHRpbWF0ZWx5IGEgZ2Ft ZSB0aGVvcmV0aWMgcHJvYmxlbSB3aGVuIHVzZXJzIA0KPj4+IGFyZSBhbGxvd2VkIHRvIG1h a2UgY2hvaWNlcywgd2hpY2ggaXMgY2VydGFpbmx5IHRoZSBjYXNlIGhlcmUuIA0KPj4+IMKg U2Vjb25kbHksIGFueSBuZXR3b3JrIHRoYXQgY2FuIGFuZCBkb2VzIGdlbmVyYXRlICJtb3Jl IHRyYWZmaWMiIA0KPj4+IChha2Egb3ZlcmhlYWQgc3VjaCBhcyBBQ0tzIE5BQ0tzIGFuZCBy ZXRyaWVzKSByZWR1Y2VzIHRoZSBjYXBhY2l0eSANCj4+PiBvZiB0aGUgbmV0d29yaywgYW5k IHVsdGltYXRlbHkgY2FuIGxlYWQgdG8gdGhlICJ1c2VyIiBjYXBhY2l0eSBnb2luZyANCj4+ PiB0byB6ZXJvISDCoFN1Y2ggaXMgbGlmZSBpbiB0aGUgZmFzdCBsYW5lIChha2EgdGhlIGlu dGVybmV0KS4NCj4+Pg0KPj4+IExhc3RseSwgb24gdGhlIGlzc3VlIG9mIGxvdy1sYXRlbmN5 IHJlYWwtdGltZSBleHBlcmllbmNlLCB0aGVyZSBhcmUgDQo+Pj4gbWFueSBhcHBsaWNhdGlv bnMgdGhhdCBuZWVkL3dhbnQgc3VjaCBjYXBhYmlsaXRpZXMgdGhhdCBhY3R1YWxseSANCj4+ PiBoYXZlIGEgbmV0IGJlbmVmaXQgdG8gdGhlIGluZGl2aWR1YWxzIGludm9sdmVkIEFORCB0 byBzb2NpZXR5IGFzIGEgDQo+Pj4gd2hvbGUuIMKgSU1PLCBpbnRlcmFjdGl2ZSBnYW1pbmcg aXMgTk9UIG9uZSBvZiB0aG9zZS4NCj4+DQo+PiBbU01dIFllcywgZ2FtaW5nIGlzIG9uZSBv YnZpb3VzIGV4YW1wbGUgb2YgYSBjbGFzcyBvZiB1c2VzIHRoYXQgd29yayANCj4+IGJlc3Qg d2l0aCBsb3cgbGF0ZW5jeSBhbmQgbG93IGppdHRlciwgbm90IG5lY2Vzc2FyaWx5IGFuIGV4 YW1wbGUgZm9yIA0KPj4gYSB1c2UtY2FzZSB3b3J0aHkgZW5vdWdoIHRvIGp1c3RpZnkgdGhl IHdvcmsgcmVxdWlyZWQgdG8gaW5jcmVhc2UgdGhlIA0KPj4gcmVzcG9uc2l2ZW5lc3Mgb2Yg dGhlIGludGVybmV0LiBPdGhlciBleGFtcGxlcyBhcmUgdmlkZW8gY29uZmVyZW5jZXMsIA0K Pj4gVm9JUCwgaW4gZXh0ZW5zaW9uIG9mIGJvdGggbXVzaWNhbCBjb2xsYWJvcmF0aW9uIG92 ZXIgdGhlIGludGVybmV0LCANCj4+IGFuZCBzdXJwcmlzaW5nIHRvIHNvbWUgZXZlbiBwbGFp biBvbGQgd2ViIGJyb3dzaW5nIChpdCBvZnRlbiBuZWVkcyB0byANCj4+IGZpcnN0IHJlYWQg YSBwYWdlIGJlZm9yZSBiZWluZyBhYmxlIHRvIGZvbGxvdyBsaW5rcyBhbmQgbG9hZCANCj4+ IHJlc291cmNlcywgYW5kIGV2ZXJ5IHJlYWQgdGFrZXMgYXQgYmVzdCBhIHNpbmdsZSBSVFQp LiBOb25lIG9mIHRoZXNlIA0KPj4gYXJlIGluaGVyZW50bHkgYmVuZWZpY2lhbCBvciBkZXRy aW1lbnRhbCB0byBpbmRpdmlkdWFscyBvciBzb2NpZXR5LCANCj4+IGJ1dCBtb3N0IGNhbiBi ZSB1c2VkIHRvIGltcHJvdmUgdGhlIHN0YXR1cyBxdW8uLi4gSSB3b3VsZCBhcmd1ZSB0aGF0 IA0KPj4gaW4gdGhlIGxhc3QgNCB5ZWFycyB0aGUgcmVsZXZhbmNlIG9mIGludGVyYWN0aXZl IHVzZS1jYXNlcyBoYXMgYmVlbiANCj4+IG1hZGUgcXVpdGUgY2xlYXIgdG8gYSBsb3Qgb2Yg Zm9sa3MuLi4NCj4+DQo+Pg0KPj4+IE9LLCBzbyBub3cgeW91IGtub3cgSSBkb24ndCBlbmdh Z2UgaW4gdGhlc2UgdGltZSBzaW5rcyB3aXRoIG5vIA0KPj4+IHJlZGVlbWluZyBzb2NpYWwg dmFsdWUuOikNCj4+DQo+PiBbU01dIER1bHkgbm90ZWQgOykNCj4+DQo+Pj4gU2luY2UgaXQg aXMgbm90IGhhcmQgdG8gYXJndWUgdGhhdCBqdXN0IGxpa2UgcG93ZXIgZGlzdHJpYnV0aW9u LCANCj4+PiBpbmZvcm1hdGlvbiBleGNoYW5nZS9kaXNzZW1pbmF0aW9uIGlzICJpbiB0aGUg cHVibGljIGludGVyZXN0IiwgdGhlIA0KPj4+IHF1ZXN0aW9uIGJlY29tZXMgIkRvIHdlIGFs bG93IGFueSBhbmQgYWxsIGZvcm1zIG9mIGluZm9ybWF0aW9uIA0KPj4+IGV4Y2hhbmdlL2Rp c3NlbWluYXRpb24gb3ZlciB3aGF0IGlzIGJlY29taW5nIHNvbWV0aGluZyBha2luIHRvIGEg DQo+Pj4gcHVibGljIHV0aWxpdHk/IiDCoEZXSVcsIEkgZG9uJ3Qga25vdyB0aGUgYW5zd2Vy IHRvIHRoaXMgcXVlc3Rpb24hIDopDQo+Pg0KPj4gW1NNXSBUaGlzIGlzIGFuIGludGVyZXN0 aW5nIHF1ZXN0aW9uIGFuZCBvbmUgKG9ubHkpIHRhbmdlbnRpYWxseSANCj4+IHJlbGF0ZWQg dG8gbmV0d29yayBuZXV0cmFsaXR5Li4uIGl0IGlzIG1vcmUgcmVsYXRlZCB0byBmcmVlZG9t IG9mIA0KPj4gc3BlZWNoIGFuZCBsaW1pdHMgdGhlcmVvZi4gTWF5YmUgYSBxdWVzdGlvbiBm b3IgYW5vdGhlciBtYWlsaW5nIGxpc3Q/IA0KPj4gQ2VydGFpbmx5IG9uZSBtZXJpdGluZyBh IHRvcGljIGNoYW5nZS4uLg0KPj4NCj4+DQo+PiBSZWdhcmRzDQo+PiBTZWJhc3RpYW4NCj4+ DQo+Pj4NCj4+PiBDaGVlcnMsDQo+Pj4NCj4+PiBSUg0KPj4+DQo+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4+PiBGcm9tOiBTZWJhc3RpYW4gTW9lbGxlciBbbWFpbHRvOm1v ZWxsZXIwQGdteC5kZV0NCj4+PiBTZW50OiBNb25kYXksIE9jdG9iZXIgMTYsIDIwMjMgMTA6 MzYgQU0NCj4+PiBUbzogZGlja3JveUBhbHVtLm1pdC5lZHU7IE5ldHdvcmsgTmV1dHJhbGl0 eSBpcyBiYWNrISBMZXTCtHMgbWFrZSB0aGUgDQo+Pj4gdGVjaG5pY2FsIGFzcGVjdHMgaGVh cmQgdGhpcyB0aW1lIQ0KPj4+IFN1YmplY3Q6IFJlOiBbTk5hZ2Fpbl0gdHJhbnNpdCBhbmQg cGVlcmluZyBjb3N0cyBwcm9qZWN0aW9ucw0KPj4+DQo+Pj4gSGkgUmljaGFyZCwNCj4+Pg0K Pj4+DQo+Pj4+IE9uIE9jdCAxNiwgMjAyMywgYXQgMTk6MDEsIERpY2sgUm95IHZpYSBObmFn YWluIA0KPj4+PiA8bm5hZ2FpbkBsaXN0cy5idWZmZXJibG9hdC5uZXQ+IHdyb3RlOg0KPj4+ Pg0KPj4+PiBKdXN0IGFuIG9ic2VydmF0aW9uOiDCoEFOWSB0eXBlIG9mIGNvbmdlc3Rpb24g Y29udHJvbCB0aGF0IGNoYW5nZXMgDQo+Pj4+IGFwcGxpY2F0aW9uIGJlaGF2aW9yIGluIHJl c3BvbnNlIHRvIGNvbmdlc3Rpb24sIG9yIHByZWRpY3RlZCANCj4+Pj4gY29uZ2VzdGlvbiAo RU5DKSwgYmVncyB0aGUgcXVlc3Rpb24gIkhvdyBkb2VzIHRocm90dGxpbmcgb2YgDQo+Pj4+ IGFwcGxpY2F0aW9uIGluZm9ybWF0aW9uIGV4Y2hhbmdlIHJhdGUgKGFrYSBiZWhhdmlvcikg YWZmZWN0IHRoZSANCj4+Pj4gdXNlciBleHBlcmllbmNlIGFuZCB3aWxsIHRoZSB1c2VyIHRv bGVyYXRlIGl0PyINCj4+Pg0KPj4+IFtTTV0gVGhlIHRyYWRlLW9mZiBoZXJlIGlzLCBpZiB0 aGUgYXBwbGljYXRpb24gZG9lcyBub3QgcmVzcG9uZCAob3IgDQo+Pj4gcmF0aGVyIGlmIG5v IGFwcGxpY2F0aW9uIHdvdWxkIHJlc3BvbmQpIHdlIHdvdWxkIGVuZCB1cCB3aXRoIA0KPj4+ IGNvbmdlc3Rpb24gY29sbGFwc2Ugd2hlcmUgbm8gYXBwbGljYXRpb24gd291bGQgZ2FpbiBt dWNoIG9mIGFueXRoaW5nIA0KPj4+IGFzIHRoZSBuZXR3b3JrIGJ1c2llcyBpdHNlbGYgdHJ5 aW5nIHRvIHJlLXRyYW5zbWl0IGRyb3BwZWQgcGFja2V0cyANCj4+PiB3aXRob3V0IG1ha2lu ZyBtdWNoIGhlYWQgd2F5Li4uIFNpbXBsaXN0aWMgZ2FtZSB0aGVvcnkgYXBwbGljYXRpb24g DQo+Pj4gbWlnaHQgaW1wbHkgdGhhdCBpbmRpdmlkdWFsIGFwcGxpY2F0aW9ucyBjb3VsZCB0 cnkgdG8gZ2FtZSB0aGlzLCBhbmQgDQo+Pj4gZ2VuZXJhbGx5IHRoYXQgc2VlbXMgdG8gYmUg dHJ1ZSwgYnV0IHdlIGhhdmUgcmVtZWRpZXMgZm9yIHRoYXQgDQo+Pj4gYXZhaWxhYmxlLi4N Cj4+Pg0KPj4+DQo+Pj4+DQo+Pj4+IEdpdmVuIGFueSAoY29tcGxleCBhbmQgcGFja2V0LXN3 aXRjaGVkKSBuZXR3b3JrIHRvcG9sb2d5IG9mIA0KPj4+PiBpbnRlcmNvbm5lY3RlZCBub2Rl cyBhbmQgbGlua3MsIGVhY2ggd2l0aCBwb3NzaWJsZSBhIGRpZmZlcmVudCANCj4+Pj4gY2Fw YWNpdHkgYW5kIGNoYXJhY3RlcmlzdGljcywgc3VjaCBhcyB0aGUgaW50ZXJuZXQgdG9kYXks IElNTyB0aGUgDQo+Pj4+IHR3byBmdW5kYW1lbnRhbCBxdWVzdGlvbnMgYXJlOg0KPj4+Pg0K Pj4+PiAxKSBIb3cgY2FuIGEgZ2l2ZW4gbmV0d29yayBiZSBvcGVyYXRlZC9jb25maWd1cmVk IHNvIGFzIHRvIG1heGltaXplIA0KPj4+PiBhZ2dyZWdhdGUgdGhyb3VnaHB1dCAoaS5lLiBh Y2hpZXZlIGl0cyB0aGVvcmV0aWNhbCBjYXBhY2l0eSksIGFuZA0KPj4+PiAyKSBXaGF0IHRo aW5ncyBpbiB0aGUgbmV0d29yayBuZWVkIHRvIGNoYW5nZSB0byBpbmNyZWFzZSB0aGUgDQo+ Pj4+IHRocm91Z2hwdXQgKGFrYSBwYXJhbWV0ZXJzIGluIHRoZSBuZXR3b3JrIHdpdGggdGhl IGxhcmdlc3QgTGFncmFuZ2UgDQo+Pj4+IG11bHRpcGxpZXJzIGFzc29jaWF0ZWQgd2l0aCB0 aGVtKT8NCj4+Pg0KPj4+IFtTTV0gVGhlIHRoaW5nIGlzIHdlIGdlbmVyYWxseSBrbm93IGhv dyB0byBtYXhpbWl6ZSAoYXZlcmFnZSkgDQo+Pj4gdGhyb3VnaHB1dCwganVzdCBhZGQgKG92 ZXItKWdlbmVyb3VzIGFtb3VudHMgb2YgYnVmZmVyaW5nLCB0aGUgDQo+Pj4gcHJvYmxlbSBp cyB0aGF0IHRoaXMgc2NyZXdzIHVwIHRoZSBvdGhlciBpbXBvcnRhbnQgcXVhbGl0eSBheGlz LCANCj4+PiBsYXRlbmN5Li4uIFdlIGlkZWFsbHkgd2FudCBsb3cgbGF0ZW5jeSBhbmQgZXZl biBtb3JlIGxvdyBsYXRlbmN5IA0KPj4+IHZhcmlhbmNlIChha2Egaml0dGVyKSBBTkQgaGln aCB0aHJvdWdocHV0Li4uIFR1cm5zIG91dCB0aG91Z2ggdGhhdCANCj4+PiBhYm92ZSBhIGNl cnRhaW4gdGhyb3VnaHB1dCB0aHJlc2hvbGQqIG1hbnkgdXNlcnMgZG8gbm90IHNlZW0gdG8g Y2FyZSANCj4+PiBhbGwgdGhhdCBtdWNoIGZvciBtb3JlIHRocm91Z2hwdXQgYXMgbG9uZyBh cyBpbnRlcmFjdGl2ZSB1c2UgY2FzZXMgDQo+Pj4gYXJlIHN1ZmZpY2llbnRseSByZXNwb25z aXZlLi4uIGJ1dCBoaWdoIHJlc3BvbnNpdmVuZXNzIHJlcXVpcmVzIGxvdyANCj4+PiBsYXRl bmN5IGFuZCBsb3cgaml0dGVyLi4uIFRoaXMgaXMgYWN0dWFsbHkgYSBnb29kIHRoaW5nLCBh cyB0aGF0IA0KPj4+IG1lYW5zIHdlIGRvIG5vdCBuZWNlc3NhcmlseSBhaW0gZm9yIDEwMCUg dXRpbGl6YXRpb24gKGFsbW9zdCANCj4+PiByZXF1aXJpbmcgZGVlcCBidWZmZXJzIGFuZCBo ZW5jZSByZXN1bHRpbmcgaW4gY29tcHJvbWlzZWQgbGF0ZW5jeSkgDQo+Pj4gYnV0IGNhbiBn ZXQgYXdheSB3aXRoIHNheSA4MC05MCUgd2hlcmUgc2hhbGxvdyBidWZmZXJzIHdpbGwgZG8g KG9yIA0KPj4+IHJhdGhlciB3aGVyZSBidWZmZXIgZmlsbGluZyBzdGF5cyBzaGFsbG93LCB0 aGVyZSBpcyBJTUhPIHN0aWxsIHZhbHVlIA0KPj4+IGluIGhhdmluZyBkZWVwIGJ1ZmZlcnMg Zm9yIHJhcmUgZXZlbnRzIHRoYXQgbmVlZCBpdCkuDQo+Pj4NCj4+Pg0KPj4+DQo+Pj4gKikg VGhpcyBpcyBub3QgYSBoYXJkIHBoeXNpY2FsIGxhdyBzbyB0aGUgZXhhY3QgdGhyZXNob2xk IGlzIG5vdCBzZXQgDQo+Pj4gaW4gc3RvbmUsIGJ1dCB1bmxlc3Mgb25lIGhhcyBtYW55IHBh cmFsbGVsIHVzZXJzLCBzb21ldGhpbmcgaW4gdGhlIA0KPj4+IDIwLTUwIE1icHMgcmFuZ2Ug aXMgcGxlbnR5IGFuZCB0aGF0IGlzIG9ubHkgbmVlZGVkIGluIHRoZSAibG9hZGVkIiANCj4+ PiBkaXJlY3Rpb24sIHRoYXQgaXMgZm9yIHB1cmUgY29uc3VtZXJzIHRoZSB1cGxvYWQgY2Fu IGJlIHRoaW5uZXIsIGZvciANCj4+PiBwdXJlIHByb2R1Y2VycyB0aGUgZG93bmxvYWQgY2Fu IGJlIHRoaW5uZXIuDQo+Pj4NCj4+Pg0KPj4+Pg0KPj4+PiBJIGFtIG5vdCBhbiBleHBlcnQg aW4gdGhpcyBmaWVsZCwNCj4+Pg0KPj4+IMKgwqDCoMKgwqBbU01dIE5vciBhbSBJLCBJIGNv bWUgZnJvbSB0aGUgd2V0LXdhcmUgc2lkZSBvZiB0aGluZ3Mgc28gbm90IA0KPj4+IGV2ZW4g c29mdC0gb3IgaGFyZC13YXJlIDspDQo+Pj4NCj4+Pg0KPj4+PiBob3dldmVyIGl0IHNlZW1z IHRvIG1lIHRoYXQgYW5zd2VycyB0byB0aGVzZSBxdWVzdGlvbnMgd291bGQgYmUgDQo+Pj4+ IHVzZWZ1bCwgYXNzdW1pbmcgdGhleSBhcmUgbm90IHlldCBhdmFpbGFibGUhDQo+Pj4+DQo+ Pj4+IENoZWVycywNCj4+Pj4NCj4+Pj4gUlINCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4gRnJvbTogTm5hZ2FpbiBbbWFpbHRvOm5u YWdhaW4tYm91bmNlc0BsaXN0cy5idWZmZXJibG9hdC5uZXRdIE9uIA0KPj4+PiBCZWhhbGYg T2YgcmptY21haG9uIHZpYSBObmFnYWluDQo+Pj4+IFNlbnQ6IFN1bmRheSwgT2N0b2JlciAx NSwgMjAyMyAxOjM5IFBNDQo+Pj4+IFRvOiBOZXR3b3JrIE5ldXRyYWxpdHkgaXMgYmFjayEg TGV0wrRzIG1ha2UgdGhlIHRlY2huaWNhbCBhc3BlY3RzIA0KPj4+PiBoZWFyZCB0aGlzIHRp bWUhDQo+Pj4+IENjOiByam1jbWFob24NCj4+Pj4gU3ViamVjdDogUmU6IFtOTmFnYWluXSB0 cmFuc2l0IGFuZCBwZWVyaW5nIGNvc3RzIHByb2plY3Rpb25zDQo+Pj4+DQo+Pj4+IEhpIEph Y2ssDQo+Pj4+DQo+Pj4+IFRoYW5rcyBhZ2FpbiBmb3Igc2hhcmluZy4gSXQncyB2ZXJ5IGlu dGVyZXN0aW5nIHRvIG1lLg0KPj4+Pg0KPj4+PiBUb2RheSwgdGhlIG5ldHdvcmtzIGFyZSBz aGlmdGluZyBmcm9tIGNhcGFjaXR5IGNvbnN0cmFpbmVkIHRvIGxhdGVuY3kNCj4+Pj4gY29u c3RyYWluZWQsIGFzIGNhbiBiZSBzZWVuIGluIHRoZSBJWCBkaXNjdXNzaW9ucyBhYm91dCBo b3cgdGhlIA0KPj4+PiBzcGVlZCBvZg0KPj4+PiBsaWdodCBvdmVyIGZpYmVyIGlzIHRvbyBz bG93IGV2ZW4gYmV0d2VlbiBIb3VzdG9uICYgRGFsbGFzLg0KPj4+Pg0KPj4+PiBUaGUgbWl0 aWdhdGlvbnMgYWdhaW5zdCBzdGFuZGluZyBxdWV1ZXMgKHdoaWNoIGNhdXNlIGJsb2F0IHRv ZGF5KSBhcmU6DQo+Pj4+DQo+Pj4+IG8pIFNocmluayB0aGUgZTJlIGJvdHRsZW5lY2sgcXVl dWUgc28gaXQgd2lsbCBkcm9wIHBhY2tldHMgaW4gYSANCj4+Pj4gZmxvdyBhbmQNCj4+Pj4g VENQIHdpbGwgcmVzcG9uZCB0byB0aGF0ICJzaWduYWwiDQo+Pj4+IG8pIFVzZSBzb21lIGZv cm0gb2YgRUNOIG1hcmtpbmcgd2hlcmUgdGhlIG5ldHdvcmsgZm9yd2FyZGluZyBwbGFuZQ0K Pj4+PiB1bHRpbWF0ZWx5IGluZm9ybXMgdGhlIFRDUCBzb3VyY2Ugc3RhdGUgbWFjaGluZSBz byBpdCBjYW4gc2xvdyBkb3duIG9yDQo+Pj4+IHBhY2UgZWZmZWN0aXZlbHkuIFRoaXMgY2Fu IGJlIGFuIGVhcmxpZXIgZmVlZGJhY2sgc2lnbmFsIGFuZCwgaWYgZG9uZQ0KPj4+PiB3ZWxs LCBjYW4gaW5mb3JtIHRoZSBzb3VyY2VzIHRvIGF2b2lkIGJvdHRsZW5lY2sgcXVldWluZy4g VGhlcmUgYXJlDQo+Pj4+IGNvdXBsZSBvZiBhcHByb2FjaGVzIHdpdGggRUNOLiBDb21jYXN0 IGlzIHRyaWFsaW5nIEw0UyBub3cgd2hpY2ggc2VlbXMNCj4+Pj4gaW50ZXJlc3RpbmcgdG8g bWUgYXMgYSBXaUZpIHRlc3QgJiBtZWFzdXJlbWVudCBlbmdpbmVlci4gVGhlIGp1cnkgaXMN Cj4+Pj4gc3RpbGwgb3V0IG9uIHRoaXMgYW5kIG1lYXN1cmVtZW50cyBhcmUgbmVlZGVkLg0K Pj4+PiBvKSBNaXRpZ2F0ZSBzb3VyY2Ugc2lkZSBibG9hdCB2aWEgVENQX05PVFNFTlRfTE9X QVQNCj4+Pj4NCj4+Pj4gVGhlIFFvUyBwcmlvcml0eSBhcHByb2FjaCBwZXIgY29uZ2VzdGlv biBpcyBvcnRob2dvbmFsIGJ5IG15IA0KPj4+PiBqdWRnbWVudCBhcw0KPj4+PiBpdCdzIHR5 cGljYWxseSBub3Qgc3VwcG9ydGVkIGUyZSwgbWFueSBuZXR3b3JrcyB3aWxsIGJsZWFjaCBE U0NQDQo+Pj4+IG1hcmtpbmdzLiBBbmQgaXQncyByZWFsbHkgdG9vIGxhdGUgYnkgbXkganVk Z21lbnQuDQo+Pj4+DQo+Pj4+IEFsc28sIG9uIGNsb2NrIHN5bmMsIHllcyB5b3VyIGdlbmVy YXRpb24gZGlkIHVzIGJvdGggYSBzZXJ2aWNlIGFuZA0KPj4+PiBkaXNzZXJ2aWNlIGJ5IGdl dHRpbmcgcmlkIG9mIHRoZSBQU1ROIFRETSBjbG9jayA7KSBTbyBJUCBuZXR3b3JraW5nDQo+ Pj4+IGRldmljZXMga2luZGEgaWdub3JlZCBjbG9jayBzeW5jLCB3aGljaCBtYWtlcyBlMmUg b25lIHdheSBkZWxheSAoT1dEKQ0KPj4+PiBtZWFzdXJlbWVudHMgaW1wb3NzaWJsZS4gVGhh bmtmdWxseSwgdGhlIEdQUyBhdG9taWMgY2xvY2sgaXMgbm93DQo+Pj4+IGF2YWlsYWJsZSBt b3N0bHkgZXZlcnl3aGVyZSBhbmQgbWFueSBkZXZpY2VzIHVzZSBUQ1hPIG9zY2lsbGF0b3Jz IHNvDQo+Pj4+IGl0J3MgcG9zc2libGUgdG8gZ2V0IGNsb2NrIHN5bmMgYW5kIHVzZSBvc2Np bGxhdG9ycyB0aGF0IGNhbiBtaW5pbWl6ZQ0KPj4+PiBkcmlmdC4gSSBwYXkgJDE0IGZvciBh IFJwaTQgR1BTIGNoaXAgd2l0aCBwdWxzZSBwZXIgc2Vjb25kIGFzIGFuDQo+Pj4+IGV4YW1w bGUuDQo+Pj4+DQo+Pj4+IEl0IHNlZW1zIHNpbGx5IHRvIG1lIHRoYXQgY2xvY2tzIGFyZW4n dCBzeW5jZWQgdG8gdGhlIEdQUyBhdG9taWMgY2xvY2sNCj4+Pj4gZXZlbiBpZiBieSBhIHBy b3h5IGV2ZW4gaWYgb25seSBmb3IgbWVhc3VyZW1lbnQgYW5kIG1vbml0b3JpbmcuDQo+Pj4+ DQo+Pj4+IE5vdGU6IEFzIFJpY2hhcmQgUm95IHdpbGwgcG9pbnQgb3V0LCB0aGVyZSByZWFs bHkgaXMgbm8gc3VjaCB0aGluZyBhcw0KPj4+PiBzeW5jaHJvbml6ZWQgY2xvY2tzIGFjcm9z cyBnZW9ncmFwaGllcyBwZXIgZ2VuZXJhbCByZWxhdGl2aXR5IC0gc28gDQo+Pj4+IHRob3Nl DQo+Pj4+IHN5bmNpbmcgY2xvY2tzIG5lZWQgdG8ga2VlcCB0aG9zZSBlZmZlY3RzIGluIG1p bmQuIEkgbGltaXRlZCB0aGUgDQo+Pj4+IGlwZXJmIDINCj4+Pj4gdGltZXN0YW1wcyB0byBt aWNyb3NlY29uZCBwcmVjaXNpb24gaW4gaG9wZXMgYXZvaWRpbmcgdGhvc2UgaXNzdWVzLg0K Pj4+Pg0KPj4+PiBOb3RlOiBXaXRoIFdpRmksIGEgcGFja2V0IGRyb3AgY2FuIG9jY3VyIGJl Y2F1c2UgYW4gaW50ZXJtaXR0ZW50IFJGDQo+Pj4+IGNoYW5uZWwgY29uZGl0aW9uLiBUQ1Ag Y2FuJ3QgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFuIFJGIGRyb3AgDQo+Pj4+IHZz IGENCj4+Pj4gY29uZ2VzdGVkIHF1ZXVlIGRyb3AuIFRoYXQncyBhbm90aGVyIHJlYXNvbiBF Q04gbWFya2luZ3MgZnJvbSBuZXR3b3JrDQo+Pj4+IGRldmljZXMgbWF5IGJlIGJldHRlciB0 aGFuIGRyb3BwZWQgcGFja2V0cy4NCj4+Pj4NCj4+Pj4gTm90ZTogSSd2ZSBhZGRlZCBzb21l IGlwZXJmIDIgdGVzdCBzdXBwb3J0IGFyb3VuZCBwYWNpbmcgYXMgdGhhdCBzZWVtcw0KPj4+ PiB0byBiZSB0aGUgZGlyZWN0aW9uIHRoZSBpbmR1c3RyeSBpcyBoZWFkaW5nIGFzIG5ldHdv cmtzIGFyZSBsZXNzIGFuZA0KPj4+PiBsZXNzIGNhcGFjaXR5IHN0cmFpbmVkIGFuZCB1c2Vy IHF1YWxpdHkgb2YgZXhwZXJpZW5jZSBpcyBiZWluZyANCj4+Pj4gZHJpdmVuIGJ5DQo+Pj4+ IHRhaWwgbGF0ZW5jaWVzLiBPbmUgY2FuIGFsc28gdGVzdCB3aXRoIHRoZSBQcmFndWUgQ0NB IGZvciB0aGUgTDRTDQo+Pj4+IHNjZW5hcmlvcy4gKFRoaXMgaXMgYSBmdW4gcHJvamVjdDog aHR0cHM6Ly93d3cubDRzZ2Vhci5jb20vIGFuZCBmYWlybHkNCj4+Pj4gbG93IGNvc3QpDQo+ Pj4+DQo+Pj4+IC0tZnEtcmF0ZSBuW2ttZ0tNR10NCj4+Pj4gU2V0IGEgcmF0ZSB0byBiZSB1 c2VkIHdpdGggZmFpci1xdWV1aW5nIGJhc2VkIHNvY2tldC1sZXZlbCBwYWNpbmcsIGluDQo+ Pj4+IGJ5dGVzIG9yIGJpdHMgcGVyIHNlY29uZC4gT25seSBhdmFpbGFibGUgb24gcGxhdGZv cm1zIHN1cHBvcnRpbmcgdGhlDQo+Pj4+IFNPX01BWF9QQUNJTkdfUkFURSBzb2NrZXQgb3B0 aW9uLiAoTm90ZTogSGVyZSB0aGUgc3VmZml4ZXMgaW5kaWNhdGUNCj4+Pj4gYnl0ZXMvc2Vj IG9yIGJpdHMvc2VjIHBlciB1c2Ugb2YgdXBwZXJjYXNlIG9yIGxvd2VyY2FzZSwgcmVzcGVj dGl2ZWx5KQ0KPj4+Pg0KPj4+PiAtLWZxLXJhdGUtc3RlcCBuW2ttZ0tNR10NCj4+Pj4gU2V0 IGEgc3RlcCBvZiByYXRlIHRvIGJlIHVzZWQgd2l0aCBmYWlyLXF1ZXVpbmcgYmFzZWQgc29j a2V0LWxldmVsDQo+Pj4+IHBhY2luZywgaW4gYnl0ZXMgb3IgYml0cyBwZXIgc2Vjb25kLiBT dGVwIG9jY3VycyBldmVyeQ0KPj4+PiBmcS1yYXRlLXN0ZXAtaW50ZXJ2YWwgKGRlZmF1bHRz IHRvIG9uZSBzZWNvbmQpDQo+Pj4+DQo+Pj4+IC0tZnEtcmF0ZS1zdGVwLWludGVydmFsIG4N Cj4+Pj4gVGltZSBpbiBzZWNvbmRzIGJlZm9yZSBzdGVwcGluZyB0aGUgZnEtcmF0ZQ0KPj4+ Pg0KPj4+PiBCb2INCj4+Pj4NCj4+Pj4gUFMuIElwZXJmIDIgbWFuIHBhZ2UgaHR0cHM6Ly9p cGVyZjIuc291cmNlZm9yZ2UuaW8vaXBlcmYtbWFucGFnZS5odG1sDQo+Pj4+DQo+Pj4+PiBU aGUgIlZHViBVc2VyIiAoVm9pY2UsIEdhbWluZywgVmlkZW9jb25mZXJlbmNpbmcpIGNhcmVz IGEgbG90IGFib3V0DQo+Pj4+PiBsYXRlbmN5LiDCoMKgSXQncyBub3QganVzdCAicmV3YXJk aW5nIiB0byBoYXZlIGxvd2VyIGxhdGVuY2llczsgaGlnaA0KPj4+Pj4gbGF0ZW5jaWVzIG1h eSBtYWtlIFZHViB1bnVzYWJsZS4gwqDCoEF2ZXJhZ2UgKG9yICJ0eXBpY2FsIikgbGF0ZW5j eSBhcw0KPj4+Pj4gdGhlIEZDQyBsYWJlbCBwcm9wb3NlcyBpc24ndCBhIGdvb2QgbWV0cmlj IHRvIGp1ZGdlIHVzYWJpbGl0eS4gwqBBIHBhdGgNCj4+Pj4+IHdoaWNoIGhhcyBoaWdoIHZh cmlhbmNlIGluIGxhdGVuY3kgY2FuIGJlIHVudXNhYmxlIGV2ZW4gaWYgdGhlIGF2ZXJhZ2UN Cj4+Pj4+IGlzIHF1aXRlIGxvdy4gwqDCoEhhdmluZyB5b3VyIHZvaWNlIG9yIHZpZGVvIG9y IGdhbWVwbGF5ICJicmVhayB1cCINCj4+Pj4+IGV2ZXJ5IG1pbnV0ZSBvciBzbyB3aGVuIGxh dGVuY3kgc3Bpa2VzIHRvIDUwMCBtc2VjIG1ha2VzIHRoZSAidXNlcg0KPj4+Pj4gZXhwZXJp ZW5jZSIgaW50b2xlcmFibGUuDQo+Pj4+Pg0KPj4+Pj4gQSBmZXcgeWVhcnMgYWdvLCBJIHJh biBzb21lIHNpbXBsZSAicGluZyIgdGVzdHMgdG8gaGVscCBhIGZyaWVuZCB3aG8NCj4+Pj4+ IHdhcyB0cnlpbmcgdG8gdXNlIGEgZ2FtaW5nIGFwcC4gwqBNeSBkYXRhIHdhcyBvbmx5IGZv ciBvbmUgc3BlY2lmaWMNCj4+Pj4+IHBhdGggc28gaXQncyBhbmVjZG90YWwuIMKgV2hhdCBJ IHNhdyB3YXMgc3VycHJpc2luZyAtIHplcm8gZGF0YSBsb3NzLA0KPj4+Pj4gZXZlcnkgZGF0 YWdyYW0gd2FzIGRlbGl2ZXJlZCwgYnV0IG9jY2FzaW9uYWxseSBhIGRhdGFncmFtIHdvdWxk IHRha2UNCj4+Pj4+IHVwIHRvIDMwIHNlY29uZHMgdG8gYXJyaXZlLiDCoEkgZGlkbid0IGhh dmUgdGhlIGFiaWxpdHkgdG8gcG9rZSBhcm91bmQNCj4+Pj4+IGluc2lkZSwgYnV0IEkgc3Vz cGVjdGVkIGl0IHdhcyBhbiBleHBlcmllbmNlIG9mICJidWZmZXJibG9hdCIsIGVuYWJsZWQN Cj4+Pj4+IGJ5IHRoZSBkcmFtYXRpYyBkcm9wIGluIHByaWNlIG9mIG1lbW9yeSBvdmVyIHRo ZSBkZWNhZGVzLg0KPj4+Pj4NCj4+Pj4+IEl0J3MgYmVlbiBhIGxvbmcgdGltZSBzaW5jZSBJ IHdhcyBpbnZvbHZlZCBpbiBvcGVyYXRpbmcgYW55IHBhcnQgb2YNCj4+Pj4+IHRoZSBJbnRl cm5ldCwgc28gSSBkb24ndCBrbm93IG11Y2ggYWJvdXQgdGhlIGlubmVyIHdvcmtpbmdzIHRv ZGF5Lg0KPj4+Pj4gQXBvbG9naWVzIGZvciBteSBpZ25vcmFuY2UuLi4uDQo+Pj4+Pg0KPj4+ Pj4gVGhlcmUgd2FzIGEgc2NlbmFyaW8gaW4gdGhlIGVhcmx5IGRheXMgb2YgdGhlIEludGVy bmV0IGZvciB3aGljaCB3ZQ0KPj4+Pj4gc3RydWdnbGVkIHRvIGZpbmQgYSB0ZWNobmljYWwg c29sdXRpb24uIMKgSW1hZ2luZSBzb21lIG5vZGUgaW4gdGhlDQo+Pj4+PiBib3dlbHMgb2Yg dGhlIG5ldHdvcmssIHdpdGggMyBjb25uZWN0ZWQgImNpcmN1aXRzIiB0byBzb21lIG90aGVy DQo+Pj4+PiBub2Rlcy4gwqBPbiB0d28gb2YgdGhvc2UgaW5wdXRzLCB0cmFmZmljIGlzIGFy cml2aW5nIHRvIGJlIGZvcndhcmRlZA0KPj4+Pj4gb3V0IHRoZSB0aGlyZCBjaXJjdWl0LiDC oFRoZSBpbmNvbWluZyBmbG93cyBhcmUgc2lnbmlmaWNhbnRseSBtb3JlIHRoYW4NCj4+Pj4+ IHRoZSBvdXRnb2luZyBwYXRoIGNhbiBhY2NlcHQuDQo+Pj4+Pg0KPj4+Pj4gV2hhdCBoYXBw ZW5zPyDCoMKgSG93IGlzICJiYWNrcHJlc3N1cmUiIGdlbmVyYXRlZCBzbyB0aGF0IHRoZSBp bmNvbWluZw0KPj4+Pj4gZmxvd3MgYXJlIHJlZHVjZWQgdG8gdGhlIHBvaW50IHRoYXQgdGhl IG91dGdvaW5nIGNpcmN1aXQgY2FuIGhhbmRsZQ0KPj4+Pj4gdGhlIHRyYWZmaWM/DQo+Pj4+ Pg0KPj4+Pj4gQWJvdXQgNDUgeWVhcnMgYWdvLCB3aGlsZSB3ZSB3ZXJlIGRlZmluaW5nIFRD UFY0LCB3ZSBzdHJ1Z2dsZWQgd2l0aA0KPj4+Pj4gdGhpcyBpc3N1ZSwgYnV0IGRpZG4ndCBm aW5kIGFueSBjb25zZW5zdXMgc29sdXRpb25zLiDCoFNvICJwbGFjZWhvbGRlciINCj4+Pj4+ IG1lY2hhbmlzbXMgd2VyZSBkZWZpbmVkIGluIFRDUFY0LCB0byBiZSByZXBsYWNlZCBhcyBy ZXNlYXJjaCBjb250aW51ZWQNCj4+Pj4+IGFuZCBmb3VuZCBhIGdvb2Qgc29sdXRpb24uDQo+ Pj4+Pg0KPj4+Pj4gSW4gdGhhdCAicGxhY2Vob2xkZXIiIHNjaGVtZSwgdGhlICJTb3VyY2Ug UXVlbmNoIiAoU1EpIElQIG1lc3NhZ2Ugd2FzDQo+Pj4+PiBkZWZpbmVkOyBpdCB3YXMgdG8g YmUgc2VudCBieSBhIHN3aXRjaGluZyBub2RlIGJhY2sgdG93YXJkIHRoZSBzZW5kZXINCj4+ Pj4+IG9mIGFueSBkYXRhZ3JhbSB0aGF0IGhhZCB0byBiZSBkaXNjYXJkZWQgYmVjYXVzZSB0 aGVyZSB3YXNuJ3QgYW55DQo+Pj4+PiBwbGFjZSB0byBwdXQgaXQuDQo+Pj4+Pg0KPj4+Pj4g SW4gYWRkaXRpb24sIHRoZSBUT1MgKFR5cGUgT2YgU2VydmljZSkgYW5kIFRUTCAoVGltZSBU byBMaXZlKSBmaWVsZHMNCj4+Pj4+IHdlcmUgZGVmaW5lZCBpbiBJUC4NCj4+Pj4+DQo+Pj4+ PiBUT1Mgd291bGQgYWxsb3cgdGhlIHNlbmRlciB0byBkaXN0aW5ndWlzaCBkYXRhZ3JhbXMg YmFzZWQgb24gdGhlaXINCj4+Pj4+IG5lZWRzLiDCoEZvciBleGFtcGxlLCB3ZSB0aG91Z2h0 ICJJbnRlcmFjdGl2ZSIgc2VydmljZSBtaWdodCBiZSBuZWVkZWQNCj4+Pj4+IGZvciBWR1Yg dHJhZmZpYywgd2hlcmUgdGltZWxpbmVzcyBvZiBkZWxpdmVyeSB3YXMgbW9zdCBpbXBvcnRh bnQuDQo+Pj4+PiAiQnVsayIgc2VydmljZSBtaWdodCBiZSB1c2VmdWwgZm9yIGFjdGl2aXRp ZXMgbGlrZSBmaWxlIHRyYW5zZmVycywNCj4+Pj4+IGJhY2t1cHMsIGV0IGFsLiDCoMKgIk5v cm1hbCIgc2VydmljZSBtaWdodCBub3cgbWVhbiBhY3Rpdml0aWVzIGxpa2UNCj4+Pj4+IHVz aW5nIHRoZSBXZWIuDQo+Pj4+Pg0KPj4+Pj4gVGhlIFRUTCBmaWVsZCB3YXMgYW4gYXR0ZW1w dCB0byBpbmZvcm0gZWFjaCBzd2l0Y2hpbmcgbm9kZSBhYm91dCB0aGUNCj4+Pj4+ICJleHBp cmF0aW9uIGRhdGUiIGZvciBhIGRhdGFncmFtLiDCoMKgSWYgYSBub2RlIHNvbWVob3cga25l dyB0aGF0IGENCj4+Pj4+IHBhcnRpY3VsYXIgZGF0YWdyYW0gd2FzIHVubGlrZWx5IHRvIHJl YWNoIGl0cyBkZXN0aW5hdGlvbiBpbiB0aW1lIHRvDQo+Pj4+PiBiZSB1c2VmdWwgKHN1Y2gg YXMgYSB2aWRlbyBkYXRhZ3JhbSBmb3IgYSBmcmFtZSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4N Cj4+Pj4+IGRpc3BsYXllZCksIHRoZSBub2RlIGNvdWxkLCBhbmQgc2hvdWxkLCBkaXNjYXJk IHRoYXQgZGF0YWdyYW0gdG8gZnJlZQ0KPj4+Pj4gdXAgcmVzb3VyY2VzIGZvciB1c2VmdWwg dHJhZmZpYy4gwqBTYWRseSB3ZSBoYWQgbm8gbWVjaGFuaXNtcyBmb3INCj4+Pj4+IG1lYXN1 cmluZyBkZWxheSwgZWl0aGVyIGluIHRyYW5zaXQgb3IgaW4gcXVldWluZywgc28gVFRMIHdh cyBkZWZpbmVkDQo+Pj4+PiBpbiB0ZXJtcyBvZiAiaG9wcyIsIHdoaWNoIGlzIG5vdCBhbiBh Y2N1cmF0ZSBwcm94eSBmb3IgdGltZS4gwqDCoEJ1dA0KPj4+Pj4gaXQncyBhbGwgd2UgaGFk Lg0KPj4+Pj4NCj4+Pj4+IFBhcnQgb2YgdGhlIGNvbXBsZXhpdHkgd2FzIHRoYXQgdGhlICJm bG93IGNvbnRyb2wiIG1lY2hhbmlzbSBvZiB0aGUNCj4+Pj4+IEludGVybmV0IGhhZCBwdXQg bXVjaCBvZiB0aGUgbWVjaGFuaXNtIGluIHRoZSB1c2VycycgY29tcHV0ZXJzJyBUQ1ANCj4+ Pj4+IGltcGxlbWVudGF0aW9ucywgcmF0aGVyIHRoYW4gdGhlIHN3aXRjaGVzIHdoaWNoIGhh bmRsZSBvbmx5IElQLg0KPj4+Pj4gV2l0aG91dCBtZWNoYW5pc21zIGluIHRoZSB1c2Vycycg Y29tcHV0ZXJzLCBhbGwgYSBzd2l0Y2ggY291bGQgZG8gaXMNCj4+Pj4+IG9yZGVyIG1vcmUg Y2lyY3VpdHMsIGFuZCBhZGQgbW9yZSBtZW1vcnkgdG8gdGhlIHN3aXRjaGVzIGZvciBxdWV1 aW5nLg0KPj4+Pj4gUGVyaGFwcyB0aGF0IGxlZCB0byAiYnVmZmVyYmxvYXQiLg0KPj4+Pj4N Cj4+Pj4+IFNvIFRPUywgU1EsIGFuZCBUVEwgd2VyZSBhbGwgcGxhY2Vob2xkZXJzLCBmb3Ig c29tZSBtZWNoYW5pc20gaW4gYQ0KPj4+Pj4gZnV0dXJlIHJlbGVhc2UgdGhhdCB3b3VsZCBp bnRyb2R1Y2UgYSAicmVhbCIgZm9ybSBvZiBCYWNrcHJlc3N1cmUgYW5kDQo+Pj4+PiB0aGUg YWJpbGl0eSB0byBoYW5kbGUgZGlmZmVyZW50IHR5cGVzIG9mIHRyYWZmaWMuIMKgwqBNZWFu d2hpbGUsIHRoZXNlDQo+Pj4+PiBydWRpbWVudGFyeSBtZWNoYW5pc21zIHdvdWxkIHByb3Zp ZGUgc29tZSBmbG93IGNvbnRyb2wuIEhvcGVmdWxseSB0aGUNCj4+Pj4+IHVzZXJzJyBjb21w dXRlcnMgc2VuZGluZyB0aGUgZmxvd3Mgd291bGQgcmVzcG9uZCB0byB0aGUgU1ENCj4+Pj4+ IGJhY2twcmVzc3VyZSwgYW5kIHN3aXRjaGVzIHdvdWxkIHByaW9yaXRpemUgdHJhZmZpYyB1 c2luZyB0aGUgVFRMIGFuZA0KPj4+Pj4gVE9TIGluZm9ybWF0aW9uLg0KPj4+Pj4NCj4+Pj4+ IEJ1dCwgYmVpbmcgd2F5IG91dCBvZiB0b3VjaCwgSSBkb24ndCBrbm93IHdoYXQgYWN0dWFs bHkgaGFwcGVucw0KPj4+Pj4gdG9kYXkuIMKgUGVyaGFwcyB0aGUgY3VycmVudCBvcGVyYXRv cnMgYW5kIGN1cnJlbnQgZ292ZXJubWVudCB3YXRjaGVycw0KPj4+Pj4gY2FuIGFuc3dlcj86 Z2l0IGNsb25lIGh0dHBzOi8vcmptY21haG9uQGdpdC5jb2RlLnNmLm5ldC9wL2lwZXJmMi9j b2RlDQo+Pj4+PiBpcGVyZjItY29kZQ0KPj4+Pj4NCj4+Pj4+IDEvIEhvdyBkbyBjdXJyZW50 IHN3aXRjaGVzIGV4ZXJ0IEJhY2twcmVzc3VyZSB0byDCoHJlZHVjZSBjb21wZXRpbmcNCj4+ Pj4+IHRyYWZmaWMgZmxvd3M/IMKgRG8gdGhleSBzdGlsbCBzZW5kIFNRcz8NCj4+Pj4+DQo+ Pj4+PiAyLyBIb3cgZG8gdGhlIGN1cnJlbnQgYW5kIHByb3Bvc2VkIGdvdmVybm1lbnQgcmVn dWxhdGlvbnMgdHJlYXQgdGhlDQo+Pj4+PiBkaWZmZXJlbnQgbmVlZHMgb2YgZGlmZmVyZW50 IHR5cGVzIG9mIHRyYWZmaWMsIGUuZy4sICJCdWxrIiB2ZXJzdXMNCj4+Pj4+ICJJbnRlcmFj dGl2ZSIgdmVyc3VzICJOb3JtYWwiPyDCoEFyZSBJbnRlcm5ldCBjYXJyaWVycyBwZXJtaXR0 ZWQgdG8NCj4+Pj4+IHRyZWF0IHRyYWZmaWMgdHlwZXMgZGlmZmVyZW50bHk/IMKgQXJlIHRo ZXkgcGVybWl0dGVkIHRvIGNoYXJnZQ0KPj4+Pj4gZGlmZmVyZW50IGFtb3VudHMgZm9yIGRp ZmZlcmVudCB0eXBlcyBvZiBzZXJ2aWNlPw0KPj4+Pj4NCj4+Pj4+IEphY2sgSGF2ZXJ0eQ0K Pj4+Pj4NCj4+Pj4+IE9uIDEwLzE1LzIzIDA5OjQ1LCBEYXZlIFRhaHQgdmlhIE5uYWdhaW4g d3JvdGU6DQo+Pj4+Pj4gRm9yIHN0YXJ0ZXJzIEkgd291bGQgbGlrZSB0byBhcG9sb2dpemUg Zm9yIGNjLWluZyBib3RoIG5hbm9nIGFuZCBteQ0KPj4+Pj4+IG5ldyBubiBsaXN0LiAoSSB3 aWxsIGFkZCBzZW5kZXIgZmlsdGVycykNCj4+Pj4+Pg0KPj4+Pj4+IEEgYml0IG1vcmUgYmVs b3cuDQo+Pj4+Pj4NCj4+Pj4+PiBPbiBTdW4sIE9jdCAxNSwgMjAyMyBhdCA5OjMy4oCvQU0g VG9tIEJlZWNoZXIgPGJlZWNoZXJAYmVlY2hlci5jYz4NCj4+Pj4+PiB3cm90ZToNCj4+Pj4+ Pj4+IFNvIGZvciBub3csIHdlJ2xsIGtlZXAgcGF5aW5nIGZvciB0cmFuc2l0IHRvIGdldCB0 byB0aGUgb3RoZXJzDQo+Pj4+Pj4+PiAoc2luY2UgaXTigJlzIGFib3V0IGFzIG11Y2ggYXMg dHJhbnNwb3J0aW5nIElYUCBmcm9tIERhbGxhcyksIGFuZA0KPj4+Pj4+Pj4gaG9waW5nIHNv bWVvbmUgYXQgR29vZ2xlIGZpbmFsbHkgc2VlcyBIb3VzdG9uIGFzIG1vcmUgdGhhbiBhIHRo aXJkDQo+Pj4+Pj4+PiByYXRlIGNpdHkgaGFuZ2luZyBvZmYgb2YgRGFsbGFzLiBPcuKApiBz b21lb25lIGZpbmFsbHkgYnJpbmdzIGENCj4+Pj4+Pj4+IHdvcnRod2hpbGUgSVggdG8gSG91 c3RvbiB0aGF0IGdldHMgdXMgbW9yZSB0aGFuIHBlZXJpbmcgdG8gS2Fuc2FzDQo+Pj4+Pj4+ PiBDaXR5LiBZZWFoLCBJIHRoaW5rIHRoZSBmb3JtZXIgaXMgbW9yZSBsaWtlbHkuIPCfmIoN Cj4+Pj4+Pj4NCj4+Pj4+Pj4gVGhlcmUgaXMgb2Z0ZW4gYSBjaGlja2VuL2VnZyBzY2VuYXJp byBoZXJlIHdpdGggdGhlIGVjb25vbWljcy4gQXMgYW4NCj4+Pj4+Pj4gZXllYmFsbCBuZXR3 b3JrLCB5b3VyIGNvc3RzIHRvIGJ1aWxkIG91dCBhbmQgY29ubmVjdCB0byBEYWxsYXMgYXJl DQo+Pj4+Pj4+IGdyZWF0ZXIgdGhhbiB5b3VyIHRyYW5zaXQgY29zdCwgc28geW91IGRvIHRo YXQuIFRvdGFsbHkgZmFpci4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gSG93ZXZlciB0aGluayBhYm91 dCBpdCBmcm9tIHRoZSBjb250ZW50IHNpZGUuIFNheSBJIHdhbnQgdG8gYnVpbGQNCj4+Pj4+ Pj4gaW50byB0byBIb3VzdG9uLiBJIGhhdmUgdG8gcHV0IHJvdXRlcnMgaW4sIGFuZCBhIGJ1 bmNoIG9mIGNhY2hlDQo+Pj4+Pj4+IHNlcnZlcnMsIHNvIEkgaGF2ZSBjYXBpdGFsIG91dGxh eSAsIHBsdXMgb3BleCBmb3Igc3BhY2UsIHBvd2VyLA0KPj4+Pj4+PiBJWC9iYWNraGF1bC90 cmFuc2l0IGNvc3RzLiBUaGF0J3Mgbm90IGNoZWFwLCBzbyB0aGVyZSdzIGEgbG90IG9mDQo+ Pj4+Pj4+IGNhbGN1bGF0aW9ucyB0aGF0IGdvIGludG8gaXQuIElzIHRoZXJlIGVub3VnaCB0 b3RhbCBleWViYWxsIHRyYWZmaWMNCj4+Pj4+Pj4gdGhlcmUgdG8gbWFrZSBpdCB3b3J0aCBp dD8gSXMgc2F2aW5nIDgtMTBtcyBlbm91Z2ggb2YgYSBwZXJmb3JtYW5jZQ0KPj4+Pj4+PiBi b29zdCB0byBqdXN0aWZ5IHRoZSBzcGVuZD8gV2hhdCBhcmUgdGhlIGxvbmcgdGVybSB0cmVu ZHMgaW4gdGhhdA0KPj4+Pj4+PiBtYXJrZXQ/IFRoZXNlIGFuc3dlcnMgYXJlIG9mIGNvdXJz ZSBkaWZmZXJlbnQgZm9yIGEgY29tcGFueSBydW5uaW5nDQo+Pj4+Pj4+IHRoZWlyIG93biBD RE4gdnMgdGhlIGNvbW1lcmNpYWwgQ0ROcy4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gSSBkb24ndCB3 b3JrIGZvciBHb29nbGUgYW5kIG9idmlvdXNseSBkb24ndCBzcGVhayBmb3IgdGhlbSwgYnV0 IEkNCj4+Pj4+Pj4gd291bGQgc3VzcGVjdCB0aGF0IHRoZXkncmUgaGFwcHkgdG8gZWF0IGEg OC0xMG1zIHBlcmZvcm1hbmNlIGhpdCB0bw0KPj4+Pj4+PiBzZXJ2ZSBmcm9tIERhbGxhcyAs IHZlcnN1cyB0aGUgYW1vdW50IG9mIGNhcGl0YWwgb3V0bGF5IHRvIGJ1aWxkIG91dA0KPj4+ Pj4+PiB0aGVyZSByaWdodCBub3cuDQo+Pj4+Pj4gVGhlIHRocmVlIGZvcm1zIG9mIHRyYWZm aWMgSSBjYXJlIG1vc3QgYWJvdXQgYXJlIHZvaXAsIGdhbWluZywgYW5kDQo+Pj4+Pj4gdmlk ZW9jb25mZXJlbmNpbmcsIHdoaWNoIGFyZSByZXdhcmRpbmcgdG8gaGF2ZSBhdCBsb3dlciBs YXRlbmNpZXMuDQo+Pj4+Pj4gV2hlbiBJIHdhcyBhIGtpZCwgd2UgaGFkIHN3aXRjaGVkIHBo b25lIG5ldHdvcmtzLCBhbmQgd2hpbGUgdGhlIHNvdW5kDQo+Pj4+Pj4gcXVhbGl0eSB3YXMg cG9vcmVyIHRoYW4gdG9kYXksIHRoZSB2b2ljZSBsYXRlbmN5IGNyb3NzLXRvd24gd2FzIGp1 c3QNCj4+Pj4+PiBsaWtlICJiZWluZyB0aGVyZSIuIE5vd2FkYXlzIHdlIHNlZSA1MDArbXMg bGF0ZW5jaWVzIGZvciB0aGlzIGtpbmQgb2YNCj4+Pj4+PiB0cmFmZmljLg0KPj4+Pj4+DQo+ Pj4+Pj4gQXMgdG8gaG93IHRvIG1ha2UgY2FsbHMgYWNyb3NzIHRvd24gd29yayB0aGF0IHdl bGwgYWdhaW4sIA0KPj4+Pj4+IGNvc3Qtd2lzZSwgSQ0KPj4+Pj4+IGRvIG5vdCBrbm93LCBi dXQgdGhlIHZvbHVtZSBvZiB0cmFmZmljIHRoYXQgd291bGQgYmUgYmV0dGVyIHNlcnZlZCBi eQ0KPj4+Pj4+IHRoZXNlIGludGVyY29ubmVjdHMgcXVpdGUgbG93LCByZXNwZWN0aXZlIHRv IHRoZSBvdmVyYWxsIGdhaW5zIGluDQo+Pj4+Pj4gbG93ZXIgbGF0ZW5jeSBleHBlcmllbmNl cyBmb3IgdGhlbS4NCj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pj4gT24gU2F0LCBP Y3QgMTQsIDIwMjMgYXQgMTE6NDfigK9QTSBUaW0gQnVya2UgPHRpbUBtaWQubmV0PiB3cm90 ZToNCj4+Pj4+Pj4+IEkgd291bGQgc2F5IHRoYXQgYSAxR2JpdCBJUCB0cmFuc2l0IGluIGEg Y2FycmllciBuZXV0cmFsIERDIGNhbiBiZQ0KPj4+Pj4+Pj4gaGFkIGZvciBhIGdvb2QgYml0 IGxlc3MgdGhhbiAkOTAwIG9uIHRoZSB3aG9sZXNhbGUgbWFya2V0Lg0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+IFNhZGx5LCBJWFDigJlzIGFyZSBzZWVtaW5nbHkgdHVybmluZyBpbnRvIGEgcGF5 IHRvIHBsYXkgZ2FtZSwgd2l0aA0KPj4+Pj4+Pj4gcmF0ZXMgYWxtb3N0IGNvc3RpbmcgYXMg bXVjaCBhcyB0cmFuc2l0IGluIG1hbnkgY2FzZXMgYWZ0ZXIgeW91DQo+Pj4+Pj4+PiBmYWN0 b3IgaW4gbG9vcCBjb3N0cy4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBGb3IgZXhhbXBsZSwgaW4g dGhlIEhvdXN0b24gbWFya2V0IChvbmUgb2YgdGhlIGxhcmdlc3QgYW5kIGZhc3Rlc3QNCj4+ Pj4+Pj4+IGdyb3dpbmcgcmVnaW9ucyBpbiB0aGUgVVMhKSwgd2UgZG8gbm90IGhhdmUgYSBt YWpvciBJWCwgc28gdG8gDQo+Pj4+Pj4+PiBnZXQgdXANCj4+Pj4+Pj4+IHRvIERhbGxhcyBp dOKAmXMgc2V2ZXJhbCB0aG91c2FuZCBmb3IgYSAxMDBnIHdhdmUsIHBsdXMgc2V2ZXJhbA0K Pj4+Pj4+Pj4gdGhvdXNhbmQgZm9yIGEgMTAwZyBwb3J0IG9uIG9uZSBvZiB0aG9zZSBtYWpv ciBJWGVzLiBPciwgYSBiZXR0ZXINCj4+Pj4+Pj4+IG9wdGlvbiwgd2UgY2FuIGdldCBhIDEw MGcgZmxhdCBpbnRlcm5ldCB0cmFuc2l0IGZvciBqdXN0IGEgbGl0dGxlDQo+Pj4+Pj4+PiBi aXQgbW9yZS4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBGb3J0dW5hdGVseSwgZm9yIHVzIGFzIGFu IGV5ZWJhbGwgbmV0d29yaywgdGhlcmUgYXJlIGEgZ29vZCBudW1iZXINCj4+Pj4+Pj4+IG9m IG1ham9yIGNvbnRlbnQgbmV0d29ya3MgdGhhdCBhcmUgYWxsb3dpbmcgZm9yIHByaXZhdGUg cGVlcmluZyBpbg0KPj4+Pj4+Pj4gbWFya2V0cyBsaWtlIEhvdXN0b24gZm9yIGp1c3QgdGhl IGNvc3Qgb2YgYSBjcm9zcyBjb25uZWN0IGFuZCBhIA0KPj4+Pj4+Pj4gUVNGUA0KPj4+Pj4+ Pj4gaWYgeW914oCZcmUgaW4gdGhlIHJpZ2h0IERDLCB3aXRoIEdvb2dsZSBhbmQgc29tZSBv dGhlcnMgYmVpbmcgdGhlDQo+Pj4+Pj4+PiBvdXRsaWVycy4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+ PiBTbyBmb3Igbm93LCB3ZSdsbCBrZWVwIHBheWluZyBmb3IgdHJhbnNpdCB0byBnZXQgdG8g dGhlIG90aGVycw0KPj4+Pj4+Pj4gKHNpbmNlIGl04oCZcyBhYm91dCBhcyBtdWNoIGFzIHRy YW5zcG9ydGluZyBJWFAgZnJvbSBEYWxsYXMpLCBhbmQNCj4+Pj4+Pj4+IGhvcGluZyBzb21l b25lIGF0IEdvb2dsZSBmaW5hbGx5IHNlZXMgSG91c3RvbiBhcyBtb3JlIHRoYW4gYSB0aGly ZA0KPj4+Pj4+Pj4gcmF0ZSBjaXR5IGhhbmdpbmcgb2ZmIG9mIERhbGxhcy4gT3LigKYgc29t ZW9uZSBmaW5hbGx5IGJyaW5ncyBhDQo+Pj4+Pj4+PiB3b3J0aHdoaWxlIElYIHRvIEhvdXN0 b24gdGhhdCBnZXRzIHVzIG1vcmUgdGhhbiBwZWVyaW5nIHRvIEthbnNhcw0KPj4+Pj4+Pj4g Q2l0eS4gWWVhaCwgSSB0aGluayB0aGUgZm9ybWVyIGlzIG1vcmUgbGlrZWx5LiDwn5iKDQo+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4gU2VlIHnigJlhbGwgaW4gU2FuIERpZWdvIHRoaXMgd2VlaywN Cj4+Pj4+Pj4+IFRpbQ0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IE9uIE9jdCAxNCwgMjAyMywgYXQg MTg6MDQsIERhdmUgVGFodCA8ZGF2ZS50YWh0QGdtYWlsLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+ Pj4g77u/VGhpcyBzZXQgb2YgdHJlbmRsaW5lcyB3YXMgdmVyeSBpbnRlcmVzdGluZy4gVW5m b3J0dW5hdGVseSB0aGUNCj4+Pj4+Pj4+PiBkYXRhDQo+Pj4+Pj4+Pj4gc3RvcHMgaW4gMjAx NS4gRG9lcyBhbnlvbmUgaGF2ZSBtb3JlIHJlY2VudCBkYXRhPw0KPj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4gaHR0cHM6Ly9kcnBlZXJpbmcubmV0L3doaXRlLXBhcGVycy9JbnRlcm5ldC1UcmFu c2l0LVByaWNpbmctSGlzdG9yaWNhbC1BbmQtUHJvamVjdGVkLnBocA0KPj4+Pj4+Pj4+DQo+ Pj4+Pj4+Pj4gSSBiZWxpZXZlIGEgZ2JpdCBjaXJjdWl0IHRoYXQgYW4gSVNQIGNhbiByZXNl bGwgc3RpbGwgcnVucyBhdCANCj4+Pj4+Pj4+PiBhYm91dA0KPj4+Pj4+Pj4+ICQ5MDAgLSAk MS40ayAoPykgaW4gdGhlIHVzYT8gSG93IGFib3V0IGVsc2V3aGVyZT8NCj4+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4+IC4uLg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gSSBhbSB1bmRlciB0aGUgaW1w cmVzc2lvbiB0aGF0IG1hbnkgSVhQcyByZW1haW4gdmVyeSBzdWNjZXNzZnVsLA0KPj4+Pj4+ Pj4+IHN0YXRlcyB3aXRob3V0IHRoZW0gc3VmZmVyLCBhbmQgSSBhbHNvIGZpbmQgdGhlIGNv bmNlcHQgb2YgZG9pbmcNCj4+Pj4+Pj4+PiBtaWNybw0KPj4+Pj4+Pj4+IElYUHMgYXQgdGhl IGNpdHkgbGV2ZWwsIGFwcGVhbGluZywgYW5kIG5vdyBhY2hpZXZhYmxlIHdpdGggY2hlYXAN Cj4+Pj4+Pj4+PiBnZWFyLg0KPj4+Pj4+Pj4+IEZpbmVyIGdyYWluZWQgY3Jvc3MgY29ubmVj dHMgYmV0d2VlbiB0ZWxjbyBhbmQgSVNQIGFuZCBJWFAgd291bGQNCj4+Pj4+Pj4+PiBsb3dl cg0KPj4+Pj4+Pj4+IGxhdGVuY2llcyBhY3Jvc3MgdG93biBxdWl0ZSBodWdlbHkuLi4NCj4+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFBTIEkgaGVhciBBUklOIGlzIHBsYW5uaW5nIG9uIGRyb3Bw aW5nIHRoZSBwcmljZSBmb3IsIGFuZCBidW5kbGluZw0KPj4+Pj4+Pj4+IDMNCj4+Pj4+Pj4+ PiBCR1AgQVMgbnVtYmVycyBhdCBhIHRpbWUsIGFzIG9mIHRoZSBlbmQgb2YgdGhpcyB5ZWFy LCBhbHNvLg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IC0t DQo+Pj4+Pj4+Pj4gT2N0IDMwOg0KPj4+Pj4+Pj4+IGh0dHBzOi8vbmV0ZGV2Y29uZi5pbmZv LzB4MTcvbmV3cy90aGUtbWFlc3Ryby1hbmQtdGhlLW11c2ljLWJvZi5odG1sDQo+Pj4+Pj4+ Pj4gRGF2ZSBUw6RodCBDU08sIExpYnJlUW9zDQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4NCj4+ Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ Pj4+PiBObmFnYWluIG1haWxpbmcgbGlzdA0KPj4+Pj4gTm5hZ2FpbkBsaXN0cy5idWZmZXJi bG9hdC5uZXQNCj4+Pj4+IGh0dHBzOi8vbGlzdHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZv L25uYWdhaW4NCj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCj4+Pj4gTm5hZ2FpbiBtYWlsaW5nIGxpc3QNCj4+Pj4gTm5hZ2FpbkBsaXN0 cy5idWZmZXJibG9hdC5uZXQNCj4+Pj4gaHR0cHM6Ly9saXN0cy5idWZmZXJibG9hdC5uZXQv bGlzdGluZm8vbm5hZ2Fpbg0KPj4+Pg0KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXw0KPj4+PiBObmFnYWluIG1haWxpbmcgbGlzdA0KPj4+ PiBObmFnYWluQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPj4+PiBodHRwczovL2xpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9ubmFnYWluDQo+Pj4NCj4+DQo+PiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4gTm5hZ2FpbiBtYWls aW5nIGxpc3QNCj4+IE5uYWdhaW5AbGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+PiBodHRwczov L2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9ubmFnYWluDQo+DQo+DQo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IE5uYWdhaW4g bWFpbGluZyBsaXN0DQo+IE5uYWdhaW5AbGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+IGh0dHBz Oi8vbGlzdHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZvL25uYWdhaW4NCg0K --------------hnaULdhvlwjlo9EBLOS6eJno Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable When I introduced the VGV acronym, I used Gaming as the G, but that was probably misleading.=C2=A0 There are many "use cases" other than gaming.=C2=A0=C2=A0 A better term might be Interactive, and a VIV acr= onym.=C2=A0

Personally, I've been experimenting with "home automation", and have found the cloud-based schemes to be intolerable.=C2=A0=C2=A0 When you= flip a light switch, you expect the light to come on almost instantly, and cloud-based mechanisms are disturbingly inconsistent, possibly due to variability in latency.=C2=A0=C2=A0 Lights turning on 20 seconds a= fter you flip the switch is unacceptable.

There are other such "serious" Interactive use cases not related to Gaming.=C2=A0 Consider, for example, a "driverless" vehicle which rel= ies on the ability for a human at some remote control center to "take over" control of a vehicle when necessary.=C2=A0=C2=A0 Or a power pla= nt, or medical device, or ...

IMHO, "Use Cases" are the foundation to setting good policy and regulation.=C2=A0 What should Users expect to be able to do when usin= g the Internet?=C2=A0=C2=A0

Back in the early days, the design of Internet mechanisms was driven by several "use cases".=C2=A0 Since the project was funded by the military, the use cases were also military.=C2=A0=C2=A0 But humans ne= ed similar kinds of communications, whether they are exchanging commands to the troops or tweets to the forums.

One such "use case" motivated the concern for latency.=C2=A0 The scen= ario was simple.=C2=A0 An army is engaged in some action, and an online conference is being held amongst all the players, from the generals in HQs to the field commanders in tents or even jeeps or airplanes.=C2= =A0 The conference supports multimedia interactions, using something like a "shared whiteboard" that everyone can see (video was just a dream in 1980) and change using a mouse or some kind of pointer device.

In such a scenario, the participants might be viewing a map, and exchanging information while pointing on the map.=C2=A0 "The enemy HQ= is here."=C2=A0 "Our patrol is here."=C2=A0 "Send the battalion here."=C2= =A0 "We'll order artillery to strike here."=C2=A0 It's very important that the pointing is synchronized with the speech, and that the graphics and speech are delivered intact.

Those scenarios motivated the inclusion of Internet mechanisms such as SQ, TTL, TOS et al.
=C2=A0
Such scenarios are used today, quite frequently, in normal everyday life by humans in all sorts of activities.=C2=A0 They're no longer ju= st military situations.

Considering "freedom of speech", what are the Use Cases that the Internet must support?=C2=A0 Setting aside the question of what can b= e said, are there other aspects of freedom of speech?=C2=A0

One example - assuming people should have the right to speak anonymously, should they also have the right to speak non-anonymously?=C2=A0 Should someone have the right to know that spe= ech attributed to some person actually was spoken by that person?

Today, regulators are dealing with this question in other venues, e.g., by adding, and enforcing, the notion of "verified" telephone numbers, in response to the tsunami of robocalls, phishing, and such activities.=C2=A0 Should the Internet also provide a way to verify th= e sources of emails, blog posts, etc.?

I've "digitally signed" this message, using the technology which I found in my email program. =C2=A0 Maybe that will enable you to belie= ve that I actually wrote this message. =C2=A0 But I rarely receive any "signed" email, except occasionally from members of the Technorati.=C2= =A0 Perhaps the requirement to be anonymous is just part of the Internet now? =C2=A0 Or is that a Use Case that simply hasn't been developed, propagated, and enforced yet?

What are the "Use Cases" that the Internet must support, and that regulators should enforce?

Jack Haverty
=C2=A0


On 10/17/23 10:26, Spencer Sevilla via= Nnagain wrote:
I know this is a small side note but I felt compelled to speak up in defense of online gaming. I=E2=80=99m not a gamer at all and up = till a year or two ago, would have agreed with Dick=E2=80=99s take about b= enefit to =E2=80=9Csociety as a whole.=E2=80=9D However, lately I=E2=80=99= ve started hearing some research on the benefits of groups of friends using online games to socialize together, effectively using the game primarily as a group call.

There=E2=80=99s also this project, where people have collected= banned/censored books into a library in Minecraft. Specifically as a solution to contexts where regulators/censors ban and monitor content through other channels (websites etc) but don=E2=80= =99t surveil Minecraft... Presumably because they share Dick=E2=80=99s= opinion ;-)=C2=A0https:= //www.uncensoredlibrary.com/en

On Oct 17, 2023, at 03:26, Sebastian Moeller via Nnagain <nnagain@lists.bufferbloat.net>= wrote:

Hi Richard,


On Oct 16, 2023, at 20:04, Dick Roy <dickroy@alum.mit.edu> wrote:

Good points all, Sebastien. =C2=A0How to "trade-off" a fixed capacity amongst many users is ultimately a game theoretic problem when users are allowed to make choices, which is certainly the case here. =C2=A0Second= ly, any network that can and does generate "more traffic" (aka overhead such as ACKs NACKs and retries) reduces the capacity of the network, and ultimately can lead to the "user" capacity going to zero! =C2=A0Such is lif= e in the fast lane (aka the internet).

Lastly, on the issue of low-latency real-time experience, there are many applications that need/want such capabilities that actually have a net benefit to the individuals involved AND to society as a whole. =C2=A0IMO, interactive gaming is NOT one of those.

[SM= ] Yes, gaming is one obvious example of a class of uses that work best with low latency and low jitter, not necessarily an example for a use-case worthy enough to justify the work required to increase the responsiveness of the internet. Other examples are video conferences, VoIP, in extension of both musical collaboration over the internet, and surprising to some even plain old web browsing (it often needs to first read a page before being able to follow links and load resources, and every read takes at best a single RTT). None of these are inherently beneficial or detrimental to individuals or society, but most can be used to improve the status quo... I would argue that in the last 4 years the relevance of interactive use-cases has been made quite clear to a lot of folks...


OK, so now you know I don't engage in these time sinks with no redeeming social value.:)

[SM= ] Duly noted ;)

Since it is not hard to argue that just like power distribution, information exchange/dissemination is "in the public interest", the question becomes "Do we allow any and all forms of information exchange/dissemination over what is becoming something akin to a public utility?" =C2=A0FWIW, I don't know the= answer to this question! :)

[SM= ] This is an interesting question and one (only) tangentially related to network neutrality... it is more related to freedom of speech and limits thereof. Maybe a question for another mailing list? Certainly one meriting a topic change...


Reg= ards
Seb= astian


Cheers,

RR

-----Original Message-----
From: Sebastian Moeller [mailto:moeller0@gmx.de]=C2=A0
Sent: Monday, October 16, 2023 10:36 AM
To: dickroy@alum.mit.edu; Network Neutrality is b= ack! Let=C2=B4s make the technical aspects heard this time!<= br> Subject: Re: [NNagain] transit and peering costs projections

Hi Richard,


On Oct 16, 2023, at 19:01, Dick Roy via Nnagain <nnagain@lists.bufferbloat.net> wro= te:

Just an observation: =C2=A0ANY type of congestion con= trol that changes application behavior in response to congestion, or predicted congestion (ENC), begs the question "How does throttling of application information exchange rate (aka behavior) affect the user experience and will the user tolerate it?"=C2=A0

[SM] The trade-off here is, if the application does not respond (or rather if no application would respond) we would end up with congestion collapse where no application would gain much of anything as the network busies itself trying to re-transmit dropped packets without making much head way... Simplistic game theory application might imply that individual applications could try to game this, and generally that seems to be true, but we have remedies for that available..



Given any (complex and packet-switched) network topology of interconnected nodes and links, each with possible a different capacity and characteristics, such as the internet today, IMO the two fundamental questions are:

1) How can a given network be operated/configured so as to maximize aggregate throughput (i.e. achieve its theoretical capacity), and
2) What things in the network need to change to increase the throughput (aka parameters in the network with the largest Lagrange multipliers associated with them)?

[SM] The thing is we generally know how to maximize (average) throughput, just add (over-)generous amounts of buffering, the problem is that this screws up the other important quality axis, latency... We ideally want low latency and even more low latency variance (aka jitter) AND high throughput... Turns out though that above a certain throughput threshold* many users do not seem to care all that much for more throughput as long as interactive use cases are sufficiently responsive... but high responsiveness requires low latency and low jitter... This is actually a good thing, as that means we do not necessarily aim for 100% utilization (almost requiring deep buffers and hence resulting in compromised latency) but can get away with say 80-90% where shallow buffers will do (or rather where buffer filling stays shallow, there is IMHO still value in having deep buffers for rare events that need it).



*) This is not a hard physical law so the exact threshold is not set in stone, but unless one has many parallel users, something in the 20-50 Mbps range is plenty and that is only needed in the "loaded" direction, that is for pure consumers the upload can be thinner, for pure producers the download can be thinner.



I am not an expert in this field,

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[SM] Nor am I, I come fro= m the wet-ware side of things so not even soft- or hard-ware ;)


however it seems to me that answers to these questions would be useful, assuming they are not yet available!

Cheers,

RR



-----Original Message-----
From: Nnagain [mailto:nnagain-bounces@lists.bufferb= loat.net] On Behalf Of rjmcmahon via Nnagain
Sent: Sunday, October 15, 2023 1:39 PM
To: Network Neutrality is back! Let=C2=B4s make the technical aspects heard this time!
Cc: rjmcmahon
Subject: Re: [NNagain] transit and peering costs projections

Hi Jack,

Thanks again for sharing. It's very interesting to me.

Today, the networks are shifting from capacity constrained to latency=C2=A0
constrained, as can be seen in the IX discussions about how the speed of=C2=A0
light over fiber is too slow even between Houston & Dallas.

The mitigations against standing queues (which cause bloat today) are:

o) Shrink the e2e bottleneck queue so it will drop packets in a flow and=C2=A0
TCP will respond to that "signal"
o) Use some form of ECN marking where the network forwarding plane=C2=A0
ultimately informs the TCP source state machine so it can slow down or=C2=A0
pace effectively. This can be an earlier feedback signal and, if done=C2=A0
well, can inform the sources to avoid bottleneck queuing. There are=C2=A0
couple of approaches with ECN. Comcast is trialing L4S now which seems=C2=A0
interesting to me as a WiFi test & measurement engineer. The jury is=C2=A0
still out on this and measurements are needed.
o) Mitigate source side bloat via TCP_NOTSENT_LOWAT
The QoS priority approach per congestion is orthogonal by my judgment as=C2=A0
it's typically not supported e2e, many networks will bleach DSCP=C2=A0=
markings. And it's really too late by my judgment.
Also, on clock sync, yes your generation did us both a service and=C2= =A0
disservice by getting rid of the PSTN TDM clock ;) So IP networking=C2=A0
devices kinda ignored clock sync, which makes e2e one way delay (OWD)=C2=A0
measurements impossible. Thankfully, the GPS atomic clock is now=C2= =A0
available mostly everywhere and many devices use TCXO oscillators so=C2=A0
it's possible to get clock sync and use oscillators that can minimize=C2=A0
drift. I pay $14 for a Rpi4 GPS chip with pulse per second as an=C2= =A0
example.

It seems silly to me that clocks aren't synced to the GPS atomic clock=C2=A0
even if by a proxy even if only for measurement and monitoring.

Note: As Richard Roy will point out, there really is no such thing as=C2=A0
synchronized clocks across geographies per general relativity - so those=C2=A0
syncing clocks need to keep those effects in mind. I limited the iperf 2=C2=A0
timestamps to microsecond precision in hopes avoiding those issues.

Note: With WiFi, a packet drop can occur because an intermittent RF= =C2=A0
channel condition. TCP can't tell the difference between an RF drop vs a=C2=A0
congested queue drop. That's another reason ECN markings from network=C2=A0
devices may be better than dropped packets.

Note: I've added some iperf 2 test support around pacing as that seems=C2=A0
to be the direction the industry is heading as networks are less and=C2=A0
less capacity strained and user quality of experience is being driven by=C2=A0
tail latencies. One can also test with the Prague CCA for the L4S= =C2=A0
scenarios. (This is a fun project: https://www.l4sgear.com/ and fairly=C2=A0
low cost)

--fq-rate n[kmgKMG]
Set a rate to be used with fair-queuing based socket-level pacing, in=C2=A0
bytes or bits per second. Only available on platforms supporting the=C2=A0
SO_MAX_PACING_RATE socket option. (Note: Here the suffixes indicate=C2=A0
bytes/sec or bits/sec per use of uppercase or lowercase, respectively)

--fq-rate-step n[kmgKMG]
Set a step of rate to be used with fair-queuing based socket-level=C2=A0
pacing, in bytes or bits per second. Step occurs every=C2=A0
fq-rate-step-interval (defaults to one second)

--fq-rate-step-interval n
Time in seconds before stepping the fq-rate

Bob

PS. Iperf 2 man page https://iperf2.sourceforge.io/ipe= rf-manpage.html

The "VGV User" (Voice, Gaming, Videoconferencing) cares a lot about
latency. =C2=A0=C2=A0It's not just "rewarding" to h= ave lower latencies; high
latencies may make VGV unusable. =C2=A0=C2=A0Averag= e (or "typical") latency as
the FCC label proposes isn't a good metric to judge usability. =C2=A0A path
which has high variance in latency can be unusable even if the average
is quite low. =C2=A0=C2=A0Having your voice or vide= o or gameplay "break up"
every minute or so when latency spikes to 500 msec makes the "user
experience" intolerable.

A few years ago, I ran some simple "ping" tests to help a friend who
was trying to use a gaming app. =C2=A0My data was o= nly for one specific
path so it's anecdotal. =C2=A0What I saw was surpri= sing - zero data loss,
every datagram was delivered, but occasionally a datagram would take
up to 30 seconds to arrive. =C2=A0I didn't have the= ability to poke around
inside, but I suspected it was an experience of "bufferbloat", enabled
by the dramatic drop in price of memory over the decades.

It's been a long time since I was involved in operating any part of
the Internet, so I don't know much about the inner workings today.
Apologies for my ignorance....

There was a scenario in the early days of the Internet for which we
struggled to find a technical solution. =C2=A0Imagi= ne some node in the
bowels of the network, with 3 connected "circuits" to some other
nodes. =C2=A0On two of those inputs, traffic is arriving to be forwarded
out the third circuit. =C2=A0The incoming flows are= significantly more than
the outgoing path can accept.

What happens? =C2=A0=C2=A0How is "backpressure" gen= erated so that the incoming
flows are reduced to the point that the outgoing circuit can handle
the traffic?

About 45 years ago, while we were defining TCPV4, we struggled with
this issue, but didn't find any consensus solutions. =C2=A0So "placeholder"
mechanisms were defined in TCPV4, to be replaced as research continued
and found a good solution.

In that "placeholder" scheme, the "Source Quench" (SQ) IP message was
defined; it was to be sent by a switching node back toward the sender
of any datagram that had to be discarded because there wasn't any
place to put it.

In addition, the TOS (Type Of Service) and TTL (Time To Live) fields
were defined in IP.

TOS would allow the sender to distinguish datagrams based on their
needs. =C2=A0For example, we thought "Interactive" service might be needed
for VGV traffic, where timeliness of delivery was most important.=C2=A0
"Bulk" service might be useful for activities like file transfers,
backups, et al. =C2=A0=C2=A0"Normal" service might = now mean activities like
using the Web.

The TTL field was an attempt to inform each switching node about the
"expiration date" for a datagram. =C2=A0=C2=A0If a = node somehow knew that a
particular datagram was unlikely to reach its destination in time to
be useful (such as a video datagram for a frame that has already been
displayed), the node could, and should, discard that datagram to free
up resources for useful traffic. =C2=A0Sadly we had= no mechanisms for
measuring delay, either in transit or in queuing, so TTL was defined
in terms of "hops", which is not an accurate proxy for time. =C2=A0=C2=A0But
it's all we had.

Part of the complexity was that the "flow control" mechanism of the
Internet had put much of the mechanism in the users' computers' TCP
implementations, rather than the switches which handle only IP.
Without mechanisms in the users' computers, all a switch could do is
order more circuits, and add more memory to the switches for queuing.=C2=A0
= Perhaps that led to "bufferbloat".

So TOS, SQ, and TTL were all placeholders, for some mechanism in a
future release that would introduce a "real" form of Backpressure and
the ability to handle different types of traffic. =C2=A0=C2=A0Meanwhile, these
rudimentary mechanisms would provide some flow control. Hopefully the
users' computers sending the flows would respond to the SQ
backpressure, and switches would prioritize traffic using the TTL and
TOS information.

But, being way out of touch, I don't know what actually happens
today. =C2=A0Perhaps the current operators and curr= ent government watchers
can answer?:git clone https://rjmcmahon@git.code.sf.ne= t/p/iperf2/code=C2=A0
= iperf2-code

1/ How do current switches exert Backpressure to =C2=A0reduce competing
traffic flows? =C2=A0Do they still send SQs?

2/ How do the current and proposed government regulations treat the
different needs of different types of traffic, e.g., "Bulk" versus
"Interactive" versus "Normal"? =C2=A0Are Internet carriers permitted to
treat traffic types differently? =C2=A0Are they permitted to charge
different amounts for different types of service?
Jack Haverty

On 10/15/23 09:45, Dave Taht via Nnagain wrote:
=
For starters I would like= to apologize for cc-ing both nanog and my
new nn list. (I will add sender filters)

A bit more below.

On Sun, Oct 15, 2023 at 9:32=E2=80=AFAM Tom Beech= er <beecher@beecher.cc>=C2=A0 wrote:
So for now, we'll kee= p paying for transit to get to the others=C2=A0
(since it=E2=80=99s about as much as transpor= ting IXP from Dallas), and=C2=A0
hoping someone at Google finally sees Houston as more than a third=C2=A0
rate city hanging off of Dallas. Or=E2=80=A6 = someone finally brings a=C2=A0
worthwhile IX to Houston that gets us more than peering to Kansas=C2=A0
City. Yeah, I think the former is more likely. =F0=9F=98=8A

There is often a chicken/egg scenario here with the economics. As an=C2=A0=
eyeball network, your costs to build out and connect to Dallas are=C2=A0=
greater than your transit cost, so you do that. Totally fair.

However think about it from the content side. Say I want to build=C2=A0=
into to Houston. I have to put routers in, and a bunch of cache=C2=A0=
servers, so I have capital outlay , plus opex for space, power,=C2=A0=
IX/backhaul/transit costs. That's not cheap, so there's a lot of=C2=A0=
calculations that go into it. Is there enough total eyeball traffic=C2=A0=
there to make it worth it? Is saving 8-10ms enough of a performance=C2=A0=
boost to justify the spend? What are the long term trends in that=C2=A0=
market? These answers are of course different for a company running=C2=A0=
their own CDN vs the commercial CDNs.

I don't work for Google and obviously don't speak for them, but I=C2=A0=
would suspect that they're happy to eat a 8-10ms performance hit to=C2=A0=
serve from Dallas , versus the amount of capital outlay to build out=C2=A0=
there right now.
The three forms of traffic I care most about are voip, gaming, and
videoconferencing, which are rewarding to have at lower latencies.
When I was a kid, we had switched phone networks, and while the sound
quality was poorer than today, the voice latency cross-town was just
like "being there". Nowadays we see 500+ms latencies for this kind of
traffic.

As to how to make calls across town work that well again, cost-wise, I
do not know, but the volume of traffic that would be better served by
these interconnects quite low, respective to the overall gains in
lower latency experiences for them.



On Sat, Oct 14, 2023 at= 11:47=E2=80=AFPM Tim Burke <tim@mid.net> wrote:=
I would say that a 1Gbit IP transit in a carrier neutral DC can be=C2=A0=
had for a good bit less than $900 on the wholesale market.

Sadly, IXP=E2=80=99s are seemingly turning in= to a pay to play game, with=C2=A0
rates almost costing as much as transit in many cases after you=C2=A0
factor in loop costs.

For example, in the Houston market (one of the largest and fastest=C2=A0
growing regions in the US!), we do not have a major IX, so to get up=C2=A0
to Dallas it=E2=80=99s several thousand for a= 100g wave, plus several=C2=A0
thousand for a 100g port on one of those major IXes. Or, a better=C2=A0
option, we can get a 100g flat internet transit for just a little=C2=A0
bit more.

Fortunately, for us as an eyeball network, there are a good number=C2=A0
of major content networks that are allowing for private peering in=C2=A0
markets like Houston for just the cost of a cross connect and a QSFP=C2=A0
if you=E2=80=99re in the right DC, with Googl= e and some others being the=C2=A0
outliers.

So for now, we'll keep paying for transit to get to the others=C2=A0
(since it=E2=80=99s about as much as transpor= ting IXP from Dallas), and=C2=A0
hoping someone at Google finally sees Houston as more than a third=C2=A0
rate city hanging off of Dallas. Or=E2=80=A6 = someone finally brings a=C2=A0
worthwhile IX to Houston that gets us more than peering to Kansas=C2=A0
City. Yeah, I think the former is more likely. =F0=9F=98=8A

See y=E2=80=99all in San Diego this week,
= Tim

On Oct 14, 2023, at 18:04, Dave Taht <dave.taht@gmail.com> wrote:
=EF=BB=BFThis set o= f trendlines was very interesting. Unfortunately the=C2=A0
data
stops in 2015. Does anyone have more recent data?

https://drpee= ring.net/white-papers/Internet-Transit-Pricing-Historical-And-Projected.p= hp

I believe a gbit circuit that an ISP can resell still runs at about
$900 - $1.4k (?) in the usa? How about elsewhere?

...

I am under the impression that many IXPs remain very successful,
states without them suffer, and I also find the concept of doing=C2=A0
micro
IXPs at the city level, appealing, and now achievable with cheap=C2=A0
gear.
Finer grained cross connects between telco and ISP and IXP would=C2=A0
lower
latencies across town quite hugely...

PS I hear ARIN is planning on dropping the price for, and bundling=C2=A0
3
BGP AS numbers at a time, as of the end of this year, also.



--
Oct 30:=C2=A0
https://netdevconf.info/0x17/news= /the-maestro-and-the-music-bof.html
Dave T=C3=A4ht CSO, LibreQos



_______________________________________________
= Nnagain mailing list
Nnagain@lists.bufferbloat.net
https://lists.bufferbloat.net/lis= tinfo/nnagain
_______________________________________________
Nnagain mailing list
Nnagain@lists.bufferbloat.net
https://lists.bufferbloat.net/listi= nfo/nnagain

_______________________________________________
Nnagain mailing list
Nnagain@lists.bufferbloat.net
https://lists.bufferbloat.net/listi= nfo/nnagain


___= ____________________________________________
Nna= gain mailing list
Nnagain@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/nnagain<= /div>


____________________________=
___________________
Nnagain mailing list
Nnagain@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/nnagain

--------------hnaULdhvlwjlo9EBLOS6eJno-- --------------g299Xolw28ByENqKNJ6FsOUW-- --------------e3ZI0kRLOkhth1bXjpQkTex0 Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsD5BAABCAAjFiEEZLvMn5vmvTAlFEILdGzDIkA7jlAFAmUu6S8FAwAAAAAACgkQdGzDIkA7jlDo /gv+PgegWRFjPc0hObSDDGdpMewhd9F6JU+yEZWOO4R+UtzRDSPKSVFDewttYlK4/qZpQQpPPn9w hsuGrVrNxzdxv+fGDwtdLV1ybXr8UJL6ONBHt4+p2dcL3d8IrtKTB9V37FJQcxC/SJtCVtuKDcIL n0258rn8dSh1OE62b8rfYLYiph47saPR2IZoGld2VNBqmagC9vdf07a498w607RicpbOCNmGAcfw RuUoLr/6ydihImCmIS25lvL9l0EI8b6CVuROo26obYF+J4bVouTnEmnR0xvjeUQ52WLIq18ogVDW J7Fxf71pp/yW71E+OYPn0IZly//B0aVZqxCPt2rPLNoaA39qU4VwOLnyd6IpRfqOcgZP++6tjfTg zW94ZwSr785P+LMozjV1X6HHstD6fKdlec2ZEsozd0WPn7Xt7K0cXloon5qxf+myY0wIaNXQuVuZ dD1BqDCPPegSwjSFl9s+68IVFNtKkaTLJxpbEy+8TiETPr8doK3Vdhkh5n7U =wyHF -----END PGP SIGNATURE----- --------------e3ZI0kRLOkhth1bXjpQkTex0--