Re: Contributing to ScummVM with an interpreter for Magnetic Scrolls?

Torbjörn Andersson <[email protected]> Wed, 1 May 2019 17:13:55 +0200
Newsgroups gmane.games.devel.scummvm
Message-ID <[email protected]>
VGhlIExlZ2VuZCBnYW1lcyBzcGxpdCB0aGUgc2NyZWVuIGludG8gZml4ZWQgYXJlYXMsIHRob3Vn
aC4gVGhlIE1hZ25ldGljIApXaW5kb3dzIEdVSSB3YXMgYmFzaWNhbGx5IGEgd2luZG93IG1hbmFn
ZXIgKGluIDY0MHg0ODAgcGl4ZWxzKSwgd2l0aCAKbW92YWJsZSwgcmVzaXphYmxlLCBwb3RlbnRp
YWxseSBvdmVybGFwcGluZyB3aW5kb3dzLiBIZXJlIGlzIGFuIAphZG1pdHRlZGx5IGhvcnJpZnlp
bmcgc2NyZWVuc2hvdCBvZiB3aGF0IGl0IGNvdWxkIGxvb2sgbGlrZSBpZiB5b3UgCm9wZW5lZCBh
bGwgdGhlIHBvc3NpYmxlIHdpbmRvd3M6CgpodHRwOi8vd3d3LnVwZGF0ZS51dS5zZS9+ZDkxdGFu
L21hZ25ldGljLXdpbmRvd3MucG5nCgpJIGRlZnkgYW55b25lIHRvIGZpbmQgYSBzZW5zaWJsZSBs
YXlvdXQgZm9yIGFsbCBvZiB0aGF0ISBZb3UgbWF5IHRoaW5rIAp5b3UgY2FuIGRvIGl0LCBpZiB5
b3UgY2xvc2UgdGhlICJDb21wYXNzIiwgIkludmVudG9yeSIsIGFuZCAiSXRlbXMgaW4gCnJvb20i
IHdpbmRvd3MsIGFuZCBmb3IgYSB3aGlsZSB5b3UgY2FuLi4uIGFuZCB0aGVuIHlvdSByZWFsaXpl
IHRoYXQgbm90IApldmVyeSBpbWFnZSBpcyB0aGUgc2FtZSBzaXplLCBhbmQgeW91IGhhdmUgdG8g
bW92ZSB0aGUgIkdyYXBocGljcyIgCndpbmRvdyBvdXQgb2YgdGhlIHdheS4uLgoKVG9yYmrDtnJu
IEFuZGVyc3NvbgoKT24gMDEvMDUvMjAxOSAwOC41MywgUGF1bCBHaWxiZXJ0IHdyb3RlOgo+IFRo
YW5rcyBmb3IgaW5mb3JtYXRpb24gVG9yYmrDtnJuLiBJdCBkb2Vzbid0IHNvdW5kIGxpa2UgdGhl
IG1pc3NpbmcgCj4gc2NyZWVuIGVsZW1lbnRzIGFyZSB0aGluZ3MgSSdkIG1pc3MgYWxsIHRoYXQg
bXVjaC4gVGhvdWdoIG1heWJlIHNvbWUgb2YgCj4gaXQgY291bGQgZXZlbnR1YWxseSBiZSByZWlu
dHJvZHVjZWQgYXMgYW4gb3B0aW9uLiBXaGlsc3QgR2xrIGRvZXNuJ3QgCj4gY3VycmVudGx5IGhh
dmUgYW55ICJsaXN0Ym94IiB3aW5kb3cgdHlwZXMsIEkgZG8gaGF2ZSBhbiBhbHJlYWR5IAo+IGlt
cGxlbWVudGVkIGxpc3Rib3ggY29udHJvbCBmb3IgbXkgc3RhbGxlZCBMZWdlbmQgZW5naW5lIHRo
YXQgY291bGQgCj4gcHJvYmFibHkgYmUgYWRhcHRlZC4gQW5kIGEgbWFpbiBtZW51IGltcGxlbWVu
dGF0aW9uIGNvdWxkIGJlIHVzZWZ1bCBmb3IgCj4gRnJvdHogdjYgYXMgd2VsbCBhcyB0aGUgTWFn
bmV0aWMgZW5naW5lLgo+IAo+IEl0IHdpbGwgYmUgbmljZSBpZiB0aGV5IGRvIHJlbGVhc2UgdGhl
IG9yaWdpbmFsIHZlcnNpb25zIGFsb25nc2lkZSB0aGUgCj4gcmVtYXN0ZXJlZCB2ZXJzaW9ucy4g
QmVpbmcgYXdheSBmcm9tIGhvbWUsIEknbSBub3Qgc3VyZSBob3cgbWFueSAKPiBNYWduZXRpYyBT
Y3JvbGxzIGdhbWVzIEkgaGF2ZSwgaWYgYW55Li4gY29tZXMgZnJvbSBoYXZpbmcgdG9vIGxhcmdl
IGEgCj4gY29sbGVjdGlvbi4uIEknbSBzdXJlIFN0cmFuZ2Vya2UgYW1vbmcgb3RoZXJzIGNhbiBl
bXBhdGhpemUgOiksIFNvIGlmIEkgCj4gZG9uJ3QgaGF2ZSBhbGwgb2YgdGhlbTsgaXQgd291bGQg
YmUgbmljZSB0byBldmVudHVhbGx5IGhhdmUgYSBsZWdpdGltYXRlIAo+IHNvdXJjZSB0byBnZXQg
YW55IG1pc3Npbmcgb25lcy4KPiAKPiBQYXVsLgo+IAo+IAo+IE9uIFdlZCwgTWF5IDEsIDIwMTkg
YXQgNDowMCBQTSBUb3JiasO2cm4gQW5kZXJzc29uIAo+IDxlcmlrdG9yYmpvcm5AdGVsaWEuY29t
IDxtYWlsdG86ZXJpa3RvcmJqb3JuQHRlbGlhLmNvbT4+IHdyb3RlOgo+IAo+ICAgICAgwqBGcm9t
IHdoYXQgSSByZW1lbWJlciwgdGhlIG1haW4gZmVhdHVyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBN
YWduZXRpYwo+ICAgICBpbnRlcnByZXRlciBpcyBzb21lIG9mIHRoZSAiTWFnbmV0aWMgV2luZG93
cyIgaW50ZXJmYWNlIChvbi1zY3JlZW4gbWFwLAo+ICAgICBjb21wYXNzIHJvc2UsIHNlcGFyYXRl
IHdpbmRvd3MgZm9yIGludmVudG9yeSBhbmQgcm9vbSBvYmplY3RzLCBob3JyaWJseQo+ICAgICBj
bHV0dGVyZWQgd2luZG93aW5nIHN5c3RlbSwgLi4uIG9oLCBzb3JyeSwgdGhhdCBsYXN0IHRoaW5n
IGlzbid0IHJlYWxseQo+ICAgICBhIGZlYXR1cmUsIGlzIGl0PykgdXNlZCBieSBXb25kZXJsYW5k
IGFuZCB0aGUgTWFnbmV0aWMgU2Nyb2xscwo+ICAgICBDb2xsZWN0aW9uLgo+IAo+ICAgICBBdCBs
ZWFzdCBhcyBsb25nIGFzIHRoZSBmcm9udCBlbmQgaW1wbGVtZW50cyB0aGUgbmVjZXNzYXJ5IGhv
b2tzIGZvcgo+ICAgICBkaXNwbGF5aW5nIHN0YXRpYyBhbmQgYW5pbWF0ZWQgcGljdHVyZXMsIGV0
Yy4gSSdtIG5vdCBzdXJlIGlmIGl0IGxvYWRzCj4gICAgIHRoZSBvcmlnaW5hbCBkYXRhIGZpbGVz
LCBvciBpZiB0aGV5IGhhdmUgdG8gYmUgc3BlY2lhbGx5IHByZXBhcmVkLiAoVGhlCj4gICAgIGZp
bGVzIG9uIG15IE1hZ25ldGljIFNjcm9sbHMgQ29sbGVjdGlvbiBDRCBjZXJ0YWlubHkgZG9uJ3Qg
bG9vayBsaWtlCj4gICAgIGFueXRoaW5nIHRoZSBlbXVsYXRvciB3b3VsZCByZWNvZ25pemUuKQo+
IAo+ICAgICBBbHNvLCBpdCBkb2Vzbid0IHRyeSB0byBlbXVsYXRlIHRoZSBvcmlnaW5hbCBsb29r
IG9mIHRoZSBnYW1lcyB3aXRoIGl0cwo+ICAgICBhbmltYXRlZCBtZW51cyBhbmQgcHVsbC1kb3du
IGdyYXBoaWNzLiBXaGljaCBpcyBhIGJpdCBvZiBhIHNoYW1lCj4gICAgIG9yLCwgaW4KPiAgICAg
dGhlIGNhc2Ugb2YgdGhlIE1hZ25ldGljIFdpbmRvd3MgaW50ZXJmYWNlLCBhIGh1Z2UgcmVsaWVm
Lgo+IAo+ICAgICBXaGVuIEkgYXNrZWQgWzFdIG9uIHRoZSBTdHJhbmQgR2FtZXMgZm9ydW0gKHRo
ZSBjb21wYW55IGluIHRoZSBwcm9jZXNzCj4gICAgIG9mIHJlbWFzdGVyaW5nIHRoZSBNYWduZXRp
YyBTY3JvbGxzIGdhbWVzLCBhZnRlciB0aGUgc291cmNlIGNvZGUgd2FzCj4gICAgIHJlY292ZXJl
ZCBmcm9tIGEgYmFja3VwIHRhcGUgWzJdKSBpZiB0aGV5IHdlcmUgcGxhbm5pbmcgb24gcmVsZWFz
ZSB0aGUKPiAgICAgb3JpZ2luYWwgdmVyc2lvbnMgYXMgd2VsbCwganVzdCBmb3Igbm9zdGFsZ2lh
LCBJIGdvdCBhIHJlcGx5IGZyb20gSHVnaAo+ICAgICBTdGVlcnMgcmVmZXJyaW5nIG1lIHRvIFN0
ZWZhbiBNZWllcidzICJNYWduZXRpYyBTY3JvbGxzIE1lbW9yaWFsIiBmb3IKPiAgICAgZGF0YSBm
aWxlcyBmb3IgdGhlIGVtdWxhdG9yLgo+IAo+ICAgICBTaW5jZSAiU3RyYW5kIEdhbWVzIHdhcyBz
dGFydGVkIGJ5IEh1Z2ggU3RlZXJzIC0gYSBmb3VuZGluZyBtZW1iZXIgYW5kCj4gICAgIGNvcmUg
ZGV2ZWxvcGVyIG9mIE1hZ25ldGljIFNjcm9sbHMgYW5kIFN0ZWZhbiBNZWllciwgY3VyYXRvciBv
Zgo+ICAgICBpZi1sZWdlbmRzLm9yZyA8aHR0cDovL2lmLWxlZ2VuZHMub3JnPiIgYW5kIHRoZXkg
Y2xhaW0gdG8gaGF2ZSB0aGUKPiAgICAgc3VwcG9ydCBvZiAic2V2ZXJhbCBtZW1iZXJzCj4gICAg
IG9mIHRoZSBvcmlnaW5hbCBNYWduZXRpYyBTY3JvbGxzIHRlYW0iIFszXSwgSSBndWVzcyB0aG9z
ZSBmaWxlcyBhcmUKPiAgICAga2lpaW5kLW9mIG9mZmljaWFsbHkgZW5kb3JzZWQuLi4/IEl0J3Mg
cHJvYmFibHkgd29ydGggYXNraW5nIHRoZW0gYWdhaW4KPiAgICAgbGF0ZXIuCj4gCj4gICAgIFsx
XQo+ICAgICBodHRwczovL3N0cmFuZGdhbWVzLmNvbS9jb21tdW5pdHkvZGlzY3Vzc2lvbi82NS90
aGUtb3JpZ2luYWwtdmVyc2lvbnMKPiAgICAgWzJdCj4gICAgIGh0dHBzOi8vc3RyYW5kZ2FtZXMu
Y29tL2Jsb2cvbWFnbmV0aWMtc2Nyb2xscy1nYW1lcy1zb3VyY2UtY29kZS1yZWNvdmVyZWQKPiAg
ICAgWzNdIGh0dHBzOi8vc3RyYW5kZ2FtZXMuY29tL2Fib3V0Cj4gCj4gICAgIFRvcmJqw7ZybiBB
bmRlc3Nvbgo+IAo+ICAgICBPbiAwMS8wNS8yMDE5IDA1LjEwLCBQYXVsIEdpbGJlcnQgd3JvdGU6
Cj4gICAgICA+IEhpIFRob21hcywKPiAgICAgID4KPiAgICAgID4gSSdtIG5vdCBzdXJlIG9mIHRo
ZSBzdGF0dXMgb2YgdGhlIEdhcmdveWxlIE1hZ25ldGljIFNjcm9sbHMKPiAgICAgc3ViLWVuZ2lu
ZSwKPiAgICAgID4gYW5kIEkgZG9uJ3QgY3VycmVudGx5IGhhdmUgYW55IE1hZ25ldGljIFNjcm9s
bHMgZ2FtZXMgaGFuZHkgdG8KPiAgICAgdGVzdCBpdAo+ICAgICAgPiBvbi4gQnV0IHVubGVzcyBp
dCdzIHNpZ25pZmljYW50bHkgbGFja2luZyBpbiBzdXBwb3J0IGZvciB0aGUKPiAgICAgbGF0ZXIg
Z2FtZXMKPiAgICAgID4gdGhhdCB5b3VyIG93biB3b3JrIGFkZHMgc3VwcG9ydCBmb3IsIGl0J2xs
IGxpa2VseSBwcm92ZSBlYXNpZXIgdG8KPiAgICAgd29yawo+ICAgICAgPiBvbiBjb252ZXJ0aW5n
IGl0LCBJJ20gYWZyYWlkLiBTaW5jZSwgYWZ0ZXIgYWxsLCBzb21lb25lIGVsc2UgaGFzCj4gICAg
IGFscmVhZHkKPiAgICAgID4gZG9uZSB0aGUgd29yayBvZiBob29raW5nIGl0IHVwIHRvIEdsayBh
cyB3ZWxsLiBTbyBpdCdsbCBiZSBlYXNpZXIKPiAgICAgdG8gZG8KPiAgICAgID4gbWluaW1hbCB3
b3JrIChyZWxhdGl2ZWx5IHNwZWFraW5nKSB0byBob29rIGl0IHVwIHRvIHRoZSBTY3VtbVZNCj4g
ICAgIHZlcnNpb24KPiAgICAgID4gb2YgdGhlIEdsayBsYXllci4gQW5kIHRoZW4gSSBjYW4ga2Vl
cCB0ZXN0aW5nIGl0IGFzIEkgcHJvcGVybHkKPiAgICAgb2JqZWN0aWZ5Cj4gICAgICA+IGV2ZXJ5
dGhpbmcgdG8gbWFrZSBzdXJlIEkgZG9uJ3QgYnJlYWsgYW55dGhpbmcgYWxvbmcgdGhlIHdheS4K
PiAgICAgID4KPiAgICAgID4gVGhvdWdoIEknbGwgYmUgdW5saWtlbHkgdG8gYmUgc3BlbmRpbmcg
bXVjaCB0aW1lIGJleW9uZCBiYXNpYwo+ICAgICBwb2xpc2hpbmcKPiAgICAgID4gdXAgb2YgdGhl
IHN1Yi1lbmdpbmUgYWZ0ZXJ3YXJkcy4gU28gYmFzZWQgb24geW91ciBleHBlcmllbmNlIHdpdGgK
PiAgICAgdGhlCj4gICAgICA+IGdhbWVzICYgZW5naW5lIGludm9sdmVkLCB0aGVyZSBtaWdodCBi
ZSBvcHBvcnR1bml0aWVzIGFmdGVyd2FyZHMKPiAgICAgZm9yIHlvdQo+ICAgICAgPiB0byBjb250
cmlidXRlIGlmIHlvdSdyZSBpbnRlcmVzdGVkLCBhbmQgdG8gZG8gcHVsbCByZXF1ZXN0cyB0bwo+
ICAgICBpbXByb3ZlCj4gICAgICA+IHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBlbmdpbmUgYmFz
ZWQgb24geW91ciB3b3JrLgo+ICAgICAgPgo+ICAgICAgPiBSZWdhcmRzLAo+ICAgICAgPgo+ICAg
ICAgPiBQYXVsLgo+ICAgICAgPgo+ICAgICAgPgo+ICAgICAgPiBPbiBXZWQsIE1heSAxLCAyMDE5
IGF0IDI6NTUgQU0gZGV0dHVzIDxkZXR0dXNAZGV0dHVzLm5ldAo+ICAgICA8bWFpbHRvOmRldHR1
c0BkZXR0dXMubmV0Pgo+ICAgICAgPiA8bWFpbHRvOmRldHR1c0BkZXR0dXMubmV0IDxtYWlsdG86
ZGV0dHVzQGRldHR1cy5uZXQ+Pj4gd3JvdGU6Cj4gICAgICA+Cj4gICAgICA+wqAgwqAgwqBIZWxs
by4KPiAgICAgID4KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoEkgbXVzdCBhZG1pdCB0aGF0IEkg
aGF2ZSBub3QgaGVhcmQgYWJvdXQgR2FyZ295bGUgb3IgR0xLIGJlZm9yZS4KPiAgICAgID4KPiAg
ICAgID7CoCDCoCDCoEp1ZGdpbmcgZnJvbSB0aGUgZ2l0aHViIHJlcG9zaXRvcnksIHRoZSBHYXJn
b3lsZSBlbmdpbmUgZm9yCj4gICAgIE1hZ25ldGljCj4gICAgICA+wqAgwqAgwqBTY3JvbGxzIGlz
IHVzaW5nIHRoZSBvcmlnaW5hbCBtYWduZXRpYyBpbnRlcnByZXRlciBmcm9tIE5pY2xhcwo+ICAg
ICAgPsKgIMKgIMKgS2FybHNvbi4gV2hhdCBoZSBkaWQgd2FzLCBhcyBmYXIgYXMgSSBrbm93LCBy
ZXZlcnNlLWVuZ2luZWVyCj4gICAgIHRoZSBDNjQKPiAgICAgID7CoCDCoCDCoHBvcnRzIG9mIHRo
ZSBNYWduZXRpYyBTY3JvbGxzIGdhbWVzIGluIGEgcGFpbnN0YWtpbmcgcHJvY2Vzcwo+ICAgICB0
byBtYWtlCj4gICAgICA+wqAgwqAgwqB0aGVtIHJ1biBvbiBET1MuIFdoYXQgSSBkaWQgd2FzIHN0
YXJ0aW5nIGZyb20gc2NyYXRjaCBhbmQKPiAgICAgdXNpbmcgaGlzCj4gICAgICA+wqAgwqAgwqBj
b2RlIGFzIGEgcmVmZXJlbmNlLiBIaXMgY29kZSBpcyBwcm9iYWJseSBtb3JlIHNldHRsZWQgdGhh
biBtaW5lLgo+ICAgICAgPsKgIMKgIMKgUGx1cywgSSdkIGhhdGUgdG8gc3RlcCBvbiBzb21lYm9k
eSdzIHRvZXMgd2hvIGhhcyBhbHJlYWR5Cj4gICAgIGludmVzdGVkCj4gICAgICA+wqAgwqAgwqBj
b3Bpb3VzIGFtb3VudHMgb2YgdGltZSBhbmQgZW5lcmd5IGludG8gYSBwcm9qZWN0LCBzbyBpZiB5
b3UKPiAgICAgcHJlZmVyCj4gICAgICA+wqAgwqAgwqB0byB1c2UgaGlzIGNvZGU6IFBsZWFzZSwg
cGxlYXNlIGRvIHNvIQo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKgV2hhdCBJIGNhbiBvZmZlciB5
b3UgaXMgYW4gZW5naW5lIHVzaW5nIGEgbW9yZSBtb2Rlcm4gY29kaW5nCj4gICAgIHN0eWxlLgo+
ICAgICAgPsKgIMKgIMKgRXZlbiB0aG91Z2ggaXQgaXMgQywgSSBhbSBzdXJlIHRoYXQgaXQgY2Fu
IGJlIGludGVncmF0ZWQKPiAgICAgZWFzaWx5IHdpdGgKPiAgICAgID7CoCDCoCDCoEMrKyBwcm9q
ZWN0cy4gSSBoYXZlIHdvcmtlZCB3aXRoIHByb2plY3RzIHRoYXQgdXNlIGJvdGggbGFuZ3VhZ2Vz
Cj4gICAgICA+wqAgwqAgwqBhbmQgSSBhbSBleHBlcmllbmNlZCBpbiBkZXNpZ25pbmcgQVBJcyBm
b3IgdGhhdC4KPiAgICAgID4KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoFRodXMgZmFyLCBJIGhh
dmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiBwb2ludGVycyBmb3IgY2FsbGJhY2tzOgo+ICAgICAg
Pgo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKgdHlwZWRlZiBpbnQgKCpjYkxpbmVBT3V0cHV0Q2hh
cikodm9pZCogY29udGV4dCxjaGFyCj4gICAgIGMsdW5zaWduZWQgY2hhcgo+ICAgICAgPsKgIMKg
IMKgY29udHJvbEQyLHVuc2lnbmVkIGNoYXIgZmxhZ19oZWFkbGluZSk7Cj4gICAgICA+wqAgwqAg
wqB0eXBlZGVmIGludCAoKmNiTGluZUFPdXRwdXRTdHJpbmcpKHZvaWQqIGNvbnRleHQsY2hhcioK
PiAgICAgID7CoCDCoCDCoHN0cmluZyx1bnNpZ25lZCBjaGFyIGNvbnRyb2xEMix1bnNpZ25lZCBj
aGFyIGZsYWdfaGVhZGxpbmUpOwo+ICAgICAgPsKgIMKgIMKgdHlwZWRlZiBpbnQgKCpjYkxpbmVB
SW5wdXRTdHJpbmcpKHZvaWQqIGNvbnRleHQsaW50Kgo+ICAgICBsZW4sY2hhciogc3RyaW5nKTsK
PiAgICAgID7CoCDCoCDCoHR5cGVkZWYgaW50ICgqY2JMaW5lQURyYXdQaWN0dXJlKSh2b2lkKiBj
b250ZXh0LHRQaWN0dXJlKgo+ICAgICAgPsKgIMKgIMKgcGljdHVyZSxpbnQgbW9kZSk7Cj4gICAg
ICA+wqAgwqAgwqB0eXBlZGVmIGludCAoKmNiTGluZUFTYXZlR2FtZSkodm9pZCogY29udGV4dCxj
aGFyKiBmaWxlbmFtZSx2b2lkKgo+ICAgICAgPsKgIMKgIMKgcHRyLGludCBsZW4pOwo+ICAgICAg
PsKgIMKgIMKgdHlwZWRlZiBpbnQgKCpjYkxpbmVBTG9hZEdhbWUpKHZvaWQqIGNvbnRleHQsY2hh
ciogZmlsZW5hbWUsdm9pZCoKPiAgICAgID7CoCDCoCDCoHB0cixpbnQgbGVuKTsKPiAgICAgID4K
PiAgICAgID7CoCDCoCDCoEFzIHdlbGwgYXMgdGhvc2UgQVBJIGZ1bmN0aW9uczoKPiAgICAgID4K
PiAgICAgID7CoCDCoCDCoC8vIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCj4gICAgICA+wqAgwqAg
wqBpbnQgbGluZUFfZ2V0c2l6ZShpbnQqIHNpemUpOwo+ICAgICAgPsKgIMKgIMKgaW50IGxpbmVB
X2luaXQodm9pZCogaExpbmVBLHZvaWQqIHBTaGFyZWRNZW0saW50Cj4gICAgICA+wqAgwqAgwqAq
c2hhcmVkbWVtc2l6ZSx2b2lkKiBwTWFnLGludCBtYWdzaXplLHZvaWQqIHBHZngsaW50IGdmeHNp
emUpOwo+ICAgICAgPsKgIMKgIMKgaW50IGxpbmVBX2dldFZlcnNpb24odm9pZCogaExpbmVBLGlu
dCogdmVyc2lvbik7Cj4gICAgICA+wqAgwqAgwqBpbnQgbGluZUFfc2V0Q0JvdXRwdXRDaGFyKHZv
aWQqIGhMaW5lQSxjYkxpbmVBT3V0cHV0Q2hhciBwQ0Isdm9pZAo+ICAgICAgPsKgIMKgIMKgKmNv
bnRleHQpOwo+ICAgICAgPsKgIMKgIMKgaW50IGxpbmVBX3NldENCb3V0cHV0U3RyaW5nKHZvaWQq
IGhMaW5lQSxjYkxpbmVBT3V0cHV0U3RyaW5nCj4gICAgICA+wqAgwqAgwqBwQ0Isdm9pZCogY29u
dGV4dCk7Cj4gICAgICA+wqAgwqAgwqBpbnQgbGluZUFfc2V0Q0JpbnB1dFN0cmluZyh2b2lkKiBo
TGluZUEsY2JMaW5lQUlucHV0U3RyaW5nCj4gICAgIHBDQix2b2lkKgo+ICAgICAgPsKgIMKgIMKg
Y29udGV4dCk7Cj4gICAgICA+wqAgwqAgwqBpbnQgbGluZUFfc2V0Q0JEcmF3UGljdHVyZSh2b2lk
KiBoTGluZUEsY2JMaW5lQURyYXdQaWN0dXJlCj4gICAgIHBDQix2b2lkKgo+ICAgICAgPsKgIMKg
IMKgY29udGV4dCk7Cj4gICAgICA+wqAgwqAgwqBpbnQgbGluZUFfc2V0Q0JTYXZlR2FtZSh2b2lk
KiBoTGluZUEsY2JMaW5lQVNhdmVHYW1lCj4gICAgIHBDQix2b2lkKiBjb250ZXh0KTsKPiAgICAg
ID7CoCDCoCDCoGludCBsaW5lQV9zZXRDQkxvYWRHYW1lKHZvaWQqIGhMaW5lQSxjYkxpbmVBTG9h
ZEdhbWUKPiAgICAgcENCLHZvaWQqIGNvbnRleHQpOwo+ICAgICAgPgo+ICAgICAgPgo+ICAgICAg
PsKgIMKgIMKgWW91IHR5cGljYWxseSBpbml0aWFsaXplIHRoZSBlbmdpbmUgd2l0aCBwb2ludGVy
cyB0byB0aGUgZ2FtZQo+ICAgICAgPsKgIMKgIMKgYmluYXJpZXMsIHNldCB0aGUgZnVuY3Rpb24g
cG9pbnRlcnMsIGFuZCBsZXQgaXQgcnVuLiBXaGVuIGl0Cj4gICAgIHJlYWNoZXMKPiAgICAgID7C
oCDCoCDCoGEgcG9pbnQgd2hlcmUgYW4gaW5wdXQgaXMgcmVxdWlyZWQsIHRoZSBlbmdpbmUgZ2Vu
ZXJhdGVzIGEKPiAgICAgY2FsbGJhY2sKPiAgICAgID7CoCDCoCDCoGFuZCBwYXVzZXMgdW50aWwg
dGhlIGNhbGxiYWNrIHJldHVybnMuCj4gICAgICA+Cj4gICAgICA+Cj4gICAgICA+wqAgwqAgwqBS
ZWdhcmRpbmcgcGljdHVlczogVGhleSBhcmUgYWxzbyBiZWluZyByZW5kZXJlZCBpbnRlcm5hbGx5
LCBhbmQKPiAgICAgID7CoCDCoCDCoGFub3RoZXIgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkLiBBbiB1
cHBlciBsYXllciBtdXN0IGRyYXcgaXQgaW4KPiAgICAgID7CoCDCoCDCoHdoYXRldmVyIHdheSBp
dCBkZWVtcyBhcHByb3ByaWF0ZS4gU28sIGl0IGRvZXMgbm90IHJlYWxseQo+ICAgICBjYXJlIHdo
ZXJlCj4gICAgICA+wqAgwqAgwqBpdCBzaXRzLCBvciBpZiBpdCB3aWxsIGV2ZW4gYmUgZGlzcGxh
eWVkLiBUaGUgZGF0YSBmb3JtYXQKPiAgICAgaXRzZWxmIGlzCj4gICAgICA+wqAgwqAgwqB2ZXJ5
IGJhc2ljLCBhbG1vc3QgLnhwbS4KPiAgICAgID4KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoHR5
cGVkZWYgc3RydWN0IF90UGljdHVyZQo+ICAgICAgPsKgIMKgIMKgewo+ICAgICAgPsKgIMKgIMKg
IMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBwYWxldHRlWzE2XTsKPiAgICAgID7CoCDCoCDC
oCDCoMKgwqDCoMKgwqDCoCBpbnQgaGVpZ2h0Owo+ICAgICAgPsKgIMKgIMKgIMKgwqDCoMKgwqDC
oMKgIGludCB3aWR0aDsKPiAgICAgID7CoCDCoCDCoCDCoMKgwqDCoMKgwqDCoCBjaGFyIHBpeGVs
c1s2NTUzNl07Cj4gICAgICA+wqAgwqAgwqB9IHRQaWN0dXJlOwo+ICAgICAgPgo+ICAgICAgPgo+
ICAgICAgPsKgIMKgIMKgSSBhbSBzdXJlIEkgY2FuIGRlc2lnbiBhbiBleHRyYSBmdW5jdGlvbiBm
b3IgYW5pbWF0aW9ucywgc3VjaAo+ICAgICBhcyB0aGlzOgo+ICAgICAgPgo+ICAgICAgPsKgIMKg
IMKgdHlwZWRlZiBpbnQgKCpjYkxpbmVBRHJhd0FuaW1hdGlvbikodm9pZCogY29udGV4dCx0UGlj
dHVyZSoKPiAgICAgID7CoCDCoCDCoGZyYW1lc1tdLGludCBtb2RlLGludCBmcmFtZW51bSxpbnQg
ZGVsYXkpOwo+ICAgICAgPgo+ICAgICAgPgo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKgUGxlYXNl
IGxldCBtZSBrbm93IGlmIHRoaXMgaXMgb2YgaW50ZXJlc3RlZCB0byB5b3UuCj4gICAgICA+Cj4g
ICAgICA+wqAgwqAgwqBUaG9tYXMKPiAgICAgID4KPiAgICAgID4KPiAgICAgID4KPiAgICAgID7C
oCDCoCDCoE9uIDQvMzAvMTkgMjoyMCBBTSwgUGF1bCBHaWxiZXJ0IHdyb3RlOgo+ICAgICAgPj7C
oCDCoCDCoEhpIGd1eXMsCj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoFRoYW5rcyBmb3IgdGhl
IGV4Y2VsbGVudCBzdW1tYXJ5IG9mIHRoZSBjdXJyZW50IHN0YXR1cywKPiAgICAgRmlsaXBwb3Mu
Cj4gICAgICA+PsKgIMKgIMKgQXMgaGUgc2FpZCwgSSdtIGN1cnJlbnRseSBpbiB0aGUgbWlkZGxl
IG9mIHdvcmtpbmcgbXkgd2F5Cj4gICAgIHRocm91Z2gKPiAgICAgID4+wqAgwqAgwqBjb252ZXJ0
aW5nIGFsbCB0aGUgR2FyZ295bGUgZW5naW5lcyB0byBTY3VtbVZNLCBjbGVhbmluZyB0aGVtIHVw
Cj4gICAgICA+PsKgIMKgIMKgYW5kIG1ha2luZyB0aGVtIGNvbmZvcm0gdG8gb3VyIGNvZGluZyBy
ZXF1aXJlbWVudHMsIGFzIHdlbGwgYXMKPiAgICAgID4+wqAgwqAgwqBtYWtpbmcgdGhlbSBwcm9w
ZXIgQysrIGNsYXNzZXMuIElmIHlvdSBkbyBkZWNpZGUgdG8gd29yayBvbiB0aGUKPiAgICAgID4+
wqAgwqAgwqBHYXJnb3lsZSBzdWItZW5naW5lLCBwbGVhc2UgbGV0IG1lIGtub3cuLiBJJ2xsIGhv
bGQgb2ZmCj4gICAgIHdvcmtpbmcgb24KPiAgICAgID4+wqAgwqAgwqBpdCB1bnRpbCBhZnRlciBJ
J3ZlIGNvbnZlcnRlZCB0aGUgcmVtYWluaW5nIHN1Yi1lbmdpbmVzLiBUaGF0J2xsCj4gICAgICA+
PsKgIMKgIMKgZ2l2ZSB5b3UgcGxlbnR5IG9mIHRpbWUuLiB0aGUgVEFEUyAmIEh1Z28gc3ViLWVu
Z2luZXMgYXJlIGJpZwo+ICAgICAgPj7CoCDCoCDCoGVub3VnaCB0aGF0IHRoYXQnbGwgbGlrZWx5
IHRha2UgbWUgYSB3aGlsZSB0byBmaW5pc2gKPiAgICAgY29udmVydGluZyA6KS4KPiAgICAgID4+
Cj4gICAgICA+PsKgIMKgIMKgSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBhYm91dCB0aGUgR2xr
IGVuZ2luZSBzcGVjaWZpY2FsbHksCj4gICAgIGZlZWwKPiAgICAgID4+wqAgwqAgwqBmcmVlIHRv
IGRyb3AgbWUgYcKgbGluZS7CoCBUaGVyZSdzIGFsc28gdGhlIHRlY2huaWNhbCBmb3J1bXMgYXQK
PiAgICAgID4+IGludGZpY3Rpb24ub3JnIDxodHRwOi8vaW50ZmljdGlvbi5vcmc+IDxodHRwOi8v
aW50ZmljdGlvbi5vcmc+Lgo+ICAgICBUaG91Z2ggbXkgc2NoZWR1bGUgaXMgYQo+ICAgICAgPj7C
oCDCoCDCoGJpdCBwYWNrZWQgZm9yIHRoZcKgbmV4dCBmZXcgd2Vla3MsIHNvIGlmIHlvdSBkbyBl
bWFpbCwgSSBtYXkKPiAgICAgdGFrZQo+ICAgICAgPj7CoCDCoCDCoGEgYml0IHRvIGdldCBiYWNr
IHRvIHlvdS4KPiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgQXMgZmFyIGFzIG11c2ljIGFuZCBh
bmltYXRpb24gZ29lcywgbXVzaWMgYXQgbGVhc3Qgc2hvdWxkIGJlCj4gICAgIGVhc3ksCj4gICAg
ICA+PsKgIMKgIMKgc28gbG9uZyBhcyBpdCdzIGEgc3RhbmRhcmQgZm9ybWF0IFNjdW1tVk0gdW5k
ZXJzdGFuZHMuIEN1cnJlbnRseQo+ICAgICAgPj7CoCDCoCDCoHRoZSBlbmdpbmUgc3VwcG9ydHMg
cmF3IHNvdW5kLCB3YXYgZmlsZXMsIGFpZmYsIGFuZCBtcDMuIEFzIGZvcgo+ICAgICAgPj7CoCDC
oCDCoGdyYXBoaWNzLCB0aGF0J3Mgc29tZXdoYXQgc3RyYWlnaHRmb3J3YXJkIGFzIHdlbGwsIGFz
IGxvbmcKPiAgICAgYXMgdGhlCj4gICAgICA+PsKgIMKgIMKgZ3JhcGhpY3MgY2FuIGJlIHNlZ21l
bnRlZCBpbnRvIGNvbXBsZXRlbHkgc2VwYXJhdGUgd2luZG93cyB0aGFuCj4gICAgICA+PsKgIMKg
IMKgdGhlIHRleHQsIGFuZCBpdCBsb29rcyBsaWtlIHRoZSBNYWduZXRpYyBTY3JvbGwgZ2FtZXMg
ZG8uLiB3aGVuCj4gICAgICA+PsKgIMKgIMKgeW91IGNyZWF0ZSB3aW5kb3dzIGluIEdsaywgeW91
IGNhbiBzcGVjaWZ5IHdoYXQgcG9ydGlvbiBvZiB0aGUKPiAgICAgID4+wqAgwqAgwqBzY3JlZW4g
ZWFjaCB3aWxsIHVzZSAoZm9yIHRleHQgdnMgZ3JhcGhpY3MpLiBJJ3ZlIGhhZCBhIGxvdCBvZgo+
ICAgICAgPj7CoCDCoCDCoHRyb3VibGUgd2l0aCB0aGUgRnJvdHogc3ViLWVuZ2luZSwgYnV0IG9u
bHkgYmVjYXVzZSBncmFwaGljcyBhbmQKPiAgICAgID4+wqAgwqAgwqB0ZXh0IGNhbiBpbnRlcm1p
bmdsZSBpbiB0aGUgc2FtZSB3aW5kb3dzLCB3aGljaCBHbGsgZG9lc24ndAo+ICAgICBhbGxvdy4K
PiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgUmVnYXJkcywKPiAgICAgID4+Cj4gICAgICA+PsKg
IMKgIMKgUGF1bCBHaWxiZXJ0IChha2EgRHJlYW1NYXN0ZXIpLgo+ICAgICAgPj4KPiAgICAgID4+
Cj4gICAgICA+Pgo+ICAgICAgPj4KPiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgT24gTW9uLCBB
cHIgMjksIDIwMTkgYXQgNzoxOCBQTSBGaWxpcHBvcyBLYXJhcGV0aXMKPiAgICAgID4+wqAgwqAg
wqA8Ymx1ZWdyQGdtYWlsLmNvbSA8bWFpbHRvOmJsdWVnckBnbWFpbC5jb20+Cj4gICAgIDxtYWls
dG86Ymx1ZWdyQGdtYWlsLmNvbSA8bWFpbHRvOmJsdWVnckBnbWFpbC5jb20+Pj4gd3JvdGU6Cj4g
ICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoFNvcnJ5LCBmb3Jnb3QgdG8gc2F5IHRoYXQg
dGhlIGdsayBlbmdpbmUgaW4gU2N1bW1WTSBjYW4gYmUKPiAgICAgID4+wqAgwqAgwqAgwqAgwqBm
b3VuZCBoZXJlOgo+ICAgICAgPj4gaHR0cHM6Ly9naXRodWIuY29tL3NjdW1tdm0vc2N1bW12bS90
cmVlL21hc3Rlci9lbmdpbmVzL2dsawo+ICAgICAgPj4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqBU
aGVyZSBhcmUgY3VycmVudGx5IHN1YmVuZ2luZXMgZm9yIHRoZSBhbGFuMiwgZnJvdHosIGdsdWx4
ZSwKPiAgICAgID4+wqAgwqAgwqAgwqAgwqBtYWduZXRpYywgc2NvdHQsIGFuZCB0YWRzIGludGVy
cHJldGVycywgaW4gdmFyaW91cyBzdGFnZXMgb2YKPiAgICAgID4+wqAgwqAgwqAgwqAgwqBkZXZl
bG9wbWVudC4gZHJlYW1tYXN0ZXIgaXMgbWFpbmx5IHdvcmtpbmcgb24gdGhlc2UuIFlvdSBjYW4K
PiAgICAgID4+wqAgwqAgwqAgwqAgwqBhbHNvIGZpbmQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGds
ayBlbmdpbmUgaW4gb3VyIHdpa2k6Cj4gICAgICA+PiBodHRwczovL3dpa2kuc2N1bW12bS5vcmcv
aW5kZXgucGhwP3RpdGxlPVNjdW1tR2xrCj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDC
oFJlZ2FyZHMKPiAgICAgID4+wqAgwqAgwqAgwqAgwqBGaWxpcHBvcyBLYXJhcGV0aXMKPiAgICAg
ID4+Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgT24gTW9uLCBBcHIgMjksIDIwMTkgYXQgMTI6MTQg
UE0gRmlsaXBwb3MgS2FyYXBldGlzCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgPGJsdWVnckBnbWFp
bC5jb20gPG1haWx0bzpibHVlZ3JAZ21haWwuY29tPgo+ICAgICA8bWFpbHRvOmJsdWVnckBnbWFp
bC5jb20gPG1haWx0bzpibHVlZ3JAZ21haWwuY29tPj4+IHdyb3RlOgo+ICAgICAgPj4KPiAgICAg
ID4+wqAgwqAgwqAgwqAgwqAgwqAgwqBIZWxsbywgYW5kIGdsYWQgdG8gaGVhciBhYm91dCB5b3Vy
IGludGVyZXN0IGluIFNjdW1tVk0sCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgYW5kIHlv
dXIgd29yayBvbiB0aGUgTWFnbmV0aWMgU2Nyb2xscyBnYW1lcyEKPiAgICAgID4+Cj4gICAgICA+
PsKgIMKgIMKgIMKgIMKgIMKgIMKgSXQncyBncmVhdCB0aGF0IHlvdSBhcmUgd29ya2luZyBvbiB0
aGlzLiBCZWFyIGluIG1pbmQsCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgdGhvdWdoLCB0
aGF0IHRoZXJlIGhhcyBiZWVuIGV4dGVuc2l2ZSB3b3JrIG9uIHRoZQo+ICAgICBNYWduZXRpYwo+
ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoFNjcm9sbHMgZ2FtZXMsIHdoaWNoIGhhcyBiZWVu
IGludGVncmF0ZWQgaW50byB0aGUKPiAgICAgR2FyZ295bGUKPiAgICAgID4+wqAgwqAgwqAgwqAg
wqAgwqAgwqBpbnRlcnByZXRlcjoKPiAgICAgID4+IGh0dHA6Ly9jY3h2aWkubmV0L2dhcmdveWxl
Lwo+ICAgICAgPj4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqBHYXJnb3lsZSBpcyBiZWlu
ZyBpbnRlZ3JhdGVkIGFzIGEgc3ViZW5naW5lIGludG8KPiAgICAgU2N1bW1WTSwKPiAgICAgID4+
wqAgwqAgwqAgwqAgwqAgwqAgwqBpbiB0aGUgZ2xrIGVuZ2luZS4gVGhlIGdsayBlbmdpbmUgaXMg
YSBwb3J0IG9mIHRoZQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoEdhcmdveWxlIGVuZ2lu
ZSBpbnRvIFNjdW1tVk0uIFRoZXJlJ3MgYW4gZXh0ZW5zaXZlIHdpa2kKPiAgICAgID4+wqAgwqAg
wqAgwqAgwqAgwqAgwqBmb3IgR2FyZ295bGUsIGhlcmU6Cj4gICAgICA+PiBodHRwOi8vaWZ3aWtp
Lm9yZy9pbmRleC5waHAvR2FyZ295bGUKPiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKg
IMKgIMKgU28sIG15IGFkdmljZSB3b3VsZCBiZSB0byBtYWtlIHlvdXIgZW5naW5lIHBhcnQgb2YK
PiAgICAgdGhlIGdsawo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoGVuZ2luZSwgYW5kIGJh
c2UgeW91ciB3b3JrIG9uIHRoZSBhbHJlYWR5IHdvcmtpbmcKPiAgICAgTWFnbmV0aWMKPiAgICAg
ID4+wqAgwqAgwqAgwqAgwqAgwqAgwqBTY3JvbGxzIGludGVycHJldGVyIGZyb20gdGhlIEdhcmdv
eWxlIGVuZ2luZS4gVGhlCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgaW50ZXJwcmV0ZXIg
aXMgb3BlbiBzb3VyY2UsIGFuZCBjYW4gYmUgZm91bmQgaGVyZToKPiAgICAgID4+IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYXJnbGsvZ2FyZ2xrL3RyZWUvbWFzdGVyL3RlcnBzL21hZ25ldGljCj4gICAg
ICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoFRoZSBsaXN0IG9mIHN1cHBvcnRlZCBN
YWduZXRpYyBTY3JvbGxzIGdhbWVzIGNhbiBiZQo+ICAgICBmb3VuZAo+ICAgICAgPj7CoCDCoCDC
oCDCoCDCoCDCoCDCoGhlcmU6Cj4gICAgICA+Pgo+ICAgICBodHRwczovL2dpdGh1Yi5jb20vZ2Fy
Z2xrL2dhcmdsay9ibG9iL21hc3Rlci90ZXJwcy9tYWduZXRpYy9HZW5lcmljL2dhbWVzLnR4dAo+
ICAgICAgPj4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqBBbmQgdGhlcmUncyBhbiBhcmNo
aXZlIGFib3V0IGludGVyYWN0aXZlIGZpY3Rpb24gZ2FtZXMsCj4gICAgICA+PsKgIMKgIMKgIMKg
IMKgIMKgIMKgd2hlcmUgYSBsb3Qgb2YgcmVzb3VyY2VzIGFib3V0IHRoZSBNYWduZXRpYyBTY3Jv
bGxzCj4gICAgIGdhbWVzCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgY2FuIGJlIGZvdW5k
LCBoZXJlOgo+ICAgICAgPj4gaHR0cDovL3d3dy5pZmFyY2hpdmUub3JnL2luZGV4ZXMvaWYtYXJj
aGl2ZS9tYWduZXRpYy1zY3JvbGxzLwo+ICAgICAgPj4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAg
wqAgwqBUaGFua3MgZm9yIHlvdXIgaW50ZXJlc3QgaW4gdGhlc2UgZ2FtZXMhIEl0IHdvdWxkIGJl
Cj4gICAgIGdyZWF0Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgdG8gc2VlIHlvdXIgd29y
ayBvbiB0aGVtIDopCj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoFJlZ2Fy
ZHMKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqBGaWxpcHBvcyBLYXJhcGV0aXMKPiAgICAg
ID4+Cj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoE9uIE1vbiwgQXByIDI5
LCAyMDE5IGF0IDEwOjA4IEFNIGRldHR1cwo+ICAgICA8ZGV0dHVzQGRldHR1cy5uZXQgPG1haWx0
bzpkZXR0dXNAZGV0dHVzLm5ldD4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqA8bWFpbHRv
OmRldHR1c0BkZXR0dXMubmV0Cj4gICAgIDxtYWlsdG86ZGV0dHVzQGRldHR1cy5uZXQ+Pj4gd3Jv
dGU6Cj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEhlbGxvLgo+
ICAgICAgPj4KPiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgTXkg
bmFtZSBpcyBUaG9tYXMsIEkgYW0gYSBiaWcgZmFuIG9mIFNjdW1tVk0uCj4gICAgICA+Pgo+ICAg
ICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEN1cnJlbnRseSwgSSBhbSBpbiB0aGUgcHJv
Y2VzcyBvZiB3cml0aW5nIGFuCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaW50
ZXJwcmV0ZXIgZm9yIGNsYXNzaWMKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB0
ZXh0IGFkdmVudHVyZXMgZnJvbSBNYWduZXRpYyBTY3JvbGxzLCBzdWNoIGFzICJUaGUKPiAgICAg
ID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBQYXduIiBvciAiVGhlIEd1aWxkCj4gICAgICA+
PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgT2YgVGhpZXZlcyIuCj4gICAgICA+Pgo+ICAgICAg
Pj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEV2ZW4gdGhvdWdoIEkgYW0gbm90IHNheWluZyB0
aGF0IGl0IFNIT1VMRCBiZQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGludGVn
cmF0ZWQgaW50byBTY3VtbVZNLCBJCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
d291bGQgbGlrZSB0byB0aGluayB0aGF0IGl0IENPVUxELiBJdCBpcyBXQVkgdG8KPiAgICAgZWFy
bHkKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB0byByZWFsbHkgc3RhcnQKPiAg
ICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpbnRlZ3JhdGluZyBpdCwgYnV0IEkgbGlr
ZSB0byBiZSBwcmVwYXJlZC4KPiAgICAgID4+Cj4gICAgICA+Pgo+ICAgICAgPj4KPiAgICAgID4+
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBTbywgdGhlIHJlYXNvbiB3aHkgSSBhbSB3cml0aW5n
IHRoaXMgbWFpbCBpcwo+ICAgICBiZWNhdXNlIEkKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqB3b3VsZCBiZQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGludGVy
ZXN0ZWQgYXMgb24gaG93IEkgd291bGQgaGF2ZSB0byBkZXNpZ24gbXkKPiAgICAgY29kZSB0bwo+
ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG1ha2UgaXQgcG9zc2libGUuCj4gICAg
ICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQ3VycmVudGx5LCBteSBpbnRlcnByZXRlciBu
ZWVkcyBhIGNvdXBsZSBvZgo+ICAgICBob29rcyBpbnRvCj4gICAgICA+PsKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgYW55IGZvcm0gb2YgR1VJOgo+ICAgICAgPj4KPiAgICAgID4+wqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAtIEluaXRpYWxpemF0aW9uLCB3aGVyZSBwb2ludGVycyB0byB0aGUg
b3JpZ2luYWwKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiaW5hcmllcyBhcmUg
YmVpbmcgcHJvdmlkZWQKPiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgLSBDYWxsYmFja3MgZm9yIHRleHR1YWwgaW5wdXQgKHN0cmluZ3MpCj4gICAgICA+PsKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgLSBDYWxsYmFja3MgZm9yIHRleHR1YWwgb3V0cHV0IChzdHJp
bmdzKQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoC0gQ2FsbGJhY2tzIGZvciB0
ZXh0dWFsIG91dHB1dCAoY2hhcmFjdGVycykKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAtIENhbGxiYWNrcyBmb3IgZHJhd2luZyBhIHBpY3R1cmUgKFhQTSkKPiAgICAgID4+Cj4g
ICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgTXkgY29kZSBpcyBwdXJlbHkgQywgc28g
Y2FsbGJhY2tzIEkgYW0gdXNpbmcKPiAgICAgZnVuY3Rpb24KPiAgICAgID4+wqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqBwb2ludGVycy4gU2FpZAo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoGZ1bmN0aW9ucyBhcmUsIGF0IHRoZSBtb21lbnQsIGRvaW5nIG5vdGhpbmcgbW9yZQo+
ICAgICB0aGFuCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKganVzdCBhIHNpbXBs
ZQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHByaW50ZigpIGFuZCBmZ2V0cygp
LiBUaGUgZ2FtZXMgSSBjYW4gcGxheSBzbwo+ICAgICBmYXIgYXJlCj4gICAgICA+PsKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIlRoZSBQYXduIiwgIlRoZQo+ICAgICAgPj7CoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoEd1aWxkIG9mIFRoaWV2ZXMiIGFuZCAiSmlueHRlciIuIEhPV0VWRVIsIGxh
dGVyCj4gICAgIGdhbWVzLAo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHN1Y2gg
YXMKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAiQ29ycnVwdGlvbiIsICJNeXRo
IiwgIkZpc2ghIiBhbmQgIldvbmRlcmxhbmQiIGFkZGVkCj4gICAgICA+PsKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgZmVhdHVyZXMgc3VjaCBhcwo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoGFuaW1hdGlvbiBhbmQgbXVzaWMuCj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoFNPIE1ZIFFVRVNUSU9OIGlzIHRoaXM6IEhvdyB3b3VsZCBJIGJlc3Qg
ZGVzaWduIHRoZQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhbGxiYWNrcyBm
b3IKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBhbmltYXRpb24gYW5kIG11c2lj
IGluIHdheSBzbyB0aGF0IGl0IE1JR0hUIGJlCj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgaW50ZWdyYXRhYmxlIGludG8gU2N1bW1WTT8KPiAgICAgID4+Cj4gICAgICA+Pgo+ICAg
ICAgPj4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBEZXR0dXMKPiAgICAgID4+
Cj4gICAgICA+Pgo+ICAgICAgPj4KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBQ
LlMuOiBNeSBpbnRlcnByZXRlciBpcyBhdmFpbGFibGUgYXQKPiAgICAgID4+IGh0dHA6Ly93d3cu
ZGV0dHVzLm5ldC9kTWFnbmV0aWMuCj4gICAgICA+Pgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoChIb3BlZnVsbHkgdGhpcyBsaW5rLCBhbmQgdGhlIGZhY3QgdGhhdCB0aGlzIGlz
IG15Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZmlyc3QgZW1haWwgd2lsbCBu
b3QKPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBtYWtlIHRoaXMgc3BhbS4gOykg
KQo+ICAgICAgPj4KPiAgICAgID4+Cj4gICAgICA+Pgo+ICAgICAgPj4KPiAgICAgID4+Cj4gICAg
ICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KPiAgICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBT
Y3VtbXZtLWRldmVsIG1haWxpbmcgbGlzdAo+ICAgICAgPj4gU2N1bW12bS1kZXZlbEBsaXN0cy5z
Y3VtbXZtLm9yZwo+ICAgICA8bWFpbHRvOlNjdW1tdm0tZGV2ZWxAbGlzdHMuc2N1bW12bS5vcmc+
Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPG1haWx0bzpTY3VtbXZtLWRldmVs
QGxpc3RzLnNjdW1tdm0ub3JnCj4gICAgIDxtYWlsdG86U2N1bW12bS1kZXZlbEBsaXN0cy5zY3Vt
bXZtLm9yZz4+Cj4gICAgICA+PiBodHRwczovL2xpc3RzLnNjdW1tdm0ub3JnL2xpc3RpbmZvL3Nj
dW1tdm0tZGV2ZWwKPiAgICAgID4+Cj4gICAgICA+Pgo+ICAgICAgPj4KPiAgICAgID4+wqAgwqAg
wqAgwqAgwqAgwqAgwqAtLQo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoCDCoCDCoCJFeHBlcmllbmNl
IGlzIHRoZSBuYW1lIGV2ZXJ5IG9uZSBnaXZlcyB0byB0aGVpcgo+ICAgICBtaXN0YWtlcyIKPiAg
ICAgID4+wqAgwqAgwqAgwqAgwqAgwqAgwqAtIE9zY2FyIFdpbGRlCj4gICAgICA+Pgo+ICAgICAg
Pj4KPiAgICAgID4+Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgLS0KPiAgICAgID4+wqAgwqAgwqAg
wqAgwqAiRXhwZXJpZW5jZSBpcyB0aGUgbmFtZSBldmVyeSBvbmUgZ2l2ZXMgdG8gdGhlaXIgbWlz
dGFrZXMiIC0KPiAgICAgID4+wqAgwqAgwqAgwqAgwqBPc2NhciBXaWxkZQo+ICAgICAgPj7CoCDC
oCDCoCDCoCDCoF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Cj4gICAgICA+PsKgIMKgIMKgIMKgIMKgU2N1bW12bS1kZXZlbCBtYWlsaW5nIGxpc3QKPiAgICAg
ID4+IFNjdW1tdm0tZGV2ZWxAbGlzdHMuc2N1bW12bS5vcmcKPiAgICAgPG1haWx0bzpTY3VtbXZt
LWRldmVsQGxpc3RzLnNjdW1tdm0ub3JnPgo+ICAgICAgPj7CoCDCoCDCoCDCoCDCoDxtYWlsdG86
U2N1bW12bS1kZXZlbEBsaXN0cy5zY3VtbXZtLm9yZwo+ICAgICA8bWFpbHRvOlNjdW1tdm0tZGV2
ZWxAbGlzdHMuc2N1bW12bS5vcmc+Pgo+ICAgICAgPj4gaHR0cHM6Ly9saXN0cy5zY3VtbXZtLm9y
Zy9saXN0aW5mby9zY3VtbXZtLWRldmVsCj4gICAgICA+Pgo+ICAgICAgPj4KPiAgICAgID4+wqAg
wqAgwqBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICAg
ICAgPj7CoCDCoCDCoFNjdW1tdm0tZGV2ZWwgbWFpbGluZyBsaXN0Cj4gICAgICA+PiBTY3VtbXZt
LWRldmVsQGxpc3RzLnNjdW1tdm0ub3JnCj4gICAgIDxtYWlsdG86U2N1bW12bS1kZXZlbEBsaXN0
cy5zY3VtbXZtLm9yZz4gCj4gICAgIDxtYWlsdG86U2N1bW12bS1kZXZlbEBsaXN0cy5zY3VtbXZt
Lm9yZwo+ICAgICA8bWFpbHRvOlNjdW1tdm0tZGV2ZWxAbGlzdHMuc2N1bW12bS5vcmc+Pgo+ICAg
ICAgPj4gaHR0cHM6Ly9saXN0cy5zY3VtbXZtLm9yZy9saXN0aW5mby9zY3VtbXZtLWRldmVsCj4g
ICAgICA+wqAgwqAgwqBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwo+ICAgICAgPsKgIMKgIMKgU2N1bW12bS1kZXZlbCBtYWlsaW5nIGxpc3QKPiAgICAgID4g
U2N1bW12bS1kZXZlbEBsaXN0cy5zY3VtbXZtLm9yZwo+ICAgICA8bWFpbHRvOlNjdW1tdm0tZGV2
ZWxAbGlzdHMuc2N1bW12bS5vcmc+Cj4gICAgIDxtYWlsdG86U2N1bW12bS1kZXZlbEBsaXN0cy5z
Y3VtbXZtLm9yZwo+ICAgICA8bWFpbHRvOlNjdW1tdm0tZGV2ZWxAbGlzdHMuc2N1bW12bS5vcmc+
Pgo+ICAgICAgPiBodHRwczovL2xpc3RzLnNjdW1tdm0ub3JnL2xpc3RpbmZvL3NjdW1tdm0tZGV2
ZWwKPiAgICAgID4KPiAgICAgID4KPiAgICAgID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KPiAgICAgID4gU2N1bW12bS1kZXZlbCBtYWlsaW5nIGxpc3QK
PiAgICAgID4gU2N1bW12bS1kZXZlbEBsaXN0cy5zY3VtbXZtLm9yZwo+ICAgICA8bWFpbHRvOlNj
dW1tdm0tZGV2ZWxAbGlzdHMuc2N1bW12bS5vcmc+Cj4gICAgICA+IGh0dHBzOi8vbGlzdHMuc2N1
bW12bS5vcmcvbGlzdGluZm8vc2N1bW12bS1kZXZlbAo+ICAgICAgPgo+IAo+IAo+IF9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gU2N1bW12bS1kZXZlbCBt
YWlsaW5nIGxpc3QKPiBTY3VtbXZtLWRldmVsQGxpc3RzLnNjdW1tdm0ub3JnCj4gaHR0cHM6Ly9s
aXN0cy5zY3VtbXZtLm9yZy9saXN0aW5mby9zY3VtbXZtLWRldmVsCj4gCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KU2N1bW12bS1kZXZlbCBtYWlsaW5n
IGxpc3QKU2N1bW12bS1kZXZlbEBsaXN0cy5zY3VtbXZtLm9yZwpodHRwczovL2xpc3RzLnNjdW1t
dm0ub3JnL2xpc3RpbmZvL3NjdW1tdm0tZGV2ZWwK