Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail From: Hugo van Kemenade Newsgroups: comp.lang.python.announce Subject: [Python-announce] Python 3.14.0 beta 2 is here! Date: Mon, 26 May 2025 22:39:54 +0300 Lines: 135 Approved: python-announce-list@python.org Message-ID: Reply-To: python-list@python.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Trace: news.uni-berlin.de Vv6tubMcc+3+ZlyYQ5/AKgs1bfz+Rhjd4IURo0O0LNRg== Cancel-Lock: sha1:iP39am8AQufOG0u5/IvT+rMNgHA= sha256:GktL9BN0EzlzEO3BJ3O3phVh6iR8KGIfDj7zQbweR2w= Delivered-To: python-announce-list@x.python.org Authentication-Results: mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=f8SQXFrk; dkim-adsp=pass; dkim-atps=neutral X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'url:psf': 0.04; 'entering': 0.05; 'planned': 0.05; 'volunteers': 0.05; 'circle': 0.07; 'exit': 0.07; 'happened': 0.07; 'maintainers': 0.07; 'pep': 0.07; 'received:mail-ej1-x62e.google.com': 0.07; 'simple.': 0.07; 'string': 0.07; 'template': 0.07; 'url:donations': 0.07; 'url:downloads': 0.07; 'van': 0.07; 'python.': 0.08; '3.2': 0.09; 'asynchronous': 0.09; 'binaries': 0.09; 'community:': 0.09; 'configuring': 0.09; 'exposure': 0.09; 'indiana': 0.09; 'installer': 0.09; 'json': 0.09; 'macos': 0.09; 'messages.': 0.09; 'moved': 0.09; 'ned': 0.09; 'organisation': 0.09; 'to:addr:python- announce-list': 0.09; 'url:release': 0.09; 'subject:Python': 0.12; 'supported': 0.15; 'syntax': 0.15; 'url-ip:140/8': 0.15; 'beta': 0.16; 'bugs': 0.16; 'builtin': 0.16; 'cases,': 0.16; 'command- line': 0.16; 'compression': 0.16; 'cpython.': 0.16; 'debugger': 0.16; 'deily': 0.16; 'developer,': 0.16; 'edge.': 0.16; 'expressions': 0.16; 'fixes': 0.16; 'formally': 0.16; 'hashes,': 0.16; 'hour.': 0.16; 'impossible': 0.16; 'inspect': 0.16; 'installable': 0.16; 'interpreter': 0.16; 'jit': 0.16; 'literals': 0.16; 'possible!': 0.16; 'releases': 0.16; 'semantics': 0.16; 'series,': 0.16; 'subject:here': 0.16; 'tasks.': 0.16; 'testing.': 0.16; 'third-party': 0.16; 'turns': 0.16; 'url:cpython': 0.16; 'url:peps': 0.16; 'urls': 0.16; 'wider': 0.16; '\xc5\x81ukasz': 0.16; 'problem': 0.16; 'python': 0.16; 'api': 0.17; 'url- ip:140.82/16': 0.17; 'values': 0.17; 'bug': 0.19; 'to:addr:python- list': 0.20; 'to:no real name:2**1': 0.22; 'install': 0.23; 'school': 0.23; 'goal': 0.23; 'installed': 0.23; 'url:github': 0.23; 'code': 0.23; 'list,': 0.24; '(and': 0.25; 'fellow': 0.25; 'prepare': 0.25; 'brought': 0.26; 'chair': 0.26; 'interface': 0.26; 'manager,': 0.26; 'pgp': 0.26; 'creating': 0.27; 'project.': 0.27; 'else': 0.27; 'foundation.': 0.28; 'tracker': 0.28; 'it,': 0.29; 'error': 0.29; 'packages': 0.31; 'offer': 0.70; '2nd': 0.70; 'instead,': 0.70; 'compared': 0.71; 'production': 0.71; 'risk': 0.71; 'free': 0.71; 'january': 0.71; 'longer': 0.71; 'yourself': 0.75; 'features': 0.75; 'subject:!': 0.76; '10th': 0.76; '18th': 0.76; 'major': 0.78; 'waste': 0.81; 'bill.': 0.84; 'circle,': 0.84; 'compass': 0.84; 'debate': 0.84; 'edwin': 0.84; 'ensured': 0.84; 'establishes': 0.84; 'experimental': 0.84; 'legislature': 0.84; 'mathematics.': 0.84; 'performance.': 0.84; 'phase.': 0.84; 'postponed': 0.84; 'preview': 0.84; 'previews': 0.84; 'proposition': 0.84; 'proved': 0.84; 'rare': 0.84; 'reading,': 0.84; 'signatures': 0.84; 'suspend': 0.84; 'walked': 0.84; 'wheels': 0.84; 'ancient': 0.91; 'education,': 0.91; 'greek': 0.91; 'laid': 0.91; 'nine': 0.91; 'here\xe2\x80\x99s': 0.93; 'bill': 0.95 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748288405; x=1748893205; darn=python.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=kL6XpwP4oa8CHIrpXieTOgILi9fKfkNaQEjCHR2h8J4=; b=f8SQXFrklFSWXfObxq0yJ8EQmRKhE2TXDFkrytBGiX4iKCl51u4/GtiSUTIhQwQfoz nOD2kB9dWsjeAiIKSc+ywndBHRwtiTCkf001A3xfN4KUz2cu8PoIWiJvYI0iZHF5JeXN mqbLuxaIa2yXv6pI6tXsoTWNdJwHlArlpOOdm7GwOww2Uv9c62nNym1xCkPTyGChwelS AwtiHUZP3VIOctq2VeQEGiVT+gZsw0J1SiIxPDTGrU7y4RFvTcvJV6Vw7f4IFrv4RpIM Qtc7l+rEZwIBLNUKARxFjK6wOIW3G8QkFuLxgjzoB7048LuevIbesqkIeuzV+6OjIVEk lgMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748288405; x=1748893205; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kL6XpwP4oa8CHIrpXieTOgILi9fKfkNaQEjCHR2h8J4=; b=SzV5+u+TDfT3iMnwadg7fvdYE27VNaXKsZHHT6h4Mme+Rq91RcKKBtjUOP/XQTdb3S MQvRLRZUpAu6ZLw9fwd4WFByuSU5nNnvAbBJN04ROvcYrKcM/ly3/zPStxly4o0+nbtj QoZYa7qzCS1OZQz5QUImb5tThf4WpwLMTe0B05KOPLvOoz9WFQfHSu7cpjL7jozIk1fY 8EKjmDEEFIbIxRmLocU7EAl8ni8jamIrKnY+2gHPbF9A+i68k2uiTU6GIGv9ca+wUxRB DZMMUskr/avM0GEHAR2W4EE/him7Hs4VYJBDuc9nDVwoK9uz7PPNx2FquNag0f2Y69qG Ra4w== X-Forwarded-Encrypted: i=1; AJvYcCVs2soISBd57isAOo0vB9XEtOlIajHHKwwPEgfBijDlgDUd+cgTrkGajnq77TAp+ofE5FYBEQBqXbGFYA==@python.org X-Gm-Message-State: AOJu0YzBu3ncoL2mJyPTOJFSFIDpDoVE5b34yoHNOLDJc3+ggp4PAjvf UWk3QLCOGxuHlf5zWhFNPiaiEYB4WOw4cGcl96NDq6xd3dutw6NnkdZQdyRUhiUtzEdiyLmM2ke kbtUcjhsLsrpGHQ63oxniO9LLHNDMWNssB14t X-Gm-Gg: ASbGncss/JGKGNsGpySfjrRy8Cq/1ws1DvZ6tWg63H2NK5XclePBoO0CipLCMNaogdk AiXFKeL3wS1X0if2QOg46V9sRyb18qX+wKjNINhYwR7ZWVPnsDLBxY4pX6RN0fMCwTsUMW8pUlS UyRB8vLVeKUJOQYUy4n6baX0EYmU89mXiRmVOaaPmJpDgafA+hu7TGhfy+cceBm9W8rw== X-Google-Smtp-Source: AGHT+IF10enVttCmHlQkq66/lf/ZLJJq4shCQ+ARSHE361wguIxX2KdEQjLqy8MlU3YMgZ9K3CfZBOTkYWAU9VsmM4s= X-Received: by 2002:a17:906:c4c1:b0:abf:6c88:df53 with SMTP id a640c23a62f3a-ad85b0abcb4mr223748666b.4.1748288405037; Mon, 26 May 2025 12:40:05 -0700 (PDT) X-Gm-Features: AX0GCFuLCthu9ae6fmfqdC8p1FRGSsur9xJmvuih1DX7Cb6e8gZuHQazzQJg0xQ X-MailFrom: hugovk@gmail.com X-Mailman-Rule-Hits: emergency X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-python-announce-list.python.org-0; header-match-python-announce-list.python.org-1; header-match-python-announce-list.python.org-2; header-match-python-announce-list.python.org-3; header-match-python-announce-list.python.org-4 Message-ID-Hash: GZUDOIIFIOPOBHVBZHVZRBWOLLBIDHI3 X-Message-ID-Hash: GZUDOIIFIOPOBHVBZHVZRBWOLLBIDHI3 X-Mailman-Approved-At: Mon, 26 May 2025 15:51:46 -0400 X-Content-Filtered-By: Mailman/MimeDel 3.3.11b1 X-Mailman-Version: 3.3.11b1 Precedence: list List-Id: Announcement-only list for the Python programming language Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: SGVyZeKAmXMgdGhlIHNlY29uZCAzLjE0IGJldGEuDQoNCmh0dHBzOi8vd3d3LnB5dGhvbi5vcmcv ZG93bmxvYWRzL3JlbGVhc2UvcHl0aG9uLTMxNDBiMi8NCg0KVGhpcyBpcyBhIGJldGEgcHJldmll dyBvZiBQeXRob24gMy4xNA0KDQpQeXRob24gMy4xNCBpcyBzdGlsbCBpbiBkZXZlbG9wbWVudC4g VGhpcyByZWxlYXNlLCAzLjE0LjBiMiwgaXMgdGhlIHNlY29uZA0Kb2YgZm91ciBwbGFubmVkIGJl dGEgcmVsZWFzZXMuDQoNCkJldGEgcmVsZWFzZSBwcmV2aWV3cyBhcmUgaW50ZW5kZWQgdG8gZ2l2 ZSB0aGUgd2lkZXIgY29tbXVuaXR5IHRoZQ0Kb3Bwb3J0dW5pdHkgdG8gdGVzdCBuZXcgZmVhdHVy ZXMgYW5kIGJ1ZyBmaXhlcyBhbmQgdG8gcHJlcGFyZSB0aGVpcg0KcHJvamVjdHMgdG8gc3VwcG9y dCB0aGUgbmV3IGZlYXR1cmUgcmVsZWFzZS4NCg0KV2Ugc3Ryb25nbHkgZW5jb3VyYWdlIG1haW50 YWluZXJzIG9mIHRoaXJkLXBhcnR5IFB5dGhvbiBwcm9qZWN0cyB0byB0ZXN0DQp3aXRoIDMuMTQg ZHVyaW5nIHRoZSBiZXRhIHBoYXNlIGFuZCByZXBvcnQgaXNzdWVzIGZvdW5kIHRvIHRoZSBQeXRo b24gYnVnDQp0cmFja2VyIGFzIHNvb24gYXMgcG9zc2libGUuIFdoaWxlIHRoZSByZWxlYXNlIGlz IHBsYW5uZWQgdG8gYmUNCmZlYXR1cmUtY29tcGxldGUgZW50ZXJpbmcgdGhlIGJldGEgcGhhc2Us IGl0IGlzIHBvc3NpYmxlIHRoYXQgZmVhdHVyZXMgbWF5DQpiZSBtb2RpZmllZCBvciwgaW4gcmFy ZSBjYXNlcywgZGVsZXRlZCB1cCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIHJlbGVhc2UNCmNhbmRp ZGF0ZSBwaGFzZSAoVHVlc2RheSAyMDI1LTA3LTIyKS4gT3VyIGdvYWwgaXMgdG8gaGF2ZSBubyBB QkkgY2hhbmdlcw0KYWZ0ZXIgYmV0YSA0IGFuZCBhcyBmZXcgY29kZSBjaGFuZ2VzIGFzIHBvc3Np YmxlIGFmdGVyIHRoZSBmaXJzdCByZWxlYXNlDQpjYW5kaWRhdGUuIFRvIGFjaGlldmUgdGhhdCwg aXQgd2lsbCBiZSBleHRyZW1lbHkgaW1wb3J0YW50IHRvIGdldCBhcyBtdWNoDQpleHBvc3VyZSBm b3IgMy4xNCBhcyBwb3NzaWJsZSBkdXJpbmcgdGhlIGJldGEgcGhhc2UuDQoNClRoaXMgaW5jbHVk ZXMgY3JlYXRpbmcgcHJlLXJlbGVhc2Ugd2hlZWxzIGZvciAzLjE0LCBhcyBpdCBoZWxwcyBvdGhl cg0KcHJvamVjdHMgdG8gZG8gdGhlaXIgb3duIHRlc3RpbmcuIEhvd2V2ZXIsIHdlIHJlY29tbWVu ZCB0aGF0IHlvdXIgcmVndWxhcg0KcHJvZHVjdGlvbiByZWxlYXNlcyB3YWl0IHVudGlsIDMuMTQu MHJjMSwgdG8gYXZvaWQgdGhlIHJpc2sgb2YgQUJJIGJyZWFrcy4NCg0KUGxlYXNlIGtlZXAgaW4g bWluZCB0aGF0IHRoaXMgaXMgYSBwcmV2aWV3IHJlbGVhc2UgYW5kIGl0cyB1c2UgaXMgbm90DQpy ZWNvbW1lbmRlZCBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuDQoNCk1ham9yIG5ldyBmZWF0 dXJlcyBvZiB0aGUgMy4xNCBzZXJpZXMsIGNvbXBhcmVkIHRvIDMuMTMNCg0KU29tZSBvZiB0aGUg bWFqb3IgbmV3IGZlYXR1cmVzIGFuZCBjaGFuZ2VzIGluIFB5dGhvbiAzLjE0IGFyZToNCg0KTmV3 IGZlYXR1cmVzDQoNCi0gUEVQIDY0OTogVGhlIGV2YWx1YXRpb24gb2YgdHlwZSBhbm5vdGF0aW9u cyBpcyBub3cgZGVmZXJyZWQsIGltcHJvdmluZw0KdGhlIHNlbWFudGljcyBvZiB1c2luZyBhbm5v dGF0aW9ucy4NCi0gUEVQIDc1MDogVGVtcGxhdGUgc3RyaW5nIGxpdGVyYWxzICh0LXN0cmluZ3Mp IGZvciBjdXN0b20gc3RyaW5nDQpwcm9jZXNzaW5nLCB1c2luZyB0aGUgZmFtaWxpYXIgc3ludGF4 IG9mIGYtc3RyaW5ncy4NCi0gUEVQIDc4NDogQSBuZXcgbW9kdWxlIGNvbXByZXNzaW9uLnpzdGQg cHJvdmlkaW5nIHN1cHBvcnQgZm9yIHRoZQ0KWnN0YW5kYXJkIGNvbXByZXNzaW9uIGFsZ29yaXRo bS4NCi0gUEVQIDc1ODogZXhjZXB0IGFuZCBleGNlcHQqIGV4cHJlc3Npb25zIG1heSBub3cgb21p dCB0aGUgYnJhY2tldHMuDQotIFN5bnRheCBoaWdobGlnaHRpbmcgaW4gUHlSRVBMLCBhbmQgc3Vw cG9ydCBmb3IgY29sb3IgaW4gdW5pdHRlc3QsDQphcmdwYXJzZSwganNvbiBhbmQgY2FsZW5kYXIg Q0xJcy4NCi0gUEVQIDc2ODogQSB6ZXJvLW92ZXJoZWFkIGV4dGVybmFsIGRlYnVnZ2VyIGludGVy ZmFjZSBmb3IgQ1B5dGhvbi4NCi0gVVVJRCB2ZXJzaW9ucyA2LTggYXJlIG5vdyBzdXBwb3J0ZWQg YnkgdGhlIHV1aWQgbW9kdWxlLCBhbmQgZ2VuZXJhdGlvbiBvZg0KdmVyc2lvbnMgMy01IGFuZCA4 IGFyZSB1cCB0byA0MCUgZmFzdGVyLg0KLSBQRVAgNzY1OiBEaXNhbGxvdyByZXR1cm4vYnJlYWsv Y29udGludWUgdGhhdCBleGl0IGEgZmluYWxseSBibG9jay4NCi0gUEVQIDc0MTogQW4gaW1wcm92 ZWQgQyBBUEkgZm9yIGNvbmZpZ3VyaW5nIFB5dGhvbi4NCi0gQSBuZXcgdHlwZSBvZiBpbnRlcnBy ZXRlci4gRm9yIGNlcnRhaW4gbmV3ZXIgY29tcGlsZXJzLCB0aGlzIGludGVycHJldGVyDQpwcm92 aWRlcyBzaWduaWZpY2FudGx5IGJldHRlciBwZXJmb3JtYW5jZS4gT3B0LWluIGZvciBub3csIHJl cXVpcmVzDQpidWlsZGluZyBmcm9tIHNvdXJjZS4NCi0gSW1wcm92ZWQgZXJyb3IgbWVzc2FnZXMu DQotIEJ1aWx0aW4gaW1wbGVtZW50YXRpb24gb2YgSE1BQyB3aXRoIGZvcm1hbGx5IHZlcmlmaWVk IGNvZGUgZnJvbSB0aGUgSEFDTCoNCnByb2plY3QuDQotIEEgbmV3IGNvbW1hbmQtbGluZSBpbnRl cmZhY2UgdG8gaW5zcGVjdCBydW5uaW5nIFB5dGhvbiBwcm9jZXNzZXMgdXNpbmcNCmFzeW5jaHJv bm91cyB0YXNrcy4NCi0gVGhlIHBkYiBtb2R1bGUgbm93IHN1cHBvcnRzIHJlbW90ZSBhdHRhY2hp bmcgdG8gYSBydW5uaW5nIFB5dGhvbiBwcm9jZXNzLg0KDQooSGV5LCBmZWxsb3cgY29yZSBkZXZl bG9wZXIsIGlmIGEgZmVhdHVyZSB5b3UgZmluZCBpbXBvcnRhbnQgaXMgbWlzc2luZw0KZnJvbSB0 aGlzIGxpc3QsIGxldCBIdWdvIGtub3cuKQ0KDQpGb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBjaGFu Z2VzIHRvIFB5dGhvbiAzLjE0LCBzZWUgV2hhdOKAmXMgbmV3IGluIFB5dGhvbg0KMy4xNC4gVGhl IG5leHQgcHJlLXJlbGVhc2Ugb2YgUHl0aG9uIDMuMTQgd2lsbCBiZSAzLjE0LjBiMywgc2NoZWR1 bGVkIGZvcg0KMjAyNS0wNi0xNy4NCg0KaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy4xNC93aGF0 c25ldy8zLjE0Lmh0bWwNCg0KQnVpbGQgY2hhbmdlcw0KDQotIFBFUCA3NjE6IFB5dGhvbiAzLjE0 IGFuZCBvbndhcmRzIG5vIGxvbmdlciBwcm92aWRlcyBQR1Agc2lnbmF0dXJlcyBmb3INCnJlbGVh c2UgYXJ0aWZhY3RzLiBJbnN0ZWFkLCBTaWdzdG9yZSBpcyByZWNvbW1lbmRlZCBmb3IgdmVyaWZp ZXJzLg0KLSBPZmZpY2lhbCBtYWNPUyBhbmQgV2luZG93cyByZWxlYXNlIGJpbmFyaWVzIGluY2x1 ZGUgYW4gZXhwZXJpbWVudGFsIEpJVA0KY29tcGlsZXIuDQoNCg0KUHl0aG9uIGluc3RhbGwgbWFu YWdlcg0KDQpUaGUgaW5zdGFsbGVyIHdlIG9mZmVyIGZvciBXaW5kb3dzIGlzIGJlaW5nIHJlcGxh Y2VkIGJ5IG91ciBuZXcgaW5zdGFsbA0KbWFuYWdlciwgd2hpY2ggY2FuIGJlIGluc3RhbGxlZCBm cm9tIHRoZSBXaW5kb3dzIFN0b3JlIG9yIG91ciBGVFAgcGFnZS4gU2VlDQpvdXIgZG9jdW1lbnRh dGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gVGhlIEpTT04gZmlsZSBhdmFpbGFibGUgZm9yDQpk b3dubG9hZCBiZWxvdyBjb250YWlucyB0aGUgbGlzdCBvZiBhbGwgdGhlIGluc3RhbGxhYmxlIHBh Y2thZ2VzIGF2YWlsYWJsZQ0KYXMgcGFydCBvZiB0aGlzIHJlbGVhc2UsIGluY2x1ZGluZyBmaWxl IFVSTHMgYW5kIGhhc2hlcywgYnV0IGlzIG5vdA0KcmVxdWlyZWQgdG8gaW5zdGFsbCB0aGUgbGF0 ZXN0IHJlbGVhc2UuIFRoZSB0cmFkaXRpb25hbCBpbnN0YWxsZXIgd2lsbA0KcmVtYWluIGF2YWls YWJsZSB0aHJvdWdob3V0IHRoZSAzLjE0IGFuZCAzLjE1IHJlbGVhc2VzLg0KDQpNb3JlIHJlc291 cmNlcw0KDQotIE9ubGluZSBkb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8z LjE0Lw0KLSBQRVAgNzQ1LCAzLjE0IFJlbGVhc2UgU2NoZWR1bGU6IGh0dHBzOi8vcGVwcy5weXRo b24ub3JnL3BlcC0wNzQ1Lw0KLSBSZXBvcnQgYnVncyBhdCBodHRwczovL2dpdGh1Yi5jb20vcHl0 aG9uL2NweXRob24vaXNzdWVzDQotIEhlbHAgZnVuZCBQeXRob24gYW5kIGl0cyBjb21tdW5pdHk6 IGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvcHNmL2RvbmF0aW9ucy8NCg0KQW5kIG5vdyBmb3Igc29t ZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50DQoNCkluIDE4OTcsIHRoZSBTdGF0ZSBvZiBJbmRp YW5hIGFsbW9zdCBwYXNzZWQgYSBiaWxsIGRlZmluaW5nIM+AIGFzIDMuMi4NCg0KT2YgY291cnNl LCBpdOKAmXMgbm90IHRoYXQgc2ltcGxlLg0KDQpFZHdpbiBKLiBHb29kd2luLCBNLkQuLCBjbGFp bWVkIHRvIGhhdmUgY29tZSB1cCB3aXRoIGEgc29sdXRpb24gdG8gYW4NCmFuY2llbnQgZ2VvbWV0 cmljYWwgcHJvYmxlbSBjYWxsZWQgc3F1YXJpbmcgdGhlIGNpcmNsZSwgZmlyc3QgcHJvcG9zZWQg aW4NCkdyZWVrIG1hdGhlbWF0aWNzLiBJdCBpbnZvbHZlcyB0cnlpbmcgdG8gZHJhdyBhIGNpcmNs ZSBhbmQgYSBzcXVhcmUgd2l0aA0KdGhlIHNhbWUgYXJlYSwgdXNpbmcgb25seSBhIGNvbXBhc3Mg YW5kIGEgc3RyYWlnaHQgZWRnZS4gSXQgdHVybnMgb3V0IHRvIGJlDQppbXBvc3NpYmxlIGJlY2F1 c2Ugz4AgaXMgdHJhbnNjZW5kZW50YWwgKGFuZCB0aGlzIGhhZCBiZWVuIHByb3ZlZCBqdXN0IDEz DQp5ZWFycyBlYXJsaWVyIGJ5IEZlcmRpbmFuZCB2b24gTGluZGVtYW5uKSwgYnV0IEdvb2R3aW4g ========== REMAINDER OF ARTICLE TRUNCATED ==========