[Patches] typos patch

Brian Takashi Hooper brian@garage.co.jp
Mon, 13 Mar 2000 22:09:18 +0900


--TW9uLCAxMyBNYXIgMjAwMCAyMjowOToxOCArMDkwMA==
Content-Transfer-Encoding: 7bit
Content-Type: text/plain

Fix some typos and spelling errors, mostly in the new Unicode-related
sources, plus a few others that turned up from grep-ping recursively for
those same words in the rest of the Python source.

I confirm that, to the best of my knowledge and belief, this
contribution is free of any claims of third parties under
copyright, patent or other rights or interests ("claims").  To
the extent that I have any such claims, I hereby grant to CNRI a
nonexclusive, irrevocable, royalty-free, worldwide license to
reproduce, distribute, perform and/or display publicly, prepare
derivative versions, and otherwise use this contribution as part
of the Python software and its related documentation, or any
derivative versions thereof, at no cost to CNRI or its licensed
users, and to authorize others to do so.

I acknowledge that CNRI may, at its sole discretion, decide
whether or not to incorporate this contribution in the Python
software and its related documentation.  I further grant CNRI
permission to use my name and other identifying information
provided to CNRI by me for use in connection with the Python
software and its related documentation.

Brian Hooper




--TW9uLCAxMyBNYXIgMjAwMCAyMjowOToxOCArMDkwMA==
Content-Type: application/octet-stream; name="python-typos.patch"
Content-Disposition: attachment;
 filename="python-typos.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtYyAtciBweXRob24vZGlzdC9zcmMvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmggcHl0aG9u
Lm5ldy9kaXN0L3NyYy9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAoqKiogcHl0aG9uL2Rpc3Qvc3Jj
L0luY2x1ZGUvdW5pY29kZW9iamVjdC5oCVNhdCBNYXIgMTEgMDc6MzM6MDUgMjAwMAotLS0gcHl0
aG9uLm5ldy9kaXN0L3NyYy9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAlNb24gTWFyIDEzIDE5OjIw
OjQwIDIwMDAKKioqKioqKioqKioqKioqCioqKiA2NDcsNjUzICoqKioKICAgICAgaW50IGRpcmVj
dGlvbgkJLyogRmluZCBkaXJlY3Rpb246ICsxIGZvcndhcmQsIC0xIGJhY2t3YXJkICovCiAgICAg
ICk7CiAgCiEgLyogQ291bnQgdGhlIG51bWJlciBvZiBvY2N1cmFuY2VzIG9mIHN1YnN0ciBpbiBz
dHJbc3RhcnQ6ZW5kXS4gKi8KICAKICBleHRlcm4gRExfSU1QT1JUKGludCkgUHlVbmljb2RlX0Nv
dW50KAogICAgICBQeU9iamVjdCAqc3RyLAkJLyogU3RyaW5nICovIAotLS0gNjQ3LDY1MyAtLS0t
CiAgICAgIGludCBkaXJlY3Rpb24JCS8qIEZpbmQgZGlyZWN0aW9uOiArMSBmb3J3YXJkLCAtMSBi
YWNrd2FyZCAqLwogICAgICApOwogIAohIC8qIENvdW50IHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5j
ZXMgb2Ygc3Vic3RyIGluIHN0cltzdGFydDplbmRdLiAqLwogIAogIGV4dGVybiBETF9JTVBPUlQo
aW50KSBQeVVuaWNvZGVfQ291bnQoCiAgICAgIFB5T2JqZWN0ICpzdHIsCQkvKiBTdHJpbmcgKi8g
CioqKioqKioqKioqKioqKgoqKiogNjU2LDY2MiAqKioqCiAgICAgIGludCBlbmQJCQkvKiBTdG9w
IGluZGV4ICovCiAgICAgICk7CiAgCiEgLyogUmVwbGFjZSBhdCBtb3N0IG1heGNvdW50IG9jY3Vy
YW5jZXMgb2Ygc3Vic3RyIGluIHN0ciB3aXRoIHJlcGxzdHIKICAgICBhbmQgcmV0dXJuIHRoZSBy
ZXN1bHRpbmcgVW5pY29kZSBvYmplY3QuICovCiAgCiAgZXh0ZXJuIERMX0lNUE9SVChQeU9iamVj
dCAqKSBQeVVuaWNvZGVfUmVwbGFjZSgKLS0tIDY1Niw2NjIgLS0tLQogICAgICBpbnQgZW5kCQkJ
LyogU3RvcCBpbmRleCAqLwogICAgICApOwogIAohIC8qIFJlcGxhY2UgYXQgbW9zdCBtYXhjb3Vu
dCBvY2N1cnJlbmNlcyBvZiBzdWJzdHIgaW4gc3RyIHdpdGggcmVwbHN0cgogICAgIGFuZCByZXR1
cm4gdGhlIHJlc3VsdGluZyBVbmljb2RlIG9iamVjdC4gKi8KICAKICBleHRlcm4gRExfSU1QT1JU
KFB5T2JqZWN0ICopIFB5VW5pY29kZV9SZXBsYWNlKApkaWZmIC1jIC1yIHB5dGhvbi9kaXN0L3Ny
Yy9MaWIvY29kZWNzLnB5IHB5dGhvbi5uZXcvZGlzdC9zcmMvTGliL2NvZGVjcy5weQoqKiogcHl0
aG9uL2Rpc3Qvc3JjL0xpYi9jb2RlY3MucHkJU2F0IE1hciAxMSAwODoyMDo0MyAyMDAwCi0tLSBw
eXRob24ubmV3L2Rpc3Qvc3JjL0xpYi9jb2RlY3MucHkJTW9uIE1hciAxMyAxOToxNDo0NyAyMDAw
CioqKioqKioqKioqKioqKgoqKiogNTUsNjEgKioqKgogICAgICAiIiIKICAgICAgZGVmIGVuY29k
ZShzZWxmLGlucHV0LGVycm9ycz0nc3RyaWN0Jyk6CiAgICAgICAgICAKISAgICAgICAgICIiIiBF
bmNvZGVzIHRoZSBvYmplY3QgaW50cHV0IGFuZCByZXR1cm5zIGEgdHVwbGUgKG91dHB1dAogICAg
ICAgICAgICAgIG9iamVjdCwgbGVuZ3RoIGNvbnN1bWVkKS4KICAKICAgICAgICAgICAgICBlcnJv
cnMgZGVmaW5lcyB0aGUgZXJyb3IgaGFuZGxpbmcgdG8gYXBwbHkuIEl0IGRlZmF1bHRzIHRvCi0t
LSA1NSw2MSAtLS0tCiAgICAgICIiIgogICAgICBkZWYgZW5jb2RlKHNlbGYsaW5wdXQsZXJyb3Jz
PSdzdHJpY3QnKToKICAgICAgICAgIAohICAgICAgICAgIiIiIEVuY29kZXMgdGhlIG9iamVjdCBp
bnB1dCBhbmQgcmV0dXJucyBhIHR1cGxlIChvdXRwdXQKICAgICAgICAgICAgICBvYmplY3QsIGxl
bmd0aCBjb25zdW1lZCkuCiAgCiAgICAgICAgICAgICAgZXJyb3JzIGRlZmluZXMgdGhlIGVycm9y
IGhhbmRsaW5nIHRvIGFwcGx5LiBJdCBkZWZhdWx0cyB0bwpkaWZmIC1jIC1yIHB5dGhvbi9kaXN0
L3NyYy9MaWIvZW5jb2RpbmdzL19faW5pdF9fLnB5IHB5dGhvbi5uZXcvZGlzdC9zcmMvTGliL2Vu
Y29kaW5ncy9fX2luaXRfXy5weQoqKiogcHl0aG9uL2Rpc3Qvc3JjL0xpYi9lbmNvZGluZ3MvX19p
bml0X18ucHkJU2F0IE1hciAxMSAwODoxNzoxOCAyMDAwCi0tLSBweXRob24ubmV3L2Rpc3Qvc3Jj
L0xpYi9lbmNvZGluZ3MvX19pbml0X18ucHkJTW9uIE1hciAxMyAxOTowNjo1OSAyMDAwCioqKioq
KioqKioqKioqKgoqKiogMzAsNDIgKioqKgogIGltcG9ydCBzdHJpbmcsY29kZWNzLGFsaWFzZXMK
ICAKICBfY2FjaGUgPSB7fQohIF91bmtvd24gPSAnLS11bmtvd24tLScKICAKICBkZWYgc2VhcmNo
X2Z1bmN0aW9uKGVuY29kaW5nKToKICAgICAgCiAgICAgICMgQ2FjaGUgbG9va3VwCiEgICAgIGVu
dHJ5ID0gX2NhY2hlLmdldChlbmNvZGluZyxfdW5rb3duKQohICAgICBpZiBlbnRyeSBpcyBub3Qg
X3Vua293bjoKICAgICAgICAgIHJldHVybiBlbnRyeQogIAogICAgICAjIEltcG9ydCB0aGUgbW9k
dWxlCi0tLSAzMCw0MiAtLS0tCiAgaW1wb3J0IHN0cmluZyxjb2RlY3MsYWxpYXNlcwogIAogIF9j
YWNoZSA9IHt9CiEgX3Vua25vd24gPSAnLS11bmtub3duLS0nCiAgCiAgZGVmIHNlYXJjaF9mdW5j
dGlvbihlbmNvZGluZyk6CiAgICAgIAogICAgICAjIENhY2hlIGxvb2t1cAohICAgICBlbnRyeSA9
IF9jYWNoZS5nZXQoZW5jb2RpbmcsX3Vua25vd24pCiEgICAgIGlmIGVudHJ5IGlzIG5vdCBfdW5r
bm93bjoKICAgICAgICAgIHJldHVybiBlbnRyeQogIAogICAgICAjIEltcG9ydCB0aGUgbW9kdWxl
CmRpZmYgLWMgLXIgcHl0aG9uL2Rpc3Qvc3JjL0xpYi9zdHJpbmcucHkgcHl0aG9uLm5ldy9kaXN0
L3NyYy9MaWIvc3RyaW5nLnB5CioqKiBweXRob24vZGlzdC9zcmMvTGliL3N0cmluZy5weQlTdW4g
TWFyIDEyIDA0OjEwOjIyIDIwMDAKLS0tIHB5dGhvbi5uZXcvZGlzdC9zcmMvTGliL3N0cmluZy5w
eQlNb24gTWFyIDEzIDE5OjIzOjI5IDIwMDAKKioqKioqKioqKioqKioqCioqKiAxMTYsMTIyICoq
KioKICAgICAgIiIiam9pbihsaXN0IFssc2VwXSkgLT4gc3RyaW5nCiAgCiAgICAgIFJldHVybiBh
IHN0cmluZyBjb21wb3NlZCBvZiB0aGUgd29yZHMgaW4gbGlzdCwgd2l0aAohICAgICBpbnRlcnZl
bmluZyBvY2N1cmVuY2VzIG9mIHNlcC4gIFRoZSBkZWZhdWx0IHNlcGFyYXRvciBpcyBhCiAgICAg
IHNpbmdsZSBzcGFjZS4KICAKICAgICAgKGpvaW5maWVsZHMgYW5kIGpvaW4gYXJlIHN5bm9ueW1v
dXMpCi0tLSAxMTYsMTIyIC0tLS0KICAgICAgIiIiam9pbihsaXN0IFssc2VwXSkgLT4gc3RyaW5n
CiAgCiAgICAgIFJldHVybiBhIHN0cmluZyBjb21wb3NlZCBvZiB0aGUgd29yZHMgaW4gbGlzdCwg
d2l0aAohICAgICBpbnRlcnZlbmluZyBvY2N1cnJlbmNlcyBvZiBzZXAuICBUaGUgZGVmYXVsdCBz
ZXBhcmF0b3IgaXMgYQogICAgICBzaW5nbGUgc3BhY2UuCiAgCiAgICAgIChqb2luZmllbGRzIGFu
ZCBqb2luIGFyZSBzeW5vbnltb3VzKQpkaWZmIC1jIC1yIHB5dGhvbi9kaXN0L3NyYy9MaWIvc3Ry
aW5nb2xkLnB5IHB5dGhvbi5uZXcvZGlzdC9zcmMvTGliL3N0cmluZ29sZC5weQoqKiogcHl0aG9u
L2Rpc3Qvc3JjL0xpYi9zdHJpbmdvbGQucHkJRnJpIEZlYiAxMSAwMjoxNzoxNCAyMDAwCi0tLSBw
eXRob24ubmV3L2Rpc3Qvc3JjL0xpYi9zdHJpbmdvbGQucHkJTW9uIE1hciAxMyAxOToyMzo1NiAy
MDAwCioqKioqKioqKioqKioqKgoqKiogMTE4LDEyNCAqKioqCiAgICAgICIiImpvaW4obGlzdCBb
LHNlcF0pIC0+IHN0cmluZwogIAogICAgICBSZXR1cm4gYSBzdHJpbmcgY29tcG9zZWQgb2YgdGhl
IHdvcmRzIGluIGxpc3QsIHdpdGgKISAgICAgaW50ZXJ2ZW5pbmcgb2NjdXJlbmNlcyBvZiBzZXAu
ICBUaGUgZGVmYXVsdCBzZXBhcmF0b3IgaXMgYQogICAgICBzaW5nbGUgc3BhY2UuCiAgCiAgICAg
IChqb2luZmllbGRzIGFuZCBqb2luIGFyZSBzeW5vbnltb3VzKQotLS0gMTE4LDEyNCAtLS0tCiAg
ICAgICIiImpvaW4obGlzdCBbLHNlcF0pIC0+IHN0cmluZwogIAogICAgICBSZXR1cm4gYSBzdHJp
bmcgY29tcG9zZWQgb2YgdGhlIHdvcmRzIGluIGxpc3QsIHdpdGgKISAgICAgaW50ZXJ2ZW5pbmcg
b2NjdXJyZW5jZXMgb2Ygc2VwLiAgVGhlIGRlZmF1bHQgc2VwYXJhdG9yIGlzIGEKICAgICAgc2lu
Z2xlIHNwYWNlLgogIAogICAgICAoam9pbmZpZWxkcyBhbmQgam9pbiBhcmUgc3lub255bW91cykK
ZGlmZiAtYyAtciBweXRob24vZGlzdC9zcmMvTW9kdWxlcy9zdHJvcG1vZHVsZS5jIHB5dGhvbi5u
ZXcvZGlzdC9zcmMvTW9kdWxlcy9zdHJvcG1vZHVsZS5jCioqKiBweXRob24vZGlzdC9zcmMvTW9k
dWxlcy9zdHJvcG1vZHVsZS5jCVR1ZSBGZWIgMjkgMjI6NTk6MjQgMjAwMAotLS0gcHl0aG9uLm5l
dy9kaXN0L3NyYy9Nb2R1bGVzL3N0cm9wbW9kdWxlLmMJTW9uIE1hciAxMyAxOToyMjo0NCAyMDAw
CioqKioqKioqKioqKioqKgoqKiogMTkzLDE5OSAqKioqCiAgam9pbmZpZWxkcyhsaXN0IFssc2Vw
XSkgLT4gc3RyaW5nXG5cCiAgXG5cCiAgUmV0dXJuIGEgc3RyaW5nIGNvbXBvc2VkIG9mIHRoZSB3
b3JkcyBpbiBsaXN0LCB3aXRoXG5cCiEgaW50ZXJ2ZW5pbmcgb2NjdXJlbmNlcyBvZiBzZXAuICBT
ZXAgZGVmYXVsdHMgdG8gYSBzaW5nbGVcblwKICBzcGFjZS5cblwKICBcblwKICAoam9pbiBhbmQg
am9pbmZpZWxkcyBhcmUgc3lub255bW91cykiOwotLS0gMTkzLDE5OSAtLS0tCiAgam9pbmZpZWxk
cyhsaXN0IFssc2VwXSkgLT4gc3RyaW5nXG5cCiAgXG5cCiAgUmV0dXJuIGEgc3RyaW5nIGNvbXBv
c2VkIG9mIHRoZSB3b3JkcyBpbiBsaXN0LCB3aXRoXG5cCiEgaW50ZXJ2ZW5pbmcgb2NjdXJyZW5j
ZXMgb2Ygc2VwLiAgU2VwIGRlZmF1bHRzIHRvIGEgc2luZ2xlXG5cCiAgc3BhY2UuXG5cCiAgXG5c
CiAgKGpvaW4gYW5kIGpvaW5maWVsZHMgYXJlIHN5bm9ueW1vdXMpIjsKKioqKioqKioqKioqKioq
CioqKiAxMDU0LDEwNjAgKioqKgogIAogICAgc3Ryc3RyIHJlcGxhY2VtZW50IGZvciBhcmJpdHJh
cnkgYmxvY2tzIG9mIG1lbW9yeS4KICAKISAgIExvY2F0ZXMgdGhlIGZpcnN0IG9jY3VyYW5jZSBp
biB0aGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgTUVNIG9mIHRoZQogICAgY29udGVudHMgb2YgbWVt
b3J5IHBvaW50ZWQgdG8gYnkgUEFULiAgUmV0dXJucyB0aGUgaW5kZXggaW50byBNRU0gaWYKICAg
IGZvdW5kLCBvciAtMSBpZiBub3QgZm91bmQuICBJZiBsZW4gb2YgUEFUIGlzIGdyZWF0ZXIgdGhh
biBsZW5ndGggb2YKICAgIE1FTSwgdGhlIGZ1bmN0aW9uIHJldHVybnMgLTEuCi0tLSAxMDU0LDEw
NjAgLS0tLQogIAogICAgc3Ryc3RyIHJlcGxhY2VtZW50IGZvciBhcmJpdHJhcnkgYmxvY2tzIG9m
IG1lbW9yeS4KICAKISAgIExvY2F0ZXMgdGhlIGZpcnN0IG9jY3VycmVuY2UgaW4gdGhlIG1lbW9y
eSBwb2ludGVkIHRvIGJ5IE1FTSBvZiB0aGUKICAgIGNvbnRlbnRzIG9mIG1lbW9yeSBwb2ludGVk
IHRvIGJ5IFBBVC4gIFJldHVybnMgdGhlIGluZGV4IGludG8gTUVNIGlmCiAgICBmb3VuZCwgb3Ig
LTEgaWYgbm90IGZvdW5kLiAgSWYgbGVuIG9mIFBBVCBpcyBncmVhdGVyIHRoYW4gbGVuZ3RoIG9m
CiAgICBNRU0sIHRoZSBmdW5jdGlvbiByZXR1cm5zIC0xLgoqKioqKioqKioqKioqKioKKioqIDEx
MTAsMTExOSAqKioqCiAgLyoKICAgICBteW1lbXJlcGxhY2UKICAKISAgICBSZXR1cm4gYSBzdHJp
bmcgaW4gd2hpY2ggYWxsIG9jY3VyZW5jZXMgb2YgUEFUIGluIG1lbW9yeSBTVFIgYXJlCiAgICAg
cmVwbGFjZWQgd2l0aCBTVUIuCiAgCiEgICAgSWYgbGVuZ3RoIG9mIFBBVCBpcyBsZXNzIHRoYW4g
bGVuZ3RoIG9mIFNUUiBvciB0aGVyZSBhcmUgbm8gb2NjdXJlbmNlcwogICAgIG9mIFBBVCBpbiBT
VFIsIHRoZW4gdGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZC4gT3RoZXJ3aXNlLCBhIG5l
dwogICAgIHN0cmluZyBpcyBhbGxvY2F0ZWQgaGVyZSBhbmQgcmV0dXJuZWQuCiAgCi0tLSAxMTEw
LDExMTkgLS0tLQogIC8qCiAgICAgbXltZW1yZXBsYWNlCiAgCiEgICAgUmV0dXJuIGEgc3RyaW5n
IGluIHdoaWNoIGFsbCBvY2N1cnJlbmNlcyBvZiBQQVQgaW4gbWVtb3J5IFNUUiBhcmUKICAgICBy
ZXBsYWNlZCB3aXRoIFNVQi4KICAKISAgICBJZiBsZW5ndGggb2YgUEFUIGlzIGxlc3MgdGhhbiBs
ZW5ndGggb2YgU1RSIG9yIHRoZXJlIGFyZSBubyBvY2N1cnJlbmNlcwogICAgIG9mIFBBVCBpbiBT
VFIsIHRoZW4gdGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZC4gT3RoZXJ3aXNlLCBhIG5l
dwogICAgIHN0cmluZyBpcyBhbGxvY2F0ZWQgaGVyZSBhbmQgcmV0dXJuZWQuCiAgCmRpZmYgLWMg
LXIgcHl0aG9uL2Rpc3Qvc3JjL09iamVjdHMvc3RyaW5nb2JqZWN0LmMgcHl0aG9uLm5ldy9kaXN0
L3NyYy9PYmplY3RzL3N0cmluZ29iamVjdC5jCioqKiBweXRob24vZGlzdC9zcmMvT2JqZWN0cy9z
dHJpbmdvYmplY3QuYwlTdW4gTWFyIDEyIDA0OjEwOjM5IDIwMDAKLS0tIHB5dGhvbi5uZXcvZGlz
dC9zcmMvT2JqZWN0cy9zdHJpbmdvYmplY3QuYwlNb24gTWFyIDEzIDE5OjI0OjQ0IDIwMDAKKioq
KioqKioqKioqKioqCioqKiAxMzkzLDEzOTkgKioqKgogIAogICAgc3Ryc3RyIHJlcGxhY2VtZW50
IGZvciBhcmJpdHJhcnkgYmxvY2tzIG9mIG1lbW9yeS4KICAKISAgIExvY2F0ZXMgdGhlIGZpcnN0
IG9jY3VyYW5jZSBpbiB0aGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgTUVNIG9mIHRoZQogICAgY29u
dGVudHMgb2YgbWVtb3J5IHBvaW50ZWQgdG8gYnkgUEFULiAgUmV0dXJucyB0aGUgaW5kZXggaW50
byBNRU0gaWYKICAgIGZvdW5kLCBvciAtMSBpZiBub3QgZm91bmQuICBJZiBsZW4gb2YgUEFUIGlz
IGdyZWF0ZXIgdGhhbiBsZW5ndGggb2YKICAgIE1FTSwgdGhlIGZ1bmN0aW9uIHJldHVybnMgLTEu
Ci0tLSAxMzkzLDEzOTkgLS0tLQogIAogICAgc3Ryc3RyIHJlcGxhY2VtZW50IGZvciBhcmJpdHJh
cnkgYmxvY2tzIG9mIG1lbW9yeS4KICAKISAgIExvY2F0ZXMgdGhlIGZpcnN0IG9jY3VycmVuY2Ug
aW4gdGhlIG1lbW9yeSBwb2ludGVkIHRvIGJ5IE1FTSBvZiB0aGUKICAgIGNvbnRlbnRzIG9mIG1l
bW9yeSBwb2ludGVkIHRvIGJ5IFBBVC4gIFJldHVybnMgdGhlIGluZGV4IGludG8gTUVNIGlmCiAg
ICBmb3VuZCwgb3IgLTEgaWYgbm90IGZvdW5kLiAgSWYgbGVuIG9mIFBBVCBpcyBncmVhdGVyIHRo
YW4gbGVuZ3RoIG9mCiAgICBNRU0sIHRoZSBmdW5jdGlvbiByZXR1cm5zIC0xLgoqKioqKioqKioq
KioqKioKKioqIDE0NTEsMTQ2MCAqKioqCiAgLyoKICAgICBteW1lbXJlcGxhY2UKICAKISAgICBS
ZXR1cm4gYSBzdHJpbmcgaW4gd2hpY2ggYWxsIG9jY3VyZW5jZXMgb2YgUEFUIGluIG1lbW9yeSBT
VFIgYXJlCiAgICAgcmVwbGFjZWQgd2l0aCBTVUIuCiAgCiEgICAgSWYgbGVuZ3RoIG9mIFBBVCBp
cyBsZXNzIHRoYW4gbGVuZ3RoIG9mIFNUUiBvciB0aGVyZSBhcmUgbm8gb2NjdXJlbmNlcwogICAg
IG9mIFBBVCBpbiBTVFIsIHRoZW4gdGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZC4gT3Ro
ZXJ3aXNlLCBhIG5ldwogICAgIHN0cmluZyBpcyBhbGxvY2F0ZWQgaGVyZSBhbmQgcmV0dXJuZWQu
CiAgCi0tLSAxNDUxLDE0NjAgLS0tLQogIC8qCiAgICAgbXltZW1yZXBsYWNlCiAgCiEgICAgUmV0
dXJuIGEgc3RyaW5nIGluIHdoaWNoIGFsbCBvY2N1cnJlbmNlcyBvZiBQQVQgaW4gbWVtb3J5IFNU
UiBhcmUKICAgICByZXBsYWNlZCB3aXRoIFNVQi4KICAKISAgICBJZiBsZW5ndGggb2YgUEFUIGlz
IGxlc3MgdGhhbiBsZW5ndGggb2YgU1RSIG9yIHRoZXJlIGFyZSBubyBvY2N1cnJlbmNlcwogICAg
IG9mIFBBVCBpbiBTVFIsIHRoZW4gdGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZC4gT3Ro
ZXJ3aXNlLCBhIG5ldwogICAgIHN0cmluZyBpcyBhbGxvY2F0ZWQgaGVyZSBhbmQgcmV0dXJuZWQu
CiAgCmRpZmYgLWMgLXIgcHl0aG9uL2Rpc3Qvc3JjL09iamVjdHMvdW5pY29kZW9iamVjdC5jIHB5
dGhvbi5uZXcvZGlzdC9zcmMvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKKioqIHB5dGhvbi9kaXN0
L3NyYy9PYmplY3RzL3VuaWNvZGVvYmplY3QuYwlTYXQgTWFyIDExIDA3OjUzOjIzIDIwMDAKLS0t
IHB5dGhvbi5uZXcvZGlzdC9zcmMvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMJTW9uIE1hciAxMyAx
OToxMTowNSAyMDAwCioqKioqKioqKioqKioqKgoqKiogODMsODkgKioqKgogICAgIGFsbCBvYmpl
Y3RzIG9uIHRoZSBmcmVlIGxpc3QgaGF2aW5nIGEgc2l6ZSBsZXNzIHRoYW4gdGhpcwogICAgIGxp
bWl0LiBUaGlzIHJlZHVjZXMgbWFsbG9jKCkgb3ZlcmhlYWQgZm9yIHNtYWxsIFVuaWNvZGUgb2Jq
ZWN0cy4gIAogIAohICAgIEF0IHdvcnNlIHRoaXMgd2lsbCByZXN1bHQgaW4gTUFYX1VOSUNPREVf
RlJFRUxJU1RfU0laRSAqCiAgICAgKHNpemVvZihQeVVuaWNvZGVPYmplY3QpICsgU1RBWUFMSVZF
X1NJWkVfTElNSVQgKwogICAgIG1hbGxvYygpLW92ZXJoZWFkKSBieXRlcyBvZiB1bnVzZWQgZ2Fy
YmFnZS4KICAKLS0tIDgzLDg5IC0tLS0KICAgICBhbGwgb2JqZWN0cyBvbiB0aGUgZnJlZSBsaXN0
IGhhdmluZyBhIHNpemUgbGVzcyB0aGFuIHRoaXMKICAgICBsaW1pdC4gVGhpcyByZWR1Y2VzIG1h
bGxvYygpIG92ZXJoZWFkIGZvciBzbWFsbCBVbmljb2RlIG9iamVjdHMuICAKICAKISAgICBBdCB3
b3JzdCB0aGlzIHdpbGwgcmVzdWx0IGluIE1BWF9VTklDT0RFX0ZSRUVMSVNUX1NJWkUgKgogICAg
IChzaXplb2YoUHlVbmljb2RlT2JqZWN0KSArIFNUQVlBTElWRV9TSVpFX0xJTUlUICsKICAgICBt
YWxsb2MoKS1vdmVyaGVhZCkgYnl0ZXMgb2YgdW51c2VkIGdhcmJhZ2UuCiAgCioqKioqKioqKioq
KioqKgoqKiogNDg5LDQ5NSAqKioqCiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgICBQeUVy
cl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKISAgICAgICAgICAgICAgICAgICAgICAiVVRGLTgg
ZGVjb2RpbmcgZXJyb3I7IHVua293biBlcnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgICAgICAg
ICAgICAgICAgICAgICAgZXJyb3JzKTsKICAgICAgICAgIHJldHVybiAtMTsKICAgICAgfQotLS0g
NDg5LDQ5NSAtLS0tCiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgICBQeUVycl9Gb3JtYXQo
UHlFeGNfVmFsdWVFcnJvciwKISAgICAgICAgICAgICAgICAgICAgICAiVVRGLTggZGVjb2Rpbmcg
ZXJyb3I7IHVua25vd24gZXJyb3IgaGFuZGxpbmcgY29kZTogJXMiLAogICAgICAgICAgICAgICAg
ICAgICAgIGVycm9ycyk7CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KKioqKioqKioqKioq
KioqCioqKiA2MTEsNjE3ICoqKioKICAgICAgZWxzZSB7CiAgCVB5RXJyX0Zvcm1hdChQeUV4Y19W
YWx1ZUVycm9yLAogIAkJICAgICAiVVRGLTggZW5jb2RpbmcgZXJyb3I7ICIKISAJCSAgICAgInVu
a293biBlcnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgCQkgICAgIGVycm9ycyk7CiAgCXJldHVy
biAtMTsKICAgICAgfQotLS0gNjExLDYxNyAtLS0tCiAgICAgIGVsc2UgewogIAlQeUVycl9Gb3Jt
YXQoUHlFeGNfVmFsdWVFcnJvciwKICAJCSAgICAgIlVURi04IGVuY29kaW5nIGVycm9yOyAiCiEg
CQkgICAgICJ1bmtub3duIGVycm9yIGhhbmRsaW5nIGNvZGU6ICVzIiwKICAJCSAgICAgZXJyb3Jz
KTsKICAJcmV0dXJuIC0xOwogICAgICB9CioqKioqKioqKioqKioqKgoqKiogNzMzLDczOSAqKioq
CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVF
cnJvciwKISAgICAgICAgICAgICAgICAgICAgICAiVVRGLTE2IGRlY29kaW5nIGVycm9yOyB1bmtv
d24gZXJyb3IgaGFuZGxpbmcgY29kZTogJXMiLAogICAgICAgICAgICAgICAgICAgICAgIGVycm9y
cyk7CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KLS0tIDczMyw3MzkgLS0tLQogICAgICB9
CiAgICAgIGVsc2UgewogICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiEg
ICAgICAgICAgICAgICAgICAgICAgIlVURi0xNiBkZWNvZGluZyBlcnJvcjsgdW5rbm93biBlcnJv
ciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzKTsKICAg
ICAgICAgIHJldHVybiAtMTsKICAgICAgfQoqKioqKioqKioqKioqKioKKioqIDkyMSw5MjcgKioq
KgogICAgICBlbHNlIHsKICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAog
ICAgICAgICAgICAgICAgICAgICAgICJVbmljb2RlLUVzY2FwZSBkZWNvZGluZyBlcnJvcjsgIgoh
ICAgICAgICAgICAgICAgICAgICAgICJ1bmtvd24gZXJyb3IgaGFuZGxpbmcgY29kZTogJXMiLAog
ICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAg
IH0KLS0tIDkyMSw5MjcgLS0tLQogICAgICBlbHNlIHsKICAgICAgICAgIFB5RXJyX0Zvcm1hdChQ
eUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICJVbmljb2RlLUVzY2FwZSBk
ZWNvZGluZyBlcnJvcjsgIgohICAgICAgICAgICAgICAgICAgICAgICJ1bmtub3duIGVycm9yIGhh
bmRsaW5nIGNvZGU6ICVzIiwKICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpOwogICAgICAg
ICAgcmV0dXJuIC0xOwogICAgICB9CioqKioqKioqKioqKioqKgoqKiogMTI5OCwxMzA0ICoqKioK
ICAgICAgZWxzZSB7CiAgCVB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogIAkJICAgICAi
TGF0aW4tMSBlbmNvZGluZyBlcnJvcjsgIgohIAkJICAgICAidW5rb3duIGVycm9yIGhhbmRsaW5n
IGNvZGU6ICVzIiwKICAJCSAgICAgZXJyb3JzKTsKICAJcmV0dXJuIC0xOwogICAgICB9Ci0tLSAx
Mjk4LDEzMDQgLS0tLQogICAgICBlbHNlIHsKICAJUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJy
b3IsCiAgCQkgICAgICJMYXRpbi0xIGVuY29kaW5nIGVycm9yOyAiCiEgCQkgICAgICJ1bmtub3du
IGVycm9yIGhhbmRsaW5nIGNvZGU6ICVzIiwKICAJCSAgICAgZXJyb3JzKTsKICAJcmV0dXJuIC0x
OwogICAgICB9CioqKioqKioqKioqKioqKgoqKiogMTM2OSwxMzc1ICoqKioKICAgICAgZWxzZSB7
CiAgCVB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogIAkJICAgICAiQVNDSUkgZGVjb2Rp
bmcgZXJyb3I7ICIKISAJCSAgICAgInVua293biBlcnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAg
CQkgICAgIGVycm9ycyk7CiAgCXJldHVybiAtMTsKICAgICAgfQotLS0gMTM2OSwxMzc1IC0tLS0K
ICAgICAgZWxzZSB7CiAgCVB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogIAkJICAgICAi
QVNDSUkgZGVjb2RpbmcgZXJyb3I7ICIKISAJCSAgICAgInVua25vd24gZXJyb3IgaGFuZGxpbmcg
Y29kZTogJXMiLAogIAkJICAgICBlcnJvcnMpOwogIAlyZXR1cm4gLTE7CiAgICAgIH0KKioqKioq
KioqKioqKioqCioqKiAxNDMxLDE0MzcgKioqKgogICAgICBlbHNlIHsKICAJUHlFcnJfRm9ybWF0
KFB5RXhjX1ZhbHVlRXJyb3IsCiAgCQkgICAgICJBU0NJSSBlbmNvZGluZyBlcnJvcjsgIgohIAkJ
ICAgICAidW5rb3duIGVycm9yIGhhbmRsaW5nIGNvZGU6ICVzIiwKICAJCSAgICAgZXJyb3JzKTsK
ICAJcmV0dXJuIC0xOwogICAgICB9Ci0tLSAxNDMxLDE0MzcgLS0tLQogICAgICBlbHNlIHsKICAJ
UHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgCQkgICAgICJBU0NJSSBlbmNvZGluZyBl
cnJvcjsgIgohIAkJICAgICAidW5rbm93biBlcnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgCQkg
ICAgIGVycm9ycyk7CiAgCXJldHVybiAtMTsKICAgICAgfQoqKioqKioqKioqKioqKioKKioqIDE1
MDIsMTUwOCAqKioqCiAgICAgIGVsc2UgewogIAlQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJv
ciwKICAJCSAgICAgImNoYXJtYXAgZGVjb2RpbmcgZXJyb3I7ICIKISAJCSAgICAgInVua293biBl
cnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgCQkgICAgIGVycm9ycyk7CiAgCXJldHVybiAtMTsK
ICAgICAgfQotLS0gMTUwMiwxNTA4IC0tLS0KICAgICAgZWxzZSB7CiAgCVB5RXJyX0Zvcm1hdChQ
eUV4Y19WYWx1ZUVycm9yLAogIAkJICAgICAiY2hhcm1hcCBkZWNvZGluZyBlcnJvcjsgIgohIAkJ
ICAgICAidW5rbm93biBlcnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgCQkgICAgIGVycm9ycyk7
CiAgCXJldHVybiAtMTsKICAgICAgfQoqKioqKioqKioqKioqKioKKioqIDE2MTgsMTYyNCAqKioq
CiAgICAgIGVsc2UgewogIAlQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAJCSAgICAg
ImNoYXJtYXAgZW5jb2RpbmcgZXJyb3I7ICIKISAJCSAgICAgInVua293biBlcnJvciBoYW5kbGlu
ZyBjb2RlOiAlcyIsCiAgCQkgICAgIGVycm9ycyk7CiAgCXJldHVybiAtMTsKICAgICAgfQotLS0g
MTYxOCwxNjI0IC0tLS0KICAgICAgZWxzZSB7CiAgCVB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVy
cm9yLAogIAkJICAgICAiY2hhcm1hcCBlbmNvZGluZyBlcnJvcjsgIgohIAkJICAgICAidW5rbm93
biBlcnJvciBoYW5kbGluZyBjb2RlOiAlcyIsCiAgCQkgICAgIGVycm9ycyk7CiAgCXJldHVybiAt
MTsKICAgICAgfQoqKioqKioqKioqKioqKioKKioqIDE3NTAsMTc1NiAqKioqCiAgICAgIGVsc2Ug
ewogIAlQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAJCSAgICAgInRyYW5zbGF0ZSBl
cnJvcjsgIgohIAkJICAgICAidW5rb3duIGVycm9yIGhhbmRsaW5nIGNvZGU6ICVzIiwKICAJCSAg
ICAgZXJyb3JzKTsKICAJcmV0dXJuIC0xOwogICAgICB9Ci0tLSAxNzUwLDE3NTYgLS0tLQogICAg
ICBlbHNlIHsKICAJUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgCQkgICAgICJ0cmFu
c2xhdGUgZXJyb3I7ICIKISAJCSAgICAgInVua25vd24gZXJyb3IgaGFuZGxpbmcgY29kZTogJXMi
LAogIAkJICAgICBlcnJvcnMpOwogIAlyZXR1cm4gLTE7CiAgICAgIH0KZGlmZiAtYyAtciBweXRo
b24vZGlzdC9zcmMvUHl0aG9uL2NvZGVjcy5jIHB5dGhvbi5uZXcvZGlzdC9zcmMvUHl0aG9uL2Nv
ZGVjcy5jCioqKiBweXRob24vZGlzdC9zcmMvUHl0aG9uL2NvZGVjcy5jCVNhdCBNYXIgMTEgMDc6
NTc6MjcgMjAwMAotLS0gcHl0aG9uLm5ldy9kaXN0L3NyYy9QeXRob24vY29kZWNzLmMJTW9uIE1h
ciAxMyAxOToxMDo0MCAyMDAwCioqKioqKioqKioqKioqKgoqKiogMTQ2LDE1MiAqKioqCiAgICAg
IGlmIChpID09IGxlbikgewogIAkvKiBYWFggUGVyaGFwcyB3ZSBzaG91bGQgY2FjaGUgbWlzc2Vz
IHRvbyA/ICovCiAgCVB5RXJyX1NldFN0cmluZyhQeUV4Y19Mb29rdXBFcnJvciwKISAJCQkidW5r
b3duIGVuY29kaW5nIik7CiAgCWdvdG8gb25FcnJvcjsKICAgICAgfQogIAotLS0gMTQ2LDE1MiAt
LS0tCiAgICAgIGlmIChpID09IGxlbikgewogIAkvKiBYWFggUGVyaGFwcyB3ZSBzaG91bGQgY2Fj
aGUgbWlzc2VzIHRvbyA/ICovCiAgCVB5RXJyX1NldFN0cmluZyhQeUV4Y19Mb29rdXBFcnJvciwK
ISAJCQkidW5rbm93biBlbmNvZGluZyIpOwogIAlnb3RvIG9uRXJyb3I7CiAgICAgIH0KICAKZGlm
ZiAtYyAtciBweXRob24vZGlzdC9zcmMvY29uZmlndXJlIHB5dGhvbi5uZXcvZGlzdC9zcmMvY29u
ZmlndXJlCioqKiBweXRob24vZGlzdC9zcmMvY29uZmlndXJlCVN1biBNYXIgMTIgMDQ6MTA6MjAg
MjAwMAotLS0gcHl0aG9uLm5ldy9kaXN0L3NyYy9jb25maWd1cmUJTW9uIE1hciAxMyAxOToxNDo0
NCAyMDAwCioqKioqKioqKioqKioqKgoqKiogNTA1MSw1MDU3ICoqKioKICAKICAKICAjIGNoZWNr
IGZvciB1c2FibGUgd2NoYXJfdAohIHVzYWJsZV93Y2hhcl90PSJ1bmtvd24iCiAgZWNobyAkYWNf
biAiY2hlY2tpbmcgZm9yIHVzYWJsZSB3Y2hhcl90IiIuLi4gJGFjX2MiIDE+JjYKICBlY2hvICJj
b25maWd1cmU6NTA1NzogY2hlY2tpbmcgZm9yIHVzYWJsZSB3Y2hhcl90IiA+JjUKICBpZiB0ZXN0
ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgotLS0gNTA1MSw1MDU3IC0tLS0KICAKICAK
ICAjIGNoZWNrIGZvciB1c2FibGUgd2NoYXJfdAohIHVzYWJsZV93Y2hhcl90PSJ1bmtub3duIgog
IGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB1c2FibGUgd2NoYXJfdCIiLi4uICRhY19jIiAxPiY2
CiAgZWNobyAiY29uZmlndXJlOjUwNTc6IGNoZWNraW5nIGZvciB1c2FibGUgd2NoYXJfdCIgPiY1
CiAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KZGlmZiAtYyAtciBweXRo
b24vZGlzdC9zcmMvY29uZmlndXJlLmluIHB5dGhvbi5uZXcvZGlzdC9zcmMvY29uZmlndXJlLmlu
CioqKiBweXRob24vZGlzdC9zcmMvY29uZmlndXJlLmluCVN1biBNYXIgMTIgMDQ6MTA6MjAgMjAw
MAotLS0gcHl0aG9uLm5ldy9kaXN0L3NyYy9jb25maWd1cmUuaW4JTW9uIE1hciAxMyAxOToxMzoy
OCAyMDAwCioqKioqKioqKioqKioqKgoqKiogMTAzOSwxMDQ1ICoqKioKICApCiAgCiAgIyBjaGVj
ayBmb3IgdXNhYmxlIHdjaGFyX3QKISB1c2FibGVfd2NoYXJfdD0idW5rb3duIgogIEFDX01TR19D
SEVDS0lORyhmb3IgdXNhYmxlIHdjaGFyX3QpCiAgQUNfVFJZX1JVTihbCiAgI2luY2x1ZGUgIndj
aGFyLmgiCi0tLSAxMDM5LDEwNDUgLS0tLQogICkKICAKICAjIGNoZWNrIGZvciB1c2FibGUgd2No
YXJfdAohIHVzYWJsZV93Y2hhcl90PSJ1bmtub3duIgogIEFDX01TR19DSEVDS0lORyhmb3IgdXNh
YmxlIHdjaGFyX3QpCiAgQUNfVFJZX1JVTihbCiAgI2luY2x1ZGUgIndjaGFyLmgiCg==

--TW9uLCAxMyBNYXIgMjAwMCAyMjowOToxOCArMDkwMA==--