[Patches] Augmented assignment
Michael Hudson
mwh21@cam.ac.uk
Fri, 12 May 2000 19:16:49 +0100 (BST)
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--8323328-30061660-958155409=:18681
Content-Type: TEXT/PLAIN; charset=US-ASCII
After a resounding silence on comp.lang.python, I thought I'd try here.
Actually this patch is somewhat updated from the one I mentioned there.
I have implemented these operators
+= -= *= /= %= |= &= ^= <<= >>= **=
to have basically the same semantics as C (well, C doesn't have **=, but
you can guess what that does).
I have taken the Common Lisp approach of evaluating things as little as
possible; so in the expression
e1[e2] += e3
each of e3, e1 and e2 are evaluated (in that order) once, though obviously
the result of e1 has both BINARY_SUBSCR and STORE_SUBSCR done to it.
The stack gymnastics required to pull this off look like an attempt to
generate S_3 given a 3-cycle (ROT_THREE) and a 2-cycle (ROT_TWO), so the
resulting code could be much simplified with a couple of well chosen stack
manipulation opcodes.
I have beaten up the tokenizer to accept 3 character tokens; no idea if
what I did was right, but it works.
I hope this is a "you-don't-pay-for-what-you-don't-use" patch.
Comments, flames, etc welcome, but I'm not subscribed to patches, so I'd
appreciate being Cc-ed on any responses.
The patch is somewhat chunky because it's got the changes to
Python/graminit.c in it.
And, I don't expect the patch to go in in this form, but I'll say:
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.
Cheers,
M.
--8323328-30061660-958155409=:18681
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="aug-patch2.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.10005121916490.18681@localhost.localdomain>
Content-Description:
Content-Disposition: attachment; filename="aug-patch2.diff"
ZGlmZiAtTnVyIC0tZXhjbHVkZT0qLnB5YyAtLWV4Y2x1ZGU9Kn4gc3JjLWNs
ZWFuL0dyYW1tYXIvR3JhbW1hciBzcmMtYXVnL0dyYW1tYXIvR3JhbW1hcg0K
LS0tIHNyYy1jbGVhbi9HcmFtbWFyL0dyYW1tYXIJVGh1IE1hciAzMCAxMDox
NDozNSAyMDAwDQorKysgc3JjLWF1Zy9HcmFtbWFyL0dyYW1tYXIJRnJpIE1h
eSAxMiAxODo0NToyMSAyMDAwDQpAQCAtMzEsNyArMzEsNyBAQA0KIHNpbXBs
ZV9zdG10OiBzbWFsbF9zdG10ICgnOycgc21hbGxfc3RtdCkqIFsnOyddIE5F
V0xJTkUNCiAjc21hbGxfc3RtdDogZXhwcl9zdG10IHwgcHJpbnRfc3RtdCAg
fCBkZWxfc3RtdCB8IHBhc3Nfc3RtdCB8IGZsb3dfc3RtdCB8IGltcG9ydF9z
dG10IHwgZ2xvYmFsX3N0bXQgfCBhY2Nlc3Nfc3RtdCB8IGV4ZWNfc3RtdA0K
IHNtYWxsX3N0bXQ6IGV4cHJfc3RtdCB8IHByaW50X3N0bXQgIHwgZGVsX3N0
bXQgfCBwYXNzX3N0bXQgfCBmbG93X3N0bXQgfCBpbXBvcnRfc3RtdCB8IGds
b2JhbF9zdG10IHwgZXhlY19zdG10IHwgYXNzZXJ0X3N0bXQNCi1leHByX3N0
bXQ6IHRlc3RsaXN0ICgnPScgdGVzdGxpc3QpKg0KK2V4cHJfc3RtdDogdGVz
dGxpc3QgKCgnPSd8Jys9J3wnLT0nfCcqPSd8Jy89J3wnJT0nfCcmPSd8J3w9
J3wnXj0nfCc8PD0nfCc+Pj0nfCcqKj0nKSB0ZXN0bGlzdCkqDQogIyBGb3Ig
YXNzaWdubWVudHMsIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zIGVuZm9yY2Vk
IGJ5IHRoZSBpbnRlcnByZXRlcg0KIHByaW50X3N0bXQ6ICdwcmludCcgKHRl
c3QgJywnKSogW3Rlc3RdDQogZGVsX3N0bXQ6ICdkZWwnIGV4cHJsaXN0DQpk
aWZmIC1OdXIgLS1leGNsdWRlPSoucHljIC0tZXhjbHVkZT0qfiBzcmMtY2xl
YW4vSW5jbHVkZS90b2tlbi5oIHNyYy1hdWcvSW5jbHVkZS90b2tlbi5oDQot
LS0gc3JjLWNsZWFuL0luY2x1ZGUvdG9rZW4uaAlGcmkgRGVjICA0IDE4OjQ4
OjIzIDE5OTgNCisrKyBzcmMtYXVnL0luY2x1ZGUvdG9rZW4uaAlGcmkgTWF5
IDEyIDE4OjQyOjA4IDIwMDANCkBAIC03NCwxMCArNzQsMjIgQEANCiAjZGVm
aW5lIExFRlRTSElGVAkzNA0KICNkZWZpbmUgUklHSFRTSElGVAkzNQ0KICNk
ZWZpbmUgRE9VQkxFU1RBUgkzNg0KKyNkZWZpbmUgUExVU0VRVUFMCTM3DQor
I2RlZmluZSBNSU5VU0VRVUFMCTM4DQorI2RlZmluZSBTVEFSRVFVQUwJMzkN
CisjZGVmaW5lIFNMQVNIRVFVQUwJNDANCisjZGVmaW5lIFBFUkNFTlRFUVVB
TAk0MQ0KKyNkZWZpbmUgQU1QRVJFUVVBTAk0Mg0KKyNkZWZpbmUgVkJBUkVR
VUFMCTQzDQorI2RlZmluZSBDQVJFVEVRVUFMCTQ0DQorI2RlZmluZSBMRUZU
U0hJRlRFUVVBTAk0NQ0KKyNkZWZpbmUgUklHSFRTSElGVEVRVUFMCTQ2DQor
I2RlZmluZSBTVEFSU1RBUkVRVUFMCTQ3DQorDQogLyogRG9uJ3QgZm9yZ2V0
IHRvIHVwZGF0ZSB0aGUgdGFibGUgX1B5UGFyc2VyX1Rva2VuTmFtZXMgaW4g
dG9rZW5pemVyLmMhICovDQotI2RlZmluZSBPUAkJMzcNCi0jZGVmaW5lIEVS
Uk9SVE9LRU4JMzgNCi0jZGVmaW5lIE5fVE9LRU5TCTM5DQorI2RlZmluZSBP
UAkJNDgNCisjZGVmaW5lIEVSUk9SVE9LRU4JNDkNCisjZGVmaW5lIE5fVE9L
RU5TCTUwDQogDQogLyogU3BlY2lhbCBkZWZpbml0aW9ucyBmb3IgY29vcGVy
YXRpb24gd2l0aCBwYXJzZXIgKi8NCiANCmRpZmYgLU51ciAtLWV4Y2x1ZGU9
Ki5weWMgLS1leGNsdWRlPSp+IHNyYy1jbGVhbi9MaWIvdGVzdC9vdXRwdXQv
dGVzdF9hdWdhc3NpZ24gc3JjLWF1Zy9MaWIvdGVzdC9vdXRwdXQvdGVzdF9h
dWdhc3NpZ24NCi0tLSBzcmMtY2xlYW4vTGliL3Rlc3Qvb3V0cHV0L3Rlc3Rf
YXVnYXNzaWduCVRodSBKYW4gIDEgMDE6MDA6MDAgMTk3MA0KKysrIHNyYy1h
dWcvTGliL3Rlc3Qvb3V0cHV0L3Rlc3RfYXVnYXNzaWduCUZyaSBNYXkgMTIg
MTg6MzI6MzUgMjAwMA0KQEAgLTAsMCArMSwxNCBAQA0KK3Rlc3RfYXVnYXNz
aWduDQorcDogcmhzDQorZ2V0YXR0cjogYQ0KK2dldGF0dHI6IGINCitnZXRh
dHRyOiBjDQorYWRkOiByaHMNCitzZXRhdHRyOiBjDQorDQorcDogcmhzDQor
Z2V0YXR0cjogYQ0KK3A6IGluZGV4DQorZ2V0aXRlbTogaW5kZXgNCittdWw6
IHJocw0KK3NldGl0ZW06IGluZGV4DQpkaWZmIC1OdXIgLS1leGNsdWRlPSou
cHljIC0tZXhjbHVkZT0qfiBzcmMtY2xlYW4vTGliL3Rlc3QvdGVzdF9hdWdh
c3NpZ24ucHkgc3JjLWF1Zy9MaWIvdGVzdC90ZXN0X2F1Z2Fzc2lnbi5weQ0K
LS0tIHNyYy1jbGVhbi9MaWIvdGVzdC90ZXN0X2F1Z2Fzc2lnbi5weQlUaHUg
SmFuICAxIDAxOjAwOjAwIDE5NzANCisrKyBzcmMtYXVnL0xpYi90ZXN0L3Rl
c3RfYXVnYXNzaWduLnB5CUZyaSBNYXkgMTIgMTg6NTg6NDAgMjAwMA0KQEAg
LTAsMCArMSw1OSBAQA0KK2NsYXNzIFA6DQorICAgIGRlZiBfX2dldGF0dHJf
XyhzZWxmLGF0dHIpOg0KKyAgICAgICAgaWYgYXR0clswXSA9PSAnXyc6DQor
ICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3INCisgICAgICAgIHBy
aW50ICJnZXRhdHRyOiIsIGF0dHINCisgICAgICAgIHJldHVybiBzZWxmDQor
ICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLGF0dHIsdmFsdWUpOg0KKyAgICAg
ICAgcHJpbnQgInNldGF0dHI6IiwgYXR0cg0KKyAgICBkZWYgX19nZXRpdGVt
X18oc2VsZixpdGVtKToNCisgICAgICAgIHByaW50ICJnZXRpdGVtOiIsIGl0
ZW0NCisgICAgICAgIHJldHVybiBzZWxmDQorICAgIGRlZiBfX3NldGl0ZW1f
XyhzZWxmLGl0ZW0sdmFsdWUpOg0KKyAgICAgICAgcHJpbnQgInNldGl0ZW06
IiwgaXRlbQ0KKyAgICBkZWYgX19hZGRfXyhzZWxmLHJocyk6DQorICAgICAg
ICBwcmludCAiYWRkOiIsIHJocw0KKyAgICAgICAgcmV0dXJuIHNlbGYNCisg
ICAgZGVmIF9fbXVsX18oc2VsZixyaHMpOg0KKyAgICAgICAgcHJpbnQgIm11
bDoiLCByaHMNCisgICAgICAgIHJldHVybiBzZWxmDQorDQorZGVmIHAoeCk6
DQorICAgIHByaW50ICJwOiIsIHgNCisgICAgcmV0dXJuIHgNCisNCitQKCku
YS5iLmMgKz0gcCgicmhzIikNCitwcmludA0KK1AoKS5hW3AoImluZGV4Iild
ICo9IHAoInJocyIpDQorDQorZGVmIHNob3VsZGZhaWwoeCk6DQorICAgIHRy
eToNCisgICAgICAgIGNvbXBpbGUoeCwiIiwiZXhlYyIpDQorICAgICAgICBh
c3NlcnQgInNob3VsZCBmYWlsICVzIiV4DQorICAgIGV4Y2VwdCBTeW50YXhF
cnJvcjoNCisgICAgICAgIHBhc3MNCisNCitzaG91bGRmYWlsKCJ4LCs9MSIp
DQorc2hvdWxkZmFpbCgiW3hdKz0xIikNCitzaG91bGRmYWlsKCIoeCwpKz0x
IikNCitzaG91bGRmYWlsKCJ4Kz15Kz0yIikNCitzaG91bGRmYWlsKCJ4Wzpd
Kz0yIikNCitzaG91bGRmYWlsKCJ4WzE6XSs9MiIpDQorc2hvdWxkZmFpbCgi
eFs6Ml0rPTIiKQ0KK3Nob3VsZGZhaWwoInhbMToyXSs9MiIpDQorDQorYSA9
IDEwDQorYSAqPSAyDQorYXNzZXJ0IGE9PTIwDQorYSArPSAzDQorYXNzZXJ0
IGE9PTIzDQorYSAvPSAyDQorYXNzZXJ0IGE9PTExDQorYSAlPSAzDQorYXNz
ZXJ0IGE9PTINCithIDw8PSA0DQorYXNzZXJ0IGE9PTMyDQorYSA+Pj0gMw0K
K2Fzc2VydCBhPT00DQorYSAqKj0gMg0KK2Fzc2VydCBhPT0xNg0KZGlmZiAt
TnVyIC0tZXhjbHVkZT0qLnB5YyAtLWV4Y2x1ZGU9Kn4gc3JjLWNsZWFuL1Bh
cnNlci9ncmFtbWFyLmMgc3JjLWF1Zy9QYXJzZXIvZ3JhbW1hci5jDQotLS0g
c3JjLWNsZWFuL1BhcnNlci9ncmFtbWFyLmMJRnJpIEFwciAxMCAyMzowOToz
NiAxOTk4DQorKysgc3JjLWF1Zy9QYXJzZXIvZ3JhbW1hci5jCUZyaSBNYXkg
MTIgMTg6NDk6NDYgMjAwMA0KQEAgLTI0OCw2ICsyNDgsMTggQEANCiAJCQkJ
cHJpbnRmKCJVbmtub3duIE9QIGxhYmVsICVzXG4iLA0KIAkJCQkJbGItPmxi
X3N0cik7DQogCQl9DQorCQllbHNlIGlmIChsYi0+bGJfc3RyWzJdICYmIGxi
LT5sYl9zdHJbM10gJiYgbGItPmxiX3N0cls0XSA9PSBsYi0+bGJfc3RyWzBd
KSB7DQorCQkJaW50IHR5cGUgPSAoaW50KSBQeVRva2VuX1RocmVlQ2hhcnMo
bGItPmxiX3N0clsxXSwNCisJCQkJCQkJICAgIGxiLT5sYl9zdHJbMl0sDQor
CQkJCQkJCSAgICBsYi0+bGJfc3RyWzNdKTsNCisJCQlpZiAodHlwZSAhPSBP
UCkgew0KKwkJCQlsYi0+bGJfdHlwZSA9IHR5cGU7DQorCQkJCWxiLT5sYl9z
dHIgPSBOVUxMOw0KKwkJCX0NCisJCQllbHNlDQorCQkJCXByaW50ZigiVW5r
bm93biBPUCBsYWJlbCAlc1xuIiwNCisJCQkJCWxiLT5sYl9zdHIpOw0KKwkJ
fQ0KIAkJZWxzZQ0KIAkJCXByaW50ZigiQ2FuJ3QgdHJhbnNsYXRlIFNUUklO
RyBsYWJlbCAlc1xuIiwNCiAJCQkJbGItPmxiX3N0cik7DQpAQCAtMjU2LDMg
KzI2OCw0IEBADQogCQlwcmludGYoIkNhbid0IHRyYW5zbGF0ZSBsYWJlbCAn
JXMnXG4iLA0KIAkJICAgICAgIFB5R3JhbW1hcl9MYWJlbFJlcHIobGIpKTsN
CiB9DQorDQpkaWZmIC1OdXIgLS1leGNsdWRlPSoucHljIC0tZXhjbHVkZT0q
fiBzcmMtY2xlYW4vUGFyc2VyL3Rva2VuaXplci5jIHNyYy1hdWcvUGFyc2Vy
L3Rva2VuaXplci5jDQotLS0gc3JjLWNsZWFuL1BhcnNlci90b2tlbml6ZXIu
YwlUaHUgTWF5IDExIDIxOjQ4OjU3IDIwMDANCisrKyBzcmMtYXVnL1BhcnNl
ci90b2tlbml6ZXIuYwlGcmkgTWF5IDEyIDE4OjQ2OjQ3IDIwMDANCkBAIC05
OSw2ICs5OSwxNyBAQA0KIAkiTEVGVFNISUZUIiwNCiAJIlJJR0hUU0hJRlQi
LA0KIAkiRE9VQkxFU1RBUiIsDQorCSJQTFVTRVFVQUwiLA0KKwkiTUlOVVNF
UVVBTCIsDQorCSJTVEFSRVFVQUwiLA0KKwkiU0xBU0hFUVVBTCIsDQorCSJQ
RVJDRU5URVFVQUwiLA0KKwkiQU1QRVJFUVVBTCIsDQorCSJWQkFSRVFVQUwi
LA0KKwkiQ0FSRVRFUVVBTCIsDQorCSJMRUZUU0hJRlRFUVVBTCIsDQorCSJS
SUdIVFNISUZURVFVQUwiLA0KKwkiU1RBUlNUQVJFUVVBTCIsDQogCS8qIFRo
aXMgdGFibGUgbXVzdCBtYXRjaCB0aGUgI2RlZmluZXMgaW4gdG9rZW4uaCEg
Ki8NCiAJIk9QIiwNCiAJIjxFUlJPUlRPS0VOPiIsDQpAQCAtNDE4LDE1ICs0
MjksOTIgQEANCiAJCWNhc2UgJz4nOglyZXR1cm4gUklHSFRTSElGVDsNCiAJ
CX0NCiAJCWJyZWFrOw0KKwljYXNlICcrJzoNCisJCXN3aXRjaCAoYzIpIHsN
CisJCWNhc2UgJz0nOglyZXR1cm4gUExVU0VRVUFMOw0KKwkJfQ0KKwkJYnJl
YWs7DQorCWNhc2UgJy0nOg0KKwkJc3dpdGNoIChjMikgew0KKwkJY2FzZSAn
PSc6CXJldHVybiBNSU5VU0VRVUFMOw0KKwkJfQ0KKwkJYnJlYWs7DQogCWNh
c2UgJyonOg0KIAkJc3dpdGNoIChjMikgew0KIAkJY2FzZSAnKic6CXJldHVy
biBET1VCTEVTVEFSOw0KKwkJY2FzZSAnPSc6CXJldHVybiBTVEFSRVFVQUw7
DQorCQl9DQorCQlicmVhazsNCisJY2FzZSAnLyc6DQorCQlzd2l0Y2ggKGMy
KSB7DQorCQljYXNlICc9JzoJcmV0dXJuIFNMQVNIRVFVQUw7DQorCQl9DQor
CQlicmVhazsNCisJY2FzZSAnfCc6DQorCQlzd2l0Y2ggKGMyKSB7DQorCQlj
YXNlICc9JzoJcmV0dXJuIFZCQVJFUVVBTDsNCisJCX0NCisJCWJyZWFrOw0K
KwljYXNlICclJzoNCisJCXN3aXRjaCAoYzIpIHsNCisJCWNhc2UgJz0nOgly
ZXR1cm4gUEVSQ0VOVEVRVUFMOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2Ug
JyYnOg0KKwkJc3dpdGNoIChjMikgew0KKwkJY2FzZSAnPSc6CXJldHVybiBB
TVBFUkVRVUFMOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgJ14nOg0KKwkJ
c3dpdGNoIChjMikgew0KKwkJY2FzZSAnPSc6CXJldHVybiBDQVJFVEVRVUFM
Ow0KIAkJfQ0KIAkJYnJlYWs7DQogCX0NCiAJcmV0dXJuIE9QOw0KIH0NCiAN
CitpbnQNCitQeVRva2VuX1RocmVlQ2hhcnMoYzEsIGMyLCBjMykNCisJaW50
IGMxLCBjMiwgYzM7DQorew0KKwlzd2l0Y2ggKGMxKSB7DQorCWNhc2UgJzwn
Og0KKwkJc3dpdGNoIChjMikgew0KKwkJY2FzZSAnPCc6DQorCQkJc3dpdGNo
IChjMykgew0KKwkJCWNhc2UgJz0nOg0KKwkJCQlyZXR1cm4gTEVGVFNISUZU
RVFVQUw7DQorCQkJCWJyZWFrOw0KKwkJCX0NCisJCQlicmVhazsNCisJCX0N
CisJCWJyZWFrOw0KKwljYXNlICc+JzoNCisJCXN3aXRjaCAoYzIpIHsNCisJ
CWNhc2UgJz4nOg0KKwkJCXN3aXRjaCAoYzMpIHsNCisJCQljYXNlICc9JzoN
CisJCQkJcmV0dXJuIFJJR0hUU0hJRlRFUVVBTDsNCisJCQkJYnJlYWs7DQor
CQkJfQ0KKwkJCWJyZWFrOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgJyon
Og0KKwkJc3dpdGNoIChjMikgew0KKwkJY2FzZSAnKic6DQorCQkJc3dpdGNo
IChjMykgew0KKwkJCWNhc2UgJz0nOg0KKwkJCQlyZXR1cm4gU1RBUlNUQVJF
UVVBTDsNCisJCQkJYnJlYWs7DQorCQkJfQ0KKwkJCWJyZWFrOw0KKwkJfQ0K
KwkJYnJlYWs7DQorCX0NCisJcmV0dXJuIE9QOw0KK30NCiANCiBzdGF0aWMg
aW50DQogaW5kZW50ZXJyb3IodG9rKQ0KQEAgLTgwNiw2ICs4OTQsMTMgQEAN
CiAJCWludCBjMiA9IHRva19uZXh0Yyh0b2spOw0KIAkJaW50IHRva2VuID0g
UHlUb2tlbl9Ud29DaGFycyhjLCBjMik7DQogCQlpZiAodG9rZW4gIT0gT1Ap
IHsNCisJCQlpbnQgYzMgPSB0b2tfbmV4dGModG9rKTsNCisJCQlpbnQgdG9r
ZW4zID0gUHlUb2tlbl9UaHJlZUNoYXJzKGMsIGMyLCBjMyk7DQorCQkJaWYg
KHRva2VuMyAhPSBPUCkgew0KKwkJCQl0b2tlbiA9IHRva2VuMzsNCisJCQl9
IGVsc2Ugew0KKwkJCQl0b2tfYmFja3VwKHRvaywgYzMpOw0KKwkJCX0NCiAJ
CQkqcF9zdGFydCA9IHRvay0+c3RhcnQ7DQogCQkJKnBfZW5kID0gdG9rLT5j
dXI7DQogCQkJcmV0dXJuIHRva2VuOw0KZGlmZiAtTnVyIC0tZXhjbHVkZT0q
LnB5YyAtLWV4Y2x1ZGU9Kn4gc3JjLWNsZWFuL1B5dGhvbi9jb21waWxlLmMg
c3JjLWF1Zy9QeXRob24vY29tcGlsZS5jDQotLS0gc3JjLWNsZWFuL1B5dGhv
bi9jb21waWxlLmMJVGh1IE1heSAxMSAyMTo0OTowMiAyMDAwDQorKysgc3Jj
LWF1Zy9QeXRob24vY29tcGlsZS5jCUZyaSBNYXkgMTIgMTg6NTU6MTggMjAw
MA0KQEAgLTc0LDcgKzc0LDYgQEANCiAjZGVmaW5lIE9QX0RFTEVURSAwDQog
I2RlZmluZSBPUF9BU1NJR04gMQ0KICNkZWZpbmUgT1BfQVBQTFkgMg0KLQ0K
ICNkZWZpbmUgT0ZGKHgpIG9mZnNldG9mKFB5Q29kZU9iamVjdCwgeCkNCiAN
CiBzdGF0aWMgc3RydWN0IG1lbWJlcmxpc3QgY29kZV9tZW1iZXJsaXN0W10g
PSB7DQpAQCAtNTAxLDEwICs1MDAsMTAgQEANCiAJaW50IG47DQogew0KIAlp
ZiAoYy0+Y19zdGFja2xldmVsIDwgbikgew0KLQkJLyogZnByaW50ZihzdGRl
cnIsDQorCQlmcHJpbnRmKHN0ZGVyciwNCiAJCQkiJXM6JWQ6IHVuZGVyZmxv
dyEgbmV4dGk9JWQsIGxldmVsPSVkLCBuPSVkXG4iLA0KIAkJCWMtPmNfZmls
ZW5hbWUsIGMtPmNfbGluZW5vLA0KLQkJCWMtPmNfbmV4dGksIGMtPmNfc3Rh
Y2tsZXZlbCwgbik7ICovDQorCQkJYy0+Y19uZXh0aSwgYy0+Y19zdGFja2xl
dmVsLCBuKTsNCiAJCWMtPmNfc3RhY2tsZXZlbCA9IDA7DQogCX0NCiAJZWxz
ZQ0KQEAgLTEzNTksMTUgKzEzNTgsMjUgQEANCiAJCW5vZGUgKnN1YiA9IENI
SUxEKG4sIDApOyAvKiBzdWJzY3JpcHQgKi8NCiAJCS8qIE1ha2UgaXQgaXMg
YSBzaW1wbGUgc2xpY2UuDQogCQkgICBTaG91bGQgaGF2ZSBleGFjdGx5IG9u
ZSBjb2xvbi4gKi8NCi0gICAgICAgIGlmICgoVFlQRShDSElMRChzdWIsIDAp
KSA9PSBDT0xPTg0KLSAgICAgICAgICAgICB8fCAoTkNIKHN1YikgPiAxICYm
IFRZUEUoQ0hJTEQoc3ViLCAxKSkgPT0gQ09MT04pKQ0KLSAgICAgICAgICAg
ICYmIChUWVBFKENISUxEKHN1YixOQ0goc3ViKS0xKSkgIT0gc2xpY2VvcCkp
DQotCXsNCi0JCQlpZiAoYXNzaWduaW5nID09IE9QX0FQUExZKQ0KKwkJaWYg
KChUWVBFKENISUxEKHN1YiwgMCkpID09IENPTE9ODQorCQkgICAgIHx8IChO
Q0goc3ViKSA+IDEgJiYgVFlQRShDSElMRChzdWIsIDEpKSA9PSBDT0xPTikp
DQorCQkgICAgJiYgKFRZUEUoQ0hJTEQoc3ViLE5DSChzdWIpLTEpKSAhPSBz
bGljZW9wKSkNCisJCXsNCisJCQlzd2l0Y2ggKGFzc2lnbmluZykgew0KKwkJ
CWNhc2UgT1BfREVMRVRFOg0KKwkJCQlvcCA9IERFTEVURV9TTElDRTsNCisJ
CQkJYnJlYWs7DQorCQkJY2FzZSBPUF9BUFBMWToNCiAJCQkJb3AgPSBTTElD
RTsNCi0JCQllbHNlDQotCQkJCW9wID0gKChhc3NpZ25pbmcgPT0gT1BfQVNT
SUdOKSA/DQotCQkJCSAgICAgIFNUT1JFX1NMSUNFIDogREVMRVRFX1NMSUNF
KTsNCisJCQkJYnJlYWs7DQorCQkJY2FzZSBPUF9BU1NJR046DQorCQkJCW9w
ID0gU1RPUkVfU0xJQ0U7DQorCQkJCWJyZWFrOw0KKwkJCWRlZmF1bHQ6DQor
CQkJCWNvbV9lcnJvcihjLCBQeUV4Y19TeW50YXhFcnJvciwNCisJCQkJCSAg
ImNhbid0IGRvIGF1Z21lbnRlZCBhc3NpZ25tZW50IHRvIHNsaWNlcyAoeWV0
ISkiKTsNCisJCQkJcmV0dXJuOw0KKwkJCX0NCiAJCQljb21fc2xpY2UoYywg
c3ViLCBvcCk7DQogCQkJaWYgKG9wID09IFNUT1JFX1NMSUNFKQ0KIAkJCQlj
b21fcG9wKGMsIDIpOw0KQEAgLTEzNzYsMjkgKzEzODUsNjAgQEANCiAJCQly
ZXR1cm47DQogCQl9DQogCX0NCi0JLyogRWxzZSBub3JtYWwgc3Vic2NyaXB0
bGlzdC4gIENvbXBpbGUgZWFjaCBzdWJzY3JpcHQuICovDQotCWZvciAoaSA9
IDA7IGkgPCBOQ0gobik7IGkgKz0gMikNCi0JCWNvbV9zdWJzY3JpcHQoYywg
Q0hJTEQobiwgaSkpOw0KLQkvKiBQdXQgbXVsdGlwbGUgc3Vic2NyaXB0cyBp
bnRvIGEgdHVwbGUgKi8NCi0JaWYgKE5DSChuKSA+IDEpIHsNCi0JCWkgPSAo
TkNIKG4pKzEpIC8gMjsNCi0JCWNvbV9hZGRvcGFyZyhjLCBCVUlMRF9UVVBM
RSwgaSk7DQotCQljb21fcG9wKGMsIGktMSk7DQotCX0NCi0JaWYgKGFzc2ln
bmluZyA9PSBPUF9BUFBMWSkgew0KLQkJb3AgPSBCSU5BUllfU1VCU0NSOw0K
LQkJaSA9IDE7DQotCX0NCi0JZWxzZSBpZiAoYXNzaWduaW5nID09IE9QX0FT
U0lHTikgew0KLQkJb3AgPSBTVE9SRV9TVUJTQ1I7DQotCQlpID0gMzsNCi0J
fQ0KLQllbHNlIHsNCi0JCW9wID0gREVMRVRFX1NVQlNDUjsNCi0JCWkgPSAy
Ow0KKwlpZiAoYXNzaWduaW5nIDw9IE9QX0FQUExZKSB7DQorCQkvKiBFbHNl
IG5vcm1hbCBzdWJzY3JpcHRsaXN0LiAgQ29tcGlsZSBlYWNoIHN1YnNjcmlw
dC4gKi8NCisJCWZvciAoaSA9IDA7IGkgPCBOQ0gobik7IGkgKz0gMikNCisJ
CQljb21fc3Vic2NyaXB0KGMsIENISUxEKG4sIGkpKTsNCisJCS8qIFB1dCBt
dWx0aXBsZSBzdWJzY3JpcHRzIGludG8gYSB0dXBsZSAqLw0KKwkJaWYgKE5D
SChuKSA+IDEpIHsNCisJCQlpID0gKE5DSChuKSsxKSAvIDI7DQorCQkJY29t
X2FkZG9wYXJnKGMsIEJVSUxEX1RVUExFLCBpKTsNCisJCQljb21fcG9wKGMs
IGktMSk7DQorCQl9DQorCQlzd2l0Y2ggKGFzc2lnbmluZykgew0KKwkJY2Fz
ZSBPUF9ERUxFVEU6DQorCQkJb3AgPSBERUxFVEVfU1VCU0NSOw0KKwkJCWkg
PSAyOw0KKwkJCWJyZWFrOw0KKwkJY2FzZSBPUF9BUFBMWToNCisJCQlvcCA9
IEJJTkFSWV9TVUJTQ1I7DQorCQkJaSA9IDE7DQorCQkJYnJlYWs7DQorCQlj
YXNlIE9QX0FTU0lHTjoNCisJCQlvcCA9IFNUT1JFX1NVQlNDUjsNCisJCQlp
ID0gMzsNCisJCQlicmVhazsNCisJCX0NCisJCWNvbV9hZGRieXRlKGMsIG9w
KTsNCisJCWNvbV9wb3AoYywgaSk7DQorCX0gZWxzZSB7IC8qIGRvIE5PVCBh
dHRlbXB0IHRvIGZvbGxvdyB0aGUgZm9sbG93aW5nIGNvZGUgd2l0aG91dCBw
ZW5jaWwNCisJCSAgICBhbmQgcGFwZXIhICovDQorCQljb21fYWRkYnl0ZShj
LCBEVVBfVE9QKTsNCisJCWNvbV9wdXNoKGMsIDEpOw0KKwkJY29tX2FkZGJ5
dGUoYywgUk9UX1RIUkVFKTsNCisJCS8qIENvbXBpbGUgZWFjaCBzdWJzY3Jp
cHQuICovDQorCQlmb3IgKGkgPSAwOyBpIDwgTkNIKG4pOyBpICs9IDIpDQor
CQkJY29tX3N1YnNjcmlwdChjLCBDSElMRChuLCBpKSk7DQorCQkvKiBQdXQg
bXVsdGlwbGUgc3Vic2NyaXB0cyBpbnRvIGEgdHVwbGUgKi8NCisJCWlmIChO
Q0gobikgPiAxKSB7DQorCQkJaSA9IChOQ0gobikrMSkgLyAyOw0KKwkJCWNv
bV9hZGRvcGFyZyhjLCBCVUlMRF9UVVBMRSwgaSk7DQorCQkJY29tX3BvcChj
LCBpLTEpOw0KKwkJfQ0KKwkJY29tX2FkZGJ5dGUoYywgRFVQX1RPUCk7DQor
CQljb21fcHVzaChjLCAxKTsNCisJCWNvbV9hZGRieXRlKGMsIFJPVF9USFJF
RSk7DQorCQljb21fYWRkYnl0ZShjLCBCSU5BUllfU1VCU0NSKTsNCisJCWNv
bV9wb3AoYywgMSk7DQorCQljb21fYWRkYnl0ZShjLCBST1RfVFdPKTsNCisJ
CWNvbV9hZGRieXRlKGMsIFJPVF9USFJFRSk7DQorCQljb21fYWRkYnl0ZShj
LCBST1RfVFdPKTsNCisJCWNvbV9hZGRieXRlKGMsIGFzc2lnbmluZyk7DQor
CQljb21fcG9wKGMsIDEpOw0KKwkJY29tX2FkZGJ5dGUoYywgUk9UX1RIUkVF
KTsNCisJCWNvbV9hZGRieXRlKGMsIFNUT1JFX1NVQlNDUik7DQorCQljb21f
cG9wKGMsIDMpOw0KIAl9DQotCWNvbV9hZGRieXRlKGMsIG9wKTsNCi0JY29t
X3BvcChjLCBpKTsNCiB9DQogDQogc3RhdGljIHZvaWQNCkBAIC0xODQ2LDgg
KzE4ODYsMjIgQEANCiAJbm9kZSAqbjsNCiAJaW50IGFzc2lnbmluZzsNCiB7
DQotCWNvbV9hZGRvcG5hbWUoYywgYXNzaWduaW5nID8gU1RPUkVfQVRUUiA6
IERFTEVURV9BVFRSLCBuKTsNCi0JY29tX3BvcChjLCBhc3NpZ25pbmcgPyAy
IDogMSk7DQorCWlmIChhc3NpZ25pbmcgPD0gT1BfQVNTSUdOKSB7DQorCQlj
b21fYWRkb3BuYW1lKGMsIGFzc2lnbmluZyA/IFNUT1JFX0FUVFIgOiBERUxF
VEVfQVRUUiwgbik7DQorCQljb21fcG9wKGMsIGFzc2lnbmluZyA/IDIgOiAx
KTsNCisJfSBlbHNlIHsNCisJCWNvbV9hZGRieXRlKGMsIERVUF9UT1ApOw0K
KwkJY29tX3B1c2goYywgMSk7DQorCQljb21fYWRkYnl0ZShjLCBST1RfVEhS
RUUpOw0KKwkJY29tX2FkZG9wbmFtZShjLCBMT0FEX0FUVFIsIG4pOw0KKwkJ
Y29tX3B1c2goYywgMSk7DQorCQljb21fYWRkYnl0ZShjLCBST1RfVFdPKTsN
CisJCWNvbV9hZGRieXRlKGMsIGFzc2lnbmluZyk7DQorCQljb21fcG9wKGMs
IDEpOw0KKwkJY29tX2FkZGJ5dGUoYywgUk9UX1RXTyk7DQorCQljb21fYWRk
b3BuYW1lKGMsIFNUT1JFX0FUVFIsIG4pOw0KKwkJY29tX3BvcChjLCAyKTsN
CisJfQ0KIH0NCiANCiBzdGF0aWMgdm9pZA0KQEAgLTE5MzIsNiArMTk4Niwx
MSBAQA0KIAkJY2FzZSBleHBybGlzdDoNCiAJCWNhc2UgdGVzdGxpc3Q6DQog
CQkJaWYgKE5DSChuKSA+IDEpIHsNCisJCQkJaWYgKCBhc3NpZ25pbmcgPiBP
UF9BUFBMWSApIHsNCisJCQkJCWNvbV9lcnJvcihjLCBQeUV4Y19TeW50YXhF
cnJvciwNCisJCQkJCQkgICJubyBhdWdtZW50ZWQgYXNzaWdubWVudCB0byB0
dXBsZSIpOw0KKwkJCQkJcmV0dXJuOw0KKwkJCQl9DQogCQkJCWNvbV9hc3Np
Z25fdHVwbGUoYywgbiwgYXNzaWduaW5nKTsNCiAJCQkJcmV0dXJuOw0KIAkJ
CX0NCkBAIC0xOTc2LDcgKzIwMzUsNyBAQA0KIAkJCQkJY29tX2FwcGx5X3Ry
YWlsZXIoYywgQ0hJTEQobiwgaSkpOw0KIAkJCQl9IC8qIE5CIGkgaXMgc3Rp
bGwgYWxpdmUgKi8NCiAJCQkJY29tX2Fzc2lnbl90cmFpbGVyKGMsDQotCQkJ
CQkJQ0hJTEQobiwgaSksIGFzc2lnbmluZyk7DQorCQkJCQkJICAgQ0hJTEQo
biwgaSksIGFzc2lnbmluZyk7DQogCQkJCXJldHVybjsNCiAJCQl9DQogCQkJ
biA9IENISUxEKG4sIDApOw0KQEAgLTE5OTIsNiArMjA1MSwxMSBAQA0KIAkJ
CQkJCSAgImNhbid0IGFzc2lnbiB0byAoKSIpOw0KIAkJCQkJcmV0dXJuOw0K
IAkJCQl9DQorCQkJCWlmICggYXNzaWduaW5nID4gT1BfQVBQTFkgKSB7DQor
CQkJCQljb21fZXJyb3IoYywgUHlFeGNfU3ludGF4RXJyb3IsDQorCQkJCQkJ
ICAibm8gYXVnbWVudGVkIGFzc2lnbm1lbnQgdG8gdHVwbGUiKTsNCisJCQkJ
CXJldHVybjsNCisJCQkJfQ0KIAkJCQlicmVhazsNCiAJCQljYXNlIExTUUI6
DQogCQkJCW4gPSBDSElMRChuLCAxKTsNCkBAIC0yMDAwLDkgKzIwNjQsMjEg
QEANCiAJCQkJCQkgICJjYW4ndCBhc3NpZ24gdG8gW10iKTsNCiAJCQkJCXJl
dHVybjsNCiAJCQkJfQ0KKwkJCQlpZiAoIGFzc2lnbmluZyA+IE9QX0FQUExZ
ICkgew0KKwkJCQkJY29tX2Vycm9yKGMsIFB5RXhjX1N5bnRheEVycm9yLA0K
KwkJCQkJCSAgIm5vIGF1Z21lbnRlZCBhc3NpZ25tZW50IHRvIGxpc3QiKTsN
CisJCQkJCXJldHVybjsNCisJCQkJfQ0KIAkJCQljb21fYXNzaWduX2xpc3Qo
YywgbiwgYXNzaWduaW5nKTsNCiAJCQkJcmV0dXJuOw0KIAkJCWNhc2UgTkFN
RToNCisJCQkJaWYgKCBhc3NpZ25pbmcgPiBPUF9BUFBMWSApIHsgDQorCQkJ
CQljb21fYWRkb3BuYW1lKGMsIExPQURfTkFNRSwgQ0hJTEQobiwgMCkpOw0K
KwkJCQkJY29tX3B1c2goYywgMSk7DQorCQkJCQljb21fYWRkYnl0ZShjLCBS
T1RfVFdPKTsNCisJCQkJCWNvbV9hZGRieXRlKGMsIGFzc2lnbmluZyk7DQor
CQkJCQljb21fcG9wKGMsIDEpOw0KKwkJCQl9DQogCQkJCWNvbV9hc3NpZ25f
bmFtZShjLCBDSElMRChuLCAwKSwgYXNzaWduaW5nKTsNCiAJCQkJcmV0dXJu
Ow0KIAkJCWRlZmF1bHQ6DQpAQCAtMjA0NywxMyArMjEyMyw2NCBAQA0KIAkJ
Y29tX3BvcChjLCAxKTsNCiAJfQ0KIAllbHNlIHsNCi0JCWludCBpOw0KLQkJ
Zm9yIChpID0gMDsgaSA8IE5DSChuKS0yOyBpKz0yKSB7DQotCQkJaWYgKGkr
MiA8IE5DSChuKS0yKSB7DQotCQkJCWNvbV9hZGRieXRlKGMsIERVUF9UT1Ap
Ow0KLQkJCQljb21fcHVzaChjLCAxKTsNCisJCWlmIChOQ0gobikgPT0gMyAm
JiBTVFIoIENISUxEKG4sIDEpIClbMF0gIT0gJz0nKSB7DQorCQkJaW50IG9w
Ow0KKwkJCXN3aXRjaCAoU1RSKCBDSElMRChuLCAxKSApWzBdKSB7DQorCQkJ
Y2FzZSAnKyc6DQorCQkJCW9wID0gQklOQVJZX0FERDsNCisJCQkJYnJlYWs7
DQorCQkJY2FzZSAnLSc6DQorCQkJCW9wID0gQklOQVJZX1NVQlRSQUNUOw0K
KwkJCQlicmVhazsNCisJCQljYXNlICcqJzoNCisJCQkJaWYgKCBTVFIoIENI
SUxEKG4sIDEpIClbMl0gKSB7DQorCQkJCQlvcCA9IEJJTkFSWV9QT1dFUjsN
CisJCQkJfSBlbHNlIHsNCisJCQkJCW9wID0gQklOQVJZX01VTFRJUExZOw0K
KwkJCQl9DQorCQkJCWJyZWFrOw0KKwkJCWNhc2UgJy8nOg0KKwkJCQlvcCA9
IEJJTkFSWV9ESVZJREU7DQorCQkJCWJyZWFrOw0KKwkJCWNhc2UgJyUnOg0K
KwkJCQlvcCA9IEJJTkFSWV9NT0RVTE87DQorCQkJCWJyZWFrOw0KKwkJCWNh
c2UgJ3wnOg0KKwkJCQlvcCA9IEJJTkFSWV9PUjsNCisJCQkJYnJlYWs7DQor
CQkJY2FzZSAnJic6DQorCQkJCW9wID0gQklOQVJZX0FORDsNCisJCQkJYnJl
YWs7DQorCQkJY2FzZSAnXic6DQorCQkJCW9wID0gQklOQVJZX1hPUjsNCisJ
CQkJYnJlYWs7DQorCQkJY2FzZSAnPCc6DQorCQkJCW9wID0gQklOQVJZX0xT
SElGVDsNCisJCQkJYnJlYWs7DQorCQkJY2FzZSAnPic6DQorCQkJCW9wID0g
QklOQVJZX1JTSElGVDsNCisJCQkJYnJlYWs7DQorCQkJZGVmYXVsdDoNCisJ
CQkJY29tX2Vycm9yKGMsIFB5RXhjX1N5c3RlbUVycm9yLA0KKwkJCQkJICAi
dW5rbm93biBhdWdtZW50ZWQgYXNzaWdubWVudCB0eXBlIik7DQorCQkJCXJl
dHVybjsNCisJCQl9DQorCQkJY29tX2Fzc2lnbihjLCBDSElMRChuLCAwKSwg
b3ApOw0KKwkJfQ0KKwkJZWxzZSB7DQorCQkJaW50IGk7DQorCQkJZm9yIChp
ID0gMDsgaSA8IE5DSChuKS0yOyBpKz0yKSB7DQorCQkJCWlmIChpKzIgPCBO
Q0gobiktMikgew0KKwkJCQkJY29tX2FkZGJ5dGUoYywgRFVQX1RPUCk7DQor
CQkJCQljb21fcHVzaChjLCAxKTsNCisJCQkJfQ0KKyAgCQkJCWlmICggU1RS
KCBDSElMRChuLCBpKzEpIClbMF0gIT0gJz0nICkgew0KKyAgCQkJCQljb21f
ZXJyb3IoYyxQeUV4Y19TeW50YXhFcnJvciwNCisgIAkJCQkJCSAgIm5vIG11
bHRpcGxlIGF1Z21lbnRlZCBhc3NpZ21lbnQiKTsNCisgIAkJCQkJcmV0dXJu
OyANCisgIAkJCQl9IA0KKwkJCQljb21fYXNzaWduKGMsIENISUxEKG4sIGkp
LCBPUF9BU1NJR04pOw0KIAkJCX0NCi0JCQljb21fYXNzaWduKGMsIENISUxE
KG4sIGkpLCBPUF9BU1NJR04pOw0KIAkJfQ0KIAl9DQogfQ0KZGlmZiAtTnVy
IC0tZXhjbHVkZT0qLnB5YyAtLWV4Y2x1ZGU9Kn4gc3JjLWNsZWFuL1B5dGhv
bi9ncmFtaW5pdC5jIHNyYy1hdWcvUHl0aG9uL2dyYW1pbml0LmMNCi0tLSBz
cmMtY2xlYW4vUHl0aG9uL2dyYW1pbml0LmMJVGh1IE1hciAzMCAxMDoxNDo1
OCAyMDAwDQorKysgc3JjLWF1Zy9QeXRob24vZ3JhbWluaXQuYwlGcmkgTWF5
IDEyIDE4OjUwOjAwIDIwMDANCkBAIC0yMjYsMTYgKzIyNiwyNyBAQA0KIHN0
YXRpYyBhcmMgYXJjc18xMV8wWzFdID0gew0KIAl7OSwgMX0sDQogfTsNCi1z
dGF0aWMgYXJjIGFyY3NfMTFfMVsyXSA9IHsNCitzdGF0aWMgYXJjIGFyY3Nf
MTFfMVsxM10gPSB7DQogCXsyMCwgMH0sDQorCXszNywgMH0sDQorCXszOCwg
MH0sDQorCXszOSwgMH0sDQorCXs0MCwgMH0sDQorCXs0MSwgMH0sDQorCXs0
MiwgMH0sDQorCXs0MywgMH0sDQorCXs0NCwgMH0sDQorCXs0NSwgMH0sDQor
CXs0NiwgMH0sDQorCXs0NywgMH0sDQogCXswLCAxfSwNCiB9Ow0KIHN0YXRp
YyBzdGF0ZSBzdGF0ZXNfMTFbMl0gPSB7DQogCXsxLCBhcmNzXzExXzB9LA0K
LQl7MiwgYXJjc18xMV8xfSwNCisJezEzLCBhcmNzXzExXzF9LA0KIH07DQog
c3RhdGljIGFyYyBhcmNzXzEyXzBbMV0gPSB7DQotCXszNywgMX0sDQorCXs0
OCwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMTJfMVsyXSA9IHsNCiAJ
ezIxLCAyfSwNCkBAIC0yNTEsMTAgKzI2MiwxMCBAQA0KIAl7MiwgYXJjc18x
Ml8yfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18xM18wWzFdID0gew0KLQl7
MzgsIDF9LA0KKwl7NDksIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzEz
XzFbMV0gPSB7DQotCXszOSwgMn0sDQorCXs1MCwgMn0sDQogfTsNCiBzdGF0
aWMgYXJjIGFyY3NfMTNfMlsxXSA9IHsNCiAJezAsIDJ9LA0KQEAgLTI2NSw3
ICsyNzYsNyBAQA0KIAl7MSwgYXJjc18xM18yfSwNCiB9Ow0KIHN0YXRpYyBh
cmMgYXJjc18xNF8wWzFdID0gew0KLQl7NDAsIDF9LA0KKwl7NTEsIDF9LA0K
IH07DQogc3RhdGljIGFyYyBhcmNzXzE0XzFbMV0gPSB7DQogCXswLCAxfSwN
CkBAIC0yNzUsMTAgKzI4NiwxMCBAQA0KIAl7MSwgYXJjc18xNF8xfSwNCiB9
Ow0KIHN0YXRpYyBhcmMgYXJjc18xNV8wWzRdID0gew0KLQl7NDEsIDF9LA0K
LQl7NDIsIDF9LA0KLQl7NDMsIDF9LA0KLQl7NDQsIDF9LA0KKwl7NTIsIDF9
LA0KKwl7NTMsIDF9LA0KKwl7NTQsIDF9LA0KKwl7NTUsIDF9LA0KIH07DQog
c3RhdGljIGFyYyBhcmNzXzE1XzFbMV0gPSB7DQogCXswLCAxfSwNCkBAIC0y
ODgsNyArMjk5LDcgQEANCiAJezEsIGFyY3NfMTVfMX0sDQogfTsNCiBzdGF0
aWMgYXJjIGFyY3NfMTZfMFsxXSA9IHsNCi0JezQ1LCAxfSwNCisJezU2LCAx
fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18xNl8xWzFdID0gew0KIAl7MCwg
MX0sDQpAQCAtMjk4LDcgKzMwOSw3IEBADQogCXsxLCBhcmNzXzE2XzF9LA0K
IH07DQogc3RhdGljIGFyYyBhcmNzXzE3XzBbMV0gPSB7DQotCXs0NiwgMX0s
DQorCXs1NywgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMTdfMVsxXSA9
IHsNCiAJezAsIDF9LA0KQEAgLTMwOCw3ICszMTksNyBAQA0KIAl7MSwgYXJj
c18xN18xfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18xOF8wWzFdID0gew0K
LQl7NDcsIDF9LA0KKwl7NTgsIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNz
XzE4XzFbMl0gPSB7DQogCXs5LCAyfSwNCkBAIC0zMjMsNyArMzM0LDcgQEAN
CiAJezEsIGFyY3NfMThfMn0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMTlf
MFsxXSA9IHsNCi0JezQ4LCAxfSwNCisJezU5LCAxfSwNCiB9Ow0KIHN0YXRp
YyBhcmMgYXJjc18xOV8xWzJdID0gew0KIAl7MjEsIDJ9LA0KQEAgLTM1Niwy
MSArMzY3LDIxIEBADQogCXsxLCBhcmNzXzE5XzZ9LA0KIH07DQogc3RhdGlj
IGFyYyBhcmNzXzIwXzBbMl0gPSB7DQotCXs0OSwgMX0sDQotCXs1MSwgMn0s
DQorCXs2MCwgMX0sDQorCXs2MiwgMn0sDQogfTsNCiBzdGF0aWMgYXJjIGFy
Y3NfMjBfMVsxXSA9IHsNCi0JezUwLCAzfSwNCisJezYxLCAzfSwNCiB9Ow0K
IHN0YXRpYyBhcmMgYXJjc18yMF8yWzFdID0gew0KLQl7NTAsIDR9LA0KKwl7
NjEsIDR9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzIwXzNbMl0gPSB7DQog
CXsyMiwgMX0sDQogCXswLCAzfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18y
MF80WzFdID0gew0KLQl7NDksIDV9LA0KKwl7NjAsIDV9LA0KIH07DQogc3Rh
dGljIGFyYyBhcmNzXzIwXzVbMl0gPSB7DQogCXsyMywgNn0sDQpAQCAtNDAx
LDcgKzQxMiw3IEBADQogCXsxMiwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFy
Y3NfMjFfMVsyXSA9IHsNCi0JezUyLCAwfSwNCisJezYzLCAwfSwNCiAJezAs
IDF9LA0KIH07DQogc3RhdGljIHN0YXRlIHN0YXRlc18yMVsyXSA9IHsNCkBA
IC00MDksNyArNDIwLDcgQEANCiAJezIsIGFyY3NfMjFfMX0sDQogfTsNCiBz
dGF0aWMgYXJjIGFyY3NfMjJfMFsxXSA9IHsNCi0JezUzLCAxfSwNCisJezY0
LCAxfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18yMl8xWzFdID0gew0KIAl7
MTIsIDJ9LA0KQEAgLTQyNCwxMyArNDM1LDEzIEBADQogCXsyLCBhcmNzXzIy
XzJ9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzIzXzBbMV0gPSB7DQotCXs1
NCwgMX0sDQorCXs2NSwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMjNf
MVsxXSA9IHsNCi0JezU1LCAyfSwNCisJezY2LCAyfSwNCiB9Ow0KIHN0YXRp
YyBhcmMgYXJjc18yM18yWzJdID0gew0KLQl7NTYsIDN9LA0KKwl7NjcsIDN9
LA0KIAl7MCwgMn0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMjNfM1sxXSA9
IHsNCkBAIC00NTYsNyArNDY3LDcgQEANCiAJezEsIGFyY3NfMjNfNn0sDQog
fTsNCiBzdGF0aWMgYXJjIGFyY3NfMjRfMFsxXSA9IHsNCi0JezU3LCAxfSwN
CisJezY4LCAxfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18yNF8xWzFdID0g
ew0KIAl7MjEsIDJ9LA0KQEAgLTQ3OSwxMiArNDkwLDEyIEBADQogCXsxLCBh
cmNzXzI0XzR9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzI1XzBbNl0gPSB7
DQotCXs1OCwgMX0sDQotCXs1OSwgMX0sDQotCXs2MCwgMX0sDQotCXs2MSwg
MX0sDQorCXs2OSwgMX0sDQorCXs3MCwgMX0sDQorCXs3MSwgMX0sDQorCXs3
MiwgMX0sDQogCXsxMCwgMX0sDQotCXs2MiwgMX0sDQorCXs3MywgMX0sDQog
fTsNCiBzdGF0aWMgYXJjIGFyY3NfMjVfMVsxXSA9IHsNCiAJezAsIDF9LA0K
QEAgLTQ5NCw3ICs1MDUsNyBAQA0KIAl7MSwgYXJjc18yNV8xfSwNCiB9Ow0K
IHN0YXRpYyBhcmMgYXJjc18yNl8wWzFdID0gew0KLQl7NjMsIDF9LA0KKwl7
NzQsIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzI2XzFbMV0gPSB7DQog
CXsyMSwgMn0sDQpAQCAtNTA2LDggKzUxNyw4IEBADQogCXsxNSwgNH0sDQog
fTsNCiBzdGF0aWMgYXJjIGFyY3NfMjZfNFszXSA9IHsNCi0JezY0LCAxfSwN
Ci0JezY1LCA1fSwNCisJezc1LCAxfSwNCisJezc2LCA1fSwNCiAJezAsIDR9
LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzI2XzVbMV0gPSB7DQpAQCAtNTMw
LDcgKzU0MSw3IEBADQogCXsxLCBhcmNzXzI2Xzd9LA0KIH07DQogc3RhdGlj
IGFyYyBhcmNzXzI3XzBbMV0gPSB7DQotCXs2NiwgMX0sDQorCXs3NywgMX0s
DQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMjdfMVsxXSA9IHsNCiAJezIxLCAy
fSwNCkBAIC01NDIsNyArNTUzLDcgQEANCiAJezE1LCA0fSwNCiB9Ow0KIHN0
YXRpYyBhcmMgYXJjc18yN180WzJdID0gew0KLQl7NjUsIDV9LA0KKwl7NzYs
IDV9LA0KIAl7MCwgNH0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMjdfNVsx
XSA9IHsNCkBAIC01NjUsMTMgKzU3NiwxMyBAQA0KIAl7MSwgYXJjc18yN183
fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18yOF8wWzFdID0gew0KLQl7Njcs
IDF9LA0KKwl7NzgsIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzI4XzFb
MV0gPSB7DQotCXszOSwgMn0sDQorCXs1MCwgMn0sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfMjhfMlsxXSA9IHsNCi0JezU2LCAzfSwNCisJezY3LCAzfSwN
CiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18yOF8zWzFdID0gew0KIAl7OSwgNH0s
DQpAQCAtNTgzLDcgKzU5NCw3IEBADQogCXsxNSwgNn0sDQogfTsNCiBzdGF0
aWMgYXJjIGFyY3NfMjhfNlsyXSA9IHsNCi0JezY1LCA3fSwNCisJezc2LCA3
fSwNCiAJezAsIDZ9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzI4XzdbMV0g
PSB7DQpAQCAtNjA4LDcgKzYxOSw3IEBADQogCXsxLCBhcmNzXzI4Xzl9LA0K
IH07DQogc3RhdGljIGFyYyBhcmNzXzI5XzBbMV0gPSB7DQotCXs2OCwgMX0s
DQorCXs3OSwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMjlfMVsxXSA9
IHsNCiAJezE0LCAyfSwNCkBAIC02MTcsOCArNjI4LDggQEANCiAJezE1LCAz
fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18yOV8zWzJdID0gew0KLQl7Njks
IDR9LA0KLQl7NzAsIDV9LA0KKwl7ODAsIDR9LA0KKwl7ODEsIDV9LA0KIH07
DQogc3RhdGljIGFyYyBhcmNzXzI5XzRbMV0gPSB7DQogCXsxNCwgNn0sDQpA
QCAtNjMzLDggKzY0NCw4IEBADQogCXsxNSwgOX0sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfMjlfOFszXSA9IHsNCi0JezY5LCA0fSwNCi0JezY1LCA1fSwN
CisJezgwLCA0fSwNCisJezc2LCA1fSwNCiAJezAsIDh9LA0KIH07DQogc3Rh
dGljIGFyYyBhcmNzXzI5XzlbMV0gPSB7DQpAQCAtNjUzLDcgKzY2NCw3IEBA
DQogCXsxLCBhcmNzXzI5Xzl9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzMw
XzBbMV0gPSB7DQotCXs3MSwgMX0sDQorCXs4MiwgMX0sDQogfTsNCiBzdGF0
aWMgYXJjIGFyY3NfMzBfMVsyXSA9IHsNCiAJezIxLCAyfSwNCkBAIC02ODQs
MTQgKzY5NSwxNCBAQA0KIAl7MCwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFy
Y3NfMzFfMlsxXSA9IHsNCi0JezcyLCAzfSwNCisJezgzLCAzfSwNCiB9Ow0K
IHN0YXRpYyBhcmMgYXJjc18zMV8zWzFdID0gew0KIAl7NiwgNH0sDQogfTsN
CiBzdGF0aWMgYXJjIGFyY3NfMzFfNFsyXSA9IHsNCiAJezYsIDR9LA0KLQl7
NzMsIDF9LA0KKwl7ODQsIDF9LA0KIH07DQogc3RhdGljIHN0YXRlIHN0YXRl
c18zMVs1XSA9IHsNCiAJezIsIGFyY3NfMzFfMH0sDQpAQCAtNzAxLDE4ICs3
MTIsMTggQEANCiAJezIsIGFyY3NfMzFfNH0sDQogfTsNCiBzdGF0aWMgYXJj
IGFyY3NfMzJfMFsyXSA9IHsNCi0Jezc0LCAxfSwNCi0Jezc2LCAyfSwNCisJ
ezg1LCAxfSwNCisJezg3LCAyfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18z
Ml8xWzJdID0gew0KLQl7NzUsIDN9LA0KKwl7ODYsIDN9LA0KIAl7MCwgMX0s
DQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMzJfMlsxXSA9IHsNCiAJezAsIDJ9
LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzMyXzNbMV0gPSB7DQotCXs3NCwg
MX0sDQorCXs4NSwgMX0sDQogfTsNCiBzdGF0aWMgc3RhdGUgc3RhdGVzXzMy
WzRdID0gew0KIAl7MiwgYXJjc18zMl8wfSwNCkBAIC03MjEsMTAgKzczMiwx
MCBAQA0KIAl7MSwgYXJjc18zMl8zfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJj
c18zM18wWzFdID0gew0KLQl7NzcsIDF9LA0KKwl7ODgsIDF9LA0KIH07DQog
c3RhdGljIGFyYyBhcmNzXzMzXzFbMl0gPSB7DQotCXs3OCwgMH0sDQorCXs4
OSwgMH0sDQogCXswLCAxfSwNCiB9Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNf
MzNbMl0gPSB7DQpAQCAtNzMyLDExICs3NDMsMTEgQEANCiAJezIsIGFyY3Nf
MzNfMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMzRfMFsyXSA9IHsNCi0J
ezc5LCAxfSwNCi0JezgwLCAyfSwNCisJezkwLCAxfSwNCisJezkxLCAyfSwN
CiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18zNF8xWzFdID0gew0KLQl7NzcsIDJ9
LA0KKwl7ODgsIDJ9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzM0XzJbMV0g
PSB7DQogCXswLCAyfSwNCkBAIC03NDcsMTAgKzc1OCwxMCBAQA0KIAl7MSwg
YXJjc18zNF8yfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18zNV8wWzFdID0g
ew0KLQl7NTUsIDF9LA0KKwl7NjYsIDF9LA0KIH07DQogc3RhdGljIGFyYyBh
cmNzXzM1XzFbMl0gPSB7DQotCXs4MSwgMH0sDQorCXs5MiwgMH0sDQogCXsw
LCAxfSwNCiB9Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMzVbMl0gPSB7DQpA
QCAtNzU4LDI1ICs3NjksMjUgQEANCiAJezIsIGFyY3NfMzVfMX0sDQogfTsN
CiBzdGF0aWMgYXJjIGFyY3NfMzZfMFsxMF0gPSB7DQotCXs4MiwgMX0sDQot
CXs4MywgMX0sDQotCXs4NCwgMX0sDQotCXs4NSwgMX0sDQotCXs4NiwgMX0s
DQotCXs4NywgMX0sDQotCXs4OCwgMX0sDQotCXs1NiwgMX0sDQotCXs3OSwg
Mn0sDQotCXs4OSwgM30sDQorCXs5MywgMX0sDQorCXs5NCwgMX0sDQorCXs5
NSwgMX0sDQorCXs5NiwgMX0sDQorCXs5NywgMX0sDQorCXs5OCwgMX0sDQor
CXs5OSwgMX0sDQorCXs2NywgMX0sDQorCXs5MCwgMn0sDQorCXsxMDAsIDN9
LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzM2XzFbMV0gPSB7DQogCXswLCAx
fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc18zNl8yWzFdID0gew0KLQl7NTYs
IDF9LA0KKwl7NjcsIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzM2XzNb
Ml0gPSB7DQotCXs3OSwgMX0sDQorCXs5MCwgMX0sDQogCXswLCAzfSwNCiB9
Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMzZbNF0gPSB7DQpAQCAtNzg2LDEw
ICs3OTcsMTAgQEANCiAJezIsIGFyY3NfMzZfM30sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfMzdfMFsxXSA9IHsNCi0JezkwLCAxfSwNCisJezEwMSwgMX0s
DQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMzdfMVsyXSA9IHsNCi0JezkxLCAw
fSwNCisJezEwMiwgMH0sDQogCXswLCAxfSwNCiB9Ow0KIHN0YXRpYyBzdGF0
ZSBzdGF0ZXNfMzdbMl0gPSB7DQpAQCAtNzk3LDEwICs4MDgsMTAgQEANCiAJ
ezIsIGFyY3NfMzdfMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMzhfMFsx
XSA9IHsNCi0JezkyLCAxfSwNCisJezEwMywgMX0sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfMzhfMVsyXSA9IHsNCi0JezkzLCAwfSwNCisJezEwNCwgMH0s
DQogCXswLCAxfSwNCiB9Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMzhbMl0g
PSB7DQpAQCAtODA4LDEwICs4MTksMTAgQEANCiAJezIsIGFyY3NfMzhfMX0s
DQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMzlfMFsxXSA9IHsNCi0Jezk0LCAx
fSwNCisJezEwNSwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfMzlfMVsy
XSA9IHsNCi0Jezk1LCAwfSwNCisJezEwNiwgMH0sDQogCXswLCAxfSwNCiB9
Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMzlbMl0gPSB7DQpAQCAtODE5LDEx
ICs4MzAsMTEgQEANCiAJezIsIGFyY3NfMzlfMX0sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfNDBfMFsxXSA9IHsNCi0Jezk2LCAxfSwNCisJezEwNywgMX0s
DQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNDBfMVszXSA9IHsNCi0Jezk3LCAw
fSwNCi0Jezk4LCAwfSwNCisJezEwOCwgMH0sDQorCXsxMDksIDB9LA0KIAl7
MCwgMX0sDQogfTsNCiBzdGF0aWMgc3RhdGUgc3RhdGVzXzQwWzJdID0gew0K
QEAgLTgzMSwxMSArODQyLDExIEBADQogCXszLCBhcmNzXzQwXzF9LA0KIH07
DQogc3RhdGljIGFyYyBhcmNzXzQxXzBbMV0gPSB7DQotCXs5OSwgMX0sDQor
CXsxMTAsIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQxXzFbM10gPSB7
DQotCXsxMDAsIDB9LA0KLQl7MTAxLCAwfSwNCisJezExMSwgMH0sDQorCXsx
MTIsIDB9LA0KIAl7MCwgMX0sDQogfTsNCiBzdGF0aWMgc3RhdGUgc3RhdGVz
XzQxWzJdID0gew0KQEAgLTg0MywxMiArODU0LDEyIEBADQogCXszLCBhcmNz
XzQxXzF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQyXzBbMV0gPSB7DQot
CXsxMDIsIDF9LA0KKwl7MTEzLCAxfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJj
c180Ml8xWzRdID0gew0KIAl7MjMsIDB9LA0KLQl7MTAzLCAwfSwNCi0JezEw
NCwgMH0sDQorCXsxMTQsIDB9LA0KKwl7MTE1LCAwfSwNCiAJezAsIDF9LA0K
IH07DQogc3RhdGljIHN0YXRlIHN0YXRlc180MlsyXSA9IHsNCkBAIC04NTYs
MTMgKzg2NywxMyBAQA0KIAl7NCwgYXJjc180Ml8xfSwNCiB9Ow0KIHN0YXRp
YyBhcmMgYXJjc180M18wWzRdID0gew0KLQl7MTAwLCAxfSwNCi0JezEwMSwg
MX0sDQotCXsxMDUsIDF9LA0KLQl7MTA2LCAyfSwNCisJezExMSwgMX0sDQor
CXsxMTIsIDF9LA0KKwl7MTE2LCAxfSwNCisJezExNywgMn0sDQogfTsNCiBz
dGF0aWMgYXJjIGFyY3NfNDNfMVsxXSA9IHsNCi0JezEwMiwgMn0sDQorCXsx
MTMsIDJ9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQzXzJbMV0gPSB7DQog
CXswLCAyfSwNCkBAIC04NzMsMTUgKzg4NCwxNSBAQA0KIAl7MSwgYXJjc180
M18yfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180NF8wWzFdID0gew0KLQl7
MTA3LCAxfSwNCisJezExOCwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3Nf
NDRfMVszXSA9IHsNCi0JezEwOCwgMX0sDQorCXsxMTksIDF9LA0KIAl7MjQs
IDJ9LA0KIAl7MCwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNDRfMlsx
XSA9IHsNCi0JezEwMiwgM30sDQorCXsxMTMsIDN9LA0KIH07DQogc3RhdGlj
IGFyYyBhcmNzXzQ0XzNbMl0gPSB7DQogCXsyNCwgMn0sDQpAQCAtODk1LDEy
ICs5MDYsMTIgQEANCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180NV8wWzddID0g
ew0KIAl7MTYsIDF9LA0KLQl7MTA5LCAyfSwNCi0JezExMSwgM30sDQotCXsx
MTQsIDR9LA0KKwl7MTIwLCAyfSwNCisJezEyMiwgM30sDQorCXsxMjUsIDR9
LA0KIAl7MTIsIDV9LA0KLQl7MTE1LCA1fSwNCi0JezExNiwgNn0sDQorCXsx
MjYsIDV9LA0KKwl7MTI3LCA2fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180
NV8xWzJdID0gew0KIAl7OSwgN30sDQpAQCAtOTA4LDExICs5MTksMTEgQEAN
CiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180NV8yWzJdID0gew0KIAl7OSwgOH0s
DQotCXsxMTAsIDV9LA0KKwl7MTIxLCA1fSwNCiB9Ow0KIHN0YXRpYyBhcmMg
YXJjc180NV8zWzJdID0gew0KLQl7MTEyLCA5fSwNCi0JezExMywgNX0sDQor
CXsxMjMsIDl9LA0KKwl7MTI0LCA1fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJj
c180NV80WzFdID0gew0KIAl7OSwgMTB9LA0KQEAgLTkyMSwyMCArOTMyLDIw
IEBADQogCXswLCA1fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180NV82WzJd
ID0gew0KLQl7MTE2LCA2fSwNCisJezEyNywgNn0sDQogCXswLCA2fSwNCiB9
Ow0KIHN0YXRpYyBhcmMgYXJjc180NV83WzFdID0gew0KIAl7MTgsIDV9LA0K
IH07DQogc3RhdGljIGFyYyBhcmNzXzQ1XzhbMV0gPSB7DQotCXsxMTAsIDV9
LA0KKwl7MTIxLCA1fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180NV85WzFd
ID0gew0KLQl7MTEzLCA1fSwNCisJezEyNCwgNX0sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfNDVfMTBbMV0gPSB7DQotCXsxMTQsIDV9LA0KKwl7MTI1LCA1
fSwNCiB9Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNDVbMTFdID0gew0KIAl7
NywgYXJjc180NV8wfSwNCkBAIC05NTAsNyArOTYxLDcgQEANCiAJezEsIGFy
Y3NfNDVfMTB9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQ2XzBbMV0gPSB7
DQotCXsxMTcsIDF9LA0KKwl7MTI4LCAxfSwNCiB9Ow0KIHN0YXRpYyBhcmMg
YXJjc180Nl8xWzJdID0gew0KIAl7MTcsIDJ9LA0KQEAgLTk3NCwxNSArOTg1
LDE1IEBADQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNDdfMFszXSA9IHsNCiAJ
ezE2LCAxfSwNCi0JezEwOSwgMn0sDQotCXs1MiwgM30sDQorCXsxMjAsIDJ9
LA0KKwl7NjMsIDN9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQ3XzFbMl0g
PSB7DQotCXsxMTgsIDR9LA0KKwl7MTI5LCA0fSwNCiAJezE4LCA1fSwNCiB9
Ow0KIHN0YXRpYyBhcmMgYXJjc180N18yWzFdID0gew0KLQl7MTE5LCA2fSwN
CisJezEzMCwgNn0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNDdfM1sxXSA9
IHsNCiAJezEyLCA1fSwNCkBAIC05OTQsNyArMTAwNSw3IEBADQogCXswLCA1
fSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180N182WzFdID0gew0KLQl7MTEw
LCA1fSwNCisJezEyMSwgNX0sDQogfTsNCiBzdGF0aWMgc3RhdGUgc3RhdGVz
XzQ3WzddID0gew0KIAl7MywgYXJjc180N18wfSwNCkBAIC0xMDA2LDE0ICsx
MDE3LDE0IEBADQogCXsxLCBhcmNzXzQ3XzZ9LA0KIH07DQogc3RhdGljIGFy
YyBhcmNzXzQ4XzBbMV0gPSB7DQotCXsxMjAsIDF9LA0KKwl7MTMxLCAxfSwN
CiB9Ow0KIHN0YXRpYyBhcmMgYXJjc180OF8xWzJdID0gew0KIAl7MjIsIDJ9
LA0KIAl7MCwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNDhfMlsyXSA9
IHsNCi0JezEyMCwgMX0sDQorCXsxMzEsIDF9LA0KIAl7MCwgMn0sDQogfTsN
CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzQ4WzNdID0gew0KQEAgLTEwMjIsMTIg
KzEwMzMsMTIgQEANCiAJezIsIGFyY3NfNDhfMn0sDQogfTsNCiBzdGF0aWMg
YXJjIGFyY3NfNDlfMFszXSA9IHsNCi0JezUyLCAxfSwNCisJezYzLCAxfSwN
CiAJezIxLCAyfSwNCiAJezE0LCAzfSwNCiB9Ow0KIHN0YXRpYyBhcmMgYXJj
c180OV8xWzFdID0gew0KLQl7NTIsIDR9LA0KKwl7NjMsIDR9LA0KIH07DQog
c3RhdGljIGFyYyBhcmNzXzQ5XzJbMl0gPSB7DQogCXsxNCwgM30sDQpAQCAt
MTAzNSwxNCArMTA0NiwxNCBAQA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQ5
XzNbM10gPSB7DQogCXsyMSwgNX0sDQotCXsxMjEsIDZ9LA0KKwl7MTMyLCA2
fSwNCiAJezAsIDN9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzQ5XzRbMV0g
PSB7DQotCXs1MiwgNn0sDQorCXs2MywgNn0sDQogfTsNCiBzdGF0aWMgYXJj
IGFyY3NfNDlfNVsyXSA9IHsNCi0JezEyMSwgNn0sDQorCXsxMzIsIDZ9LA0K
IAl7MCwgNX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNDlfNlsxXSA9IHsN
CkBAIC0xMDczLDE0ICsxMDg0LDE0IEBADQogCXsxLCBhcmNzXzUwXzJ9LA0K
IH07DQogc3RhdGljIGFyYyBhcmNzXzUxXzBbMV0gPSB7DQotCXs1NSwgMX0s
DQorCXs2NiwgMX0sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNTFfMVsyXSA9
IHsNCiAJezIyLCAyfSwNCiAJezAsIDF9LA0KIH07DQogc3RhdGljIGFyYyBh
cmNzXzUxXzJbMl0gPSB7DQotCXs1NSwgMX0sDQorCXs2NiwgMX0sDQogCXsw
LCAyfSwNCiB9Ow0KIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTFbM10gPSB7DQpA
QCAtMTEyOSw3ICsxMTQwLDcgQEANCiAJezIsIGFyY3NfNTNfNH0sDQogfTsN
CiBzdGF0aWMgYXJjIGFyY3NfNTRfMFsxXSA9IHsNCi0JezEyMiwgMX0sDQor
CXsxMzMsIDF9LA0KIH07DQogc3RhdGljIGFyYyBhcmNzXzU0XzFbMV0gPSB7
DQogCXsxMiwgMn0sDQpAQCAtMTE2NCw3ICsxMTc1LDcgQEANCiAJezEsIGFy
Y3NfNTRfN30sDQogfTsNCiBzdGF0aWMgYXJjIGFyY3NfNTVfMFszXSA9IHsN
Ci0JezEyMywgMX0sDQorCXsxMzQsIDF9LA0KIAl7MjMsIDJ9LA0KIAl7MjQs
IDN9LA0KIH07DQpAQCAtMTE3OSw3ICsxMTkwLDcgQEANCiAJezIxLCA2fSwN
CiB9Ow0KIHN0YXRpYyBhcmMgYXJjc181NV80WzRdID0gew0KLQl7MTIzLCAx
fSwNCisJezEzNCwgMX0sDQogCXsyMywgMn0sDQogCXsyNCwgM30sDQogCXsw
LCA0fSwNCkBAIC0xMjI1LDEyMSArMTIzNiwxMjEgQEANCiB9Ow0KIHN0YXRp
YyBkZmEgZGZhc1s1N10gPSB7DQogCXsyNTYsICJzaW5nbGVfaW5wdXQiLCAw
LCAzLCBzdGF0ZXNfMCwNCi0JICJcMDA0XDAzMFwwMDFcMDAwXDE0MFwzNDFc
MTUzXDIwMlwwMzRcMjAwXDAwMFwwMDBcMDYwXDI0MlwwNzRcMDA0In0sDQor
CSAiXDAwNFwwMzBcMDAxXDAwMFwwMDBcMDAwXDAxM1wxMzdcMDIzXDM0NFww
MDBcMDA0XDAwMFwyMDBcMDIxXDM0NVwwNDEifSwNCiAJezI1NywgImZpbGVf
aW5wdXQiLCAwLCAyLCBzdGF0ZXNfMSwNCi0JICJcMjA0XDAzMFwwMDFcMDAw
XDE0MFwzNDFcMTUzXDIwMlwwMzRcMjAwXDAwMFwwMDBcMDYwXDI0MlwwNzRc
MDA0In0sDQorCSAiXDIwNFwwMzBcMDAxXDAwMFwwMDBcMDAwXDAxM1wxMzdc
MDIzXDM0NFwwMDBcMDA0XDAwMFwyMDBcMDIxXDM0NVwwNDEifSwNCiAJezI1
OCwgImV2YWxfaW5wdXQiLCAwLCAzLCBzdGF0ZXNfMiwNCi0JICJcMDAwXDAy
MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDYw
XDI0MlwwNzRcMDAwIn0sDQorCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwyMDBcMDIxXDM0NVwwMDEi
fSwNCiAJezI1OSwgImZ1bmNkZWYiLCAwLCA2LCBzdGF0ZXNfMywNCi0JICJc
MDAwXDAxMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwIn0sDQorCSAiXDAwMFwwMTBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDAifSwNCiAJezI2MCwgInBhcmFtZXRlcnMiLCAwLCA0LCBzdGF0ZXNf
NCwNCi0JICJcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sDQorCSAiXDAwMFwwMDBc
MDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDAifSwNCiAJezI2MSwgInZhcmFyZ3NsaXN0IiwgMCwg
MTAsIHN0YXRlc181LA0KLQkgIlwwMDBcMDIwXDIwMVwwMDFcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCisJ
ICJcMDAwXDAyMFwyMDFcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7MjYyLCAiZnBkZWYi
LCAwLCA0LCBzdGF0ZXNfNiwNCi0JICJcMDAwXDAyMFwwMDFcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0s
DQorCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCiAJezI2MywgImZw
bGlzdCIsIDAsIDMsIHN0YXRlc183LA0KLQkgIlwwMDBcMDIwXDAwMVwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDAifSwNCisJICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7MjY0
LCAic3RtdCIsIDAsIDIsIHN0YXRlc184LA0KLQkgIlwwMDBcMDMwXDAwMVww
MDBcMTQwXDM0MVwxNTNcMjAyXDAzNFwyMDBcMDAwXDAwMFwwNjBcMjQyXDA3
NFwwMDQifSwNCisJICJcMDAwXDAzMFwwMDFcMDAwXDAwMFwwMDBcMDEzXDEz
N1wwMjNcMzQ0XDAwMFwwMDRcMDAwXDIwMFwwMjFcMzQ1XDA0MSJ9LA0KIAl7
MjY1LCAic2ltcGxlX3N0bXQiLCAwLCA0LCBzdGF0ZXNfOSwNCi0JICJcMDAw
XDAyMFwwMDFcMDAwXDE0MFwzNDFcMTUzXDAwMlwwMDBcMjAwXDAwMFwwMDBc
MDYwXDI0MlwwNzRcMDAwIn0sDQorCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBc
MDAwXDAxM1wxMzdcMDIzXDAwMFwwMDBcMDA0XDAwMFwyMDBcMDIxXDM0NVww
MDEifSwNCiAJezI2NiwgInNtYWxsX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTAs
DQotCSAiXDAwMFwwMjBcMDAxXDAwMFwxNDBcMzQxXDE1M1wwMDJcMDAwXDIw
MFwwMDBcMDAwXDA2MFwyNDJcMDc0XDAwMCJ9LA0KKwkgIlwwMDBcMDIwXDAw
MVwwMDBcMDAwXDAwMFwwMTNcMTM3XDAyM1wwMDBcMDAwXDAwNFwwMDBcMjAw
XDAyMVwzNDVcMDAxIn0sDQogCXsyNjcsICJleHByX3N0bXQiLCAwLCAyLCBz
dGF0ZXNfMTEsDQotCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDIwMFwwMDBcMDAwXDA2MFwyNDJcMDc0XDAwMCJ9LA0KKwkgIlww
MDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
NFwwMDBcMjAwXDAyMVwzNDVcMDAxIn0sDQogCXsyNjgsICJwcmludF9zdG10
IiwgMCwgMywgc3RhdGVzXzEyLA0KLQkgIlwwMDBcMDAwXDAwMFwwMDBcMDQw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAi
fSwNCisJICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7MjY5LCAi
ZGVsX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMTMsDQotCSAiXDAwMFwwMDBcMDAw
XDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMCJ9LA0KKwkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sDQog
CXsyNzAsICJwYXNzX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTQsDQotCSAiXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMCJ9LA0KKwkgIlwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMTBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwIn0sDQogCXsyNzEsICJmbG93X3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTUs
DQotCSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzQwXDAwMVwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KKwkgIlwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDE3XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwIn0sDQogCXsyNzIsICJicmVha19zdG10IiwgMCwgMiwg
c3RhdGVzXzE2LA0KLQkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCisJICJc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7MjczLCAiY29udGludWVf
c3RtdCIsIDAsIDIsIHN0YXRlc18xNywNCi0JICJcMDAwXDAwMFwwMDBcMDAw
XDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwIn0sDQorCSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCiAJezI3
NCwgInJldHVybl9zdG10IiwgMCwgMywgc3RhdGVzXzE4LA0KLQkgIlwwMDBc
MDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDAifSwNCisJICJcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwNFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MCJ9LA0KIAl7Mjc1LCAicmFpc2Vfc3RtdCIsIDAsIDcsIHN0YXRlc18xOSwN
Ci0JICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sDQorCSAiXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMTBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDAifSwNCiAJezI3NiwgImltcG9ydF9zdG10IiwgMCwgOSwg
c3RhdGVzXzIwLA0KLQkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTJc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCisJICJc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEyMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7Mjc3LCAiZG90dGVkX25h
bWUiLCAwLCAyLCBzdGF0ZXNfMjEsDQotCSAiXDAwMFwwMjBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MCJ9LA0KKwkgIlwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sDQogCXsyNzgs
ICJnbG9iYWxfc3RtdCIsIDAsIDMsIHN0YXRlc18yMiwNCi0JICJcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwIn0sDQorCSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAi
fSwNCiAJezI3OSwgImV4ZWNfc3RtdCIsIDAsIDcsIHN0YXRlc18yMywNCi0J
ICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sDQorCSAiXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDAifSwNCiAJezI4MCwgImFzc2VydF9zdG10IiwgMCwgNSwgc3Rh
dGVzXzI0LA0KLQkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAy
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCisJICJcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7MjgxLCAiY29tcG91bmRfc3Rt
dCIsIDAsIDIsIHN0YXRlc18yNSwNCi0JICJcMDAwXDAxMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDIwMFwwMzRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0
In0sDQorCSAiXDAwMFwwMTBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDM0NFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDAifSwNCiAJezI4Miwg
ImlmX3N0bXQiLCAwLCA4LCBzdGF0ZXNfMjYsDQotCSAiXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMCJ9LA0KKwkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sDQog
CXsyODMsICJ3aGlsZV9zdG10IiwgMCwgOCwgc3RhdGVzXzI3LA0KLQkgIlww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDAifSwNCisJICJcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMCJ9LA0KIAl7Mjg0LCAiZm9yX3N0bXQiLCAwLCAxMCwgc3RhdGVzXzI4
LA0KLQkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCisJICJcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMCJ9LA0KIAl7Mjg1LCAidHJ5X3N0bXQiLCAwLCAxMCwg
c3RhdGVzXzI5LA0KLQkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCisJICJc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LA0KIAl7Mjg2LCAiZXhjZXB0X2Ns
YXVzZSIsIDAsIDUsIHN0YXRlc18zMCwNCi0JICJcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwIn0sDQorCSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwNCiAJezI4
NywgInN1aXRlIiwgMCwgNSwgc3RhdGVzXzMxLA0KLQkgIlwwMDRcMDIwXDAw
MVwwMDBcMTQwXDM0MVwxNTNcMDAyXDAwMFwyMDBcMDAwXDAwMFwwNjBcMjQy
XDA3NFwwMDAifSwNCisJICJcMDA0XDAyMFwwMDFcMDAwXDAwMFwwMDBcMDEz
XDEzN1wwMjNcMDAwXDAwMFwwMDRcMDAwXDIwMFwwMjFcMzQ1XDAwMSJ9LA0K
IAl7Mjg4LCAidGVzdCIsIDAsIDQsIHN0YXRlc18zMiwNCi0JICJcMDAwXDAy
MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDYw
XDI0MlwwNzRcMDAwIn0sDQorCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwyMDBcMDIxXDM0NVwwMDEi
fSwNCiAJezI4OSwgImFuZF90ZXN0IiwgMCwgMiwgc3RhdGVzXzMzLA0KLQkg
IlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAw
XDAwMFwwNjBcMjQyXDAzNFwwMDAifSwNCisJICJcMDAwXDAyMFwwMDFcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwXDIwMFwwMjFc
MzQ1XDAwMCJ9LA0KIAl7MjkwLCAibm90X3Rlc3QiLCAwLCAzLCBzdGF0ZXNf
MzQsDQotCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDIwMFwwMDBcMDAwXDA2MFwyNDJcMDM0XDAwMCJ9LA0KKwkgIlwwMDBcMDIw
XDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBc
MjAwXDAyMVwzNDVcMDAwIn0sDQogCXsyOTEsICJjb21wYXJpc29uIiwgMCwg
Miwgc3RhdGVzXzM1LA0KLQkgIlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNjBcMjQyXDAzNFwwMDAifSwNCisJ
ICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDIwMFwwMjFcMzQ1XDAwMCJ9LA0KIAl7MjkyLCAiY29tcF9v
cCIsIDAsIDQsIHN0YXRlc18zNiwNCi0JICJcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMVwwMDBcMjAwXDM3NFwwMDNcMDAwXDAwMFwwMDBcMDAw
In0sDQorCSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDEw
XDAwMFwwMDBcMzQ0XDAzN1wwMDBcMDAwXDAwMFwwMDAifSwNCiAJezI5Mywg
ImV4cHIiLCAwLCAyLCBzdGF0ZXNfMzcsDQotCSAiXDAwMFwwMjBcMDAxXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA2MFwyNDJcMDM0
XDAwMCJ9LA0KKwkgIlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAyMVwzNDVcMDAwIn0sDQogCXsy
OTQsICJ4b3JfZXhwciIsIDAsIDIsIHN0YXRlc18zOCwNCi0JICJcMDAwXDAy
MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDYw
XDI0MlwwMzRcMDAwIn0sDQorCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDIxXDM0NVwwMDAi
fSwNCiAJezI5NSwgImFuZF9leHByIiwgMCwgMiwgc3RhdGVzXzM5LA0KLQkg
IlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwNjBcMjQyXDAzNFwwMDAifSwNCisJICJcMDAwXDAyMFwwMDFcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMjFc
MzQ1XDAwMCJ9LA0KIAl7Mjk2LCAic2hpZnRfZXhwciIsIDAsIDIsIHN0YXRl
c180MCwNCi0JICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDYwXDI0MlwwMzRcMDAwIn0sDQorCSAiXDAwMFww
MjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwyMDBcMDIxXDM0NVwwMDAifSwNCiAJezI5NywgImFyaXRoX2V4cHIiLCAw
LCAyLCBzdGF0ZXNfNDEsDQotCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA2MFwyNDJcMDM0XDAwMCJ9LA0K
KwkgIlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDBcMjAwXDAyMVwzNDVcMDAwIn0sDQogCXsyOTgsICJ0ZXJt
IiwgMCwgMiwgc3RhdGVzXzQyLA0KLQkgIlwwMDBcMDIwXDAwMVwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNjBcMjQyXDAzNFwwMDAi
fSwNCisJICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMFwwMDBcMDAwXDIwMFwwMjFcMzQ1XDAwMCJ9LA0KIAl7Mjk5LCAi
ZmFjdG9yIiwgMCwgMywgc3RhdGVzXzQzLA0KLQkgIlwwMDBcMDIwXDAwMVww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNjBcMjQyXDAz
NFwwMDAifSwNCisJICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMjFcMzQ1XDAwMCJ9LA0KIAl7
MzAwLCAicG93ZXIiLCAwLCA0LCBzdGF0ZXNfNDQsDQotCSAiXDAwMFwwMjBc
MDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwy
NDBcMDM0XDAwMCJ9LA0KKwkgIlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwzNDVcMDAwIn0s
DQogCXszMDEsICJhdG9tIiwgMCwgMTEsIHN0YXRlc180NSwNCi0JICJcMDAw
XDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc
MDAwXDI0MFwwMzRcMDAwIn0sDQorCSAiXDAwMFwwMjBcMDAxXDAwMFwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM0NVww
MDAifSwNCiAJezMwMiwgImxhbWJkZWYiLCAwLCA1LCBzdGF0ZXNfNDYsDQot
CSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDQwXDAwMCJ9LA0KKwkgIlwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAxIn0sDQogCXszMDMsICJ0cmFpbGVyIiwgMCwgNywgc3RhdGVz
XzQ3LA0KLQkgIlwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMjBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDAifSwNCisJICJcMDAwXDAw
MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAxXDAwMCJ9LA0KIAl7MzA0LCAic3Vic2NyaXB0bGlzdCIs
IDAsIDMsIHN0YXRlc180OCwNCi0JICJcMDAwXDEyMFwwMDFcMDAwXDAwMFww
MDBcMDIwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDYwXDI0MlwwNzRcMDAwIn0s
DQorCSAiXDAwMFwxMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAw
MFwwMDBcMDA0XDAwMFwyMDBcMDIxXDM0NVwwMDEifSwNCiAJezMwNSwgInN1
YnNjcmlwdCIsIDAsIDcsIHN0YXRlc180OSwNCi0JICJcMDAwXDEyMFwwMDFc
MDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDYwXDI0Mlww
NzRcMDAwIn0sDQorCSAiXDAwMFwxMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwy
MDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwyMDBcMDIxXDM0NVwwMDEifSwNCiAJ
ezMwNiwgInNsaWNlb3AiLCAwLCAzLCBzdGF0ZXNfNTAsDQotCSAiXDAwMFwx
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMCJ9LA0KKwkgIlwwMDBcMTAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAw
In0sDQogCXszMDcsICJleHBybGlzdCIsIDAsIDMsIHN0YXRlc181MSwNCi0J
ICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDYwXDI0MlwwMzRcMDAwIn0sDQorCSAiXDAwMFwwMjBcMDAxXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDIx
XDM0NVwwMDAifSwNCiAJezMwOCwgInRlc3RsaXN0IiwgMCwgMywgc3RhdGVz
XzUyLA0KLQkgIlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwyMDBcMDAwXDAwMFwwNjBcMjQyXDA3NFwwMDAifSwNCisJICJcMDAwXDAy
MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAw
XDIwMFwwMjFcMzQ1XDAwMSJ9LA0KIAl7MzA5LCAiZGljdG1ha2VyIiwgMCwg
NSwgc3RhdGVzXzUzLA0KLQkgIlwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwNjBcMjQyXDA3NFwwMDAifSwNCisJ
ICJcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDRcMDAwXDIwMFwwMjFcMzQ1XDAwMSJ9LA0KIAl7MzEwLCAiY2xhc3Nk
ZWYiLCAwLCA4LCBzdGF0ZXNfNTQsDQotCSAiXDAwMFwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
NCJ9LA0KKwkgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwIn0sDQogCXszMTEs
ICJhcmdsaXN0IiwgMCwgOCwgc3RhdGVzXzU1LA0KLQkgIlwwMDBcMDIwXDIw
MVwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwNjBcMjQy
XDA3NFwwMDAifSwNCisJICJcMDAwXDAyMFwyMDFcMDAxXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwXDIwMFwwMjFcMzQ1XDAwMSJ9LA0K
IAl7MzEyLCAiYXJndW1lbnQiLCAwLCA0LCBzdGF0ZXNfNTYsDQotCSAiXDAw
MFwwMjBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAw
XDA2MFwyNDJcMDc0XDAwMCJ9LA0KKwkgIlwwMDBcMDIwXDAwMVwwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMjAwXDAyMVwzNDVc
MDAxIn0sDQogfTsNCi1zdGF0aWMgbGFiZWwgbGFiZWxzWzEyNF0gPSB7DQor
c3RhdGljIGxhYmVsIGxhYmVsc1sxMzVdID0gew0KIAl7MCwgIkVNUFRZIn0s
DQogCXsyNTYsIDB9LA0KIAl7NCwgMH0sDQpAQCAtMTM3Nyw2ICsxMzg4LDE3
IEBADQogCXsyNzgsIDB9LA0KIAl7Mjc5LCAwfSwNCiAJezI4MCwgMH0sDQor
CXszNywgMH0sDQorCXszOCwgMH0sDQorCXszOSwgMH0sDQorCXs0MCwgMH0s
DQorCXs0MSwgMH0sDQorCXs0MiwgMH0sDQorCXs0MywgMH0sDQorCXs0NCwg
MH0sDQorCXs0NSwgMH0sDQorCXs0NiwgMH0sDQorCXs0NywgMH0sDQogCXsx
LCAicHJpbnQifSwNCiAJezEsICJkZWwifSwNCiAJezMwNywgMH0sDQpAQCAt
MTQ2OCw2ICsxNDkwLDYgQEANCiBncmFtbWFyIF9QeVBhcnNlcl9HcmFtbWFy
ID0gew0KIAk1NywNCiAJZGZhcywNCi0JezEyNCwgbGFiZWxzfSwNCisJezEz
NSwgbGFiZWxzfSwNCiAJMjU2DQogfTsNCg==
--8323328-30061660-958155409=:18681--