- Hiding abstract methods
----boundary-LibPST-iamunique-635261130_-_-
Content-type: text/plain
Bob,
You are correct.
I realized this last night. If one exports an abstract type then that type can be extended outside
of the module defining it. My case did not consider that condition since I was not expecting to
extend the abstraction but only use those extensions that were exported.
I now see a solution to my problem by not exporting the abstract type or its extensions but only
exporting 2 readers and 2 writers, one for each of the INTEGER and SET arrays. Internally
I then create my abstractions.
Its not always easy to shake off the context in which one is working.
Best regards,
Doug Danforth
Bob Walkden wrote:
You can't simultaneously hide the methods of A and have A as an abstract type extensible from other modules - it's a contradiction. An abstract type can't be instantiated, it must be inherited and its inheritors must instantiate its parts. If the parts are hidden then it's impossible for its inheritors (in other modules) to instantiate them.
--
Regards,
Bob
_____
From: blackbox{([at]})nowhere.xySent: 15 June 2007 03:35
To: BlackBox Mailing List
Subject: [BlackBox] - Hiding abstract methods
Bob,
I am trying to keep the amount of stuff shown to a minimum.
There is also a procedure Run that is exported from M that when called starts up and eventually calls the installed reader and writer (repeatedly).
The reader and writer do not invoke the hidden procedures they are passive and are called by M when needed.
How do I hide the methods of A, Bits, and Ints?
-Doug Danforth
Bob Walkden wrote:
How and when are M's internal procedures invoked? If the client's reader is to invoke them directly then they must be made public. If you want M's hidden procedures to be invoked indirectly by the reader or writer you may need to provide a couple of Notifier procedures in M and have the reader or writer call them explicitly.
--
Regards,
Bob
_____
From: blackbox{([at]})nowhere.xySent: 14 June 2007 22:25
To: BlackBox Mailing List
Subject: [BlackBox] - Hiding abstract methods
Chris,
Here is what I would like the interface to module M to appear
DEFINITION M;
TYPE
A = POINTER TO ABSTRACT RECORD END;
Bits = POINTER TO RECORD (A)
x: POINTER TO ARRAY OF SET
END;
Ints = POINTER TO RECORD (A)
x: POINTER TO ARRAY OF INTEGER
END;
Reader = PROCEDURE (VAR a: A): BOOLEAN;
Writer = PROCEDURE (a: A);
PROCEDURE InstallReader (rd: Reader);
PROCEDURE InstallWriter (wr: Writer);
END M.
One just installs a specific reader that generates a Bits or an Ints.
Internally to M there are many procedures that take the abstract
quantity 'a' when a read operation is done and operate on it with procedures
that are methods of type either Bits or Ints whose definitions are given internally
and are abstractions of the of type A. But the user of M need not know anything
about this and BlackBox should not force the user to see these methods.
How can this be accomplished?
-Doug Danforth
CFB Software wrote:
Hi Doug,
I don't know if I can help but as nobody else has responded yet I'm
willing to give it a try. I'm interested in learning more about the
finer details of issues like this. However, I'm not sure from your
desription that I understand exactly what you are trying to do. Would it
be possible for you to show complete minimal examples of:
a) What you would like the code to look like
b) How you think it needs to be written to make it acceptable to
Blackbox
Regards,
Chris Burrows
CFB Software
http://www.cfbsoftware.com/gpcp
-----Original Message-----
From: blackbox{([at]})nowhere.xy
Behalf Of Douglas G. Danforth
Sent: Wednesday, 13 June 2007 10:22 AM
To: BlackBox Mailing List
Subject: [BlackBox] - Hiding abstract methods
Folks,
I have a conceptual problem on which I would like your advice.
I have an ABSTRACT type A and two concrete types C1 and
C2 which are extensions of A.
TYPE
A* = POINTER TO ABSTRACT RECORD END;
C1* = POINTER TO RECORD(A) END;
C2* = POINTER TO RECORD(A) END;
I would like to export A (as shown with the '*'') but within the
module M where A is defined I *do not want* to export its
methods. I want them to be completely hidden so that the user
of M only needs to create the instance Ci (and fill its
fields (not shown))
and pass Ci to the module M in which the specific methods
appropriate to Ci
are specified (but also not exported). Within M, procedures take 'a'
(an instance of A which is either C1 or C2) and operates on it without
knowledge of its concrete form. The methods of A are simply called
and the concrete forms of those methods as C1 or C2 are actually
run.
Unfortunately, it seems that this scheme of things is not possible in
BlackBox.
I am forced to export the methods of A and also the methods of C1 and
the methods of C2, greatly cluttering the interface to M when
none of that
information will be used by the person operating with M.
Only the existence
of A and the extensions C1 and C2 are needed.
Is there a clean way to hide all of these methods?
-Doug Danforth
--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
----boundary-LibPST-iamunique-635261130_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm
c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy
XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg
TmV3O30NCntcZjRcZnN3aXNzXGZjaGFyc2V0MCBBcmlhbDt9DQp7XGY1XGZzd2lzcyBUYWhvbWE7
fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7XHJl
ZDBcZ3JlZW4wXGJsdWUyNTU7fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyNCAN
CntcKlxodG1sdGFnMjQzIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0
LjAxIFRyYW5zaXRpb25hbC8vRU4iPn0NCntcKlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sdGFn
MTkgPGh0bWw+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWczNCA8aGVhZD59DQp7
XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRtbHRhZzI0MSAgIH0NCntcKlxodG1sdGFnMSBccGFy
IH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wqXGh0bWx0YWcxNzcgPHRpdGxlPn0NCntcKlxodG1s
dGFnMjQxIH0NCntcKlxodG1sdGFnMTg1IDwvdGl0bGU+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0K
e1wqXGh0bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWc1
MCA8Ym9keSBiZ2NvbG9yPSIjZmZmZmZmIiB0ZXh0PSIjMDAwMDAwIj59XGh0bWxydGYgXHZpZXdr
aW5kNQ0Ke1wqXGJhY2tncm91bmQge1xzaHB7XCpcc2hwaW5zdHtcc3B7XHNuIGZpbGxDb2xvcn17
XHN2IDE2Nzc3MjE1fX17XHNwe1xzbiBmRmlsbGVkfXtcc3YgMX19fX19XGh0bWxydGYwIA0Ke1wq
XGh0bWx0YWcwIFxwYXIgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBCb2IsDQp7
XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh
ZzQgXHBhciB9WW91IGFyZSBjb3JyZWN0Lg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBc
bGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUkgcmVhbGl6ZWQgdGhpcyBsYXN0
IG5pZ2h0Lg0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgSWYg
b25lIGV4cG9ydHMgYW4gYWJzdHJhY3QgdHlwZSB0aGVuIHRoYXQNCntcKlxodG1sdGFnNCBccGFy
IH1caHRtbHJ0ZiAgXGh0bWxydGYwIHR5cGUgY2FuIGJlIGV4dGVuZGVkIG91dHNpZGUNCntcKlxo
dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc
cGFyIH1vZiB0aGUgbW9kdWxlIGRlZmluaW5nIGl0Lg0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0
bWxydGYgXCdhMFxodG1scnRmMCAgTXkgY2FzZSBkaWQgbm90IGNvbnNpZGVyIHRoYXQgY29uZGl0
aW9uDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBzaW5jZSBJIHdhcyBu
b3QgZXhwZWN0aW5nIHRvDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt
bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9ZXh0ZW5kIHRoZSBhYnN0cmFjdGlvbiBidXQgb25s
eSB1c2UgdGhvc2UgZXh0ZW5zaW9ucyB0aGF0IHdlcmUgZXhwb3J0ZWQuDQp7XCpcaHRtbHRhZzEx
NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7
XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh
ZzQgXHBhciB9SSBub3cgc2VlIGEgc29sdXRpb24gdG8gbXkgcHJvYmxlbSBieSBub3QgZXhwb3J0
aW5nIHRoZSBhYnN0cmFjdCB0eXBlDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1s
cnRmMCBvciBpdHMgZXh0ZW5zaW9ucyBidXQgb25seQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt
bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfWV4cG9ydGluZyAyIHJl
YWRlcnMgYW5kIDIgd3JpdGVycywgb25lIGZvciBlYWNoIG9mIHRoZSBJTlRFR0VSIGFuZCBTRVQN
CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIGFycmF5cy4NCntcKlxodG1s
dGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIEludGVybmFsbHkNCntcKlxodG1s
dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy
IH1JIHRoZW4gY3JlYXRlIG15IGFic3RyYWN0aW9ucy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0
bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn
MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1J
dHMgbm90IGFsd2F5cyBlYXN5IHRvIHNoYWtlIG9mZiB0aGUgY29udGV4dCBpbiB3aGljaCBvbmUg
aXMgd29ya2luZy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm
MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp
bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1CZXN0IHJlZ2FyZHMsDQp7XCpcaHRt
bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh
ciB9RG91ZyBEYW5mb3J0aA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0
ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYg
PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUJvYiBX
YWxrZGVuIHdyb3RlOg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAge1wq
XGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGJsb2Nr
cXVvdGUgY2l0ZT0ibWlkOkFNRVRIWVNUMmR5dDNjZXc4azYwMDAwMDI4YkBhbWV0aHlzdDIub2Jl
cm9uLmNoIlxwYXIgIHR5cGU9ImNpdGUiPn1caHRtbHJ0ZiBccGFyDQp7XGh0bWxydGYwIA0Ke1wq
XGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzE3NiA8dGl0
bGU+fQ0Ke1wqXGh0bWx0YWcyNDAgfQ0Ke1wqXGh0bWx0YWcxODQgPC90aXRsZT59DQp7XCpcaHRt
bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnMTYwIDxtZXRhIGh0
dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyAiPn0NCntcKlxodG1s
dGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxNjAgPG1ldGEgY29u
dGVudD0iTVNIVE1MIDYuMDAuNjAwMC4xNjQ4MSIgbmFtZT0iR0VORVJBVE9SIj59DQp7XCpcaHRt
bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnOTYgPGRpdiBkaXI9
Imx0ciIgYWxpZ249ImxlZnQiPn1caHRtbHJ0ZiB7XGx0cnBhclxsdHJjaFxxbCBccWwgXGh0bWxy
dGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBcbGkzNjAgDQp7XCpcaHRtbHRh
Zzg0IDxzcGFuIGNsYXNzPSI1OTI0ODIwMDYtMTUwNjIwMDciPn1caHRtbHJ0ZiB7XGh0bWxydGYw
IA0Ke1wqXGh0bWx0YWcxNDggPGZvbnRccGFyICBjb2xvcj0iIzAwMDBmZiIgZmFjZT0iQXJpYWwi
IHNpemU9IjIiPn1caHRtbHJ0ZiB7XGNmMiBcZjQgXGZzMjAgXGh0bWxydGYwIFlvdSBjYW4ndCBz
aW11bHRhbmVvdXNseSBoaWRlDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRm
MCB0aGUgbWV0aG9kcyBvZiBBIGFuZCBoYXZlIEEgYXMgYW4gYWJzdHJhY3QgdHlwZQ0Ke1wqXGh0
bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCBleHRlbnNpYmxlIGZyb20gb3Ro
ZXINCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIG1vZHVsZXMNCntcKlxo
dG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgLSBpdCdzDQp7XCpcaHRtbHRh
Zzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIGEgY29udHJhZGljdGlvbi4gQW4gYWJz
dHJhY3QgdHlwZSBjYW4ndCBiZSBpbnN0YW50aWF0ZWQsDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0
bWxydGYgIFxodG1scnRmMCBpdCBtdXN0IGJlIGluaGVyaXRlZCBhbmQgaXRzIGluaGVyaXRvcnMg
bXVzdCBpbnN0YW50aWF0ZSBpdHMgcGFydHMuIElmDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy
dGYgIFxodG1scnRmMCB0aGUgcGFydHMgYXJlIGhpZGRlbiB0aGVuIGl0J3MgaW1wb3NzaWJsZSBm
b3IgaXRzIGluaGVyaXRvcnMgKGluIG90aGVyDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYg
IFxodG1scnRmMCBtb2R1bGVzKSB0byBpbnN0YW50aWF0ZSB0aGVtLg0Ke1wqXGh0bWx0YWcxNTYg
PC9mb250Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L3NwYW4+fVxodG1s
cnRmIH1caHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntc
KlxodG1sdGFnMTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxw
YXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzk2IDxkaXY+fVxodG1scnRmIHtc
aHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTM2MCANCntcKlxo
dG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRt
bHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRt
bHRhZzk2IDxkaXY+fVxodG1scnRmIHtcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7
XGh0bWxydGYwIFxsaTM2MCANCntcKlxodG1sdGFnMTQ4IDxmb250IHNpemU9IjIiPn1caHRtbHJ0
ZiB7XGZzMjAgXGh0bWxydGYwIC0tDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l
DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9UmVnYXJkcywNCntcKlxodG1sdGFnMTE2
IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntc
KlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgQm9iIA0Ke1wqXGh0bWx0
YWcxNTYgPC9mb250Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZc
cGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEwNCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRm
MCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWc5
NiA8ZGl2Pn1caHRtbHJ0ZiB7XGh0bWxydGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s
cnRmMCBcbGkzNjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYw
IHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEwNCA8
L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1s
dGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMTIgPGJyPn1caHRtbHJ0ZiBccGFyDQpcaHRtbHJ0ZjAg
DQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnOTYg
PGJsb2NrcXVvdGUgZGlyPSJsdHIiXHBhciAgc3R5bGU9ImJvcmRlci1sZWZ0OiAycHggc29saWQg
cmdiKDAsIDAsIDI1NSk7IHBhZGRpbmctbGVmdDogNXB4OyBtYXJnaW4tbGVmdDogNXB4OyBtYXJn
aW4tcmlnaHQ6IDBweDsiPn1caHRtbHJ0ZiBccGFyDQp7XGx0cnBhclxsdHJjaFxxbCBcaHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgfQ0Ke1wqXGh0bWx0
YWc5NiA8ZGl2IGNsYXNzPSJPdXRsb29rTWVzc2FnZUhlYWRlciIgZGlyPSJsdHIiIGFsaWduPSJs
ZWZ0IlxwYXIgIGxhbmc9ImVuLXVzIj59XGh0bWxydGYge1xsdHJwYXJcbHRyY2hccWwgXHFsIFxs
YW5nMTAzMyBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAg
ICAgfQ0Ke1wqXGh0bWx0YWc5NiA8aHIgdGFiaW5kZXg9Ii0xIj59XGh0bWxydGYge1xmMVxxY1xx
alx1bGRiIFx+IF9fX19fIFx+XGxpbmVccGFyfQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwICB9
e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTcyMCANCntcKlxodG1sdGFnMTQ4
IDxmb250IGZhY2U9IlRhaG9tYSIgc2l6ZT0iMiI+fVxodG1scnRmIHtcZjUgXGZzMjAgXGh0bWxy
dGYwIA0Ke1wqXGh0bWx0YWc4NCA8Yj59XGh0bWxydGYge1xiIFxodG1scnRmMCBGcm9tOg0Ke1wq
XGh0bWx0YWc5MiA8L2I+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9
XGh0bWxydGYgIFxodG1scnRmMCB7fQ0Ke1wqXGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1s
aW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIj59XGh0bWxy
dGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5j
aCJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIGJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRm
IH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0gW3t9
DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Im1h
aWx0bzpibGFja2JveEBvYmVyb24uY2giPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQ
RVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRt
bHJ0ZjAgbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxy
dGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1dIA0Ke1wqXGh0bWx0YWc4NCA8Yj59
XGh0bWxydGYge1xiIFxodG1scnRmMCBPbiBCZWhhbGYgT2YgDQp7XCpcaHRtbHRhZzkyIDwvYj59
XGh0bWxydGYgfVxodG1scnRmMCBEb3VnbGFzDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYg
IFxodG1scnRmMCBHLiBEYW5mb3J0aA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu
ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0K
e1wqXGh0bWx0YWc4NCA8Yj59XGh0bWxydGYge1xiIFxodG1scnRmMCBTZW50Og0Ke1wqXGh0bWx0
YWc5MiA8L2I+fVxodG1scnRmIH1caHRtbHJ0ZjAgIDE1IEp1bmUgMjAwNyAwMzozNQ0Ke1wqXGh0
bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw
YXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWc4NCA8Yj59XGh0bWxydGYge1xi
IFxodG1scnRmMCBUbzoNCntcKlxodG1sdGFnOTIgPC9iPn1caHRtbHJ0ZiB9XGh0bWxydGYwICBC
bGFja0JveCBNYWlsaW5nIExpc3QNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN
ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntc
KlxodG1sdGFnODQgPGI+fVxodG1scnRmIHtcYiBcaHRtbHJ0ZjAgU3ViamVjdDoNCntcKlxodG1s
dGFnOTIgPC9iPn1caHRtbHJ0ZiB9XGh0bWxydGYwICBbQmxhY2tCb3hdIC0gSGlkaW5nIGFic3Ry
YWN0IG1ldGhvZHMNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm
MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFn
MTU2IDwvZm9udD59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMTE2IDxicj59XGh0
bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn
ODQgICAgIH17XCpcaHRtbHRhZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0
YWcxMDQgPC9kaXY+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9e1wq
XGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTcyMCBCb2IsDQp7XCpcaHRtbHRhZzEx
NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9SSBh
bSB0cnlpbmcgdG8ga2VlcCB0aGUgYW1vdW50IG9mIHN0dWZmIHNob3duIHRvIGEgbWluaW11bS4N
CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s
dGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0
bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1UaGVyZSBpcyBhbHNv
IGEgcHJvY2VkdXJlIFJ1biB0aGF0IGlzIGV4cG9ydGVkIGZyb20gTSB0aGF0IHdoZW4gY2FsbGVk
DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBzdGFydHMgdXAgYW5kIGV2
ZW50dWFsbHkgY2FsbHMgdGhlIGluc3RhbGxlZCByZWFkZXIgYW5kIHdyaXRlcg0Ke1wqXGh0bWx0
YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgKHJlcGVhdGVkbHkpLg0Ke1wqXGh0bWx0YWcx
MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVRo
ZSByZWFkZXIgYW5kIHdyaXRlciBkbyBub3QgaW52b2tlIHRoZSBoaWRkZW4gcHJvY2VkdXJlcyB0
aGV5IGFyZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgcGFzc2l2ZSBh
bmQgYXJlIGNhbGxlZCBieSBNIHdoZW4gbmVlZGVkLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt
bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4
NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K
e1wqXGh0bWx0YWc0IFxwYXIgfUhvdyBkbyBJIGhpZGUgdGhlIG1ldGhvZHMgb2YgQSwgQml0cywg
YW5kIEludHM/DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAg
DQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzEx
NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9LURv
dWcgRGFuZm9ydGgNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm
MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFn
MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N
CntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN
ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntc
KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn
NCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy
dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1Cb2IgV2Fsa2RlbiB3cm90
ZToNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4
NCAgICAgfXtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRh
Zzk2IDxibG9ja3F1b3RlXHBhciAgY2l0ZT0ibWlkOkFNRVRIWVNUMjFvOHlmb2drSlgwMDAwMDI1
NkBhbWV0aHlzdDIub2Jlcm9uLmNoIiB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBhcg0Ke1xodG1s
cnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxo
dG1sdGFnMTYwIDxtZXRhIGNvbnRlbnQ9Ik1TSFRNTCA2LjAwLjYwMDAuMTY0ODEiIG5hbWU9IkdF
TkVSQVRPUiI+fQ0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgICAgfQ0K
e1wqXGh0bWx0YWc5NiA8ZGl2IGRpcj0ibHRyIiBhbGlnbj0ibGVmdCI+fVxodG1scnRmIHtcbHRy
cGFyXGx0cmNoXHFsIFxxbCBcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxy
dGYwIFxsaTEwODAgDQp7XCpcaHRtbHRhZzE0OCA8Zm9udCBjb2xvcj0iIzAwMDBmZiIgZmFjZT0i
QXJpYWwiXHBhciAgc2l6ZT0iMiI+fVxodG1scnRmIHtcY2YyIFxmNCBcZnMyMCBcaHRtbHJ0ZjAg
DQp7XCpcaHRtbHRhZzg0IDxzcGFuIGNsYXNzPSI0MTI1MzEwMjItMTQwNjIwMDciPn1caHRtbHJ0
ZiB7XGh0bWxydGYwIEhvdyBhbmQgd2hlbg0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYg
XCdhMFxodG1scnRmMCBhcmUgTSdzDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1s
cnRmMCBpbnRlcm5hbCBwcm9jZWR1cmVzIGludm9rZWQ/IElmIHRoZSBjbGllbnQncyByZWFkZXIg
aXMgdG8gaW52b2tlIHRoZW0NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYw
IGRpcmVjdGx5IHRoZW4gdGhleSBtdXN0IGJlIG1hZGUgcHVibGljLiBJZiB5b3Ugd2FudCBNJ3Mg
aGlkZGVuDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBwcm9jZWR1cmVz
IHRvIGJlIGludm9rZWQgaW5kaXJlY3RseSBieSB0aGUgcmVhZGVyIG9yIHdyaXRlciB5b3UgbWF5
DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBuZWVkIHRvIHByb3ZpZGUg
YSBjb3VwbGUgb2YgTm90aWZpZXIgcHJvY2VkdXJlcyBpbiBNDQp7XCpcaHRtbHRhZzg0ICZuYnNw
O31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIGFuZCBoYXZlIHRoZQ0Ke1wqXGh0bWx0YWc0IFxwYXIg
fVxodG1scnRmICBcaHRtbHJ0ZjAgcmVhZGVyIG9yIHdyaXRlciBjYWxsIHRoZW0gZXhwbGljaXRs
eS4NCntcKlxodG1sdGFnOTIgPC9zcGFuPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0
YWcxNTYgPC9mb250Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZc
cGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEwNCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRm
MCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxodG1s
dGFnOTYgPGRpdj59XGh0bWxydGYge1xodG1scnRmMCB7XCpcaHRtbHRhZzY0fVxodG1scnRmIHtc
aHRtbHJ0ZjAgXGxpMTA4MCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRt
bHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFn
MTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wq
XGh0bWx0YWcyNDAgICAgICAgfQ0Ke1wqXGh0bWx0YWc5NiA8ZGl2Pn1caHRtbHJ0ZiB7XGh0bWxy
dGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBcbGkxMDgwIA0Ke1wqXGh0bWx0
YWcxNDggPGZvbnQgc2l6ZT0iMiI+fVxodG1scnRmIHtcZnMyMCBcaHRtbHJ0ZjAgLS0NCntcKlxo
dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc
cGFyIH1SZWdhcmRzLA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy
dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYg
XCdhMFxodG1scnRmMCBCb2IgDQp7XCpcaHRtbHRhZzE1NiA8L2ZvbnQ+fVxodG1scnRmIH1caHRt
bHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFn
MTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wq
XGh0bWx0YWcyNDAgICAgICAgfQ0Ke1wqXGh0bWx0YWc5NiA8ZGl2Pn1caHRtbHJ0ZiB7XGh0bWxy
dGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBcbGkxMDgwIA0Ke1wqXGh0bWx0
YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCB7XCpcaHRtbHRhZzcyfVxodG1scnRm
XHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMDQgPC9kaXY+fVxodG1scnRmIH1caHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgICB9DQp7XCpcaHRt
bHRhZzExMiA8YnI+fVxodG1scnRmIFxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFy
IH0NCntcKlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGUgZGly
PSJsdHIiXHBhciAgc3R5bGU9ImJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiKDAsIDAsIDI1NSk7
IHBhZGRpbmctbGVmdDogNXB4OyBtYXJnaW4tbGVmdDogNXB4OyBtYXJnaW4tcmlnaHQ6IDBweDsi
Pn1caHRtbHJ0ZiBccGFyDQp7XGx0cnBhclxsdHJjaFxxbCBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh
ZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgICAgIH0NCntcKlxodG1sdGFnOTYgPGRpdiBj
bGFzcz0iT3V0bG9va01lc3NhZ2VIZWFkZXIiIGRpcj0ibHRyIiBhbGlnbj0ibGVmdCJccGFyICBs
YW5nPSJlbi11cyI+fVxodG1scnRmIHtcbHRycGFyXGx0cmNoXHFsIFxxbCBcbGFuZzEwMzMgXGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgICAgICB9DQp7
XCpcaHRtbHRhZzk2IDxociB0YWJpbmRleD0iLTEiPn1caHRtbHJ0ZiB7XGYxXHFjXHFqXHVsZGIg
XH4gX19fX18gXH5cbGluZVxwYXJ9DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgIH17XCpcaHRt
bHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMTQ0MCANCntcKlxodG1sdGFnMTQ4IDxmb250
IGZhY2U9IlRhaG9tYSIgc2l6ZT0iMiI+fVxodG1scnRmIHtcZjUgXGZzMjAgXGh0bWxydGYwIA0K
e1wqXGh0bWx0YWc4NCA8Yj59XGh0bWxydGYge1xiIFxodG1scnRmMCBGcm9tOg0Ke1wqXGh0bWx0
YWc5MiA8L2I+fVxodG1scnRmIH1caHRtbHJ0ZjAgIHt9DQp7XCpcaHRtbHRhZzg0IDxhXHBhciAg
bW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIlxw
YXIgIGhyZWY9Im1haWx0bzpibGFja2JveEBvYmVyb24uY2giPn1caHRtbHJ0ZiB7XGZpZWxke1wq
XGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xmbGRyc2x0
XGNmMVx1bCBcaHRtbHJ0ZjAgYmxhY2tib3hAb2Jlcm9uLmNoXGh0bWxydGYgfVxodG1scnRmMCBc
aHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fSBbe30NCntcKlxodG1sdGFn
ODQgPGFccGFyICBtb3otZG8tbm90LXNlbmQ9InRydWUiIGNsYXNzPSJtb3otdHh0LWxpbmstZnJl
ZXRleHQiXHBhciAgaHJlZj0ibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCI+fVxodG1scnRmIHtc
ZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpibGFja2JveEBvYmVyb24uY2gifX17
XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoXGh0bWxy
dGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fV0g
DQp7XCpcaHRtbHRhZzg0IDxiPn1caHRtbHJ0ZiB7XGIgXGh0bWxydGYwIE9uDQp7XCpcaHRtbHRh
ZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBCZWhhbGYgT2YgDQp7XCpcaHRtbHRhZzkyIDwv
Yj59XGh0bWxydGYgfVxodG1scnRmMCBEb3VnbGFzIEcuIERhbmZvcnRoDQp7XCpcaHRtbHRhZzEx
NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7
XCpcaHRtbHRhZzg0ICAgICAgICAgfQ0Ke1wqXGh0bWx0YWc4NCA8Yj59XGh0bWxydGYge1xiIFxo
dG1scnRmMCBTZW50Og0Ke1wqXGh0bWx0YWc5MiA8L2I+fVxodG1scnRmIH1caHRtbHJ0ZjAgIDE0
IEp1bmUgMjAwNyAyMjoyNQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntc
KlxodG1sdGFnODQgPGI+fVxodG1scnRmIHtcYiBcaHRtbHJ0ZjAgVG86DQp7XCpcaHRtbHRhZzky
IDwvYj59XGh0bWxydGYgfVxodG1scnRmMCAgQmxhY2tCb3ggTWFpbGluZyBMaXN0DQp7XCpcaHRt
bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh
ciB9DQp7XCpcaHRtbHRhZzg0ICAgICAgICAgfQ0Ke1wqXGh0bWx0YWc4NCA8Yj59XGh0bWxydGYg
e1xiIFxodG1scnRmMCBTdWJqZWN0Og0Ke1wqXGh0bWx0YWc5MiA8L2I+fVxodG1scnRmIH1caHRt
bHJ0ZjAgIFtCbGFja0JveF0gLSBIaWRpbmcgYWJzdHJhY3QgbWV0aG9kcw0Ke1wqXGh0bWx0YWcx
MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0K
e1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTU2IDwvZm9udD59XGh0bWxydGYg
fVxodG1scnRmMCANCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm
MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgICAgICB9e1wqXGh0bWx0
YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwvZGl2Pn1caHRt
bHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfXtcKlxodG1sdGFnNjR9XGh0bWxy
dGYge1xodG1scnRmMCBcbGkxNDQwIENocmlzLA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0
ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAg
ICAgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCAN
CntcKlxodG1sdGFnNCBccGFyIH1IZXJlIGlzIHdoYXQgSSB3b3VsZCBsaWtlIHRoZSBpbnRlcmZh
Y2UgdG8gbW9kdWxlIE0gdG8gYXBwZWFyDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs
aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICAg
ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq
XGh0bWx0YWc0IFxwYXIgfURFRklOSVRJT04gTTsNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy
dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQg
ICAgICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAg
DQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2Ew
XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAN
CntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIFRZUEUNCntcKlxo
dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc
cGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpc
aHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAm
bmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRt
bHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxo
dG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIEEg
PSBQT0lOVEVSIFRPIEFCU1RSQUNUIFJFQ09SRA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxy
dGYgXCdhMFxodG1scnRmMCAgRU5EOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu
ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgICAg
IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo
dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgDQp7XCpcaHRtbHRhZzg0ICZu
YnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxy
dGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRt
bHJ0ZjAgIEJpdHMgPSBQT0lOVEVSIFRPIFJFQ09SRCAoQSkNCntcKlxodG1sdGFnMTE2IDxicj59
XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1s
dGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNw
O31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYg
XCdhMFxodG1scnRmMCAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxy
dGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxo
dG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIA0Ke1wqXGh0bWx0YWc4NCAm
bmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1s
cnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0
bWxydGYwICB4OiBQT0lOVEVSIFRPIEFSUkFZIE9GIFNFVA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c
aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0
YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7
fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBc
J2EwXGh0bWxydGYwICANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgRU5EOw0Ke1wqXGh0bWx0YWcx
MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0K
e1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp
bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7
fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBc
J2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRm
MCAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5i
c3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIEludHMgPSBQT0lOVEVSIFRPIFJFQ09SRCAoQSkN
CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s
dGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAg
DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0
YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgDQp7XCpcaHRtbHRhZzg0ICZuYnNw
O31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYg
XCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0
ZjAgIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxo
dG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZu
YnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICB4OiBQT0lOVEVSIFRPIEFSUkFZIE9GIElOVEVH
RVINCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo
dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgDQp7XCpcaHRtbHRhZzg0ICZu
YnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxy
dGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRt
bHJ0ZjAgIEVORDsNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm
MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgICAgICB9DQp7XCpcaHRt
bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh
ciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5i
c3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxy
dGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRt
bHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICBSZWFk
ZXIgPSBQUk9DRURVUkUgKFZBUiBhOiBBKTogQk9PTEVBTjsNCntcKlxodG1sdGFnMTE2IDxicj59
XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1s
dGFnODQgICAgICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt
bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0
ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1s
cnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIA0Ke1wq
XGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQg
Jm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRt
bHJ0ZiBcJ2EwXGh0bWxydGYwICBXcml0ZXIgPSBQUk9DRURVUkUgKGE6IEEpOw0Ke1wqXGh0bWx0
YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIg
fQ0Ke1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg
XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5i
c3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0
ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1s
cnRmMCAgUFJPQ0VEVVJFIEluc3RhbGxSZWFkZXIgKHJkOiBSZWFkZXIpOw0Ke1wqXGh0bWx0YWcx
MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0K
e1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFn
ODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31c
aHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICBQUk9DRURVUkUgSW5zdGFsbFdyaXRlciAod3I6IFdyaXRl
cik7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc
aHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYg
PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUVORCBN
Lg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTE2IDxi
cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1PbmUganVz
dCBpbnN0YWxscyBhIHNwZWNpZmljIHJlYWRlciB0aGF0IGdlbmVyYXRlcyBhIEJpdHMgb3IgYW4g
SW50cy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc
KlxodG1sdGFnNCBccGFyIH1JbnRlcm5hbGx5IHRvIE0gdGhlcmUgYXJlIG1hbnkgcHJvY2VkdXJl
cyB0aGF0IHRha2UgdGhlIGFic3RyYWN0DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs
aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9cXVhbnRpdHkgJ2EnIHdoZW4gYSBy
ZWFkIG9wZXJhdGlvbiBpcyBkb25lIGFuZCBvcGVyYXRlIG9uIGl0IHdpdGgNCntcKlxodG1sdGFn
NCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIHByb2NlZHVyZXMNCntcKlxodG1sdGFnMTE2IDxi
cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH10aGF0IGFy
ZSBtZXRob2RzIG9mIHR5cGUgZWl0aGVyIEJpdHMgb3IgSW50cyB3aG9zZSBkZWZpbml0aW9ucyBh
cmUNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIGdpdmVuIGludGVybmFs
bHkNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo
dG1sdGFnNCBccGFyIH1hbmQgYXJlIGFic3RyYWN0aW9ucyBvZiB0aGUgb2YgdHlwZSBBLg0Ke1wq
XGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgQnV0IHRoZSB1c2VyIG9m
IE0gbmVlZCBub3Qga25vdw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAg
YW55dGhpbmcNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCAN
CntcKlxodG1sdGFnNCBccGFyIH1hYm91dCB0aGlzIGFuZCBCbGFja0JveCBzaG91bGQgbm90IGZv
cmNlIHRoZSB1c2VyIHRvIHNlZSB0aGVzZSBtZXRob2RzLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c
aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0
YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s
cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1Ib3cgY2FuIHRoaXMgYmUgYWNjb21wbGlzaGVkPw0K
e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0
YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59
XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0tRG91ZyBEYW5m
b3J0aA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq
XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgICAgIH0NCntcKlxodG1sdGFnMTE2
IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntc
KlxodG1sdGFnODQgICAgICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l
DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9Q0ZCIFNvZnR3YXJlIHdyb3RlOg0Ke1wq
XGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgICAg
ICAgfXtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzk2
IDxibG9ja3F1b3RlXHBhciAgY2l0ZT0ibWlkOkFNRVRIWVNUMnFmNjlhWmJMQVgwMDAwMDE3YkBh
bWV0aHlzdDIub2Jlcm9uLmNoIiB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBhcg0Ke1xodG1scnRm
MCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgICAgICB9DQp7XCpc
aHRtbHRhZzEyOCA8cHJlIHdyYXA9IiI+fVxodG1scnRmIHtccGFyZFxwbGFpblxmMVxmczIwIFxo
dG1scnRmMCBcaHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTE4MDAgSGkgRG91ZyxcbGluZQ0KXGxpbmUN
CkkgZG9uJ3Qga25vdyBpZiBJIGNhbiBoZWxwIGJ1dCBhcyBub2JvZHkgZWxzZSBoYXMgcmVzcG9u
ZGVkIHlldCBJJ21cbGluZQ0Kd2lsbGluZyB0byBnaXZlIGl0IGEgdHJ5LiBJJ20gaW50ZXJlc3Rl
ZCBpbiBsZWFybmluZyBtb3JlIGFib3V0IHRoZVxsaW5lDQpmaW5lciBkZXRhaWxzIG9mIGlzc3Vl
cyBsaWtlIHRoaXMuIEhvd2V2ZXIsIEknbSBub3Qgc3VyZSBmcm9tIHlvdXJcbGluZQ0KZGVzcmlw
dGlvbiB0aGF0IEkgdW5kZXJzdGFuZCBleGFjdGx5IHdoYXQgeW91IGFyZSB0cnlpbmcgdG8gZG8u
IFdvdWxkIGl0XGxpbmUNCmJlIHBvc3NpYmxlIGZvciB5b3UgdG8gc2hvdyBjb21wbGV0ZSBtaW5p
bWFsIGV4YW1wbGVzIG9mOiBcbGluZQ0KXGxpbmUNCmEpIFdoYXQgeW91IHdvdWxkIGxpa2UgdGhl
IGNvZGUgdG8gbG9vayBsaWtlIFxsaW5lDQpcbGluZQ0KYikgSG93IHlvdSB0aGluayBpdCBuZWVk
cyB0byBiZSB3cml0dGVuIHRvIG1ha2UgaXQgYWNjZXB0YWJsZSB0b1xsaW5lDQpCbGFja2JveFxs
aW5lDQpcbGluZQ0KUmVnYXJkcyxcbGluZQ0KQ2hyaXMgQnVycm93c1xsaW5lDQpDRkIgU29mdHdh
cmVcbGluZQ0Ke30NCntcKlxodG1sdGFnODQgPGEgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4
dCIgaHJlZj0iaHR0cDovL3d3dy5jZmJzb2Z0d2FyZS5jb20vZ3BjcCJccGFyICBtb3otZG8tbm90
LXNlbmQ9InRydWUiPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRw
Oi8vd3d3LmNmYnNvZnR3YXJlLmNvbS9ncGNwIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAg
aHR0cDovL3d3dy5jZmJzb2Z0d2FyZS5jb20vZ3BjcFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxy
dGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1cbGluZQ0KXGxpbmUNCiAgXGh0bWxy
dGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxodG1s
cnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgICAgICB9DQp7
XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPn1caHRtbHJ0ZiBccGFyDQp7XGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgICAgICAgICAg
fQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFc
ZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGkyMTYwIC0tLS0tT3JpZ2luYWwg
TWVzc2FnZS0tLS0tXGxpbmUNCkZyb206IHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3ot
dHh0LWxpbmstYWJicmV2aWF0ZWQiXHBhciAgaHJlZj0ibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5j
aCIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZ
UEVSTElOSyAibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0
bWxydGYwIGJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxo
dG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0gW3t9DQp7XCpcaHRtbHRhZzg0IDxhXHBhciAg
Y2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0ibWFpbHRvOmJsYWNrYm94QG9iZXJv
bi5jaCJccGFyICBtb3otZG8tbm90LXNlbmQ9InRydWUiPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZs
ZGluc3R7SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xmbGRyc2x0XGNm
MVx1bCBcaHRtbHJ0ZjAgbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0
ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1dIE9uIFxsaW5lDQpC
ZWhhbGYgT2YgRG91Z2xhcyBHLiBEYW5mb3J0aFxsaW5lDQpTZW50OiBXZWRuZXNkYXksIDEzIEp1
bmUgMjAwNyAxMDoyMiBBTVxsaW5lDQpUbzogQmxhY2tCb3ggTWFpbGluZyBMaXN0XGxpbmUNClN1
YmplY3Q6IFtCbGFja0JveF0gLSBIaWRpbmcgYWJzdHJhY3QgbWV0aG9kc1xsaW5lDQpcbGluZQ0K
XGxpbmUNCkZvbGtzLFxsaW5lDQpcbGluZQ0KSSBoYXZlIGEgY29uY2VwdHVhbCBwcm9ibGVtIG9u
IHdoaWNoIEkgd291bGQgbGlrZSB5b3VyIGFkdmljZS5cbGluZQ0KXGxpbmUNCkkgaGF2ZSBhbiBB
QlNUUkFDVCB0eXBlIEEgYW5kIHR3byBjb25jcmV0ZSB0eXBlcyBDMSBhbmRcbGluZQ0KQzIgd2hp
Y2ggYXJlIGV4dGVuc2lvbnMgb2YgQS5cbGluZQ0KXGxpbmUNCiAgICBUWVBFXGxpbmUNCiAgICAg
ICBBKiA9IFBPSU5URVIgVE8gQUJTVFJBQ1QgUkVDT1JEIEVORDtcbGluZQ0KICAgICAgIEMxKiA9
IFBPSU5URVIgVE8gUkVDT1JEKEEpIEVORDtcbGluZQ0KICAgICAgIEMyKiA9IFBPSU5URVIgVE8g
UkVDT1JEKEEpIEVORDtcbGluZQ0KXGxpbmUNCkkgd291bGQgbGlrZSB0byBleHBvcnQgQSAoYXMg
c2hvd24gd2l0aCB0aGUgJyonJykgYnV0IHdpdGhpbiB0aGVcbGluZQ0KbW9kdWxlIE0gd2hlcmUg
QSBpcyBkZWZpbmVkIEkgKmRvIG5vdCB3YW50KiB0byBleHBvcnQgaXRzXGxpbmUNCm1ldGhvZHMu
ICBJIHdhbnQgdGhlbSB0byBiZSBjb21wbGV0ZWx5IGhpZGRlbiBzbyB0aGF0IHRoZSB1c2VyXGxp
bmUNCm9mIE0gb25seSBuZWVkcyB0byBjcmVhdGUgdGhlIGluc3RhbmNlIENpIChhbmQgZmlsbCBp
dHMgXGxpbmUNCmZpZWxkcyAobm90IHNob3duKSlcbGluZQ0KYW5kIHBhc3MgQ2kgdG8gdGhlIG1v
ZHVsZSBNIGluIHdoaWNoIHRoZSBzcGVjaWZpYyBtZXRob2RzIFxsaW5lDQphcHByb3ByaWF0ZSB0
byBDaVxsaW5lDQphcmUgc3BlY2lmaWVkIChidXQgYWxzbyBub3QgZXhwb3J0ZWQpLiAgV2l0aGlu
IE0sIHByb2NlZHVyZXMgdGFrZSAnYSdcbGluZQ0KKGFuIGluc3RhbmNlIG9mIEEgd2hpY2ggaXMg
ZWl0aGVyIEMxIG9yIEMyKSBhbmQgb3BlcmF0ZXMgb24gaXQgd2l0aG91dFxsaW5lDQprbm93bGVk
Z2Ugb2YgaXRzIGNvbmNyZXRlIGZvcm0uICBUaGUgbWV0aG9kcyBvZiBBIGFyZSBzaW1wbHkgY2Fs
bGVkXGxpbmUNCmFuZCB0aGUgY29uY3JldGUgZm9ybXMgb2YgdGhvc2UgbWV0aG9kcyBhcyBDMSBv
ciBDMiBhcmUgYWN0dWFsbHlcbGluZQ0KcnVuLlxsaW5lDQpcbGluZQ0KVW5mb3J0dW5hdGVseSwg
aXQgc2VlbXMgdGhhdCB0aGlzIHNjaGVtZSBvZiB0aGluZ3MgaXMgbm90IHBvc3NpYmxlIGluIFxs
aW5lDQpCbGFja0JveC5cbGluZQ0KSSBhbSBmb3JjZWQgdG8gZXhwb3J0IHRoZSBtZXRob2RzIG9m
IEEgYW5kIGFsc28gdGhlIG1ldGhvZHMgb2YgQzEgYW5kXGxpbmUNCnRoZSBtZXRob2RzIG9mIEMy
LCBncmVhdGx5IGNsdXR0ZXJpbmcgdGhlIGludGVyZmFjZSB0byBNIHdoZW4gXGxpbmUNCm5vbmUg
b2YgdGhhdFxsaW5lDQppbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgYnkgdGhlIHBlcnNvbiBvcGVy
YXRpbmcgd2l0aCBNLiAgXGxpbmUNCk9ubHkgdGhlIGV4aXN0ZW5jZVxsaW5lDQpvZiBBIGFuZCB0
aGUgZXh0ZW5zaW9ucyBDMSBhbmQgQzIgYXJlIG5lZWRlZC5cbGluZQ0KXGxpbmUNCklzIHRoZXJl
IGEgY2xlYW4gd2F5IHRvIGhpZGUgYWxsIG9mIHRoZXNlIG1ldGhvZHM/XGxpbmUNClxsaW5lDQot
RG91ZyBEYW5mb3J0aFxsaW5lDQpcbGluZQ0KLS0tIEJsYWNrQm94XGxpbmUNCi0tLSBzZW5kIHN1
YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byB7fQ0Ke1wqXGh0bWx0YWc4NCA8YVxwYXIgIGNs
YXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpibGFja2JveEBvYmVy
b24uY2giXHBhciAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj59XGh0bWxydGYge1xmaWVsZHtcKlxm
bGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCJ9fXtcZmxkcnNsdFxj
ZjFcdWwgXGh0bWxydGYwIGJsYWNrYm94QG9iZXJvbi5jaFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0
bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn1cbGluZQ0KICAgIFxodG1scnRm
XHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRmIH1caHRtbHJ0
ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgICAgICAgfQ0Ke1wq
XGh0bWx0YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wq
XGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgICAgICAgIH0NCntcKlxodG1sdGFn
MTI4IDxwcmUgd3JhcD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYw
IFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMTgwMCANCntcKlxodG1sdGFnMjQ0IDwhLS0tLT59XGxp
bmUNCi0tLSBCbGFja0JveFxsaW5lDQotLS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJ
QkUgdG8ge30NCntcKlxodG1sdGFnODQgPGFccGFyICBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJl
dmlhdGVkIiBocmVmPSJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIlxwYXIgIG1vei1kby1ub3Qt
c2VuZD0idHJ1ZSI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0
bzpibGFja2JveEBvYmVyb24uY2gifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBibGFja2Jv
eEBvYmVyb24uY2hcaHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpc
aHRtbHRhZzkyIDwvYT59XGxpbmUNClxsaW5lDQpcbGluZQ0KICBcaHRtbHJ0ZlxwYXJ9XGh0bWxy
dGYwDQoNCntcKlxodG1sdGFnMTM2IDwvcHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0
bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAgICAgICB9DQp7XCpcaHRtbHRhZzEwNCA8
L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1ccGFyDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBh
ciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgICB9DQp7XCpcaHRtbHRhZzEwNCA8L2Jsb2NrcXVvdGU+
fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0
MCAgICAgfQ0Ke1wqXGh0bWx0YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XGh0bWxydGYw
IA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzEw
NCA8L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9
DQp7XCpcaHRtbHRhZzEwNCA8L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpc
aHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzU4IDwvYm9keT59DQp7XCpcaHRtbHRhZzIgXHBh
ciB9DQp7XCpcaHRtbHRhZzI3IDwvaHRtbD59DQp7XCpcaHRtbHRhZzMgXHBhciB9fQ==
----boundary-LibPST-iamunique-635261130_-_---
Received on Fri Jun 15 2007 - 20:08:07 UTC
This archive was generated by hypermail 2.3.0
: Thu Sep 26 2013 - 06:31:32 UTC