svg testing

All,

I made a perl script that sucks out the testable statements from wiki
markup in the testing page (captured as a UTF-8 file). The script creates
test files for each testable statement (96 so far) in HTML and SVG and
plops them into directories. The script also creates a JSON and csv file
for the HTML wrapped tests. When needed, I will make it create a JSON and
csv file for the SVG test files as well (will take about half dozen lines
of code).

The info in the JSON and csv files are: what is being tested (name,
description, role, not present in tree), the element type used in the test
(with the id="test"), the attributes and children noted in the comment
above the testable statements (ie aria-labeledby title...), the test file
and the expected result.  I've attached the perl script and the two
database files.

I plan on making an angularJS web page that will act as a test harness. It
will read the JSON file and let you choose what you are going to test and
select the tests you will do. You will have to enter the platform/OS (once)
and then when you click on a test it will put the test HTML or SVG in
another window (with a fixed id) which you can examine with tools that look
at the accessibility tree. Then you mark whether the test passed or not in
the test harness.  When you are done, the test harness will produce csv
output with the test info which you can screen scrape and pass along to
Michael Cooper or however we aggregate that info.

If you can think of a better way to do it, please post suggestions on list
or bring up in tomorrows meeting.

(See attached file: svgtest.json)(See attached file: svg_test.csv)(See
attached file: extract.pl)

                                                              
     Regards,                                                 
                                                              
    Fred Esch                                                 
 Watson, IBM, W3C                                             
  Accessibility                                               
                                                              
 IBM Watson       Watson Release Management and Quality       
                                                              



--2__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A
Content-Transfer-Encoding: quoted-printable
Content-type: text/html; charset=US-ASCII
Content-Disposition: inline

<html><body><p>All,<br><br>I made a perl script that sucks out the testable statements from wiki markup in the testing page (captured as a UTF-8 file). The script creates test files for each testable statement (96 so far) in HTML and SVG and plops them into directories. The script also creates a JSON and csv file for the HTML wrapped tests. When needed, I will make it create a JSON and csv file for the SVG test files as well (will take about half dozen lines of code).  <br><br>The info in the JSON and csv files are: what is being tested (name, description, role, not present in tree), the element type used in the test (with the id=&quot;test&quot;), the attributes and children noted in the comment above the testable statements (ie aria-labeledby title...), the test file and the expected result.  I've attached the perl script and the two database files.<br><br>I plan on making an angularJS web page that will act as a test harness. It will read the JSON file and let you choose what you are going to test and select the tests you will do. You will have to enter the platform/OS (once) and then when you click on a test it will put the test HTML or SVG in another window (with a fixed id) which you can examine with tools that look at the accessibility tree. Then you mark whether the test passed or not in the test harness.  When you are done, the test harness will produce csv output with the test info which you can screen scrape and pass along to Michael Cooper or however we aggregate that info.<br><br>If you can think of a better way to do it, please post suggestions on list or bring up in tomorrows meeting.<br><br><i>(See attached file: svgtest.json)</i><i>(See attached file: svg_test.csv)</i><i>(See attached file: extract.pl)</i><br><br><br>
<table border="0" cellspacing="0" cellpadding="0"><tr valign="top"><td width="473" colspan="2" valign="middle"><div align="center"><font size="4" face="Verdana">Regards, <br><br>Fred Esch <br>Watson, IBM, W3C Accessibility</font></div></td></tr>
<tr valign="top"><td width="130" valign="middle"><img src="cid:4__=0ABBF58DDFD4283A8f9e8a93df938690918c0AB@" width="163" height="23" alt="IBM Watson" align="bottom"></td><td width="342" valign="middle"><font size="4" face="Verdana">Watson Release Management and Quality </font></td></tr></table><br><BR>
</body></html>

--2__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A--


--1__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A
Content-type: image/gif; 
	name="0B988816.gif"
Content-Disposition: inline; filename="0B988816.gif"
Content-ID: <4__
BBF58DDFD4283A8f9e8a93df938690918c0AB@>
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAAKMAAAAXCAMAAABQ6Q/RAAADAFBMVEXIx8cxLS5MSUrW1dXx8fE/
Ozzj4+N2c3SRj49oZWaEgYKsq6uenZ26ubmbm5v29vZ7e3tTU1M7OzsfHx/FxcX39/eamppmZmaR
j5AgICCqqqrR0dFaV1gAAAAjHyD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAADe7fL7AAADE0lEQVR4nM2WiW7kIAyGTbhz9O6eCL//U6bYGJJOst2dlaqppUm4
+fhtnAH8+gb7sroZxodWGZfA5UxP52+Ic2qVEbLDxujTLXnOTHydSDxNdC7DR+NvYQK02PLQYBDn
z5dRw04GAPibKIBec2GKuZjyrtbosVZr72J397Xyc+suPshsiOUBvRb4xavlzYoA2tI+XEQTFDfT
rkCFiFLIec8Y82jQ0dIhjOU5lmWGa254owKe/J5xPDBqdYHLphZBm08Zi5/nOnEsEUmHwiG6cx3X
Z6k8ID5c6kgHHC4YlblkJHcNlotO7Xp0RVP6lLFIPtTmsuDQDn+FGT4YTy3OXcTFEy85VUYonQMQ
WHWopSIdR83aTYRs5bBD9cz+VjBjyI3RbVEkSu7ed/XF8r18ExXF25ZJiWnk/RhD1S1JlFT5mLGc
B0KYNJG5rtEkLhjPGUVz32Lh2iw+k68WnhqJjeZTldqBr27dFkCz2mlyooxcac0zJUyWM8YKFnn8
KLofdFy7brvwXLctZs+6KScOTrSr6uft2y4SmJqa+tUcxPeKY/iEcc4+W8qNfYUrdSTtYvnRrfE1
rgk1QOqBs207ideoc2gLJGFMtEQ6YQy53OvwA1DifmM86PhQKxSZ66+uI/o6zdVcMmwtRHrBiGbm
XWysp2FTjbERHHUEPXAgtDRxrY5Vfsvph6PebGnFvmcswSnp2PcDcECPdYzkz2M8ziBH9rtl8c/3
Gh/X9TtuOhphWyToedNUzEp0boyZ8zQNnHLrXIhLy5jplBHVINnHmKj+415Lamt+QAdWDkphmcC5
mh8lodvqNsOqDyHw5GjamHjKGLKEj66LuK7i5XfmsVbwdX1+leL9vTiLIiTy8qFFjHwygjQA7j46
sUc/oxpoY4w9YzRW+RbsZeJ135mnJ9ErCuv8T4yqCGH6zYoGOyOXDowSqJ5yRtq6jzq2/z2IL7+l
H58eaWxMiULLlRjUOCU2+kfKNkkDuam8KJP6eqPB0+eIU7PexswpjQdG5AAJEOL1X+vPt/7/cuLg
UP7L/QtHfANvSEKvsxvttAAAAABJRU5ErkJggg=


--1__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A--


--0__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A
Content-type: application/octet-stream; 
	name="svgtest.json"
Content-Disposition: attachment; filename="svgtest.json"
Content-ID: <1__
BBF58DDFD4283A8f9e8a93df938690918c0AB@>
Content-Transfer-Encoding: base64

Ww0KDQogIHsNCgkidGVzdGluZyI6Im5hbWUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0
cmlidXRlcyI6ImFyaWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIHRpdGxlIiwNCgkiZmlsZSI6ImFy
aWFsYWJlbGxlZGJ5X2FyaWFsYWJlbF90aXRsZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJlbmQiDQog
IH0sDQogIHsNCgkidGVzdGluZyI6Im5hbWUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0
cmlidXRlcyI6ImFyaWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIiwNCgkiZmlsZSI6ImFyaWFsYWJl
bGxlZGJ5X2FyaWFsYWJlbC5odG1sIiwNCgkiZXhwZWN0ZWQiOiJlbmQiDQogIH0sDQogIHsNCgki
dGVzdGluZyI6Im5hbWUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmlidXRlcyI6ImFy
aWEtbGFiZWxsZWRieSB0aXRsZSIsDQoJImZpbGUiOiJhcmlhbGFiZWxsZWRieV90aXRsZS5odG1s
IiwNCgkiZXhwZWN0ZWQiOiJlbmQiDQogIH0sDQogIHsNCgkidGVzdGluZyI6Im5hbWUiLA0KCSJl
bGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmlidXRlcyI6ImFyaWEtbGFiZWxsZWRieSBvbmx5IiwN
CgkiZmlsZSI6ImFyaWFsYWJlbGxlZGJ5X29ubHkuaHRtbCIsDQoJImV4cGVjdGVkIjoiZW5kIg0K
ICB9LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0
dHJpYnV0ZXMiOiJhcmlhLWxhYmVsIHRpdGxlIiwNCgkiZmlsZSI6ImFyaWFsYWJlbF90aXRsZS5o
dG1sIiwNCgkiZXhwZWN0ZWQiOiJoZWxsbyINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibmFtZSIs
DQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiYXJpYS1sYWJlbCBvbmx5IiwN
CgkiZmlsZSI6ImFyaWFsYWJlbF9vbmx5Lmh0bWwiLA0KCSJleHBlY3RlZCI6ImhlbGxvIg0KICB9
LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJp
YnV0ZXMiOiJ0aXRsZSBvbmx5IiwNCgkiZmlsZSI6InRpdGxlX29ubHkuaHRtbCIsDQoJImV4cGVj
dGVkIjoiYWJjIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6ImNp
cmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJlbXB0eSBhcmlhLWxhYmVsbGVkYnkgYXJpYS1sYWJlbCB0
aXRsZSIsDQoJImZpbGUiOiJlbXB0eV9hcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxfdGl0bGUuaHRt
bCIsDQoJImV4cGVjdGVkIjoiYm9iIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgki
ZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJlbXB0eSBhcmlhLWxhYmVsbGVkYnkg
YXJpYS1sYWJlbCIsDQoJImZpbGUiOiJlbXB0eV9hcmlhbGFiZWxsZWRieV9hcmlhbGFiZWwuaHRt
bCIsDQoJImV4cGVjdGVkIjoiMTUvPiB0aGVuIGFjY2Vzc2libGUiDQogIH0sDQogIHsNCgkidGVz
dGluZyI6Im5hbWUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmlidXRlcyI6ImVtcHR5
IGFyaWEtbGFiZWxsZWRieSB0aXRsZSIsDQoJImZpbGUiOiJlbXB0eV9hcmlhbGFiZWxsZWRieV90
aXRsZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiIxNT48dGl0bGU+YWJjPC90aXRsZT48L2NpcmNsZT4g
dGhlbiINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibmFtZSIsDQoJImVsZW1lbnQiOiJjaXJjbGUi
LA0KCSJhdHRyaWJ1dGVzIjoiZW1wdHkgYXJpYS1sYWJlbGxlZGJ5IG9ubHkiLA0KCSJmaWxlIjoi
ZW1wdHlfYXJpYWxhYmVsbGVkYnlfb25seS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJudWxsIG9yIGVt
cHR5Ig0KICB9LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIs
DQoJImF0dHJpYnV0ZXMiOiJ0d28gdmFsaWQgaWRyZWZzIiwNCgkiZmlsZSI6InR3b192YWxpZF9p
ZHJlZnMuaHRtbCIsDQoJImV4cGVjdGVkIjoidGhlIGVuZCINCiAgfSwNCiAgew0KCSJ0ZXN0aW5n
IjoibmFtZSIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoidHdvIHZhbGlk
IGlkcmVmcyBvbmUgd2l0aCBhbiBhcmlhLWxhYmVsIiwNCgkiZmlsZSI6InR3b192YWxpZF9pZHJl
ZnNfb25lX3dpdGhfYW5fYXJpYWxhYmVsLmh0bWwiLA0KCSJleHBlY3RlZCI6ImJpZyBlbmQiDQog
IH0sDQogIHsNCgkidGVzdGluZyI6Im5hbWUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0
cmlidXRlcyI6InR3byB2YWxpZCBpZHJlZnMgb25lIHdpdGggYW4gYXJpYS1sYWJlbCBvbmUgd2l0
aCBhcmlhLWxhYmVsbGVkYnkiLA0KCSJmaWxlIjoidHdvX3ZhbGlkX2lkcmVmc19vbmVfd2l0aF9h
bl9hcmlhbGFiZWxfb25lX3dpdGhfYXJpYWxhYmVsbGVkYnkuaHRtbCIsDQoJImV4cGVjdGVkIjoi
YmlnIGZpbmlzaCINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibmFtZSIsDQoJImVsZW1lbnQiOiJj
aXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoib25lIHZhbGlkIGlkcmVmIGlkIHQxIGludmFsaWQiLA0K
CSJmaWxlIjoib25lX3ZhbGlkX2lkcmVmX2lkX3QxX2ludmFsaWQuaHRtbCIsDQoJImV4cGVjdGVk
IjoiZW5kIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6ImEiLA0K
CSJhdHRyaWJ1dGVzIjoiYSBhcmlhLWxhYmVsIHhsaW5rIHRpdGxlIiwNCgkiZmlsZSI6ImFfYXJp
YWxhYmVsX3hsaW5rX3RpdGxlLmh0bWwiLA0KCSJleHBlY3RlZCI6ImJvb3RoIg0KICB9LA0KICB7
DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6ImEiLA0KCSJhdHRyaWJ1dGVzIjoiYSB4
bGluayB0aXRsZSBvbmx5IiwNCgkiZmlsZSI6ImFfeGxpbmtfdGl0bGVfb25seS5odG1sIiwNCgki
ZXhwZWN0ZWQiOiJ0YWJsZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibmFtZSIsDQoJImVsZW1l
bnQiOiJhIiwNCgkiYXR0cmlidXRlcyI6ImEgdGl0bGUgb25seSIsDQoJImZpbGUiOiJhX3RpdGxl
X29ubHkuaHRtbCIsDQoJImV4cGVjdGVkIjoiY291bnRlciINCiAgfSwNCiAgew0KCSJ0ZXN0aW5n
IjoibmFtZSIsDQoJImVsZW1lbnQiOiJhIiwNCgkiYXR0cmlidXRlcyI6ImEgdGl0bGUgYW5kIHhs
aW5rIHRpdGxlIiwNCgkiZmlsZSI6ImFfdGl0bGVfYW5kX3hsaW5rX3RpdGxlLmh0bWwiLA0KCSJl
eHBlY3RlZCI6ImNvdW50ZXIiDQogIH0sDQogIHsNCgkidGVzdGluZyI6Im5hbWUiLA0KCSJlbGVt
ZW50IjoidXNlIiwNCgkiYXR0cmlidXRlcyI6InVzZSBhcmlhLWxhYmVsbGVkYnkgb24gdXNlIHRp
dGxlIG9uIHJlZmVyZW5jZSIsDQoJImZpbGUiOiJ1c2VfYXJpYWxhYmVsbGVkYnlfb25fdXNlX3Rp
dGxlX29uX3JlZmVyZW5jZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJib3VsZGVyIg0KICB9LA0KICB7
DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6InVzZSIsDQoJImF0dHJpYnV0ZXMiOiJ1
c2UgYXJpYS1sYWJlbCBvbiB1c2UgdGl0bGUgb24gcmVmZXJlbmNlIiwNCgkiZmlsZSI6InVzZV9h
cmlhbGFiZWxfb25fdXNlX3RpdGxlX29uX3JlZmVyZW5jZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJz
dG9uZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibmFtZSIsDQoJImVsZW1lbnQiOiJ1c2UiLA0K
CSJhdHRyaWJ1dGVzIjoidXNlIHRpdGxlIG9uIHVzZSB0aXRsZSBvbiByZWZlcmVuY2UiLA0KCSJm
aWxlIjoidXNlX3RpdGxlX29uX3VzZV90aXRsZV9vbl9yZWZlcmVuY2UuaHRtbCIsDQoJImV4cGVj
dGVkIjoicGViYmxlIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJuYW1lIiwNCgkiZWxlbWVudCI6
InVzZSIsDQoJImF0dHJpYnV0ZXMiOiJ1c2UgdGl0bGUgb24gcmVmZXJlbmNlIHhsaW5rIGhyZWYi
LA0KCSJmaWxlIjoidXNlX3RpdGxlX29uX3JlZmVyZW5jZV94bGlua19ocmVmLmh0bWwiLA0KCSJl
eHBlY3RlZCI6InJvY2siDQogIH0sDQogIHsNCgkidGVzdGluZyI6Im5hbWUiLA0KCSJlbGVtZW50
IjoidXNlIiwNCgkiYXR0cmlidXRlcyI6InVzZSB0aXRsZSBvbiByZWZlcmVuY2UgaHJlZiIsDQoJ
ImZpbGUiOiJ1c2VfdGl0bGVfb25fcmVmZXJlbmNlX2hyZWYuaHRtbCIsDQoJImV4cGVjdGVkIjoi
cm9jayINCiAgfQ0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVudCI6InBhdGgiLA0K
CSJhdHRyaWJ1dGVzIjoiYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGFiZWwgdGl0bGUgZGVzYyIsDQoJ
ImZpbGUiOiJhcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxfdGl0bGVfZGVzYy5odG1sIiwNCgkiZXhw
ZWN0ZWQiOiIiDQogIH0sDQogIHsNCgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVtZW50IjoicGF0
aCIsDQoJImF0dHJpYnV0ZXMiOiJhcmlhLWxhYmVsbGVkYnkgYXJpYS1sYWJlbCB0aXRsZSIsDQoJ
ImZpbGUiOiJhcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxfdGl0bGUxLmh0bWwiLA0KCSJleHBlY3Rl
ZCI6ImltZyINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1lbnQiOiJwYXRo
IiwNCgkiYXR0cmlidXRlcyI6ImFyaWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIGRlc2MiLA0KCSJm
aWxlIjoiYXJpYWxhYmVsbGVkYnlfYXJpYWxhYmVsX2Rlc2MuaHRtbCIsDQoJImV4cGVjdGVkIjoi
aW1nIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVudCI6InBhdGgiLA0K
CSJhdHRyaWJ1dGVzIjoiYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGFiZWwiLA0KCSJmaWxlIjoiYXJp
YWxhYmVsbGVkYnlfYXJpYWxhYmVsMS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJpbWciDQogIH0sDQog
IHsNCgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVtZW50IjoicGF0aCIsDQoJImF0dHJpYnV0ZXMi
OiJhcmlhLWxhYmVsbGVkYnkgdGl0bGUiLA0KCSJmaWxlIjoiYXJpYWxhYmVsbGVkYnlfdGl0bGUx
Lmh0bWwiLA0KCSJleHBlY3RlZCI6ImltZyINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIs
DQoJImVsZW1lbnQiOiJwYXRoIiwNCgkiYXR0cmlidXRlcyI6ImFyaWEtbGFiZWxsZWRieSBkZXNj
IiwNCgkiZmlsZSI6ImFyaWFsYWJlbGxlZGJ5X2Rlc2MuaHRtbCIsDQoJImV4cGVjdGVkIjoiaW1n
Ig0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVudCI6InBhdGgiLA0KCSJh
dHRyaWJ1dGVzIjoiYXJpYS1sYWJlbGxlZGJ5IG9ubHkiLA0KCSJmaWxlIjoiYXJpYWxhYmVsbGVk
Ynlfb25seTEuaHRtbCIsDQoJImV4cGVjdGVkIjoiaW1nIg0KICB9LA0KICB7DQoJInRlc3Rpbmci
OiJyb2xlIiwNCgkiZWxlbWVudCI6InBhdGgiLA0KCSJhdHRyaWJ1dGVzIjoiYXJpYS1sYWJlbCB0
aXRsZSIsDQoJImZpbGUiOiJhcmlhbGFiZWxfdGl0bGUxLmh0bWwiLA0KCSJleHBlY3RlZCI6Imlt
ZyINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1lbnQiOiJwYXRoIiwNCgki
YXR0cmlidXRlcyI6ImFyaWEtbGFiZWwgb25seSIsDQoJImZpbGUiOiJhcmlhbGFiZWxfb25seTEu
aHRtbCIsDQoJImV4cGVjdGVkIjoiaW1nIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwN
CgkiZWxlbWVudCI6InBhdGgiLA0KCSJhdHRyaWJ1dGVzIjoidGl0bGUgb25seSIsDQoJImZpbGUi
OiJ0aXRsZV9vbmx5MS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJpbWciDQogIH0sDQogIHsNCgkidGVz
dGluZyI6InJvbGUiLA0KCSJlbGVtZW50IjoicGF0aCIsDQoJImF0dHJpYnV0ZXMiOiJkZXNjIG9u
bHkiLA0KCSJmaWxlIjoiZGVzY19vbmx5Lmh0bWwiLA0KCSJleHBlY3RlZCI6ImltZyINCiAgfSwN
CiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1
dGVzIjoiYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGFiZWwgdGl0bGUiLA0KCSJmaWxlIjoiYXJpYWxh
YmVsbGVkYnlfYXJpYWxhYmVsX3RpdGxlMi5odG1sIiwNCgkiZXhwZWN0ZWQiOiJpbWciDQogIH0s
DQogIHsNCgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmli
dXRlcyI6ImFyaWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIiwNCgkiZmlsZSI6ImFyaWFsYWJlbGxl
ZGJ5X2FyaWFsYWJlbDIuaHRtbCIsDQoJImV4cGVjdGVkIjoiaW1nIg0KICB9LA0KICB7DQoJInRl
c3RpbmciOiJyb2xlIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJhcmlh
LWxhYmVsbGVkYnkgdGl0bGUiLA0KCSJmaWxlIjoiYXJpYWxhYmVsbGVkYnlfdGl0bGUyLmh0bWwi
LA0KCSJleHBlY3RlZCI6ImltZyINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVs
ZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiYXJpYS1sYWJlbGxlZGJ5IG9ubHkiLA0K
CSJmaWxlIjoiYXJpYWxhYmVsbGVkYnlfb25seTIuaHRtbCIsDQoJImV4cGVjdGVkIjoiaW1nIg0K
ICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0
dHJpYnV0ZXMiOiJhcmlhLWxhYmVsIHRpdGxlIiwNCgkiZmlsZSI6ImFyaWFsYWJlbF90aXRsZTIu
aHRtbCIsDQoJImV4cGVjdGVkIjoiaW1nIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwN
CgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJhcmlhLWxhYmVsIG9ubHkiLA0K
CSJmaWxlIjoiYXJpYWxhYmVsX29ubHkyLmh0bWwiLA0KCSJleHBlY3RlZCI6ImltZyINCiAgfSwN
CiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1
dGVzIjoidGl0bGUgb25seSIsDQoJImZpbGUiOiJ0aXRsZV9vbmx5Mi5odG1sIiwNCgkiZXhwZWN0
ZWQiOiJpbWciDQogIH0sDQogIHsNCgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVtZW50IjoicmVj
dCIsDQoJImF0dHJpYnV0ZXMiOiJyZWN0IGFyaWEtbGFiZWwgb25seSIsDQoJImZpbGUiOiJyZWN0
X2FyaWFsYWJlbF9vbmx5Lmh0bWwiLA0KCSJleHBlY3RlZCI6ImltZyINCiAgfSwNCiAgew0KCSJ0
ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1lbnQiOiJlbGlwc2UiLA0KCSJhdHRyaWJ1dGVzIjoiZWxp
cHNlIHRpdGxlIG9ubHkiLA0KCSJmaWxlIjoiZWxpcHNlX3RpdGxlX29ubHkuaHRtbCIsDQoJImV4
cGVjdGVkIjoiaW1nIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVudCI6
ImxpbmUiLA0KCSJhdHRyaWJ1dGVzIjoibGluZSBhcmlhLWxhYmVsIG9ubHkiLA0KCSJmaWxlIjoi
bGluZV9hcmlhbGFiZWxfb25seS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJpbWciDQogIH0sDQogIHsN
CgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVtZW50IjoiZm9yZWlnbk9iamVjdCIsDQoJImF0dHJp
YnV0ZXMiOiJmb3JlaWduT2JqZWN0IiwNCgkiZmlsZSI6ImZvcmVpZ25PYmplY3QuaHRtbCIsDQoJ
ImV4cGVjdGVkIjoiZ3JvdXAiDQogIH0sDQogIHsNCgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVt
ZW50IjoiZyIsDQoJImF0dHJpYnV0ZXMiOiJnIiwNCgkiZmlsZSI6ImcuaHRtbCIsDQoJImV4cGVj
dGVkIjoiZ3JvdXAiDQogIH0sDQogIHsNCgkidGVzdGluZyI6InJvbGUiLA0KCSJlbGVtZW50Ijoi
aW1hZ2UiLA0KCSJhdHRyaWJ1dGVzIjoiaW1hZ2UiLA0KCSJmaWxlIjoiaW1hZ2UuaHRtbCIsDQoJ
ImV4cGVjdGVkIjoiaW1nIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVu
dCI6InN2ZyIsDQoJImF0dHJpYnV0ZXMiOiJzdmciLA0KCSJmaWxlIjoic3ZnLmh0bWwiLA0KCSJl
eHBlY3RlZCI6Imdyb3VwIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJyb2xlIiwNCgkiZWxlbWVu
dCI6InVzZSIsDQoJImF0dHJpYnV0ZXMiOiJ1c2UiLA0KCSJmaWxlIjoidXNlLmh0bWwiLA0KCSJl
eHBlY3RlZCI6ImltZyINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1lbnQi
OiJ0ZXh0IiwNCgkiYXR0cmlidXRlcyI6InRleHQiLA0KCSJmaWxlIjoidGV4dC5odG1sIiwNCgki
ZXhwZWN0ZWQiOiJncm91cCINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoicm9sZSIsDQoJImVsZW1l
bnQiOiJ0ZXh0UGF0aCIsDQoJImF0dHJpYnV0ZXMiOiJ0ZXh0UGF0aCIsDQoJImZpbGUiOiJ0ZXh0
UGF0aC5odG1sIiwNCgkiZXhwZWN0ZWQiOiJncm91cCINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoi
cm9sZSIsDQoJImVsZW1lbnQiOiJ0c3BhbiIsDQoJImF0dHJpYnV0ZXMiOiJ0c3BhbiIsDQoJImZp
bGUiOiJ0c3Bhbi5odG1sIiwNCgkiZXhwZWN0ZWQiOiJncm91cCINCiAgfQ0KICB7DQoJInRlc3Rp
bmciOiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoi
YXJpYS1kZXNjcmliZWRieSBkZXNjIHRpdGxlIiwNCgkiZmlsZSI6ImFyaWFkZXNjcmliZWRieV9k
ZXNjX3RpdGxlLmh0bWwiLA0KCSJleHBlY3RlZCI6IjkwPmVuZDwvdGV4dD4gdGhlbiBhY2Nlc3Np
YmxlIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJj
aXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiYXJpYS1kZXNjcmliZWRieSBkZXNjIiwNCgkiZmlsZSI6
ImFyaWFkZXNjcmliZWRieV9kZXNjLmh0bWwiLA0KCSJleHBlY3RlZCI6ImVuZCINCiAgfSwNCiAg
ew0KCSJ0ZXN0aW5nIjoiZGVzY3JpcHRpb24iLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0
cmlidXRlcyI6ImFyaWEtZGVzY3JpYmVkYnkgdGl0bGUiLA0KCSJmaWxlIjoiYXJpYWRlc2NyaWJl
ZGJ5X3RpdGxlLmh0bWwiLA0KCSJleHBlY3RlZCI6ImVuZCINCiAgfSwNCiAgew0KCSJ0ZXN0aW5n
IjoiZGVzY3JpcHRpb24iLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmlidXRlcyI6ImFy
aWEtZGVzY3JpYmVkYnkgb25seSIsDQoJImZpbGUiOiJhcmlhZGVzY3JpYmVkYnlfb25seS5odG1s
IiwNCgkiZXhwZWN0ZWQiOiJlbmQiDQogIH0sDQogIHsNCgkidGVzdGluZyI6ImRlc2NyaXB0aW9u
IiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJkZXNjIHRpdGxlIiwNCgki
ZmlsZSI6ImRlc2NfdGl0bGUuaHRtbCIsDQoJImV4cGVjdGVkIjoiMTU+PHRpdGxlPmFiYzwvdGl0
bGU+PGRlc2M+MTIzPC9kZXNjPjwvY2lyY2xlPiB0aGVuIg0KICB9LA0KICB7DQoJInRlc3Rpbmci
OiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiZW1w
dHkgYXJpYS1kZXNjcmliZWRieSBkZXNjIHRpdGxlIiwNCgkiZmlsZSI6ImVtcHR5X2FyaWFkZXNj
cmliZWRieV9kZXNjX3RpdGxlLmh0bWwiLA0KCSJleHBlY3RlZCI6IjEyMyINCiAgfSwNCiAgew0K
CSJ0ZXN0aW5nIjoiZGVzY3JpcHRpb24iLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmli
dXRlcyI6ImVtcHR5IGFyaWEtZGVzY3JpYmVkYnkgZGVzYyIsDQoJImZpbGUiOiJlbXB0eV9hcmlh
ZGVzY3JpYmVkYnlfZGVzYy5odG1sIiwNCgkiZXhwZWN0ZWQiOiIxMjMiDQogIH0sDQogIHsNCgki
dGVzdGluZyI6ImRlc2NyaXB0aW9uIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0
ZXMiOiJhcmlhLWRlc2NyaWJlZGJ5IHRpdGxlIiwNCgkiZmlsZSI6ImFyaWFkZXNjcmliZWRieV90
aXRsZTEuaHRtbCIsDQoJImV4cGVjdGVkIjoiMTU+PHRpdGxlPmFiYzwvdGl0bGU+PC9jaXJjbGU+
IHRoZW4iDQogIH0sDQogIHsNCgkidGVzdGluZyI6ImRlc2NyaXB0aW9uIiwNCgkiZWxlbWVudCI6
ImNpcmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJhcmlhLWRlc2NyaWJlZGJ5IG9ubHkiLA0KCSJmaWxl
IjoiYXJpYWRlc2NyaWJlZGJ5X29ubHkxLmh0bWwiLA0KCSJleHBlY3RlZCI6Im51bGwgb3IgZW1w
dHkiDQogIH0sDQogIHsNCgkidGVzdGluZyI6ImRlc2NyaXB0aW9uIiwNCgkiZWxlbWVudCI6ImNp
cmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJ0d28gdmFsaWQgaWRyZWZzIiwNCgkiZmlsZSI6InR3b192
YWxpZF9pZHJlZnMxLmh0bWwiLA0KCSJleHBlY3RlZCI6InRoZSBlbmQiDQogIH0sDQogIHsNCgki
dGVzdGluZyI6ImRlc2NyaXB0aW9uIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0
ZXMiOiJ0d28gdmFsaWQgaWRyZWZzIG9uZSB3aXRoIGFyaWEtZGVzY3JpYmVkYnkiLA0KCSJmaWxl
IjoidHdvX3ZhbGlkX2lkcmVmc19vbmVfd2l0aF9hcmlhZGVzY3JpYmVkYnkuaHRtbCIsDQoJImV4
cGVjdGVkIjoidGhlIGZpbmlzaCINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoiZGVzY3JpcHRpb24i
LA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmlidXRlcyI6Im9uZSB2YWxpZCBpZHJlZiBp
ZCB0MSBpbnZhbGlkIiwNCgkiZmlsZSI6Im9uZV92YWxpZF9pZHJlZl9pZF90MV9pbnZhbGlkMS5o
dG1sIiwNCgkiZXhwZWN0ZWQiOiJlbmQiDQogIH0sDQogIHsNCgkidGVzdGluZyI6ImRlc2NyaXB0
aW9uIiwNCgkiZWxlbWVudCI6ImNpcmNsZSIsDQoJImF0dHJpYnV0ZXMiOiJkZXNjcmlwdGlvbiBh
cmlhLWxhYmVsbGVkYnkgdGl0bGUiLA0KCSJmaWxlIjoiZGVzY3JpcHRpb25fYXJpYWxhYmVsbGVk
YnlfdGl0bGUuaHRtbCIsDQoJImV4cGVjdGVkIjoiYWJjIg0KICB9LA0KICB7DQoJInRlc3Rpbmci
OiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiZGVz
Y3JpcHRpb24gYXJpYS1sYWJlbCB0aXRsZSIsDQoJImZpbGUiOiJkZXNjcmlwdGlvbl9hcmlhbGFi
ZWxfdGl0bGUuaHRtbCIsDQoJImV4cGVjdGVkIjoiYWJjIg0KICB9LA0KICB7DQoJInRlc3Rpbmci
OiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiYXJp
YS1sYWJlbGxlZGJ5IHRpdGxlIiwNCgkiZmlsZSI6ImFyaWFsYWJlbGxlZGJ5X3RpdGxlMy5odG1s
IiwNCgkiZXhwZWN0ZWQiOiJudWxsIG9yIGVtcHR5Ig0KICB9LA0KICB7DQoJInRlc3RpbmciOiJk
ZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJjaXJjbGUiLA0KCSJhdHRyaWJ1dGVzIjoiYXJpYS1s
YWJlbCB0aXRsZSIsDQoJImZpbGUiOiJhcmlhbGFiZWxfdGl0bGUzLmh0bWwiLA0KCSJleHBlY3Rl
ZCI6Im51bGwgb3IgZW1wdHkiDQogIH0sDQogIHsNCgkidGVzdGluZyI6ImRlc2NyaXB0aW9uIiwN
CgkiZWxlbWVudCI6ImEiLA0KCSJhdHRyaWJ1dGVzIjoiYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGFi
ZWwgeGxpbmsgdGl0bGUiLA0KCSJmaWxlIjoiYXJpYWxhYmVsbGVkYnlfYXJpYWxhYmVsX3hsaW5r
X3RpdGxlLmh0bWwiLA0KCSJleHBlY3RlZCI6InRhYmxlIg0KICB9LA0KICB7DQoJInRlc3Rpbmci
OiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJhIiwNCgkiYXR0cmlidXRlcyI6ImFyaWEtbGFi
ZWxsZWRieSB4bGluayB0aXRsZSIsDQoJImZpbGUiOiJhcmlhbGFiZWxsZWRieV94bGlua190aXRs
ZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJ0YWJsZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoiZGVz
Y3JpcHRpb24iLA0KCSJlbGVtZW50IjoiYSIsDQoJImF0dHJpYnV0ZXMiOiJhcmlhLWxhYmVsIHhs
aW5rIHRpdGxlIiwNCgkiZmlsZSI6ImFyaWFsYWJlbF94bGlua190aXRsZS5odG1sIiwNCgkiZXhw
ZWN0ZWQiOiJ0YWJsZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoiZGVzY3JpcHRpb24iLA0KCSJl
bGVtZW50IjoiYSIsDQoJImF0dHJpYnV0ZXMiOiJ0aXRsZSBhbmQgeGxpbmsgdGl0bGUiLA0KCSJm
aWxlIjoidGl0bGVfYW5kX3hsaW5rX3RpdGxlLmh0bWwiLA0KCSJleHBlY3RlZCI6InRhYmxlIg0K
ICB9LA0KICB7DQoJInRlc3RpbmciOiJkZXNjcmlwdGlvbiIsDQoJImVsZW1lbnQiOiJhIiwNCgki
YXR0cmlidXRlcyI6InhsaW5rIHRpdGxlIG9ubHkiLA0KCSJmaWxlIjoieGxpbmtfdGl0bGVfb25s
eS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJudWxsIG9yIGVtcHR5Ig0KICB9DQogIHsNCgkidGVzdGlu
ZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiLA0KCSJlbGVtZW50IjoiYW5pbWF0ZSIsDQoJ
ImF0dHJpYnV0ZXMiOiJhbmltYXRlIiwNCgkiZmlsZSI6ImFuaW1hdGUuaHRtbCIsDQoJImV4cGVj
dGVkIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoi
bm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSIsDQoJImVsZW1lbnQiOiJhbmltYXRlTW90aW9uIiwN
CgkiYXR0cmlidXRlcyI6ImFuaW1hdGVNb3Rpb24iLA0KCSJmaWxlIjoiYW5pbWF0ZU1vdGlvbi5o
dG1sIiwNCgkiZXhwZWN0ZWQiOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0KICB9LA0KICB7
DQoJInRlc3RpbmciOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxlbWVudCI6ImFu
aW1hdGVUcmFuc2Zvcm0iLA0KCSJhdHRyaWJ1dGVzIjoiYW5pbWF0ZVRyYW5zZm9ybSIsDQoJImZp
bGUiOiJhbmltYXRlVHJhbnNmb3JtLmh0bWwiLA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3Np
YmlsaXR5IHRyZWUiDQogIH0sDQogIHsNCgkidGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5
IHRyZWUiLA0KCSJlbGVtZW50IjoiY3Vyc29yIiwNCgkiYXR0cmlidXRlcyI6ImN1cnNvciIsDQoJ
ImZpbGUiOiJjdXJzb3IuaHRtbCIsDQoJImV4cGVjdGVkIjoibm90IGluIGFjY2Vzc2liaWxpdHkg
dHJlZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSIs
DQoJImVsZW1lbnQiOiJkZWZzIiwNCgkiYXR0cmlidXRlcyI6ImRlZnMiLA0KCSJmaWxlIjoiZGVm
cy5odG1sIiwNCgkiZXhwZWN0ZWQiOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0KICB9LA0K
ICB7DQoJInRlc3RpbmciOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxlbWVudCI6
ImRpc2NhcmQiLA0KCSJhdHRyaWJ1dGVzIjoiZGlzY2FyZCIsDQoJImZpbGUiOiJkaXNjYXJkLmh0
bWwiLA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiDQogIH0sDQogIHsN
CgkidGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiLA0KCSJlbGVtZW50IjoiaGF0
Y2giLA0KCSJhdHRyaWJ1dGVzIjoiaGF0Y2giLA0KCSJmaWxlIjoiaGF0Y2guaHRtbCIsDQoJImV4
cGVjdGVkIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5n
Ijoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSIsDQoJImVsZW1lbnQiOiJoYXRjaHBhdGgiLA0K
CSJhdHRyaWJ1dGVzIjoiaGF0Y2hQYXRoIiwNCgkiZmlsZSI6ImhhdGNoUGF0aC5odG1sIiwNCgki
ZXhwZWN0ZWQiOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0KICB9LA0KICB7DQoJInRlc3Rp
bmciOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxlbWVudCI6ImxpbmVhckdyYWRp
ZW50IiwNCgkiYXR0cmlidXRlcyI6ImxpbmVhckdyYWRpZW50IiwNCgkiZmlsZSI6ImxpbmVhckdy
YWRpZW50Lmh0bWwiLA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiDQog
IH0sDQogIHsNCgkidGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiLA0KCSJlbGVt
ZW50IjoibWFya2VyIiwNCgkiYXR0cmlidXRlcyI6Im1hcmtlciIsDQoJImZpbGUiOiJtYXJrZXIu
aHRtbCIsDQoJImV4cGVjdGVkIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSINCiAgfSwNCiAg
ew0KCSJ0ZXN0aW5nIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSIsDQoJImVsZW1lbnQiOiJw
YXR0ZXJuIiwNCgkiYXR0cmlidXRlcyI6InBhdHRlcm4iLA0KCSJmaWxlIjoicGF0dGVybi5odG1s
IiwNCgkiZXhwZWN0ZWQiOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0KICB9LA0KICB7DQoJ
InRlc3RpbmciOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxlbWVudCI6InJhZGlh
bEdyYWRpZW50IiwNCgkiYXR0cmlidXRlcyI6InJhZGlhbEdyYWRpZW50IiwNCgkiZmlsZSI6InJh
ZGlhbEdyYWRpZW50Lmh0bWwiLA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRy
ZWUiDQogIH0sDQogIHsNCgkidGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiLA0K
CSJlbGVtZW50Ijoic29saWRDb2xvciIsDQoJImF0dHJpYnV0ZXMiOiJzb2xpZENvbG9yIiwNCgki
ZmlsZSI6InNvbGlkQ29sb3IuaHRtbCIsDQoJImV4cGVjdGVkIjoibm90IGluIGFjY2Vzc2liaWxp
dHkgdHJlZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJl
ZSIsDQoJImVsZW1lbnQiOiJzdG9wIiwNCgkiYXR0cmlidXRlcyI6InN0b3AiLA0KCSJmaWxlIjoi
c3RvcC5odG1sIiwNCgkiZXhwZWN0ZWQiOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0KICB9
LA0KICB7DQoJInRlc3RpbmciOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxlbWVu
dCI6InN0eWxlIiwNCgkiYXR0cmlidXRlcyI6InN0eWxlIiwNCgkiZmlsZSI6InN0eWxlLmh0bWwi
LA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiDQogIH0sDQogIHsNCgki
dGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiLA0KCSJlbGVtZW50Ijoic3ltYm9s
IiwNCgkiYXR0cmlidXRlcyI6InN5bWJvbCIsDQoJImZpbGUiOiJzeW1ib2wuaHRtbCIsDQoJImV4
cGVjdGVkIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5n
Ijoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSIsDQoJImVsZW1lbnQiOiJ0aXRsZSIsDQoJImF0
dHJpYnV0ZXMiOiJ0aXRsZSIsDQoJImZpbGUiOiJ0aXRsZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJu
b3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0KICB9LA0KICB7DQoJInRlc3RpbmciOiJub3QgaW4g
YWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxlbWVudCI6InJlY3QiLA0KCSJhdHRyaWJ1dGVzIjoi
cmVjdCIsDQoJImZpbGUiOiJyZWN0Lmh0bWwiLA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3Np
YmlsaXR5IHRyZWUiDQogIH0sDQogIHsNCgkidGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5
IHRyZWUiLA0KCSJlbGVtZW50IjoiY2lyY2xlIiwNCgkiYXR0cmlidXRlcyI6ImNpcmNsZSIsDQoJ
ImZpbGUiOiJjaXJjbGUuaHRtbCIsDQoJImV4cGVjdGVkIjoibm90IGluIGFjY2Vzc2liaWxpdHkg
dHJlZSINCiAgfSwNCiAgew0KCSJ0ZXN0aW5nIjoibm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSIs
DQoJImVsZW1lbnQiOiJlbGlwc2UiLA0KCSJhdHRyaWJ1dGVzIjoiZWxpcHNlIiwNCgkiZmlsZSI6
ImVsaXBzZS5odG1sIiwNCgkiZXhwZWN0ZWQiOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIg0K
ICB9LA0KICB7DQoJInRlc3RpbmciOiJub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlIiwNCgkiZWxl
bWVudCI6ImxpbmUiLA0KCSJhdHRyaWJ1dGVzIjoibGluZSIsDQoJImZpbGUiOiJsaW5lLmh0bWwi
LA0KCSJleHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiDQogIH0sDQogIHsNCgki
dGVzdGluZyI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiLA0KCSJlbGVtZW50IjoiZWxpcHNl
IiwNCgkiYXR0cmlidXRlcyI6ImVsaXBzZSIsDQoJImZpbGUiOiJlbGlwc2UxLmh0bWwiLA0KCSJl
eHBlY3RlZCI6Im5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUiDQogIH0NCl0

--0__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A
Content-type: application/octet-stream; 
	name="svg_test.csv"
Content-Disposition: attachment; filename="svg_test.csv"
Content-ID: <2__
BBF58DDFD4283A8f9e8a93df938690918c0AB@>
Content-Transfer-Encoding: base64

VEVTVElORyxFTEVNTkVOVCxBVFRSSUJVVEVTLEZJTEUsRVhQRUNURUQgVkFMVUUNCm5hbWUsY2ly
Y2xlLGFyaWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIHRpdGxlLGFyaWFsYWJlbGxlZGJ5X2FyaWFs
YWJlbF90aXRsZS5odG1sLGVuZA0KbmFtZSxjaXJjbGUsYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGFi
ZWwsYXJpYWxhYmVsbGVkYnlfYXJpYWxhYmVsLmh0bWwsZW5kDQpuYW1lLGNpcmNsZSxhcmlhLWxh
YmVsbGVkYnkgdGl0bGUsYXJpYWxhYmVsbGVkYnlfdGl0bGUuaHRtbCxlbmQNCm5hbWUsY2lyY2xl
LGFyaWEtbGFiZWxsZWRieSBvbmx5LGFyaWFsYWJlbGxlZGJ5X29ubHkuaHRtbCxlbmQNCm5hbWUs
Y2lyY2xlLGFyaWEtbGFiZWwgdGl0bGUsYXJpYWxhYmVsX3RpdGxlLmh0bWwsaGVsbG8NCm5hbWUs
Y2lyY2xlLGFyaWEtbGFiZWwgb25seSxhcmlhbGFiZWxfb25seS5odG1sLGhlbGxvDQpuYW1lLGNp
cmNsZSx0aXRsZSBvbmx5LHRpdGxlX29ubHkuaHRtbCxhYmMNCm5hbWUsY2lyY2xlLGVtcHR5IGFy
aWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIHRpdGxlLGVtcHR5X2FyaWFsYWJlbGxlZGJ5X2FyaWFs
YWJlbF90aXRsZS5odG1sLGJvYg0KbmFtZSxjaXJjbGUsZW1wdHkgYXJpYS1sYWJlbGxlZGJ5IGFy
aWEtbGFiZWwsZW1wdHlfYXJpYWxhYmVsbGVkYnlfYXJpYWxhYmVsLmh0bWwsMTUvPiB0aGVuIGFj
Y2Vzc2libGUNCm5hbWUsY2lyY2xlLGVtcHR5IGFyaWEtbGFiZWxsZWRieSB0aXRsZSxlbXB0eV9h
cmlhbGFiZWxsZWRieV90aXRsZS5odG1sLDE1Pjx0aXRsZT5hYmM8L3RpdGxlPjwvY2lyY2xlPiB0
aGVuDQpuYW1lLGNpcmNsZSxlbXB0eSBhcmlhLWxhYmVsbGVkYnkgb25seSxlbXB0eV9hcmlhbGFi
ZWxsZWRieV9vbmx5Lmh0bWwsbnVsbCBvciBlbXB0eQ0KbmFtZSxjaXJjbGUsdHdvIHZhbGlkIGlk
cmVmcyx0d29fdmFsaWRfaWRyZWZzLmh0bWwsdGhlIGVuZA0KbmFtZSxjaXJjbGUsdHdvIHZhbGlk
IGlkcmVmcyBvbmUgd2l0aCBhbiBhcmlhLWxhYmVsLHR3b192YWxpZF9pZHJlZnNfb25lX3dpdGhf
YW5fYXJpYWxhYmVsLmh0bWwsYmlnIGVuZA0KbmFtZSxjaXJjbGUsdHdvIHZhbGlkIGlkcmVmcyBv
bmUgd2l0aCBhbiBhcmlhLWxhYmVsIG9uZSB3aXRoIGFyaWEtbGFiZWxsZWRieSx0d29fdmFsaWRf
aWRyZWZzX29uZV93aXRoX2FuX2FyaWFsYWJlbF9vbmVfd2l0aF9hcmlhbGFiZWxsZWRieS5odG1s
LGJpZyBmaW5pc2gNCm5hbWUsY2lyY2xlLG9uZSB2YWxpZCBpZHJlZiBpZCB0MSBpbnZhbGlkLG9u
ZV92YWxpZF9pZHJlZl9pZF90MV9pbnZhbGlkLmh0bWwsZW5kDQpuYW1lLGEsYSBhcmlhLWxhYmVs
IHhsaW5rIHRpdGxlLGFfYXJpYWxhYmVsX3hsaW5rX3RpdGxlLmh0bWwsYm9vdGgNCm5hbWUsYSxh
IHhsaW5rIHRpdGxlIG9ubHksYV94bGlua190aXRsZV9vbmx5Lmh0bWwsdGFibGUNCm5hbWUsYSxh
IHRpdGxlIG9ubHksYV90aXRsZV9vbmx5Lmh0bWwsY291bnRlcg0KbmFtZSxhLGEgdGl0bGUgYW5k
IHhsaW5rIHRpdGxlLGFfdGl0bGVfYW5kX3hsaW5rX3RpdGxlLmh0bWwsY291bnRlcg0KbmFtZSx1
c2UsdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB1c2UgdGl0bGUgb24gcmVmZXJlbmNlLHVzZV9hcmlh
bGFiZWxsZWRieV9vbl91c2VfdGl0bGVfb25fcmVmZXJlbmNlLmh0bWwsYm91bGRlcg0KbmFtZSx1
c2UsdXNlIGFyaWEtbGFiZWwgb24gdXNlIHRpdGxlIG9uIHJlZmVyZW5jZSx1c2VfYXJpYWxhYmVs
X29uX3VzZV90aXRsZV9vbl9yZWZlcmVuY2UuaHRtbCxzdG9uZQ0KbmFtZSx1c2UsdXNlIHRpdGxl
IG9uIHVzZSB0aXRsZSBvbiByZWZlcmVuY2UsdXNlX3RpdGxlX29uX3VzZV90aXRsZV9vbl9yZWZl
cmVuY2UuaHRtbCxwZWJibGUNCm5hbWUsdXNlLHVzZSB0aXRsZSBvbiByZWZlcmVuY2UgeGxpbmsg
aHJlZix1c2VfdGl0bGVfb25fcmVmZXJlbmNlX3hsaW5rX2hyZWYuaHRtbCxyb2NrDQpuYW1lLHVz
ZSx1c2UgdGl0bGUgb24gcmVmZXJlbmNlIGhyZWYsdXNlX3RpdGxlX29uX3JlZmVyZW5jZV9ocmVm
Lmh0bWwscm9jaw0Kcm9sZSxwYXRoLGFyaWEtbGFiZWxsZWRieSBhcmlhLWxhYmVsIHRpdGxlIGRl
c2MsYXJpYWxhYmVsbGVkYnlfYXJpYWxhYmVsX3RpdGxlX2Rlc2MuaHRtbCwNCnJvbGUscGF0aCxh
cmlhLWxhYmVsbGVkYnkgYXJpYS1sYWJlbCB0aXRsZSxhcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxf
dGl0bGUxLmh0bWwsaW1nDQpyb2xlLHBhdGgsYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGFiZWwgZGVz
YyxhcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxfZGVzYy5odG1sLGltZw0Kcm9sZSxwYXRoLGFyaWEt
bGFiZWxsZWRieSBhcmlhLWxhYmVsLGFyaWFsYWJlbGxlZGJ5X2FyaWFsYWJlbDEuaHRtbCxpbWcN
CnJvbGUscGF0aCxhcmlhLWxhYmVsbGVkYnkgdGl0bGUsYXJpYWxhYmVsbGVkYnlfdGl0bGUxLmh0
bWwsaW1nDQpyb2xlLHBhdGgsYXJpYS1sYWJlbGxlZGJ5IGRlc2MsYXJpYWxhYmVsbGVkYnlfZGVz
Yy5odG1sLGltZw0Kcm9sZSxwYXRoLGFyaWEtbGFiZWxsZWRieSBvbmx5LGFyaWFsYWJlbGxlZGJ5
X29ubHkxLmh0bWwsaW1nDQpyb2xlLHBhdGgsYXJpYS1sYWJlbCB0aXRsZSxhcmlhbGFiZWxfdGl0
bGUxLmh0bWwsaW1nDQpyb2xlLHBhdGgsYXJpYS1sYWJlbCBvbmx5LGFyaWFsYWJlbF9vbmx5MS5o
dG1sLGltZw0Kcm9sZSxwYXRoLHRpdGxlIG9ubHksdGl0bGVfb25seTEuaHRtbCxpbWcNCnJvbGUs
cGF0aCxkZXNjIG9ubHksZGVzY19vbmx5Lmh0bWwsaW1nDQpyb2xlLGNpcmNsZSxhcmlhLWxhYmVs
bGVkYnkgYXJpYS1sYWJlbCB0aXRsZSxhcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxfdGl0bGUyLmh0
bWwsaW1nDQpyb2xlLGNpcmNsZSxhcmlhLWxhYmVsbGVkYnkgYXJpYS1sYWJlbCxhcmlhbGFiZWxs
ZWRieV9hcmlhbGFiZWwyLmh0bWwsaW1nDQpyb2xlLGNpcmNsZSxhcmlhLWxhYmVsbGVkYnkgdGl0
bGUsYXJpYWxhYmVsbGVkYnlfdGl0bGUyLmh0bWwsaW1nDQpyb2xlLGNpcmNsZSxhcmlhLWxhYmVs
bGVkYnkgb25seSxhcmlhbGFiZWxsZWRieV9vbmx5Mi5odG1sLGltZw0Kcm9sZSxjaXJjbGUsYXJp
YS1sYWJlbCB0aXRsZSxhcmlhbGFiZWxfdGl0bGUyLmh0bWwsaW1nDQpyb2xlLGNpcmNsZSxhcmlh
LWxhYmVsIG9ubHksYXJpYWxhYmVsX29ubHkyLmh0bWwsaW1nDQpyb2xlLGNpcmNsZSx0aXRsZSBv
bmx5LHRpdGxlX29ubHkyLmh0bWwsaW1nDQpyb2xlLHJlY3QscmVjdCBhcmlhLWxhYmVsIG9ubHks
cmVjdF9hcmlhbGFiZWxfb25seS5odG1sLGltZw0Kcm9sZSxlbGlwc2UsZWxpcHNlIHRpdGxlIG9u
bHksZWxpcHNlX3RpdGxlX29ubHkuaHRtbCxpbWcNCnJvbGUsbGluZSxsaW5lIGFyaWEtbGFiZWwg
b25seSxsaW5lX2FyaWFsYWJlbF9vbmx5Lmh0bWwsaW1nDQpyb2xlLGZvcmVpZ25PYmplY3QsZm9y
ZWlnbk9iamVjdCxmb3JlaWduT2JqZWN0Lmh0bWwsZ3JvdXANCnJvbGUsZyxnLGcuaHRtbCxncm91
cA0Kcm9sZSxpbWFnZSxpbWFnZSxpbWFnZS5odG1sLGltZw0Kcm9sZSxzdmcsc3ZnLHN2Zy5odG1s
LGdyb3VwDQpyb2xlLHVzZSx1c2UsdXNlLmh0bWwsaW1nDQpyb2xlLHRleHQsdGV4dCx0ZXh0Lmh0
bWwsZ3JvdXANCnJvbGUsdGV4dFBhdGgsdGV4dFBhdGgsdGV4dFBhdGguaHRtbCxncm91cA0Kcm9s
ZSx0c3Bhbix0c3Bhbix0c3Bhbi5odG1sLGdyb3VwDQpkZXNjcmlwdGlvbixjaXJjbGUsYXJpYS1k
ZXNjcmliZWRieSBkZXNjIHRpdGxlLGFyaWFkZXNjcmliZWRieV9kZXNjX3RpdGxlLmh0bWwsOTA+
ZW5kPC90ZXh0PiB0aGVuIGFjY2Vzc2libGUNCmRlc2NyaXB0aW9uLGNpcmNsZSxhcmlhLWRlc2Ny
aWJlZGJ5IGRlc2MsYXJpYWRlc2NyaWJlZGJ5X2Rlc2MuaHRtbCxlbmQNCmRlc2NyaXB0aW9uLGNp
cmNsZSxhcmlhLWRlc2NyaWJlZGJ5IHRpdGxlLGFyaWFkZXNjcmliZWRieV90aXRsZS5odG1sLGVu
ZA0KZGVzY3JpcHRpb24sY2lyY2xlLGFyaWEtZGVzY3JpYmVkYnkgb25seSxhcmlhZGVzY3JpYmVk
Ynlfb25seS5odG1sLGVuZA0KZGVzY3JpcHRpb24sY2lyY2xlLGRlc2MgdGl0bGUsZGVzY190aXRs
ZS5odG1sLDE1Pjx0aXRsZT5hYmM8L3RpdGxlPjxkZXNjPjEyMzwvZGVzYz48L2NpcmNsZT4gdGhl
bg0KZGVzY3JpcHRpb24sY2lyY2xlLGVtcHR5IGFyaWEtZGVzY3JpYmVkYnkgZGVzYyB0aXRsZSxl
bXB0eV9hcmlhZGVzY3JpYmVkYnlfZGVzY190aXRsZS5odG1sLDEyMw0KZGVzY3JpcHRpb24sY2ly
Y2xlLGVtcHR5IGFyaWEtZGVzY3JpYmVkYnkgZGVzYyxlbXB0eV9hcmlhZGVzY3JpYmVkYnlfZGVz
Yy5odG1sLDEyMw0KZGVzY3JpcHRpb24sY2lyY2xlLGFyaWEtZGVzY3JpYmVkYnkgdGl0bGUsYXJp
YWRlc2NyaWJlZGJ5X3RpdGxlMS5odG1sLDE1Pjx0aXRsZT5hYmM8L3RpdGxlPjwvY2lyY2xlPiB0
aGVuDQpkZXNjcmlwdGlvbixjaXJjbGUsYXJpYS1kZXNjcmliZWRieSBvbmx5LGFyaWFkZXNjcmli
ZWRieV9vbmx5MS5odG1sLG51bGwgb3IgZW1wdHkNCmRlc2NyaXB0aW9uLGNpcmNsZSx0d28gdmFs
aWQgaWRyZWZzLHR3b192YWxpZF9pZHJlZnMxLmh0bWwsdGhlIGVuZA0KZGVzY3JpcHRpb24sY2ly
Y2xlLHR3byB2YWxpZCBpZHJlZnMgb25lIHdpdGggYXJpYS1kZXNjcmliZWRieSx0d29fdmFsaWRf
aWRyZWZzX29uZV93aXRoX2FyaWFkZXNjcmliZWRieS5odG1sLHRoZSBmaW5pc2gNCmRlc2NyaXB0
aW9uLGNpcmNsZSxvbmUgdmFsaWQgaWRyZWYgaWQgdDEgaW52YWxpZCxvbmVfdmFsaWRfaWRyZWZf
aWRfdDFfaW52YWxpZDEuaHRtbCxlbmQNCmRlc2NyaXB0aW9uLGNpcmNsZSxkZXNjcmlwdGlvbiBh
cmlhLWxhYmVsbGVkYnkgdGl0bGUsZGVzY3JpcHRpb25fYXJpYWxhYmVsbGVkYnlfdGl0bGUuaHRt
bCxhYmMNCmRlc2NyaXB0aW9uLGNpcmNsZSxkZXNjcmlwdGlvbiBhcmlhLWxhYmVsIHRpdGxlLGRl
c2NyaXB0aW9uX2FyaWFsYWJlbF90aXRsZS5odG1sLGFiYw0KZGVzY3JpcHRpb24sY2lyY2xlLGFy
aWEtbGFiZWxsZWRieSB0aXRsZSxhcmlhbGFiZWxsZWRieV90aXRsZTMuaHRtbCxudWxsIG9yIGVt
cHR5DQpkZXNjcmlwdGlvbixjaXJjbGUsYXJpYS1sYWJlbCB0aXRsZSxhcmlhbGFiZWxfdGl0bGUz
Lmh0bWwsbnVsbCBvciBlbXB0eQ0KZGVzY3JpcHRpb24sYSxhcmlhLWxhYmVsbGVkYnkgYXJpYS1s
YWJlbCB4bGluayB0aXRsZSxhcmlhbGFiZWxsZWRieV9hcmlhbGFiZWxfeGxpbmtfdGl0bGUuaHRt
bCx0YWJsZQ0KZGVzY3JpcHRpb24sYSxhcmlhLWxhYmVsbGVkYnkgeGxpbmsgdGl0bGUsYXJpYWxh
YmVsbGVkYnlfeGxpbmtfdGl0bGUuaHRtbCx0YWJsZQ0KZGVzY3JpcHRpb24sYSxhcmlhLWxhYmVs
IHhsaW5rIHRpdGxlLGFyaWFsYWJlbF94bGlua190aXRsZS5odG1sLHRhYmxlDQpkZXNjcmlwdGlv
bixhLHRpdGxlIGFuZCB4bGluayB0aXRsZSx0aXRsZV9hbmRfeGxpbmtfdGl0bGUuaHRtbCx0YWJs
ZQ0KZGVzY3JpcHRpb24sYSx4bGluayB0aXRsZSBvbmx5LHhsaW5rX3RpdGxlX29ubHkuaHRtbCxu
dWxsIG9yIGVtcHR5DQpub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLGFuaW1hdGUsYW5pbWF0ZSxh
bmltYXRlLmh0bWwsbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vzc2liaWxp
dHkgdHJlZSxhbmltYXRlTW90aW9uLGFuaW1hdGVNb3Rpb24sYW5pbWF0ZU1vdGlvbi5odG1sLG5v
dCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUNCm5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUsYW5pbWF0
ZVRyYW5zZm9ybSxhbmltYXRlVHJhbnNmb3JtLGFuaW1hdGVUcmFuc2Zvcm0uaHRtbCxub3QgaW4g
YWNjZXNzaWJpbGl0eSB0cmVlDQpub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLGN1cnNvcixjdXJz
b3IsY3Vyc29yLmh0bWwsbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vzc2li
aWxpdHkgdHJlZSxkZWZzLGRlZnMsZGVmcy5odG1sLG5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUN
Cm5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUsZGlzY2FyZCxkaXNjYXJkLGRpc2NhcmQuaHRtbCxu
b3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlDQpub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLGhhdGNo
LGhhdGNoLGhhdGNoLmh0bWwsbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vz
c2liaWxpdHkgdHJlZSxoYXRjaHBhdGgsaGF0Y2hQYXRoLGhhdGNoUGF0aC5odG1sLG5vdCBpbiBh
Y2Nlc3NpYmlsaXR5IHRyZWUNCm5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUsbGluZWFyR3JhZGll
bnQsbGluZWFyR3JhZGllbnQsbGluZWFyR3JhZGllbnQuaHRtbCxub3QgaW4gYWNjZXNzaWJpbGl0
eSB0cmVlDQpub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLG1hcmtlcixtYXJrZXIsbWFya2VyLmh0
bWwsbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSxw
YXR0ZXJuLHBhdHRlcm4scGF0dGVybi5odG1sLG5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUNCm5v
dCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUscmFkaWFsR3JhZGllbnQscmFkaWFsR3JhZGllbnQscmFk
aWFsR3JhZGllbnQuaHRtbCxub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlDQpub3QgaW4gYWNjZXNz
aWJpbGl0eSB0cmVlLHNvbGlkQ29sb3Isc29saWRDb2xvcixzb2xpZENvbG9yLmh0bWwsbm90IGlu
IGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSxzdG9wLHN0b3As
c3RvcC5odG1sLG5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUNCm5vdCBpbiBhY2Nlc3NpYmlsaXR5
IHRyZWUsc3R5bGUsc3R5bGUsc3R5bGUuaHRtbCxub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlDQpu
b3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLHN5bWJvbCxzeW1ib2wsc3ltYm9sLmh0bWwsbm90IGlu
IGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSx0aXRsZSx0aXRs
ZSx0aXRsZS5odG1sLG5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUNCm5vdCBpbiBhY2Nlc3NpYmls
aXR5IHRyZWUscmVjdCxyZWN0LHJlY3QuaHRtbCxub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlDQpu
b3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLGNpcmNsZSxjaXJjbGUsY2lyY2xlLmh0bWwsbm90IGlu
IGFjY2Vzc2liaWxpdHkgdHJlZQ0Kbm90IGluIGFjY2Vzc2liaWxpdHkgdHJlZSxlbGlwc2UsZWxp
cHNlLGVsaXBzZS5odG1sLG5vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUNCm5vdCBpbiBhY2Nlc3Np
YmlsaXR5IHRyZWUsbGluZSxsaW5lLGxpbmUuaHRtbCxub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVl
DQpub3QgaW4gYWNjZXNzaWJpbGl0eSB0cmVlLGVsaXBzZSxlbGlwc2UsZWxpcHNlMS5odG1sLG5v
dCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUNCg=


--0__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A
Content-type: application/octet-stream; 
	name="extract.pl"
Content-Disposition: attachment; filename="extract.pl"
Content-ID: <3__
BBF58DDFD4283A8f9e8a93df938690918c0AB@>
Content-Transfer-Encoding: base64

IyEvdXNyL2Jpbi9wZXJsDQoNCiMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQo9aGVhZDIgcG9wdWxh
dGVfdGVzdF90ZW1wbGF0ZQ0KIA0KIFBhcmFtZXRlcnMgIDogdGVtcGxhdGUsIHRlc3RfZGVzY3Jp
cHRpb24sIHRlc3RhYmxlX3N0YXRlbWVudA0KIFJldHVybnMgICAgIDogc3RyaW5nDQogRGVzY3Jp
cHRpb24gOiBQb3B1bGF0ZXMgdGhlIHRlbXBsYXRlIHdpdGggdGhlIHRlc3QgZGVzY3JpcHRpb24g
YW5kIHRlc3RhYmxlIHN0YXRlbWVudCANCiAJCQkgICBhbmQgcmV0dXJucyB0aGUgY29tcGxldGVk
IHRlc3Qgc3RyaW5nLg0KIA0KPWN1dA0KDQpzdWIgcG9wdWxhdGVfdGVzdF90ZW1wbGF0ZSAoJCQk
KSB7DQoJbXkgJHRlbXBsYXRlID0gJF9bMF07DQoNCgkjIE9ubHkgYWRkIHRoZSB4bGluayByZWZl
cmVuY2Ugd2hlbiBuZWVkZWQsIG90aGVyaXNlIHJlbW92ZSBYTElOSyBmcm9tIHRoZSB0ZW1wbGF0
ZQ0KCWlmICggaW5kZXgoICRfWzJdLCAneGxpbmsnICkgPiAtMSApIHsNCgkJJHRlbXBsYXRlID1+
IHMvWExJTksveG1sbnM6eGxpbms9Imh0dHA6XC9cL3d3dy53My5vcmdcLzE5OTlcL3hsaW5rIiAv
Ow0KCX0NCgllbHNlIHsNCgkJJHRlbXBsYXRlID1+IHMvWExJTksvLzsNCgl9DQoNCgkkdGVtcGxh
dGUgPX4gcy9DT01NRU5ULyRfWzFdLzsNCgkkdGVtcGxhdGUgPX4gcy9URVNUQUJMRV9TVEFURU1F
TlQvJF9bMl0vOw0KDQoJcmV0dXJuICR0ZW1wbGF0ZTsNCn0NCg0KIy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vDQoNCj1oZWFkMiB3cml0ZV90ZXN0ZmlsZQ0KIA0KIFBhcmFtZXRlcnMgIDogY29udGVudHMs
IGRpcmVjdG9yeSwgdGVzdF9uYW1lLCBzdWZmaXgNCiBSZXR1cm5zICAgICA6IHRoZSBmaWxlbmFt
ZSBvZiB0aGUgdGVzdCBmaWxlDQogRGVzY3JpcHRpb24gOiB3cml0ZXMgdGhlIGNvbnRlbnRzIHRv
IGEgZmlsZSBpbiBkaXJlY3RvcnksIHRoZSBuYW1lIG9mIHRoZSBmaWxlDQoJCQkgICBpcyBkZXRl
cm1pbmVkIGZyb20gdGVzdF9uYW1lIGFuZCBzdWZmaXggaXMgYWRkZWQNCiANCj1jdXQNCg0Kc3Vi
IHdyaXRlX3Rlc3RmaWxlICgkJCQkKSB7DQoJbXkgJGNvbnRlbnRzID0gJF9bMF07DQoJY2hkaXIg
JF9bMV07DQoJbXkgJGZpbGVuYW1lID0gY3JlYXRlX2ZpbGVuYW1lKCAkX1syXSwgJF9bM10gKTsN
CglvcGVuKCBteSAkZmgsICI+OmVuY29kaW5nKFVURi04KSIsICRmaWxlbmFtZSApDQoJICB8fCBk
aWUgImNhbid0IG9wZW4gVVRGLTggZW5jb2RlZCAkZmlsZW5hbWU6ICQhIjsNCglwcmludCAkZmgg
JGNvbnRlbnRzOw0KCWNsb3NlICRmaDsNCglyZXR1cm4gJGZpbGVuYW1lOw0KfQ0KDQojLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8NCg0KPWhlYWQyIGNyZWF0ZV9maWxlbmFtZQ0KIA0KIFBhcmFtZXRlcnMg
IDogdGVzdG5hbWUsIHN1ZmZpeA0KIFJldHVybnMgICAgIDogZmlsZW5hbWUgKHVudXNlZCBpbiBj
d2QpDQogRGVzY3JpcHRpb24gOiB0cnlzIHRvIHVzZSB0aGUgZmlsZW5hbWUgKyBzdWZmaXgsIGlm
IGl0IGV4aXN0cyBpdCBhZGRzIGludGVnZXJzIHRvDQoJCQkgICBmaWxlbmFtZSB1bnRpbCBhbiB1
bnVzZWQgZmlsZW5hbWUgaXMgZm91bmQuIA0KIA0KPWN1dA0KDQpzdWIgY3JlYXRlX2ZpbGVuYW1l
KCQkKSB7DQoJbXkgJG5hbWUgICAgID0gY3JlYXRlX2ZpbGVuYW1lX2Zyb21fdGVzdG5hbWUoICRf
WzBdICk7DQoJbXkgJGl0ZXIgICAgID0gMDsNCglteSAkZmlsZW5hbWUgPSAkbmFtZSAuICRfWzFd
Ow0KDQoJIyB0ZXN0IHdoZXRoZXIgdGhlICRmaWxlbmFtZSBpcyB1bnVzZWQsIGlmIG5vdCBhZGQg
YW4gaW50ZWdlciB0byB0aGUgZW5kIG9mIHRoZSBmaWxlbmFtZQ0KCXdoaWxlICggLWUgJGZpbGVu
YW1lICkgew0KCQkkaXRlcisrOw0KCQkkZmlsZW5hbWUgPSAkbmFtZSAuICRpdGVyIC4gJF9bMV07
DQoJfQ0KDQoJcmV0dXJuICRmaWxlbmFtZTsNCn0NCg0KIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoN
Cj1oZWFkMiB0ZXN0X3R5cGUNCiANCiBQYXJhbWV0ZXJzICA6IHdpa2kgaGVhZGVyIGxpbmUNCiBS
ZXR1cm5zICAgICA6IHRlc3QgdHlwZSANCiBEZXNjcmlwdGlvbiA6IHB1bGxzIHRoZSB0ZXN0IHR5
cGUgYnkgZmluZGluZyB0aGUgd29yZCBhZnRlciBUZXN0YWJsZSBzdGF0ZW1lbnRzIGZvci4NCiAN
Cj1jdXQNCg0Kc3ViIHRlc3RfdHlwZSgkKSB7DQoJaWYgKGluZGV4KCRfWzBdLCAnbm90IGluY2x1
ZGVkIGluIGFjY2Vzc2liaWxpdHkgdHJlZScpID4gLTEpIHsNCgkJcmV0dXJuICdub3QgaW4gYWNj
ZXNzaWJpbGl0eSB0cmVlJzsNCgl9DQoJbXkgJGluZCA9IGluZGV4KCAkX1swXSwgJ2ZvcicgKTsN
CglteSAkdHlwZSA9IHN1YnN0ciggJF9bMF0sICRpbmQgKyAzICk7DQoNCgkkaW5kID0gaW5kZXgo
ICR0eXBlLCAiPT0iICk7DQoJaWYgKCAkaW5kID4gMCApIHsNCgkJJHR5cGUgPSBzdWJzdHIoICR0
eXBlLCAwLCAkaW5kICk7DQoJfQ0KCSR0eXBlID1+IHMvXlxzK3xccyskLy9nOw0KCXJldHVybiAk
dHlwZTsNCn0NCg0KIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCj1oZWFkMiBjcmVhdGVfZmlsZW5h
bWVfZnJvbV90ZXN0bmFtZQ0KIA0KIFBhcmFtZXRlcnMgIDogdGVzdG5hbWUNCiBSZXR1cm5zICAg
ICA6IGZpbGVuYW1lDQogRGVzY3JpcHRpb24gOiBjb252ZXJ0cyBhIHRlc3RuYW1lIHRvIGEgZmls
ZW5hbWUuDQogDQo9Y3V0DQoNCnN1YiBjcmVhdGVfZmlsZW5hbWVfZnJvbV90ZXN0bmFtZSgkKSB7
DQoJbXkgJHRlc3RfbmFtZSA9ICRfWzBdOw0KDQoJIyByZXBsYWNlIHdoaXRlc3BhY2Ugd2l0aCBz
aW5nbGUgdW5kZXJzY29yZQ0KCSR0ZXN0X25hbWUgPX4gcy9ccytfKi9fL2c7DQoNCgkjIHJlbW92
ZSBhbnkgbm9uLXdvcmQgY2hhcmFjdGVycw0KCSR0ZXN0X25hbWUgPX4gcy9cVy8vZzsNCg0KCSMg
dGFraW5nIG91dCB3b3JkIGFjY2Vzc2libGUgdG8gbWFrZSBuYW1lcyBzaG9ydGVyDQoJJHRlc3Rf
bmFtZSA9fiBzL18qYWNjZXNzaWJsZS8vOw0KDQoJIyB0YWtpbmcgb3V0IHdvcmQgZm9yIHRvIG1h
a2UgbmFtZXMgc2hvcnRlcg0KCSR0ZXN0X25hbWUgPX4gcy9fK2Zvcl8rLyAvOw0KDQoJIyByZW1v
dmUgYW55IHRyYWlsaW5nIHVuZGVyc2NvcmVzDQoJJHRlc3RfbmFtZSA9fiBzL18rJC8vOw0KDQoJ
IyByZW1vdmUgYW55IGxlYWRpbmcgdW5kZXJzY29yZXMNCgkkdGVzdF9uYW1lID1+IHMvXl8rLy87
DQoJcmV0dXJuICR0ZXN0X25hbWU7DQp9DQoNCj1oZWFkMiByZWFkX3Rlc3RmaWxlDQogDQogUGFy
YW1ldGVycyAgOiBmaWxlbmFtZQ0KIFJldHVybnMgICAgIDogaGFzaCBvZiBhcnJheSBvZiB0ZXN0
cywga2V5IGlzIHRlc3QgdHlwZSAocm9sZSwgbmFtZSwgZGVzY3JpcHRpb24pDQogRGVzY3JpcHRp
b24gOiBnZXRzIHRoZSB0ZXN0cyBhcyBhIGRlc2NyaXB0aW9uIFswXSBhbmQgYSB0ZXN0YWJsZSBz
dGF0ZW1lbnQgWzFdDQogDQo9Y3V0DQoNCnN1YiByZWFkX3Rlc3RmaWxlICgkKSB7DQoJb3Blbigg
RkgsICc8OmVuY29kaW5nKFVURi04KScsICRfWzBdICkgb3IgZGllICJDb3VsZCBub3Qgb3BlbiBm
aWxlICckX1swXScgJCEiOw0KCW15IEBsaW5lcyA9IDxGSD47DQoJY2xvc2UgRkggb3IgZGllICJD
YW5ub3QgY2xvc2UgJF9bMF06ICQhIjsNCg0KCW15ICVhbGx0ZXN0czsNCglteSAkdGVzdHM7DQoJ
bXkgJGNvdW50ZXIgPSAwOw0KCWZvciAoICRpID0gMCA7ICRpIDwgQGxpbmVzIDsgJGkrKyApIHsN
CgkJaWYgKCAkbGluZXNbJGldID1+IC9eXHMqPT1ccysvICYmICRsaW5lc1skaV0gPX4gL1xzKz09
JC8gKSB7DQoJCQlteSAkdHlwZSA9IHRlc3RfdHlwZSggJGxpbmVzWyRpXSApOw0KIwkJCXByaW50
ICR0eXBlLiJcbiI7DQoJCQlteSBAdGVzdHR5cGUgPSAoKTsNCgkJCSRhbGx0ZXN0c3skdHlwZX0g
PSBcQHRlc3R0eXBlOw0KCQkJJHRlc3RzID0gXEB0ZXN0dHlwZTsNCgkJCSRjb3VudGVyID0gMDsN
CgkJfQ0KCQlpZiAoICRsaW5lc1skaV0gPX4gL147XHMqXC9cLy8gKSB7DQoJCQlpZiAoICRsaW5l
c1sgJGkgKyAxIF0gPX4gL15ccyppZi8gKSB7DQoJCQkJbXkgJHRsaW5lcyA9ICRsaW5lc1sgJGkg
KyAxIF07DQoJCQkJbXkgJGluZGV4ID0gJGkgKyAyOw0KCQkJCSMgaWYgdGVzdGxpbmUgaXMgbXVs
dGlwbGUgbGluZXMsIGdhdGhlciB1cCBhbGwgbGluZXMgd2l0aCBTVkcNCgkJCQlpZiAoIGluZGV4
KCAkdGxpbmVzLCAndGhlbicgKSA9PSAtMSApIHsJCQkJCQ0KCQkJCQl3aGlsZSAoICRpbmRleCA8
IEBsaW5lcyAmJiBpbmRleCggJHRsaW5lcywgJ3RoZW4nICkgPT0gLTEgKSB7DQoJCQkJCQkkdGxp
bmVzID0gJHRsaW5lcyAuICRsaW5lc1skaW5kZXhdOw0KCQkJCQkJJGluZGV4Kys7DQoJCQkJCX0N
CgkJCQl9DQoJCQkJDQoJCQkJbXkgQHRlc3QgPSAoICRsaW5lc1skaV0sICR0bGluZXMgKTsNCgkJ
CQlAJHRlc3RzWyRjb3VudGVyXSA9IFxAdGVzdDsNCgkJCQkkY291bnRlcisrOw0KCQkJfQ0KCQl9
DQoJfQ0KCXJldHVybiAlYWxsdGVzdHM7DQp9DQoNCj1oZWFkMiBnZXRfc3ZnDQogDQogUGFyYW1l
dGVycyAgOiB0ZXN0YWJsZSBzdGF0ZW1lbnQNCiBSZXR1cm5zICAgICA6IHN2ZyAgDQogRGVzY3Jp
cHRpb24gOiBnZXRzIHRoZSBzdmcgdG8gYmUgcGxhY2VkIGluIHRoZSB0ZW1wbGF0ZQ0KIA0KPWN1
dA0KDQpzdWIgZ2V0X3N2ZygkKSB7DQoJIyBzdWJzdHJpbmcgZnJvbSB0aGUgZmlyc3QgPCB0byB0
aGUgJ3RoZW4nIGNsYXVzZQ0KCW15ICRzdGFydCA9IGluZGV4KCAkX1swXSwgJzwnICk7DQoJbXkg
JGVuZCA9IHJpbmRleCggJF9bMF0sICc+JyApICsgMTsNCglyZXR1cm4gc3Vic3RyKCAkX1swXSwg
JHN0YXJ0LCAoICRlbmQgLSAkc3RhcnQgKSApOw0KfQ0KDQo9aGVhZDIgZ2V0X2VsZW1lbnQNCiAN
CiBQYXJhbWV0ZXJzICA6IHN2Zw0KIFJldHVybnMgICAgIDogZWxlbWVudCAodHlwZSkgdXNlZCBp
biB0ZXN0ICANCiBEZXNjcmlwdGlvbiA6IHJldHVybnMgdGhlIGVsZW1lbnQgdHlwZSB3aXRoIHRo
ZSBpZD0idGVzdCINCiANCj1jdXQNCg0Kc3ViIGdldF9lbGVtZW50KCQpIHsNCgkjIGZpbmQgaWQ9
InRlc3QiDQoJbXkgJGlkID0gaW5kZXgoJF9bMF0sICdpZD0idGVzdCInKTsNCglpZiAoJGlkID09
IC0xKSB7DQoJCSMgbm90IGZvdW5kLCB0cnkgYSB3ZWFrZXIgdGVzdA0KCQkkaWQgPSBpbmRleCgk
X1swXSwgJyJ0ZXN0IicpOw0KCX0NCgkNCglteSAkc3RhcnQgPSByaW5kZXgoJF9bMF0sICc8Jywg
JGlkKSArIDE7DQoJbXkgJGVuZCA9IGluZGV4KCRfWzBdLCAiICIsICRzdGFydCk7CQ0KCXJldHVy
biBzdWJzdHIoJF9bMF0sICRzdGFydCwgJGVuZCAtICRzdGFydCk7DQp9DQoNCj1oZWFkMiBnZXRf
ZXhwZWN0ZWRfcmVzdWx0DQogDQogUGFyYW1ldGVycyAgOiB0ZXN0YWJsZSBzdGF0ZW1lbnQNCiBS
ZXR1cm5zICAgICA6IGV4cGVjdGVkIHJlc3VsdCAgDQogRGVzY3JpcHRpb24gOiBnZXRzIHRoZSBl
eHBlY3RlZCByZXN1bHQgb2YgdGhlIHRlc3RhYmxlIHN0YXRlbWVudA0KIA0KPWN1dA0KDQpzdWIg
Z2V0X2V4cGVjdGVkX3Jlc3VsdCgkKSB7DQoJbXkgJHYgPSAkX1swXTsNCglpZiAoaW5kZXgoJF9b
MF0sICdOT0FDJykgPiAtMSkgew0KCQlyZXR1cm4gJ25vdCBpbiBhY2Nlc3NpYmlsaXR5IHRyZWUn
Ow0KCX0gDQoJDQoJaWYgKGluZGV4KCRfWzBdLCAnQkxBTksnKSA+IC0xKSB7DQoJCXJldHVybiAn
bnVsbCBvciBlbXB0eSc7DQoJfSANCgkkc3RhcnQgICAgID0gcmluZGV4KCAkX1swXSwgJz0nICk7
DQoJJGFsdF9zdGFydCA9IHJpbmRleCggJF9bMF0sICcidGVzdCJccyonICk7DQoJJHN0YXJ0ID0g
KCAkYWx0X3N0YXJ0ID4gJHN0YXJ0ICkgPyAkYWx0X3N0YXJ0IDogJHN0YXJ0Ow0KCXJldHVybiBz
dWJzdHIoICRfWzBdLCAkc3RhcnQgKTsNCn0NCg0KPWhlYWQyIGNsZWFuX2Zvcl9vdXRwdXQNCiAN
CiBQYXJhbWV0ZXJzICA6IHN0cmluZyB0byBjbGVhbg0KIFJldHVybnMgICAgIDogY2xlYW5lZCBz
dHJpbmcNCiBEZXNjcmlwdGlvbiA6IGNsZWFucyBhIHN0cmluZyB0byBiZSBwdXQgaW50byBhIGNz
diBmaWxlLg0KIA0KPWN1dA0KDQpzdWIgY2xlYW5fZm9yX291dHB1dCgkKSB7DQoJJHN0cmluZyA9
ICRfWzBdOw0KDQoJIyByZXBsYWNlIGNvbW1hIHdpdGggYSBzcGFjZQ0KCSRzdHJpbmcgPX4gcy8s
Ky8gL29nOw0KDQoJIyByZW1vdmUgYW4gZXF1YWwgc2lnbg0KCSRzdHJpbmcgPX4gcy9ccyo9XHMq
Ly9vZzsNCg0KCSMgcmVtb3ZlIHF1b3Rlcw0KCSRzdHJpbmcgPX4gcy9cIipcJyovL29nOw0KDQoJ
IyByZW1vdmUgYSBuZXdsaW5lDQoJJHN0cmluZyA9fiBzL1xuKi8vb2c7DQoNCgkjIHJlbW92ZSBl
eGNlc3Mgd2hpdGVzcGFjZQ0KCSRzdHJpbmcgPX4gcy9ccysvIC9vZzsNCgkkc3RyaW5nID1+IHMv
XlxzLy9vOw0KCSRzdHJpbmcgPX4gcy9ccyQvL287DQoJcmV0dXJuICRzdHJpbmc7DQp9DQoNCj1o
ZWFkMiBhZGRfY3N2X2xpbmUNCiANCiBQYXJhbWV0ZXJzICA6IGNzdmZpbGVoYW5kbGUsIGNvbHVt
bnMNCiBSZXR1cm5zICAgICA6ICBub25lDQogRGVzY3JpcHRpb24gOiBnZXRzIHRoZSBleHBlY3Rl
ZCByZXN1bHQgb2YgdGhlIHRlc3RhYmxlIHN0YXRlbWVudA0KIA0KPWN1dA0KDQpzdWIgYWRkX2Nz
dl9saW5lKCQkJCQkJCkgew0KCW15ICRmaCAgICA9IHNoaWZ0Ow0KCW15ICRjb3VudCA9IDA7DQoJ
bXkgJGZpcnN0ID0gc2hpZnQ7DQoJbXkgJGNsZWFuX3ZhbHVlID0gY2xlYW5fZm9yX291dHB1dCgk
Zmlyc3QpOw0KCXByaW50ICRmaCAkY2xlYW5fdmFsdWU7DQoJZm9yZWFjaCAkdmFsdWUgKEBfKSB7
CQ0KCQkkY2xlYW5fdmFsdWUgPSBjbGVhbl9mb3Jfb3V0cHV0KCR2YWx1ZSk7CQkNCgkJcHJpbnQg
JGZoICcsJyAuICRjbGVhbl92YWx1ZTsNCgl9DQoJcHJpbnQgJGZoICJcbiI7DQp9DQoNCj1oZWFk
MiBhZGRfanNvbl90ZXN0X29iamVjdA0KIA0KIFBhcmFtZXRlcnMgIDogZmlsZWhhbmRsZSwNCiBS
ZXR1cm5zICAgICA6ICBub25lDQogRGVzY3JpcHRpb24gOiBnZXRzIHRoZSBleHBlY3RlZCByZXN1
bHQgb2YgdGhlIHRlc3RhYmxlIHN0YXRlbWVudA0KIA0KPWN1dA0KDQpzdWIgYWRkX2pzb25fdGVz
dF9vYmplY3QoJCQkJCQkKSB7DQoJbXkgJGZoICAgPSBzaGlmdDsNCglteSAkanNvbiA9ICJcbiAg
e1xuXHRcInRlc3RpbmdcIjpcIiI7DQoJJGpzb24gLj0gY2xlYW5fZm9yX291dHB1dCggJF9bMF0g
KTsNCgkkanNvbiAuPSAiXCIsXG5cdFwiZWxlbWVudFwiOlwiIjsNCgkkanNvbiAuPSBjbGVhbl9m
b3Jfb3V0cHV0KCAkX1sxXSApOw0KCSRqc29uIC49ICJcIixcblx0XCJhdHRyaWJ1dGVzXCI6XCIi
Ow0KCSRqc29uIC49IGNsZWFuX2Zvcl9vdXRwdXQoICRfWzJdICk7DQoJJGpzb24gLj0gIlwiLFxu
XHRcImZpbGVcIjpcIiI7DQoJJGpzb24gLj0gY2xlYW5fZm9yX291dHB1dCggJF9bM10gKTsNCgkk
anNvbiAuPSAiXCIsXG5cdFwiZXhwZWN0ZWRcIjpcIiI7DQoJJGpzb24gLj0gY2xlYW5fZm9yX291
dHB1dCggJF9bNF0gKTsNCgkkanNvbiAuPSAiXCJcbiAgfSI7DQoJcHJpbnQgJGZoICRqc29uOw0K
fQ0KDQojIG1haW4gcHJvZ3JhbQ0KDQokdGVzdF9kaXIgICAgICA9ICJjOlxcdGVzdFxcIjsNCiRo
dG1sX2RpciAgICAgID0gJHRlc3RfZGlyIC4gImh0bWxcXCI7DQokc3ZnX2RpciAgICAgICA9ICR0
ZXN0X2RpciAuICJzdmdcXCI7DQokY3N2X2ZpbGVuYW1lICA9ICR0ZXN0X2RpciAuICJzdmdfdGVz
dC5jc3YiOw0KJGpzb25fZmlsZW5hbWUgPSAkdGVzdF9kaXIgLiAic3ZndGVzdC5qc29uIjsNCm1r
ZGlyKCR0ZXN0X2RpcikgdW5sZXNzICggLWQgJHRlc3RfZGlyICk7DQpta2RpcigkaHRtbF9kaXIp
IHVubGVzcyAoIC1kICRodG1sX2RpciApOw0KbWtkaXIoJHN2Z19kaXIpICB1bmxlc3MgKCAtZCAk
c3ZnX2RpciApOw0KDQpteSAkZmlsZW5hbWUgPSAnYzpcXGJvYlxcd2lraS50eHQnOw0KbXkgJWFs
bHRlc3RzID0gcmVhZF90ZXN0ZmlsZSgkZmlsZW5hbWUpOw0KDQpteSAkaHRtbF90ZW1wbGF0ZSA9
ICc8IURPQ1RZUEUgaHRtbD4NCjxodG1sPg0KICAgPGhlYWQ+DQogICAgICA8bWV0YSBodHRwLWVx
dWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+DQog
ICAgICA8dGl0bGU+IENPTU1FTlQgPC90aXRsZT4NCiAgIDwvaGVhZD4NCiAgIDxib2R5Pg0KICAg
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIFhMSU5LID4NCiAgICAgVEVT
VEFCTEVfU1RBVEVNRU5UDQogICA8L3N2Zz4NCiAgIDwvYm9keT4NCjwvaHRtbD4nOw0KDQpteSAk
c3ZnX3RlbXBsYXRlID0gJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBY
TElOSyA+DQoJVEVTVEFCTEVfU1RBVEVNRU5UDQo8L3N2Zz4nOw0KDQojb3BlbiB0aGUgZGF0YWJh
c2Ugb2YgdGVzdHMgZmlsZXMgKGNzdiBhbmQganNvbikNCm9wZW4oIG15ICRjc3YsICI+OmVuY29k
aW5nKFVURi04KSIsICRjc3ZfZmlsZW5hbWUgKQ0KICB8fCBkaWUgImNhbid0IG9wZW4gVVRGLTgg
ZW5jb2RlZCAkY3N2X2ZpbGVuYW1lOiAkISI7DQpvcGVuKCBteSAkanNvbiwgIj46ZW5jb2Rpbmco
VVRGLTgpIiwgJGpzb25fZmlsZW5hbWUgKQ0KICB8fCBkaWUgImNhbid0IG9wZW4gVVRGLTggZW5j
b2RlZCAkanNvbl9maWxlbmFtZTogJCEiOw0KDQojIHNldHVwIHRoZSBjc3YgZmlsZSwgYWRkIGNv
bHVtbiBoZWFkZXJzDQphZGRfY3N2X2xpbmUoICRjc3YsICJURVNUSU5HIiwgIkVMRU1ORU5UIiwg
IkFUVFJJQlVURVMiLCAiRklMRSIsICJFWFBFQ1RFRCBWQUxVRSIgKTsNCg0KIyBzdGFydCB0aGUg
anNvbiBmaWxlIChvcGVuIGFuIGFycmF5KQ0KcHJpbnQgJGpzb24gIltcbiI7DQoNCiMgbWFpbiBs
b29wLCBidWlsZGluZyB0ZXN0IGZpbGVzIGFuZCBkYXRhYmFzZSBmaWxlcw0KZm9yZWFjaCBteSAk
a2V5ICgga2V5cyAlYWxsdGVzdHMgKSB7DQoJbXkgJHRlc3RzID0gJGFsbHRlc3RzeyRrZXl9Ow0K
CW15ICRjID0gMDsNCgkNCgkjIHNpbXBsaWZ5IHRoZSB0eXBlIGZvciBkYXRhYmFzZSBmaWxlcyAo
ZGVzY3JpcHRpb24sIG5hbWUsIHJvbGUpDQoJbXkgJHR5cGUgPSAka2V5Ow0KCSR0eXBlID1+IHMv
Y2FsY3VsYXRpb24vL287DQoJDQoJIyBtYWtlIHRoZSB0ZXN0ZmlsZXMgYW5kIHBvcHVsYXRlIHRo
ZSBkYXRhYmFzZSBmaWxlcw0KCWZvcmVhY2ggbXkgJHRlc3QgKEB7JGFsbHRlc3RzeyRrZXl9fSkg
ew0KICAgICAgIA0KCQlteSAkc3ZnID0gZ2V0X3N2ZyggJCR0ZXN0WzFdICk7CQ0KCQlteSAkZWxl
bWVudCA9IGdldF9lbGVtZW50KCRzdmcpOwkNCgkJbXkgJGNvbW1lbnQgID0gJCR0ZXN0WzBdOw0K
CQkkY29tbWVudCA9fiBzLztccypcL1wvLy87DQoJCQ0KCQkjIG1ha2UgdGhlIEhUTUwgdGVzdCBm
aWxlDQoJCW15ICRoID0gcG9wdWxhdGVfdGVzdF90ZW1wbGF0ZSggJGh0bWxfdGVtcGxhdGUsICRj
b21tZW50LCAkc3ZnICk7DQoJCW15ICRodG1sX2ZpbGVuYW1lID0gd3JpdGVfdGVzdGZpbGUoICRo
LCAkaHRtbF9kaXIsICQkdGVzdFswXSwgIi5odG1sIiApOw0KCQkNCgkJIyBtYWtlIHRoZSBTVkcg
dGVzdCBmaWxlDQoJCW15ICRzID0gcG9wdWxhdGVfdGVzdF90ZW1wbGF0ZSggJHN2Z190ZW1wbGF0
ZSwgJGNvbW1lbnQsICRzdmcgKTsNCgkJbXkgJGZpbGVuYW1lID0gd3JpdGVfdGVzdGZpbGUoICRz
LCAkc3ZnX2RpciwgJCR0ZXN0WzBdLCAiLnN2ZyIgKTsNCgkJDQoJCSMgYWRkIHRoZSB0ZXN0IHRv
IHRoZSBjc3YgKEhUTUwpIGRhdGFiYXNlIGZpbGUNCgkJbXkgJGV4cGVjdGVkID0gZ2V0X2V4cGVj
dGVkX3Jlc3VsdCggJCR0ZXN0WzFdICk7DQoJCWFkZF9jc3ZfbGluZSggJGNzdiwgJHR5cGUsICRl
bGVtZW50LCAkY29tbWVudCwgJGh0bWxfZmlsZW5hbWUsICRleHBlY3RlZCApOw0KDQoJCSMgYWRk
IHRoZSB0ZXN0IHRvIHRoZSBKU09OIChIVE1MKSBkYXRhYmFzZSBmaWxlDQoJCWlmICggJGMgPiAw
ICkgew0KCQkJcHJpbnQgJGpzb24gJywnOw0KCQl9DQoJCWFkZF9qc29uX3Rlc3Rfb2JqZWN0KCAk
anNvbiwgJHR5cGUsICRlbGVtZW50LCAkY29tbWVudCwgJGh0bWxfZmlsZW5hbWUsICRleHBlY3Rl
ZCApOw0KCQkkYyA9IDE7DQoJfQ0KfQ0KDQojIGZpbmlzaCBhbmQgY2xvc2UgdGhlIEpTT04gZGF0
YWJhc2UgZmlsZQ0KcHJpbnQgJGpzb24gIlxuXSI7DQpjbG9zZSAkanNvbjsNCiMgY2xvc2UgdGhl
IGNzdiBkYXRhYmFzZSBmaWxlDQpjbG9zZSAkY3N2Ow0KDQpwcmludCAncHJvZ3JhbSBleGl0ZWQg
bm9ybWFsbHknOw0K


--0__
BBF58DDFD4283A8f9e8a93df938690918c0ABBF58DDFD4283A--

Received on Thursday, 17 December 2015 14:01:47 UTC