Re: Better RecursiveTask Example

"Dr Heinz M. Kabutz via Concurrency-interest" <[email protected]> Thu, 25 Nov 2021 12:35:16 +0200
Newsgroups gmane.comp.java.jsr.166-concurrency
Organization JavaSpecialists.eu
Message-ID <[email protected]>
--===============0989144249589204801==
Content-Type: text/html; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv
bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAgPC9oZWFkPgogIDxib2R5Pgog
ICAgPHA+SGkgQWxleCw8L3A+CiAgICA8cD50aGVyZSBpcyBzb21lIHN0cmFuZ2UgcmVzb3Vy
Y2UgZGVhZGxvY2sgaW4geW91ciBGaWJvbmFjY2kKICAgICAgc29sdXRpb24gdGhhdCBvY2N1
cnMgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIDIgY29yZXMuIFRyeSBydW4KICAgICAgeW91
ciBNYWluIHdpdGggLVhYOitBY3RpdmVQcm9jZXNzb3JDb3VudD04IHRvIHNlZSB3aGF0IEkg
bWVhbjo8L3A+CiAgICA8cD48YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVm
PSJodHRwczovL3Rpby5ydW4vIyNwVlZOYnhNeEVMM25Wd3c5b0hXaldtbkVBWnB1Z0ZhdEJC
S2thamxVSUE2MjR5Wk9kdTNJOWdhcUtuQGRNTjd2ZkJTQ3NKVE56bmc4Yi96OFBEdGpTM1l5
RzgvWGE1VXVqUFV3UXdkTm1aL1NDelg1b0wyY1NEdm90Q2N6cnhJcWpCYVp0Vko3ZW0zcy9L
TlJAc2FZNUxESUw4ek4veHg1Sy9ITnFhVXNRanVMakNkS2dFaVljL0NKS1ExUEhZRFM2enp6
QExjMGFnd3B6a1YzM2lvOUBmWWRHTW5qQU80ZW5aY3BOWm1uQzV6emlZNk9FRmNsakNmeXho
b2huVFBXUVF4SDBJWGJUSHVWU2pxUnZueU5DTjBUSGhFeWVEYTlNR2xxY2xKdW1HVkpJaFBs
MGhLZ1RWbEF1ZHdYVzJkL01EYkNwS0RpM2dEVUBhdnc3SGJKYzhoYS9vQnJ4VTJrQ0ZLYUxq
SWZ5dWVZN0s4cjN2UzJsd0Nzd3JLUzRzVG9DVHprdWJFZVhiR3JIaURTRU1mUUkyQ2x6NnlH
WGxGNnZvRGhydHMyUi91MFpZdkdycmVLcmxKOGRLb21VQG44U01zTDVTTUVIUTZIR0EvcVJj
NEhtcmk4S3FYS0tURUJPQGJJTlQ4V2cycUt3M0VNdkRaRk1KdFpGa3pXTXJ1YndSdG0ySVNz
cmNCQTRPQWxLQUl2Y0x2UUtnaEhLS2NCMnMyV3cyMDVOaEZXbmVaWmNzeTNqNmU0SHVFa1Fm
NzBVbzhkYkZ5azh6QTFyQTR0bkdDUnZybnAxZlpiSHI3akVhV1N5dXQzdmFNSEhINnFIRVZO
VkJDcllzbTcwVkphcThheVNHQ05sOExMY1ZGenJid21UYUdzY0BpVHB3M3k0bFk5ZFBUNWFw
dklRbzF2UVp5MUE3OWUzWTYyR1JiVVpkeGJKbnpFcWl0U2pKTGxzSk90VThEUmJtVWxyVGJn
VmpkSlF4QXBvU2pvZVVRR2U1YzFsUTFCWjZHWTlqUmxZN2J3RWJKeGdybnBETjJoQzZGN0hO
V21JRFRORXE4V3lXUGo1T1J3WE40L0NKYi9Kd3pySDdpN1hSajJEekRpTUJpeEIwWVEwcnJx
cUlzQFZYcHA1bm5yUjhwNXY0d2tyUWFCN2FKZjE3ay9LQndySG03cGJ3UVdsSjAzak5PaVlX
ejJpNzNOWUt1QkJPMEdVRVoyNWRsNVRzT3JUdkhyck5iclgyYmhsZEZ1ZlhKL2YvWmVlT3dT
OWJmdDB1Q0hMMzc5R3ciPmh0dHBzOi8vdGlvLnJ1bi8jI3BWVk5ieE14RUwzblZ3dzlvSFdq
V21uRUFacHVnRmF0QkJLa2FqbFVJQTYyNHlaT2R1M0k5Z2FxS25AZE1ON3ZmQlNDc0pUTnpu
ZzhiL3o4UER0alMzWXlHOC9YYTVVdWpQVXdRd2RObVovU0N6WDVvTDJjU0R2b3RDY3pyeElx
akJhWnRWSjdlbTNzL0tOUkBzYVk1TERJTDh6Ti94eDVLL0hOcWFVc1FqdUxqQ2RLZ0VpWWMv
Q0pLUTFQSFlEUzZ6enpATGMwYWd3cHprVjMzaW85QGZZZEdNbmpBTzRlblpjcE5abW5DNXp6
aVk2T0VGY2xqQ2Z5eGhvaG5UUFdRUXhIMElYYlRIdVZTanFSdm55TkNOMFRIaEV5ZURhOU1H
bHFjbEp1bUdWSkloUGwwaEtnVFZsQXVkd1hXMmQvTURiQ3BLRGkzZ0RVQGF2dzdIYkpjOGhh
L29CcnhVMmtDRkthTGpJZnl1ZVk3SzhyM3ZTMmx3Q3N3cktTNHNUb0NUemt1YkVlWGJHckhp
RFNFTWZRSTJDbHo2eUdYbEY2dm9EaHJ0czJSL3UwWll2R3JyZUtybEo4ZEtvbVVAbjhTTXNM
NVNNRUhRNkhHQS9xUmM0SG1yaThLcVhLS1RFQk9AYklOVDhXZzJxS3czRU12RFpGTUp0WkZr
eldNcnVid1J0bTJJU3NyY0JBNE9BbEtBSXZjTHZRS2doSEtLY0IyczJXdzIwNU5oRlduZVpa
Y3N5M2o2ZTRIdUVrUWY3MFVvOGRiRnlrOHpBMXJBNHRuR0NSdnJucDFmWmJIcjdqRWFXU3l1
dDN2YU1ISEg2cUhFVk5WQkNyWXNtNzBWSmFxOGF5U0dDTmw4TExjVkZ6cmJ3bVRhR3NjQGlU
cHczeTRsWTlkUFQ1YXB2SVFvMXZRWnkxQTc5ZTNZNjJHUmJVWmR4YkpuekVxaXRTakpMbHNK
T3RVOERSYm1VbHJUYmdWamRKUXhBcG9Tam9lVVFHZTVjMWxRMUJaNkdZOWpSbFk3YndFYkp4
Z3JucEROMmhDNkY3SE5XbUlEVE5FcThXeVdQajVPUndYTjQvQ0piL0p3enJIN2k3WFJqMkR6
RGlNQml4QjBZUTBycnFxSXNAVlhwcDVubnJSOHA1djR3a3JRYUI3YUpmMTdrL0tCd3JIbTdw
YndRV2xKMDNqTk9pWVd6Mmk3M05ZS3VCQk8wR1VFWjI1ZGw1VHNPclR2SHJyTmJyWDJiaGxk
RnVmWEovZi9aZWVPd1M5YmZ0MHVDSEwzNzlHdzwvYT48L3A+CiAgICA8cD48YnI+CiAgICA8
L3A+CiAgICA8cHJlIGNsYXNzPSJtb3otc2lnbmF0dXJlIiBjb2xzPSI3MiI+UmVnYXJkcwoK
SGVpbnoKLS0gCkRyIEhlaW56IE0uIEthYnV0eiAoUGhEIENvbXBTY2kpCkF1dGhvciBvZiAi
VGhlIEphdmHihKIgU3BlY2lhbGlzdHMnIE5ld3NsZXR0ZXIiIC0gPGEgY2xhc3M9Im1vei10
eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0iaHR0cDovL3d3dy5qYXZhc3BlY2lhbGlzdHMu
ZXUiPnd3dy5qYXZhc3BlY2lhbGlzdHMuZXU8L2E+CkphdmEgQ2hhbXBpb24gLSA8YSBjbGFz
cz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJodHRwOi8vd3d3LmphdmFjaGFt
cGlvbnMub3JnIj53d3cuamF2YWNoYW1waW9ucy5vcmc8L2E+CkphdmFPbmUgUm9jayBTdGFy
IFNwZWFrZXIKVGVsOiArMzAgNjkgNzUgNTk1IDI2MgpTa3lwZToga2FidXR6CjwvcHJlPgog
ICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiAyMDIxLzExLzI1IDExOjQwLCBB
bGV4IE90ZW5rbyB3cm90ZTo8YnI+CiAgICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlIHR5cGU9
ImNpdGUiCmNpdGU9Im1pZDpDQU5rZ1dLakZLUllxeG9MeSt5S1hMM2VlaF84YWZxdm50eFp4
TU0wdW45VFRQNjdoRmdAbWFpbC5nbWFpbC5jb20iPgogICAgICA8bWV0YSBodHRwLWVxdWl2
PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAg
ICAgIDxkaXYgZGlyPSJhdXRvIj5IbW1tLCB5ZXMuIEkgbG9zdCBmb2N1cyB0aGVyZS4KICAg
ICAgICA8ZGl2IGRpcj0iYXV0byI+PGJyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYg
ZGlyPSJhdXRvIj5JIHRoaW5rIHRoZXJlIGFyZSB0d28gZGlmZmVyZW50IHByb2JsZW1zOiBz
ZWVpbmcKICAgICAgICAgIHRoYXQgaXQgaXMgRmlib25hY2NpLCBhbmQgc2VlaW5nIGhvdyBy
ZWN1cnNpb24gd29ya3MuIEkgYW0gbm90CiAgICAgICAgICBzdXJlIGhvdyBtdWNoIGltcG9y
dGFuY2UgdG8gZ2l2ZSB0byB0aGUgZm9ybWVyLjwvZGl2PgogICAgICAgIDxkaXYgZGlyPSJh
dXRvIj48YnI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBkaXI9ImF1dG8iPjxicj4K
ICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGRpcj0iYXV0byI+QWxleDwvZGl2PgogICAg
ICA8L2Rpdj4KICAgICAgPGJyPgogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+CiAg
ICAgICAgPGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX2F0dHIiPk9uIFRodSwgMjUgTm92
IDIwMjEsIDA1OjM4IERyCiAgICAgICAgICBIZWlueiBNLiBLYWJ1dHosICZsdDs8YSBocmVm
PSJtYWlsdG86aGVpbnpAamF2YXNwZWNpYWxpc3RzLmV1IgogICAgICAgICAgICBtb3otZG8t
bm90LXNlbmQ9InRydWUiPmhlaW56QGphdmFzcGVjaWFsaXN0cy5ldTwvYT4mZ3Q7CiAgICAg
ICAgICB3cm90ZTo8YnI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJsb2NrcXVvdGUgY2xh
c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwCiAgICAgICAgICAuOGV4O2Jv
cmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgogICAgICAgICAg
PGRpdj4KICAgICAgICAgICAgPHA+SGkgQWxleCw8L3A+CiAgICAgICAgICAgIDxwPm15IHNl
Y29uZCBleGFtcGxlIHdhcyBhIHJlY3Vyc2l2ZSBsb2dhcml0aG1pYyBjb21wbGV4aXR5CiAg
ICAgICAgICAgICAgRmlib25hY2NpLiBIb3dldmVyLCBJIGRvIHRoaW5rIHRoYXQgdGhlIGxv
Z2FyaXRobWljCiAgICAgICAgICAgICAgRmlib25hY2NpIGRlbW9zIGFyZSB0b28gY29tcGxp
Y2F0ZWQgZm9yIG1vc3QgcmVhZGVycyB0bwogICAgICAgICAgICAgIGZvbGxvdy4gQnV0IEZh
Y3RvcmlhbCBtb3N0IHBlb3BsZSBrbm93LjwvcD4KICAgICAgICAgICAgPHA+VGhlIHBhcmFs
bGVsIHBlcmZvcm1hbmNlIG9mIHRoZSBGYWN0b3JpYWwgaXMgbGltaXRlZCBieQogICAgICAg
ICAgICAgIHRoZSBmaW5hbCBsYXJnZSBudW1iZXJzIHRoYXQgbmVlZCB0byBiZSBtdWx0aXBs
aWVkCiAgICAgICAgICAgICAgdG9nZXRoZXIsIGFuZCB0aGlzIGlzIChjdXJyZW50bHkpIGhh
cHBlbmluZyBpbiBwYXJhbGxlbC4KICAgICAgICAgICAgICBJJ3ZlIGdvdCBhIFBSIGluIHRo
ZSB3b3JrcyB0byBhZGQgcGFyYWxsZWxNdWx0aXBseSgpIHRvCiAgICAgICAgICAgICAgQmln
SW50ZWdlcjogPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9v
cGVuamRrL2pkay9wdWxsLzY0MDkiCiAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIg
cmVsPSJub3JlZmVycmVyIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmh0dHBzOi8vZ2l0aHVi
LmNvbS9vcGVuamRrL2pkay9wdWxsLzY0MDk8L2E+PGJyPgogICAgICAgICAgICA8L3A+CiAg
ICAgICAgICAgIDxwcmUgY29scz0iNzIiPlJlZ2FyZHMKCkhlaW56Ci0tIApEciBIZWlueiBN
LiBLYWJ1dHogKFBoRCBDb21wU2NpKQpBdXRob3Igb2YgIlRoZSBKYXZh4oSiIFNwZWNpYWxp
c3RzJyBOZXdzbGV0dGVyIiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuamF2YXNwZWNpYWxpc3Rz
LmV1IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIiBtb3otZG8tbm90LXNlbmQ9
InRydWUiPnd3dy5qYXZhc3BlY2lhbGlzdHMuZXU8L2E+CkphdmEgQ2hhbXBpb24gLSA8YSBo
cmVmPSJodHRwOi8vd3d3LmphdmFjaGFtcGlvbnMub3JnIiB0YXJnZXQ9Il9ibGFuayIgcmVs
PSJub3JlZmVycmVyIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPnd3dy5qYXZhY2hhbXBpb25z
Lm9yZzwvYT4KSmF2YU9uZSBSb2NrIFN0YXIgU3BlYWtlcgpUZWw6ICszMCA2OSA3NSA1OTUg
MjYyClNreXBlOiBrYWJ1dHoKPC9wcmU+CiAgICAgICAgICAgIDxkaXY+T24gMjAyMS8xMS8y
NSAwMTozMCwgQWxleCBPdGVua28gd3JvdGU6PGJyPgogICAgICAgICAgICA8L2Rpdj4KICAg
ICAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgICAgICAgICAgPGRpdiBk
aXI9ImF1dG8iPkkgcHJlc3VtZSBsb2dhcml0aG1pYyBjb3N0IEZpYm9uYWNjaSBpcwogICAg
ICAgICAgICAgICAgbm90IGNvbnNpZGVyZWQsIGJlY2F1c2UgdGhlcmUncyBsaXR0bGUgcG9p
bnQgZG9pbmcgaXQKICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5PyAoQWx0aG91Z2ggY2Fu
IHN0aWxsIHNob3cgb2ZmIHBhcmFsbGVsCiAgICAgICAgICAgICAgICBjb21wdXRhdGlvbnMp
CiAgICAgICAgICAgICAgICA8ZGl2IGRpcj0iYXV0byI+PGJyPgogICAgICAgICAgICAgICAg
PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGRpcj0iYXV0byI+PGEgaHJlZj0iaHR0cHM6
Ly9iaXQubHkvM29WRmVURCIKICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIg
cmVsPSJub3JlZmVycmVyIgogICAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0i
dHJ1ZSI+aHR0cHM6Ly9iaXQubHkvM29WRmVURDwvYT48L2Rpdj4KICAgICAgICAgICAgICAg
IDxkaXYgZGlyPSJhdXRvIj48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg
ICAgICAgIDxkaXYgZGlyPSJhdXRvIj48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAg
ICAgICAgICAgICAgIDxkaXYgZGlyPSJhdXRvIj5BbGV4PC9kaXY+CiAgICAgICAgICAgICAg
PC9kaXY+CiAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imdt
YWlsX3F1b3RlIj4KICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJsdHIiIGNsYXNzPSJnbWFp
bF9hdHRyIj5PbiBXZWQsIDI0IE5vdiAyMDIxLAogICAgICAgICAgICAgICAgICAxOToxOSBE
ciBIZWlueiBNLiBLYWJ1dHogdmlhIENvbmN1cnJlbmN5LWludGVyZXN0LAogICAgICAgICAg
ICAgICAgICAmbHQ7PGEKICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86Y29uY3Vy
cmVuY3ktaW50ZXJlc3RAY3Mub3N3ZWdvLmVkdSIKICAgICAgICAgICAgICAgICAgICB0YXJn
ZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIgogICAgICAgICAgICAgICAgICAgIG1vei1k
by1ub3Qtc2VuZD0idHJ1ZSI+Y29uY3VycmVuY3ktaW50ZXJlc3RAY3Mub3N3ZWdvLmVkdTwv
YT4mZ3Q7CiAgICAgICAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgIDwv
ZGl2PgogICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBz
dHlsZT0ibWFyZ2luOjAgMCAwCiAgICAgICAgICAgICAgICAgIC44ZXg7Ym9yZGVyLWxlZnQ6
MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+RXZlcnkKICAgICAgICAgICAgICAg
ICAgdGltZSBJIHNlZSB0aGUgZXhhbXBsZSBpbiBSZWN1cnNpdmVUYXNrIEkgaGF2ZSB0bwog
ICAgICAgICAgICAgICAgICBjcmluZ2U6PGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAg
ICAgICAgICAgICAgICAgIDxhCmhyZWY9Imh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2ph
dmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL3V0aWwvY29uY3VycmVudC9S
ZWN1cnNpdmVUYXNrLmh0bWwiCiAgICAgICAgICAgICAgICAgICAgcmVsPSJub3JlZmVycmVy
IG5vcmVmZXJyZXIgbm9yZWZlcnJlciIKICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9i
bGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5odHRwczovL2RvY3Mub3JhY2xlLmNvbS9l
bi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLmJhc2UvamF2YS91dGlsL2NvbmN1cnJl
bnQvUmVjdXJzaXZlVGFzay5odG1sPC9hPjxicj4KICAgICAgICAgICAgICAgICAgPGJyPgog
ICAgICAgICAgICAgICAgICBGb3IgYSBjbGFzc2ljIGV4YW1wbGUsIGhlcmUgaXMgYSB0YXNr
IGNvbXB1dGluZwogICAgICAgICAgICAgICAgICBGaWJvbmFjY2kgbnVtYmVyczo8YnI+CiAg
ICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAg
ICAgICAgICDCoMKgY2xhc3MgRmlib25hY2NpIGV4dGVuZHMgUmVjdXJzaXZlVGFzayZsdDtJ
bnRlZ2VyJmd0OwogICAgICAgICAgICAgICAgICB7PGJyPgogICAgICAgICAgICAgICAgICDC
oMKgwqAgZmluYWwgaW50IG47PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqAgRmlib25h
Y2NpKGludCBuKSB7IHRoaXMubiA9IG47IH08YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDC
oCBwcm90ZWN0ZWQgSW50ZWdlciBjb21wdXRlKCkgezxicj4KICAgICAgICAgICAgICAgICAg
wqDCoMKgwqDCoCBpZiAobiAmbHQ7PSAxKTxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKg
wqDCoMKgwqAgcmV0dXJuIG47PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoMKgIEZp
Ym9uYWNjaSBmMSA9IG5ldyBGaWJvbmFjY2kobiAtIDEpOzxicj4KICAgICAgICAgICAgICAg
ICAgwqDCoMKgwqDCoCBmMS5mb3JrKCk7PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDC
oMKgIEZpYm9uYWNjaSBmMiA9IG5ldyBGaWJvbmFjY2kobiAtIDIpOzxicj4KICAgICAgICAg
ICAgICAgICAgwqDCoMKgwqDCoCByZXR1cm4gZjIuY29tcHV0ZSgpICsgZjEuam9pbigpOzxi
cj4KICAgICAgICAgICAgICAgICAgwqDCoMKgIH08YnI+CiAgICAgICAgICAgICAgICAgIMKg
wqB9PGJyPgogICAgICAgICAgICAgICAgICBIb3dldmVyLCBiZXNpZGVzIGJlaW5nIGEgZHVt
YiB3YXkgdG8gY29tcHV0ZSBGaWJvbmFjY2kKICAgICAgICAgICAgICAgICAgZnVuY3Rpb25z
ICh0aGVyZSA8YnI+CiAgICAgICAgICAgICAgICAgIGlzIGEgc2ltcGxlIGZhc3QgbGluZWFy
IGFsZ29yaXRobSB0aGF0IHlvdSdkIHVzZSBpbgogICAgICAgICAgICAgICAgICBwcmFjdGlj
ZSksIHRoaXMgaXMgPGJyPgogICAgICAgICAgICAgICAgICBsaWtlbHkgdG8gcGVyZm9ybSBw
b29ybHkgYmVjYXVzZSB0aGUgc21hbGxlc3Qgc3VidGFza3MKICAgICAgICAgICAgICAgICAg
YXJlIHRvbyBzbWFsbCB0byA8YnI+CiAgICAgICAgICAgICAgICAgIGJlIHdvcnRod2hpbGUg
c3BsaXR0aW5nIHVwLiBJbnN0ZWFkLCBhcyBpcyB0aGUgY2FzZQogICAgICAgICAgICAgICAg
ICBmb3IgbmVhcmx5IGFsbCA8YnI+CiAgICAgICAgICAgICAgICAgIGZvcmsvam9pbiBhcHBs
aWNhdGlvbnMsIHlvdSdkIHBpY2sgc29tZSBtaW5pbXVtCiAgICAgICAgICAgICAgICAgIGdy
YW51bGFyaXR5IHNpemUgKGZvciA8YnI+CiAgICAgICAgICAgICAgICAgIGV4YW1wbGUgMTAg
aGVyZSkgZm9yIHdoaWNoIHlvdSBhbHdheXMgc2VxdWVudGlhbGx5CiAgICAgICAgICAgICAg
ICAgIHNvbHZlIHJhdGhlciB0aGFuIDxicj4KICAgICAgICAgICAgICAgICAgc3ViZGl2aWRp
bmcuPGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgIDxicj4K
ICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICBJbmRlZWQsIGl0IGlz
IGEgZHVtYiB3YXkgdG8gY29tcHV0ZSBGaWJvbmFjY2ksIGJ1dCB0aGUKICAgICAgICAgICAg
ICAgICAgImZhc3QgbGluZWFyIiA8YnI+CiAgICAgICAgICAgICAgICAgIGFsZ29yaXRobSBp
c24ndCBmYXN0IGVpdGhlci4gU2luY2Ugd2Ugb3ZlcmZsb3cgZXZlbgogICAgICAgICAgICAg
ICAgICBMb25nIGFmdGVyIGFib3V0IDxicj4KICAgICAgICAgICAgICAgICAgZmlib25hY2Np
KDkwKSwgd2Ugd291bGQgbmVlZCBCaWdJbnRlZ2VyLiBBbmQgdGhlcmUgdGhlCiAgICAgICAg
ICAgICAgICAgIGFkZCBpcyBsaW5lYXIsIDxicj4KICAgICAgICAgICAgICAgICAgbWVhbmlu
ZyB0aGF0IHRoZSAiZmFzdCBsaW5lYXIiIGFsZ29yaXRobSByZWZlcnJlZCB0bwogICAgICAg
ICAgICAgICAgICBoZXJlIGlzIHByb2JhYmx5IDxicj4KICAgICAgICAgICAgICAgICAgZ29p
bmcgdG8gZW5kIHVwIGFzICJzbG93IHF1YWRyYXRpYyIuPGJyPgogICAgICAgICAgICAgICAg
ICA8YnI+CiAgICAgICAgICAgICAgICAgIFRvIG1lLCB0aGlzIGV4YW1wbGUgc2VuZHMgdGhl
IGNvbXBsZXRlbHkgd3JvbmcKICAgICAgICAgICAgICAgICAgbWVzc2FnZS4gTGV0J3MgdGFr
ZSB0aGUgPGJyPgogICAgICAgICAgICAgICAgICB3b3JzdCBwb3NzaWJsZSBhbGdvcml0aG0g
YW5kIHBhcmFsbGVsaXplIGl0LiBHcmVhdC4KICAgICAgICAgICAgICAgICAgVGhhdCBtZWFu
cyBpZiB3ZSB1c2UgPGJyPgogICAgICAgICAgICAgICAgICAxMDAwIHByb2Nlc3NvcnMsIHdl
IGNhbiBzb2x2ZSB0aGUgcHJvYmxlbSBvZiBuKzEwIGluCiAgICAgICAgICAgICAgICAgIHRo
ZSBzYW1lIHRpbWUgYXMgbiA8YnI+CiAgICAgICAgICAgICAgICAgIHdpdGggYSBzaW5nbGUg
cHJvY2Vzc29yLjxicj4KICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAg
ICBJIGRvIHJlYWxpemUgdGhpcyBpcyBtZWFudCB0byBpbGx1c3RyYXRlIGEgcG9pbnQsIGJ1
dAogICAgICAgICAgICAgICAgICBpdCBkb2Vzbid0IGRvIGl0IDxicj4KICAgICAgICAgICAg
ICAgICAgdmVyeSB3ZWxsIElNRS4gSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgdG8gY2hhbmdl
IHRoaXMKICAgICAgICAgICAgICAgICAgdG8gYSBzbGlnaHRseSA8YnI+CiAgICAgICAgICAg
ICAgICAgIGJldHRlciBleGFtcGxlLCBmb3IgZXhhbXBsZSBhIEZhY3RvcmlhbCBjYWxjdWxh
dGlvbjo8YnI+CiAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgcHVi
bGljIGNsYXNzIEZhY3RvcmlhbFRhc2sgZXh0ZW5kcwogICAgICAgICAgICAgICAgICBSZWN1
cnNpdmVUYXNrJmx0O0JpZ0ludGVnZXImZ3Q7IHs8YnI+CiAgICAgICAgICAgICAgICAgIMKg
wqDCoMKgIHByaXZhdGUgZmluYWwgaW50IGZyb20sIHRvOzxicj4KICAgICAgICAgICAgICAg
ICAgPGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoCBwdWJsaWMgRmFjdG9yaWFsVGFz
ayhpbnQgbikgezxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoCB0aGlz
KDAsIG4pOzxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqAgfTxicj4KICAgICAgICAg
ICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoCBwcml2YXRlIEZhY3Rv
cmlhbFRhc2soaW50IGZyb20sIGludCB0bykgezxicj4KICAgICAgICAgICAgICAgICAgwqDC
oMKgwqDCoMKgwqDCoCB0aGlzLmZyb20gPSBmcm9tOzxicj4KICAgICAgICAgICAgICAgICAg
wqDCoMKgwqDCoMKgwqDCoCA8YSBocmVmPSJodHRwOi8vdGhpcy50byIgcmVsPSJub3JlZmVy
cmVyCiAgICAgICAgICAgICAgICAgICAgbm9yZWZlcnJlciBub3JlZmVycmVyIiB0YXJnZXQ9
Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiPnRo
aXMudG88L2E+ID0gdG87PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoCB9PGJyPgog
ICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgIHByb3Rl
Y3RlZCBCaWdJbnRlZ2VyIGNvbXB1dGUoKSB7PGJyPgogICAgICAgICAgICAgICAgICDCoMKg
wqDCoMKgwqDCoMKgIGlmIChmcm9tID09IHRvKSB7PGJyPgogICAgICAgICAgICAgICAgICDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGZyb20gPT0gMCkgcmV0dXJuIEJpZ0ludGVn
ZXIuT05FOzxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHJldHVybiBCaWdJbnRlZ2VyLnZhbHVlT2YoZnJvbSk7PGJyPgogICAgICAgICAgICAgICAg
ICDCoMKgwqDCoMKgwqDCoMKgIH08YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDC
oMKgwqAgaW50IG1pZCA9IChmcm9tICsgdG8pICZndDsmZ3Q7Jmd0OyAxOzxicj4KICAgICAg
ICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoCBGYWN0b3JpYWxUYXNrIGxlZnRUYXNrID0g
bmV3CiAgICAgICAgICAgICAgICAgIEZhY3RvcmlhbFRhc2soZnJvbSwgbWlkKTs8YnI+CiAg
ICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqAgRmFjdG9yaWFsVGFzayByaWdodFRh
c2sgPSBuZXcKICAgICAgICAgICAgICAgICAgRmFjdG9yaWFsVGFzayhtaWQgKyAxLCB0byk7
PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgIGxlZnRUYXNrLmZvcmso
KTs8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqAgQmlnSW50ZWdlciBy
aWdodCA9IHJpZ2h0VGFzay5pbnZva2UoKTs8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDC
oMKgwqDCoMKgwqAgQmlnSW50ZWdlciBsZWZ0ID0gbGVmdFRhc2suam9pbigpOzxicj4KICAg
ICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbGVmdC5tdWx0aXBseShy
aWdodCk7PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoCB9PGJyPgogICAgICAgICAg
ICAgICAgICB9PGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAg
IFRoaXMgaXMgYWN0dWFsbHkgYSAqbG90KiBmYXN0ZXIgdGhhbiB0aGUgc3RyZWFtCiAgICAg
ICAgICAgICAgICAgIHZlcnNpb246PGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAgICAg
ICAgICAgICAgICAgIMKgwqDCoMKgIHB1YmxpYyBzdGF0aWMgQmlnSW50ZWdlciBmYWN0b3Jp
YWxTdHJlYW0oaW50IG4pIHs8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDCoMKg
wqAgcmV0dXJuIEludFN0cmVhbS5yYW5nZUNsb3NlZCgxLCBuKTxicj4KICAgICAgICAgICAg
ICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLm1hcFRvT2JqKEJpZ0lu
dGVnZXI6OnZhbHVlT2YpPGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAucmVkdWNlKEJpZ0ludGVnZXIuT05FLAogICAgICAgICAgICAg
ICAgICBCaWdJbnRlZ2VyOjptdWx0aXBseSk7PGJyPgogICAgICAgICAgICAgICAgICDCoMKg
wqDCoCB9PGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICh0
aGlzIGhhcyB0byBkbyBtb3JlIHdpdGggdGhlIGFsZ29yaXRobXMgdXNlZCBieQogICAgICAg
ICAgICAgICAgICBCaWdJbnRlZ2VyJ3MgbXVsdGlwbHkgPGJyPgogICAgICAgICAgICAgICAg
ICBtZXRob2QgdGhhbiB0aGUgcGFyYWxsZWxpemF0aW9uLCBidXQgdGhhdCBhbHNvIGhhcyBh
bgogICAgICAgICAgICAgICAgICBlZmZlY3QuPGJyPgogICAgICAgICAgICAgICAgICA8YnI+
CiAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgQWx0ZXJuYXRpdmVs
eSwgaWYgd2UgaGF2ZSB0byBoYXZlIEZpYm9uYWNjaSwgY291bGQgd2UKICAgICAgICAgICAg
ICAgICAgYXQgbGVhc3QgY2hhbmdlIGl0IDxicj4KICAgICAgICAgICAgICAgICAgdG8gRGlq
a3N0cmEncyBTdW0gb2YgU3F1YXJlcz8gSSBiZWxpZXZlIHRoZXJlIGFyZQogICAgICAgICAg
ICAgICAgICBzbGlnaHRseSBiZXR0ZXIgPGJyPgogICAgICAgICAgICAgICAgICBhbGdvcml0
aG1zLCBidXQgdGhpcyBvbmUgd29ya3MgdmVyeSBuaWNlbHkgd2l0aAogICAgICAgICAgICAg
ICAgICBwYXJhbGxlbGlzYXRpb246PGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBjbGFzcyBGaWJvbmFjY2lUYXNrIGV4dGVuZHMKICAgICAg
ICAgICAgICAgICAgUmVjdXJzaXZlVGFzayZsdDtCaWdJbnRlZ2VyJmd0OyB7PGJyPgogICAg
ICAgICAgICAgICAgICDCoMKgwqDCoCBwcml2YXRlIGZpbmFsIGludCBuOzxicj4KICAgICAg
ICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoCBwdWJsaWMgRmli
b25hY2NpVGFzayhpbnQgbikgezxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKg
wqDCoCB0aGlzLm4gPSBuOzxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqAgfTxicj4K
ICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoCBAT3Zl
cnJpZGU8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgIHByb3RlY3RlZCBCaWdJbnRl
Z2VyIGNvbXB1dGUoKSB7PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKg
IHJldHVybiBzd2l0Y2ggKG4pIHs8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBjYXNlIDAgLSZndDsgQmlnSW50ZWdlci5aRVJPOzxicj4KICAgICAg
ICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNhc2UgMSAtJmd0OyBCaWdJ
bnRlZ2VyLk9ORTs8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBkZWZhdWx0IC0mZ3Q7IHs8YnI+CiAgICAgICAgICAgICAgICAgIMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIERpamtzdHJhJ3MgU3VtIG9mIFNxdWFyZXMKICAg
ICAgICAgICAgICAgICAgQWxnb3JpdGhtPGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnQgaGFsZiA9IChuICsgMSkgLyAyOzxicj4K
ICAgICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRmli
b25hY2NpVGFzayBmMF90YXNrID0gbmV3CiAgICAgICAgICAgICAgICAgIEZpYm9uYWNjaVRh
c2soaGFsZiAtIDEpOzxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgZjBfdGFzay5mb3JrKCk7PGJyPgogICAgICAgICAgICAgICAgICDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBGaWJvbmFjY2lUYXNrIGYxX3Rhc2sg
PSBuZXcKICAgICAgICAgICAgICAgICAgRmlib25hY2NpVGFzayhoYWxmKTs8YnI+CiAgICAg
ICAgICAgICAgICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJpZ0ludGVn
ZXIgZjEgPSBmMV90YXNrLmludm9rZSgpOzxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQmlnSW50ZWdlciBmMCA9IGYwX3Rhc2suam9p
bigpOzxicj4KICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAobiAlIDIgPT0gMSkgezxicj4KICAg
ICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB5aWVsZAogICAgICAgICAgICAgICAgICBmMC5tdWx0aXBseShmMCkuYWRkKGYxLm11bHRp
cGx5KGYxKSk7PGJyPgogICAgICAgICAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCB9IGVsc2Ugezxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB5aWVsZAogICAgICAgICAgICAgICAgICBm
MC5zaGlmdExlZnQoMSkuYWRkKGYxKS5tdWx0aXBseShmMSk7PGJyPgogICAgICAgICAgICAg
ICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9PGJyPgogICAgICAgICAg
ICAgICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTxicj4KICAgICAgICAgICAgICAg
ICAgwqDCoMKgwqDCoMKgwqDCoCB9Ozxicj4KICAgICAgICAgICAgICAgICAgwqDCoMKgwqAg
fTxicj4KICAgICAgICAgICAgICAgICAgfTxicj4KICAgICAgICAgICAgICAgICAgPGJyPgog
ICAgICAgICAgICAgICAgICBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IGFncmVlIHdpdGgg
dGhpcyBjaGFuZ2UgKG9yCiAgICAgICAgICAgICAgICAgIHByb3Bvc2UgYSBkaWZmZXJlbnQg
PGJyPgogICAgICAgICAgICAgICAgICBleGFtcGxlKS4gSSB3b3VsZCBiZSBoYXBweSB0byBt
YWtlIHRoZSBjaGFuZ2UuIEkKICAgICAgICAgICAgICAgICAgcHJlc3VtZSBpdCB3b3VsZCBu
ZWVkIDxicj4KICAgICAgICAgICAgICAgICAgdG8gYmUgZG9uZSBpbiB0aGUgQ1ZTPyBPciBj
YW4gSSBkbyBpdCBpbiB0aGUgT3BlbkpESwogICAgICAgICAgICAgICAgICBHaXRIdWIgcmVw
b3NpdG9yeSA8YnI+CiAgICAgICAgICAgICAgICAgIGFuZCB0aGVuIHdlIGNhbiBzeW5jIHRo
YXQgb3ZlciB0byBDVlM/IChNeSBwcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgIHdvdWxk
IGJlIEdpdEh1Yik8YnI+CiAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAg
ICAgPGJyPgogICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgIDxicj4K
ICAgICAgICAgICAgICAgICAgUmVnYXJkczxicj4KICAgICAgICAgICAgICAgICAgPGJyPgog
ICAgICAgICAgICAgICAgICBIZWluejxicj4KICAgICAgICAgICAgICAgICAgLS0gPGJyPgog
ICAgICAgICAgICAgICAgICBEciBIZWlueiBNLiBLYWJ1dHogKFBoRCBDb21wU2NpKTxicj4K
ICAgICAgICAgICAgICAgICAgQXV0aG9yIG9mICJUaGUgSmF2YeKEoiBTcGVjaWFsaXN0cycg
TmV3c2xldHRlciIgLSA8YQogICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cu
amF2YXNwZWNpYWxpc3RzLmV1IiByZWw9Im5vcmVmZXJyZXIKICAgICAgICAgICAgICAgICAg
ICBub3JlZmVycmVyIG5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAg
ICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+d3d3LmphdmFzcGVjaWFsaXN0cy5ldTwv
YT48YnI+CiAgICAgICAgICAgICAgICAgIEphdmEgQ2hhbXBpb24gLSA8YQogICAgICAgICAg
ICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuamF2YWNoYW1waW9ucy5vcmciIHJlbD0ibm9y
ZWZlcnJlcgogICAgICAgICAgICAgICAgICAgIG5vcmVmZXJyZXIgbm9yZWZlcnJlciIgdGFy
Z2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVl
Ij53d3cuamF2YWNoYW1waW9ucy5vcmc8L2E+PGJyPgogICAgICAgICAgICAgICAgICBKYXZh
T25lIFJvY2sgU3RhciBTcGVha2VyPGJyPgogICAgICAgICAgICAgICAgICBUZWw6ICszMCA2
OSA3NSA1OTUgMjYyPGJyPgogICAgICAgICAgICAgICAgICBTa3lwZToga2FidXR6PGJyPgog
ICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgIF9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICAgICAg
ICBDb25jdXJyZW5jeS1pbnRlcmVzdCBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAg
ICAgIDxhIGhyZWY9Im1haWx0bzpDb25jdXJyZW5jeS1pbnRlcmVzdEBjcy5vc3dlZ28uZWR1
IgogICAgICAgICAgICAgICAgICAgIHJlbD0ibm9yZWZlcnJlciBub3JlZmVycmVyIiB0YXJn
ZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUi
PkNvbmN1cnJlbmN5LWludGVyZXN0QGNzLm9zd2Vnby5lZHU8L2E+PGJyPgogICAgICAgICAg
ICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9jcy5vc3dlZ28u
ZWR1L21haWxtYW4vbGlzdGluZm8vY29uY3VycmVuY3ktaW50ZXJlc3QiCiAgICAgICAgICAg
ICAgICAgICAgcmVsPSJub3JlZmVycmVyIG5vcmVmZXJyZXIgbm9yZWZlcnJlciIKICAgICAg
ICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5o
dHRwOi8vY3Mub3N3ZWdvLmVkdS9tYWlsbWFuL2xpc3RpbmZvL2NvbmN1cnJlbmN5LWludGVy
ZXN0PC9hPjxicj4KICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAg
ICA8L2Rpdj4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgPC9kaXY+CiAg
ICAgICAgPC9ibG9ja3F1b3RlPgogICAgICA8L2Rpdj4KICAgIDwvYmxvY2txdW90ZT4KICA8
L2JvZHk+CjwvaHRtbD4K

--===============0989144249589204801==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Concurrency-interest mailing list
[email protected]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest

--===============0989144249589204801==--