<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>108901</bug_id>
          
          <creation_ts>2013-02-04 21:40:30 -0800</creation_ts>
          <short_desc>Adds the WebGL Conformance Tests attrib folder.</short_desc>
          <delta_ts>2013-03-01 02:52:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>falken</cc>
    
    <cc>kadam</cc>
    
    <cc>kbr</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>825120</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-04 21:40:30 -0800</bug_when>
    <thetext>Adds the WebGL Conformance Tests attrib folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825121</commentid>
    <comment_count>1</comment_count>
      <attachid>186542</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-04 21:40:48 -0800</bug_when>
    <thetext>Created attachment 186542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825599</commentid>
    <comment_count>2</comment_count>
      <attachid>186542</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-05 10:26:58 -0800</bug_when>
    <thetext>Comment on attachment 186542
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186542&amp;action=review

This is fantastic. One minor issue. r=me

&gt; LayoutTests/platform/chromium/TestExpectations:1434
&gt; +crbug.com/172368 webgl/conformance/attribs/gl-vertex-attrib-zero-issues.html [ Skip ]

This isn&apos;t the correct bug ID. Could you update it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825684</commentid>
    <comment_count>3</comment_count>
      <attachid>186670</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-05 11:56:02 -0800</bug_when>
    <thetext>Created attachment 186670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825757</commentid>
    <comment_count>4</comment_count>
      <attachid>186689</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-05 13:14:06 -0800</bug_when>
    <thetext>Created attachment 186689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826110</commentid>
    <comment_count>5</comment_count>
      <attachid>186765</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-05 23:38:21 -0800</bug_when>
    <thetext>Created attachment 186765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826114</commentid>
    <comment_count>6</comment_count>
      <attachid>186768</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-05 23:42:17 -0800</bug_when>
    <thetext>Created attachment 186768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826115</commentid>
    <comment_count>7</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-05 23:42:59 -0800</bug_when>
    <thetext>Committed r141971: &lt;http://trac.webkit.org/changeset/141971&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826196</commentid>
    <comment_count>8</comment_count>
    <who name="Ádám Kallai">kadam</who>
    <bug_when>2013-02-06 01:15:54 -0800</bug_when>
    <thetext>Three webgl tests fail on Qt. The last one landed in r141911. Do you have any idea? Thanks.

 * webgl/conformance/attribs/gl-vertex-attrib-render.html

--- /ramdisk/qt-linux-64-release/build/layout-test-results/webgl/conformance/attribs/gl-vertex-attrib-render-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/webgl/conformance/attribs/gl-vertex-attrib-render-actual.txt 
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/attribs/gl-vertex-attrib-render.html
-PASS
+FAIL
 
 * webgl/conformance/attribs/gl-vertexattribpointer-offsets.html

--- /ramdisk/qt-linux-64-release/build/layout-test-results/webgl/conformance/attribs/gl-vertexattribpointer-offsets-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/webgl/conformance/attribs/gl-vertexattribpointer-offsets-actual.txt 
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer-offsets.html
-PASS
+FAIL

 * webgl/conformance/misc/delayed-drawing.html

--- /ramdisk/qt-linux-64-release/build/layout-test-results/webgl/conformance/misc/delayed-drawing-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/webgl/conformance/misc/delayed-drawing-actual.txt 
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/misc/delayed-drawing.html
-PASS
+FAIL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826407</commentid>
    <comment_count>9</comment_count>
    <who name="Ádám Kallai">kadam</who>
    <bug_when>2013-02-06 06:44:52 -0800</bug_when>
    <thetext>I forgot something: stderr contains: &quot;failed to create drawable.&quot; By the way WebGL is disabled on Qt so webgl tests shouldn&apos;t be run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826495</commentid>
    <comment_count>10</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 09:10:33 -0800</bug_when>
    <thetext>Sorry about that.

This patch is supposed to make it skip ports that don&apos;t support WebGL.

Any idea why this isn&apos;t working for qt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826496</commentid>
    <comment_count>11</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 09:10:53 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Sorry about that.
&gt; 
&gt; This patch is supposed to make it skip ports that don&apos;t support WebGL.

Oops:
https://bugs.webkit.org/show_bug.cgi?id=108705

&gt; 
&gt; Any idea why this isn&apos;t working for qt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826803</commentid>
    <comment_count>12</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-02-06 15:34:44 -0800</bug_when>
    <thetext>Hi do you mind adding any webgl tests in to the Windows skip list? LayoutTests/platform/win/TestExpectations

There should be a section with disabled webgl tests.
I&apos;ve added some of the recently added conformance tests to it but it looks like there are sitll more rolling in.
http://build.webkit.org/results/Apple%20Win%207%20Release%20(Tests)/r141971%20(32095)/results.html

Could you skip those and any future webgl-conformance tests added? Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826830</commentid>
    <comment_count>13</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 15:59:57 -0800</bug_when>
    <thetext>Do you need all WebGL tests disabled in Windows or just the tests that fail on mac?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826834</commentid>
    <comment_count>14</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-02-06 16:04:18 -0800</bug_when>
    <thetext>All of em! WebGL isn&apos;t implement on the Apple Windows port :(...
Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826966</commentid>
    <comment_count>15</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-06 18:32:40 -0800</bug_when>
    <thetext>gl-vertexattribpointer.html is timing out on Debug Chromium bots. I&apos;ll mark it in TestExpectations.

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20chromium.org&amp;tests=webgl%2Fconformance%2Fattribs%2Fgl-vertexattribpointer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826967</commentid>
    <comment_count>16</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 18:34:58 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; gl-vertexattribpointer.html is timing out on Debug Chromium bots. I&apos;ll mark it in TestExpectations.
&gt; 
&gt; http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20chromium.org&amp;tests=webgl%2Fconformance%2Fattribs%2Fgl-vertexattribpointer.html

can you mark it as slow? It is a slow test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826994</commentid>
    <comment_count>17</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-06 18:54:04 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; can you mark it as slow? It is a slow test.

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844991</commentid>
    <comment_count>18</comment_count>
      <attachid>186768</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-01 02:52:17 -0800</bug_when>
    <thetext>Comment on attachment 186768
Patch

Cleared review? from attachment 186768 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186542</attachid>
            <date>2013-02-04 21:40:48 -0800</date>
            <delta_ts>2013-02-05 11:56:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108901-20130204213727.patch</filename>
            <type>text/plain</type>
            <size>53973</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FjN2M2ZTYzMjYwY2RmNjY0NTgy
MWY3ZTQzZGRiMDY0NmY2NzQ0ZS4uOGYzOWFiNmQzOWE0N2NjMWE4NTE5NDI5ZmYwNzJjYTY4NTgy
OTcwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTA0ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdHMgYXR0cmliIGZvbGRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwODkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZl
cnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4
LWF0dHJpYi1yZW5kZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXpl
cm8taXNzdWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50
ZXItb2Zmc2V0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9hdHRyaWJzLzAwX3Rlc3RfbGlzdC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wt
ZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0
ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0
dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBv
aW50ZXIuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMDQgIEdyZWdnIFRhdmFyZXMgIDxnbWFuQGdv
b2dsZS5jb20+CiAKICAgICAgICAgQWRkIFN1cHBvcnQgRmlsZXMgZm9yIFdlYkdMIENvbmZvcm1h
bmNlIFRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBhZjdiOTM5NGM5YzgzNzc0OGQzYmNjMzcyNmExMWZjMTcyNGJiZThlLi4yM2M0
ZmQ1MzVhNzhhMjNkOTI0M2UxZTY0ZmI5NDg2Y2RiZjFiZGIyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MjksNiArMTQyOSwxMSBA
QCB3ZWJraXQub3JnL2IvNzUyNzYgWyBBbmRyb2lkIF0gZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0
aXBsZS1zdHJpY3QtaG9yaXpvbnRhbC5odAogd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5kcm9pZCBd
IGZhc3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZlcnRpY2FsLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBXZWJHTCBUZXN0cworIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
Y3JidWcuY29tLzE3MjM2OCB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRy
aWItemVyby1pc3N1ZXMuaHRtbCBbIFNraXAgXQorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIE90aGVyIGZhaWx1
cmVzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRy
aWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3YjAyYjQ5YWQyYzdlMWYwMTU2NDhmODQ2YTI1
ZTc3MTUyMGFiYzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVy
dGV4LWF0dHJpYi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZGM0YTgyOTYwZTVjMDI5N2NmZTdlMGQwYWY4YjMwOTBlYmYyZWMy
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IGdsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1l
bmFibGUtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGZkYjIzYmJkMWYz
NDMyOTRkYjIyOTY0Y2Q1MWRjY2QyY2Q4ZDEwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0
ZXgtYXR0cmliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE2ZDczMTkyZGVlMjhhYjUzYzdhODM3NDMxYjRk
MGFmMjBlMTRmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciBnbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0
dHJpYi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc1MjQ5MjZhNDdhZDAxYmViYWM5NzE2ZjMy
NDQ3OGVmY2JiMzFiNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ODMwNmFlNzE4NzI0YzczZGNkZmRmMjA4NDE4ODdmN2MyZTZjZTIzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXgtYXR0cmliLXJlbmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmNj
M2Y3MmIxMWJmY2M4MGM5MGE1MjVmODc5NDgzM2VjN2Q3NGM2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJl
bmRlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZlcnRleC1hdHRyaWItcmVuZGVy
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYThlYWU1ZDk1ZTgyMmVlZWQ2MDJhOTI3NjA2ODg1YzMx
YTM2MWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIt
emVyby1pc3N1ZXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJv
LWlzc3Vlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxZDQ2OTBmOTQ0NzdkZDE2OTcxMjZiZDVhMDYzNGRj
NDg0ZmNhMjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBnbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LXZlcnRleC1hdHRyaWIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiYjBkOTM5OGZjOWM3OWJmNWRi
MTRiN2RjY2U3M2UxZjFlYmE3NDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBnbC12ZXJ0ZXgtYXR0cmliLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRy
aWIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9h
dHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lN2M5YmFiOWJmYTAzYzMyYjEyZThkMmE1YmQ5MGUwYjQ4ZDk2MjUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkyOTJiODAyZjAxZDI4ZTIxYTVjZmZhMDExNjdi
NDBhNmNhN2JmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0
dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0
dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1Mzg0YWY4ODBjODJlMjg0NDUz
NmU3MjdiMGViMWYzOWYzMmE0YjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNl
dHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmli
cG9pbnRlci1vZmZzZXRzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZGY0YmY5Nzg0N2MwZDBkYThiMmVkMmZjZGUyYTkwYTRkZTQzNzBkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtdmVy
dGV4YXR0cmlicG9pbnRlci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRy
aWJwb2ludGVyLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90ZXN0X2xpc3QudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvYXR0cmlicy8wMF90ZXN0X2xpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1OGJiNjVhZjJkMmYxODU0
MjhhMjFiZjIxOTQyYjNjODlmZDRjYWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzLzAwX3Rl
c3RfbGlzdC50eHQKQEAgLTAsMCArMSw4IEBACitnbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1s
CistLW1pbi12ZXJzaW9uIDEuMC4yIGdsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKKy0tbWlu
LXZlcnNpb24gMS4wLjIgZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sCitnbC12ZXJ0ZXgt
YXR0cmliLXplcm8taXNzdWVzLmh0bWwKK2dsLXZlcnRleC1hdHRyaWIuaHRtbAorZ2wtdmVydGV4
YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWwKK2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmODA4MWZj
YWIyYTAzMjkxNmJmNGJlZDY0NzEzM2RlYTM1NzlhNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDEwMSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgRGlzYWJs
ZWQgVmVydGV4IEF0dHJpYiBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+Cis8L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZl
YzQgYV9wb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWM0IGFfY29sb3I7Cit2YXJ5aW5nIHZlYzQgdl9j
b2xvcjsKK3ZvaWQgbWFpbigpIHsKKyAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICB2X2Nv
bG9yID0gYV9jb2xvcjsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWlu
ZyB2ZWM0IHZfY29sb3I7Citib29sIGlzQ29ycmVjdENvbG9yKHZlYzQgdikgeworICByZXR1cm4g
di54ID09IDAuMCAmJiB2LnkgPT0gMC4wICYmIHYueiA9PSAwLjAgJiYgdi53ID09IDEuMDsKK30K
K3ZvaWQgbWFpbigpIHsKKyAgZ2xfRnJhZ0NvbG9yID0gaXNDb3JyZWN0Q29sb3Iodl9jb2xvcikg
PyB2ZWM0KDAsIDEsIDAsIDEpIDogdmVjNCgxLCAwLCAwLCAxKTsKK30KKzwvc2NyaXB0PgorCis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworZGVzY3Jp
cHRpb24oKTsKKwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCit2
YXIgbnVtVmVydGV4QXR0cmlicyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVkVSVEVYX0FUVFJJ
QlMpOworZm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVZlcnRleEF0dHJpYnM7ICsraWkpIHsKKyAg
dmFyIGNvbG9yTG9jYXRpb24gPSAoaWkgKyAxKSAlIG51bVZlcnRleEF0dHJpYnM7CisgIHZhciBw
b3NpdGlvbkxvY2F0aW9uID0gY29sb3JMb2NhdGlvbiA/IDAgOiAxOworCisgIGlmIChwb3NpdGlv
bkxvY2F0aW9uICE9IDApIHsKKyAgICAvLyBXZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyAzZCBjb250
ZXh0IGZvciB0ZXN0aW5nIGF0dHJpYiAwCisgICAgLy8gc2luY2Ugd2UndmUgYWxyZWFkeSBlZmZl
Y3RlZCBhdHRyaWIgMCBvbiBvdGhlciB0ZXN0cy4KKyAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoKTsKKyAgfQorCisgIGRlYnVnKCJ0ZXN0aW5nIGF0dHJpYjogIiArIGNvbG9yTG9jYXRpb24p
OworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwKKyAgICAgIFsn
dnNoYWRlcicsICdmc2hhZGVyJ10sCisgICAgICBbJ2FfcG9zaXRpb24nLCAnYV9jb2xvciddLAor
ICAgICAgW3Bvc2l0aW9uTG9jYXRpb24sIGNvbG9yTG9jYXRpb25dKTsKKyAgdmFyIGdyaWRSZXMg
PSAxOworICB3dHUuc2V0dXBRdWFkKGdsLCBncmlkUmVzLCBwb3NpdGlvbkxvY2F0aW9uKTsKKyAg
d3R1LmRyYXdJbmRleGVkUXVhZChnbCwgZ3JpZFJlcyk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwg
WzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworfQorZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsKKwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzk3MDNhMGE1YTk1NmZjZDY5
NDE1YWRhZDMxNWJlM2QyMTllYTVkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5h
YmxlLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDgzIEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBFbmFibGUgVmVydGV4
IEF0dHJpYiBUZXN0PC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorPC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBh
dHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAg
IGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlk
PSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lkIG1haW4oKQor
ICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLjAsMC4wLDAuMCwxLjApOworICAg
IH0KKzwvc2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oInRl
c3RzIHRoYXQgdHVybmluZyBvbiBhdHRyaWJzIHRoYXQgaGF2ZSBubyBidWZmZXIgYm91bmQgZmFp
bHMgdG8gZHJhdyIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFt
KGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKwordmFyIHZlcnRl
eE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZG
RVIsIHZlcnRleE9iamVjdCk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZs
b2F0MzJBcnJheShbIDAsMC41LDAsIC0wLjUsLTAuNSwwLCAwLjUsLTAuNSwwIF0pLCBnbC5TVEFU
SUNfRFJBVyk7CitnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKK2dsLnZlcnRleEF0dHJp
YlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkoMyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworZ2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0
ZXgtYXR0cmliLXJlbmRlci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIyY2ZjZjkxZTU0NzNiMzcwYTNhZDg2ZWZkMzhkZDk2ODM1MzE3ZmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwK
QEAgLTAsMCArMSwxMTEgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBpZD0ndnNoYWRlcicgdHlwZT0neC1zaGFkZXInPgorICAgICAgICAgICAgYXR0
cmlidXRlIHZlYzQgYTsKKyAgICAgICAgICAgIGF0dHJpYnV0ZSB2ZWMyIHA7CisgICAgICAgICAg
ICB2b2lkIG1haW4oKSB7CisgICAgICAgICAgICAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHAueCAr
IGEueCArIGEueSArIGEueiArIGEudywgcC55LCAwLjAsIDEuMCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IGlkPSdmc2hhZGVyJyB0eXBlPSd4LXNo
YWRlcic+CisgICAgICAgICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICAgICAgICAg
IHZvaWQgbWFpbigpIHsKKyAgICAgICAgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwg
MC4wLCAwLjAsIDEuMCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAgZnVuY3Rp
b24gY2hlY2tSZWRQb3J0aW9uKGdsLCB3LCBsb3csIGhpZ2gpIHsKKyAgICAgICAgICAgICAgICB2
YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkodyAqIHcgKiA0KTsKKyAgICAgICAgICAgICAgICBnbC5y
ZWFkUGl4ZWxzKDAsIDAsIHcsIHcsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7Cisg
ICAgICAgICAgICAgICAgdmFyIGkgPSAwOworICAgICAgICAgICAgICAgIGZvciAoOyBpIDwgdzsg
KytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChidWZbaSAqIDQgKyAwXSA9PSAyNTUgJiYg
YnVmW2kgKiA0ICsgMV0gPT0gMCAmJiBidWZbaSAqIDQgKyAyXSA9PSAwICYmIGJ1ZltpICogNCAr
IDNdID09IDI1NSkgeworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIGxv
dyA8PSBpICYmIGkgPD0gaGlnaDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
CisgICAgICAgICAgICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgndGVzdGJlZCcs
IHsgcHJlc2VydmVEcmF3aW5nQnVmZmVyIDogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICBpZiAo
IWdsKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2NvdWxkIG5vdCBjcmVhdGUg
Y29udGV4dCcpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyd2
c2hhZGVyJywgJ2ZzaGFkZXInXSwgWydwJywgJ2EnXSkKKworICAgICAgICAgICAgICAgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KGdsLnApOworICAgICAgICAgICAgICAgIHZhciBwb3MgPSBn
bC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAgICAgICBwb3MudHlwZSA9IGdsLkZMT0FUOwor
ICAgICAgICAgICAgICAgIHBvcy5zaXplID0gMjsKKyAgICAgICAgICAgICAgICBwb3MubnVtID0g
NDsKKyAgICAgICAgICAgICAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgcG9zKTsK
KyAgICAgICAgICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0
MzJBcnJheShbLTEsIC0xLCAxLCAtMSwgLTEsIDEsIDEsIDFdKSwgZ2wuU1RBVElDX0RSQVcpOwor
CisgICAgICAgICAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCBwb3Muc2l6ZSwgcG9z
LnR5cGUsIGZhbHNlLCAwLCAwKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCdUZXN0IHZlcnRl
eEF0dHJpYlsxLi40XWZ2IGJ5IHNldHRpbmcgZGlmZmVyZW50IGNvbWJpbmF0aW9ucyB0aGF0IGFk
ZCB1cCB0byAxLjUgYW5kIHVzZSB0aGF0IHdoZW4gcmVuZGVyaW5nLicpOworICAgICAgICAgICAg
ICAgIHZhciB2YWxzID0gW1swLjVdLCBbMC4xLDAuNF0sIFswLjIsLTAuMiwwLjVdLCBbLTEuMCww
LjMsMC4yLDIuMF1dOworCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCA0OyAr
K2opIHsKKyAgICAgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8
IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgICAgICAgICBnbFsndmVydGV4QXR0
cmliJyArIChqKzEpICsgJ2Z2J10oMSwgdmFsc1tqXSk7CisgICAgICAgICAgICAgICAgICAgIGds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVfU1RSSVAsIDAsIHBvcy5udW0pOworCisgICAgICAgICAg
ICAgICAgICAgIGlmIChjaGVja1JlZFBvcnRpb24oZ2wsIDUwLCA1MCAqIDAuNywgNTAgKiAwLjgp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdBdHRyaWJ1dGUgb2Ygc2l6
ZSAnICsgKGorMSkgKyAnIHdhcyBzZXQgY29ycmVjdGx5Jyk7CisgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdBdHRyaWJ1dGUg
b2Ygc2l6ZSAnICsgKGorMSkgKyAnIHdhcyBub3Qgc2V0IGNvcnJlY3RseScpOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxjYW52YXMgaWQ9InRl
c3RiZWQiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbignVmVyaWZ5IHRoYXQgdXNpbmcgY29uc3RhbnQgYXR0cmlidXRlcyB3b3Jrcy4n
KTsKKyAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWQ4OTg0OTNmMTQwNDQ2YjYyOTA4ZDM5NjhiMTJmZjJjMGJiZGVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCkBAIC0wLDAg
KzEsMTUzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBFbmFibGUgVmVydGV4IEF0dHJpYiBaZXJvIFRlc3Q8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUw
Ij4KKzwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CisgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAg
eworICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9p
ZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLDEuMCwwLjAs
MS4wKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2Ny
aXB0aW9uKCJUZXN0IHNvbWUgb2YgdGhlIGlzc3VlcyBvZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVu
IGF0dHJpYiAwIG9uIE9wZW5HTCB2cyBXZWJHTCIpOworZGVidWcoIiIpOwordmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwor
dmFyIGdfcHJvZ3JhbTsKK3ZhciBnX2F0dHJpYkxvY2F0aW9uOworZnVuY3Rpb24gc2V0dXAoYXR0
cmliSW5kZXgpIHsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2ws
IFsndnNoYWRlcicsICdmc2hhZGVyJ10sIFsndlBvc2l0aW9uJ10sIFthdHRyaWJJbmRleF0pOwor
ICBnX3Byb2dyYW0gPSBwcm9ncmFtOworICBnX2F0dHJpYkxvY2F0aW9uID0gYXR0cmliSW5kZXg7
CisgIHNob3VsZEJlKCJnX2F0dHJpYkxvY2F0aW9uIiwgImdsLmdldEF0dHJpYkxvY2F0aW9uKGdf
cHJvZ3JhbSwgJ3ZQb3NpdGlvbicpIik7CisgIHJldHVybiBwcm9ncmFtOworfQorCitmdW5jdGlv
biBzZXR1cFZlcnRzKG51bVZlcnRzKSB7CisgIHZhciB2ZXJ0cyA9IFsKKyAgICAgMS4wLCAgMS4w
LCAwLjAsCisgICAgLTEuMCwgIDEuMCwgMC4wLAorICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAg
MS4wLCAgMS4wLCAwLjAsCisgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAxLjAsIC0xLjAsIDAu
MAorICBdOworICB2YXIgcG9zaXRpb25zID0gbmV3IEZsb2F0MzJBcnJheShudW1WZXJ0cyAqIDMp
OworICB2YXIgaW5kaWNlcyA9IG5ldyBVaW50MTZBcnJheShudW1WZXJ0cyk7CisgIGZvciAodmFy
IGlpID0gMDsgaWkgPCBudW1WZXJ0czsgKytpaSkgeworICAgIHZhciBuZHggPSBpaSAlIDY7Cisg
ICAgdmFyIGRzdCA9IGlpICogMzsKKyAgICB2YXIgc3JjID0gbmR4ICogMzsKKyAgICBmb3IgKHZh
ciBqaiA9IDA7IGpqIDwgMzsgKytqaikgeworICAgICAgcG9zaXRpb25zW2RzdCArIGpqXSA9IHZl
cnRzW3NyYyArIGpqXTsKKyAgICB9CisgICAgaW5kaWNlc1tpaV0gPSBpaTsKKyAgfQorICB2YXIg
dmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwgcG9zaXRpb25zLCBnbC5TVEFUSUNfRFJBVyk7CisgIHZhciBpbmRleEJ1ZmZlciA9IGdsLmNy
ZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBp
bmRleEJ1ZmZlcik7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGlu
ZGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKK30KKwordmFyIHAwID0gc2V0dXAoMCk7Cit2YXIgcDMg
PSBzZXR1cCgzKTsKK3NldHVwVmVydHMoNjAwMDApOworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwg
NTsgKytpaSkgeworICAvLyB0ZXN0IGRyYXdpbmcgd2l0aCBhdHRyaWIgMAorICBnbC51c2VQcm9n
cmFtKHAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgIGdsLnZlcnRleEF0
dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuY2xlYXIoZ2wu
Q09MT1JfQlVGRkVSX0JJVCk7CisgIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYwMDAw
LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7CisgIGdsRXJyb3JTaG91bGRCZSgKKyAgICAgIGdsLCBn
bC5OT19FUlJPUiwKKyAgICAgICJkcmF3aW5nIHVzaW5nIGF0dHJpYiAwIHdpdGggNiB2ZXJ0cyIp
OworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJjYW52YXMgc2hvdWxk
IGJlIGdyZWVuIik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKworICAvLyB0
ZXN0IGRyYXdpbmcgd2l0aG91dCBhdHRyaWIgMAorICBnbC51c2VQcm9ncmFtKHAzKTsKKyAgZ2wu
ZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMywg
MywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCk7CisgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2MDAwMCk7CisgIGdsRXJyb3JT
aG91bGRCZSgKKyAgICAgIGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICJkcmF3aW5nIHVzaW5nIGF0
dHJpYiAzIHdpdGggNjAwMDAgdmVydHMiKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1
LCAwLCAyNTVdLCAiY2FudmFzIHNob3VsZCBiZSBncmVlbiIpOworICBnbC5kaXNhYmxlVmVydGV4
QXR0cmliQXJyYXkoMyk7CisKKyAgLy8gVGhpcyBzZWNvbmQgdGVzdCBvZiBkcmF3aW5nIHdpdGhv
dXQgYXR0cmliMCB1bmNvbnZlcmVkIGEgYnVnIGluIGNocm9tZQorICAvLyB3aGVyZSBhZnRlciB0
aGUgZHJhdyB3aXRob3V0IGF0dHJpYjAgdGhlIGF0dHJpYiAwIGVtdWxhdGlvbiBjb2RlIGRpc2Fi
bGVkCisgIC8vIGF0dHJpYiAwIGFuZCBpdCB3YXMgbmV2ZXIgcmUtZW5hYmxlZCBzbyB0aGlzIG5l
eHQgZHJhdyBmYWlsZWQuCisgIGdsLnVzZVByb2dyYW0ocDMpOworICBnbC5lbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheSgzKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgIGdsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYwMDAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7Cisg
IGdsRXJyb3JTaG91bGRCZSgKKyAgICAgIGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICJkcmF3aW5n
IHVzaW5nIGF0dHJpYiAzIHdpdGggNjAwMDAgdmVydHMiKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbMCwgMjU1LCAwLCAyNTVdLCAiY2FudmFzIHNob3VsZCBiZSBncmVlbiIpOworICBnbC5kaXNh
YmxlVmVydGV4QXR0cmliQXJyYXkoMyk7Cit9CisKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ5Y2FhYTMzNmY3OWU4ZWRlOGUxNTI2M2Y4NjA1ZDc1NTcxZWQxNGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsx
LDExOSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgdmVydGV4QXR0cmliIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2Fu
dmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5z
dXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgdmVydGV4QXR0cmliIGNhbiBiZSBzZXQgYW5kIHJl
YWQuIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52
YXMiKTsKK2lmICghZ2wpIHsKKyAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIp
OworfSBlbHNlIHsKKyAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICBkZWJ1Zygi
Iik7CisgIGRlYnVnKCJDaGVja2luZyBnbC52ZXJ0ZXhBdHRyaWIuIik7CisKKyAgdmFyIG51bVZl
cnRleEF0dHJpYnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9BVFRSSUJTKTsKKyAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVZlcnRleEF0dHJpYnM7ICsraWkpIHsKKyAgICBnbC52
ZXJ0ZXhBdHRyaWIxZnYoaWksIFsxXSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzEnKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQilbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyAr
IGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsyXScsICcwJyk7CisgICAgc2hvdWxk
QmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRS
SUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZlcnRleEF0dHJpYjJmdihpaSwgWzEsIDJdKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVS
VEVYX0FUVFJJQilbMF0nLCAnMScpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
JyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICcyJyk7CisgICAgc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9B
VFRSSUIpWzJdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBp
aSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wudmVy
dGV4QXR0cmliM2Z2KGlpLCBbMSwgMiwgM10pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzFdJywgJzInKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMycpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWI0ZnYoaWksIFsxLCAyLCAz
LCA0XSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5D
VVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzEnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVy
dGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnMicp
OworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVO
VF9WRVJURVhfQVRUUklCKVsyXScsICczJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzQnKTsKKwor
ICAgIGdsLnZlcnRleEF0dHJpYjFmKGlpLCA1KTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMF0nLCAnNScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsxXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzJdJywgJzAnKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wudmVydGV4QXR0cmliMmYoaWksIDYsIDcpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVswXScsICc2Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzFdJywgJzcnKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQilbMl0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyAr
IGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVszXScsICcxJyk7CisKKyAgICBnbC52
ZXJ0ZXhBdHRyaWIzZihpaSwgNywgOCwgOSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzcnKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVS
VEVYX0FUVFJJQilbMV0nLCAnOCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
JyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsyXScsICc5Jyk7CisgICAgc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9B
VFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZlcnRleEF0dHJpYjRmKGlpLCA2LCA3LCA4LCA5
KTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJF
TlRfVkVSVEVYX0FUVFJJQilbMF0nLCAnNicpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICc3Jyk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzJdJywgJzgnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnOScpOworICB9Cisg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitkZWJ1ZygiIik7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRlNjI4MzVkZGI0NDRkMWI4ZDJmZTM1NDk0ZDNlZjRkMDEwY2YzNzkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCkBAIC0w
LDAgKzEsMTgyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
ICAgIDx0aXRsZT52ZXJ0ZXhhdHRyaWJwb2ludGVyIG9mZnNldHMgdGVzdDwvdGl0bGU+CisgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMi
PiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj4KK1RoZXJlIGlzIHN1cHBvc2VkIHRvIGJlIGFuIGV4YW1w
bGUgZHJhd2luZyBoZXJlLCBidXQgaXQncyBub3QgaW1wb3J0YW50LgorPC9jYW52YXM+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICAgIGF0
dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKworICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21l
bnQiPgorICAgICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICAgICAgdW5pZm9ybSB2
ZWM0IGNvbG9yOworICAgICAgICB2b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBn
bF9GcmFnQ29sb3IgPSBjb2xvcjsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNj
cmlwdD4KKyAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oInRlc3QgdmVydGV4YXR0cmlicG9pbnRl
ciBvZmZzZXRzIHdvcmsiKTsKKworICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworICAgICAgICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwor
ICAgICAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIi
LCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKworICAgICAgICAgICAgdmFyIHRlc3RzID0g
WworICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBGbG9hdDMyQXJyYXkoWyAwLCAxLCAwLCAxLCAw
LCAwLCAwLCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLkZMT0FULAorICAgICAg
ICAgICAgICAgIGNvbXBvbmVudFNpemU6IDQsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiBm
YWxzZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgRmxvYXQz
MkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0
eXBlOiBnbC5GTE9BVCwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiA0LAorICAgICAg
ICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgIHsgZGF0YTogbmV3IFVpbnQxNkFycmF5KFsgMCwgMzI3NjcsIDAsIDMyNzY3LCAwLCAwLCAw
LCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlNIT1JULAorICAgICAgICAgICAg
ICAgIGNvbXBvbmVudFNpemU6IDIsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0cnVlLAor
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50MTZBcnJheShb
IDAsIDY1NTM1LCAwLCA2NTUzNSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0
eXBlOiBnbC5VTlNJR05FRF9TSE9SVCwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAy
LAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwKKyAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWludDE2QXJyYXkoWyAwLCAxLCAwLCAxLCAwLCAwLCAw
LCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JULAorICAg
ICAgICAgICAgICAgIGNvbXBvbmVudFNpemU6IDIsCisgICAgICAgICAgICAgICAgbm9ybWFsaXpl
OiBmYWxzZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWlu
dDE2QXJyYXkoWyAwLCAxLCAwLCAxLCAwLCAwLCAwLCAwLCAwIF0pLAorICAgICAgICAgICAgICAg
IHR5cGU6IGdsLlNIT1JULAorICAgICAgICAgICAgICAgIGNvbXBvbmVudFNpemU6IDIsCisgICAg
ICAgICAgICAgICAgbm9ybWFsaXplOiBmYWxzZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgeyBkYXRhOiBuZXcgVWludDhBcnJheShbIDAsIDEyNywgMCwgMTI3LCAwLCAwLCAwLCAw
LCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLkJZVEUsCisgICAgICAgICAgICAgICAg
Y29tcG9uZW50U2l6ZTogMSwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRydWUsCisgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAy
NTUsIDAsIDI1NSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5V
TlNJR05FRF9CWVRFLAorICAgICAgICAgICAgICAgIGNvbXBvbmVudFNpemU6IDEsCisgICAgICAg
ICAgICAgICAgbm9ybWFsaXplOiB0cnVlLAorICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICB7IGRhdGE6IG5ldyBVaW50OEFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwgMCwgMCwgMCBdKSwK
KyAgICAgICAgICAgICAgICB0eXBlOiBnbC5CWVRFLAorICAgICAgICAgICAgICAgIGNvbXBvbmVu
dFNpemU6IDEsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiBmYWxzZSwKKyAgICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWludDhBcnJheShbIDAsIDEsIDAsIDEs
IDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllU
RSwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAxLAorICAgICAgICAgICAgICAgIG5v
cm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF07CisKKyAgICAg
ICAgICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgICAgICAg
ICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIDEwMjQsIGdsLlNUQVRJQ19EUkFXKTsK
KyAgICAgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworCisgICAgICAgICAg
ICB2YXIgY29sb3JMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgImNvbG9yIik7
CisgICAgICAgICAgICB2YXIga051bVZlcnRzID0gMzsKKyAgICAgICAgICAgIHZhciBrTnVtQ29t
cG9uZW50cyA9IDM7CisKKyAgICAgICAgICAgIHZhciBjb3VudCA9IDA7CisgICAgICAgICAgICBm
b3IgKHZhciB0dCA9IDA7IHR0IDwgdGVzdHMubGVuZ3RoOyArK3R0KSB7CisgICAgICAgICAgICAg
IHZhciB0ZXN0ID0gdGVzdHNbdHRdOworICAgICAgICAgICAgICBmb3IgKHZhciBvbyA9IDA7IG9v
IDwgMzsgKytvbykgeworICAgICAgICAgICAgICAgIGZvciAodmFyIHNzID0gMDsgc3MgPCAzOyAr
K3NzKSB7CisgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gKG9vICsgMSkgKiB0ZXN0LmNv
bXBvbmVudFNpemU7CisgICAgICAgICAgICAgICAgICB2YXIgY29sb3IgPSAoY291bnQgJSAyKSA/
IFsxLCAwLCAwLCAxXSA6IFswLCAxLCAwLCAxXTsKKyAgICAgICAgICAgICAgICAgIHZhciBzdHJp
ZGUgPSB0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtQ29tcG9uZW50cyArIHRlc3QuY29tcG9uZW50
U2l6ZSAqIHNzOworICAgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAg
ICAgZGVidWcoImNoZWNrIHdpdGggIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGVzdC50eXBl
KSArICIgYXQgb2Zmc2V0OiAiICsgb2Zmc2V0ICsgIiB3aXRoIHN0cmlkZToiICsgc3RyaWRlICsg
IiBub3JtYWxpemU6ICIgKyB0ZXN0Lm5vcm1hbGl6ZSk7CisgICAgICAgICAgICAgICAgICBnbC51
bmlmb3JtNGZ2KGNvbG9yTG9jLCBjb2xvcik7CisgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9
IG5ldyBVaW50OEFycmF5KHRlc3QuY29tcG9uZW50U2l6ZSAqIGtOdW1WZXJ0cyAqIGtOdW1Db21w
b25lbnRzICsgc3RyaWRlICogKGtOdW1WZXJ0cyAtIDEpKTsKKyAgICAgICAgICAgICAgICAgIHZh
ciB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkodGVzdC5kYXRhLmJ1ZmZlcik7CisgICAgICAgICAgICAg
ICAgICB2YXIgc2l6ZSA9IHRlc3QuY29tcG9uZW50U2l6ZSAqIGtOdW1Db21wb25lbnRzOworICAg
ICAgICAgICAgICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IGtOdW1WZXJ0czsgKytqaikgewor
ICAgICAgICAgICAgICAgICAgICB2YXIgb2ZmMSA9IGpqICogc2l6ZTsKKyAgICAgICAgICAgICAg
ICAgICAgdmFyIG9mZjIgPSBqaiAqIHN0cmlkZTsKKyAgICAgICAgICAgICAgICAgICAgZm9yICh2
YXIgenogPSAwOyB6eiA8IHNpemU7ICsrenopIHsKKyAgICAgICAgICAgICAgICAgICAgICBkYXRh
W29mZjIgKyB6el0gPSB2aWV3W29mZjEgKyB6el07CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgIGdsLmJ1ZmZlclN1YkRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCBvZmZzZXQsIGRhdGEpOworICAgICAgICAgICAgICAgICAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcigwLCAzLCB0ZXN0LnR5cGUsIHRlc3Qubm9ybWFsaXplLCBzdHJpZGUsIG9m
ZnNldCk7CisgICAgICAgICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwg
Z2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgMyk7CisKKyAgICAgICAgICAgICAgICAgIHZhciBidWYgPSBuZXcgVWlu
dDhBcnJheSg1MCAqIDUwICogNCk7CisgICAgICAgICAgICAgICAgICBnbC5yZWFkUGl4ZWxzKDAs
IDAsIDUwLCA1MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKworICAgICAgICAg
ICAgICAgICAgdmFyIGJsYWNrID0gWzAsIDAsIDAsIDBdOworICAgICAgICAgICAgICAgICAgdmFy
IG90aGVyID0gW2NvbG9yWzBdICogMjU1LCBjb2xvclsxXSAqIDI1NSwgY29sb3JbMl0gKiAyNTUs
IGNvbG9yWzNdICogMjU1XTsKKyAgICAgICAgICAgICAgICAgIHZhciBvdGhlck1zZyA9ICJzaG91
bGQgYmUgIiArICgoY291bnQgJSAyKSA/ICJyZWQiIDogImdyZWVuIikKKyAgICAgICAgICAgICAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDEsIDEsIGJsYWNrLCAic2hvdWxkIGJl
IGJsYWNrIiwgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAw
LCA0OSwgMSwgMSwgYmxhY2ssICJzaG91bGQgYmUgYmxhY2siLCAwKTsKKyAgICAgICAgICAgICAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDI2LCA0MCwgMSwgMSwgb3RoZXIsIG90aGVyTXNn
LCAwKTsKKyAgICAgICAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDI2LCAyNywg
MSwgMSwgb3RoZXIsIG90aGVyTXNnLCAwKTsKKyAgICAgICAgICAgICAgICAgIHd0dS5jaGVja0Nh
bnZhc1JlY3QoZ2wsIDQwLCAyNywgMSwgMSwgb3RoZXIsIG90aGVyTXNnLCAwKTsKKyAgICAgICAg
ICAgICAgICAgICsrY291bnQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgfQorCisgICAgICAgaW5pdCgpOworICAgICAgIHZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlYTAyOWRjMjJjZmFi
NDlmZTM2OWE4MzI3NjM2NDAxZTMyNmQ0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbApAQCAtMCwwICsxLDE1NiBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdmVydGV4QXR0cmliUG9p
bnRlciBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMiIg
aGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBjaGVja3MgdmVydGV4QXR0cmliUG9pbnRlciBiZWhhdmlvcnMgaW4gV2Vi
R0wuIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52
YXMiKTsKK2lmICghZ2wpIHsKKyAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIp
OworfSBlbHNlIHsKKyAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICBkZWJ1Zygi
Iik7CisgIGRlYnVnKCJDaGVja2luZyBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyLiIpOworCisgIGlm
ICghZ2wuRklYRUQpIHsKKyAgICBnbC5GSVhFRCA9IDB4MTQwQzsKKyAgfQorCisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIDAsIDAsIDEyKTsKKyAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICJ2ZXJ0ZXhBdHRyaWJQb2ludGVy
IHNob3VsZCBmYWlsIGlmIG5vIGJ1ZmZlciBpcyBib3VuZCIpOworCisgIHZhciB2ZXJ0ZXhPYmpl
Y3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IHZlcnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxv
YXQzMkFycmF5KDApLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRl
cigwLCAxLCBnbC5JTlQsIDAsIDAsIDApOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFM
SURfRU5VTSwKKyAgICAgICJ2ZXJ0ZXhBdHRyaWJQb2ludGVyIHNob3VsZCBub3Qgc3VwcG9ydCBJ
TlQiKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAxLCBnbC5VTlNJR05FRF9JTlQsIDAs
IDAsIDApOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAgICJ2
ZXJ0ZXhBdHRyaWJQb2ludGVyIHNob3VsZCBub3Qgc3VwcG9ydCBVTlNJR05FRF9JTlQiKTsKKyAg
Z2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAxLCBnbC5GSVhFRCwgMCwgMCwgMCk7CisgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLAorICAgICAgInZlcnRleEF0dHJpYlBvaW50
ZXIgc2hvdWxkIG5vdCBzdXBwb3J0IEZJWEVEIik7CisKKyAgdmFyIGNoZWNrVmVydGV4QXR0cmli
UG9pbnRlciA9IGZ1bmN0aW9uKAorICAgICAgZ2wsIGVyciwgcmVhc29uLCBzaXplLCB0eXBlLCBu
b3JtYWxpemUsIHN0cmlkZSwgb2Zmc2V0KSB7CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigw
LCBzaXplLCB0eXBlLCBub3JtYWxpemUsIHN0cmlkZSwgb2Zmc2V0KTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGVyciwKKyAgICAgICAgImdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgIiArIHNp
emUgKworICAgICAgICAiLCBnbC4iICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0eXBlKSArCisg
ICAgICAgICIsICIgKyBub3JtYWxpemUgKworICAgICAgICAiLCAiICsgc3RyaWRlICsKKyAgICAg
ICAgIiwgIiArIG9mZnNldCArCisgICAgICAgICIpIHNob3VsZCAiICsgKGVyciA9PSBnbC5OT19F
UlJPUiA/ICJzdWNjZWVkICIgOiAiZmFpbCAiKSArIHJlYXNvbik7CisgIH0KKworICB2YXIgdHlw
ZXMgPSBbCisgICAgeyB0eXBlOmdsLkJZVEUsICAgICAgICAgICBieXRlc1BlckNvbXBvbmVudDog
MSB9LAorICAgIHsgdHlwZTpnbC5VTlNJR05FRF9CWVRFLCAgYnl0ZXNQZXJDb21wb25lbnQ6IDEg
fSwKKyAgICB7IHR5cGU6Z2wuU0hPUlQsICAgICAgICAgIGJ5dGVzUGVyQ29tcG9uZW50OiAyIH0s
CisgICAgeyB0eXBlOmdsLlVOU0lHTkVEX1NIT1JULCBieXRlc1BlckNvbXBvbmVudDogMiB9LAor
ICAgIHsgdHlwZTpnbC5GTE9BVCwgICAgICAgICAgYnl0ZXNQZXJDb21wb25lbnQ6IDQgfSwKKyAg
XTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdHlwZXMubGVuZ3RoOyArK2lpKSB7CisgICAg
dmFyIGluZm8gPSB0eXBlc1tpaV07CisgICAgZGVidWcoIiIpOworICAgIGZvciAodmFyIHNpemUg
PSAxOyBzaXplIDw9IDQ7ICsrc2l6ZSkgeworICAgICAgZGVidWcoIiIpOworICAgICAgZGVidWco
ImNoZWNraW5nOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBpbmZvLnR5cGUpICsgIiB3aXRo
IHNpemUgIiArIHNpemUpOworICAgICAgdmFyIGJ5dGVzUGVyRWxlbWVudCA9IHNpemUgKiBpbmZv
LmJ5dGVzUGVyQ29tcG9uZW50OworICAgICAgdmFyIG9mZnNldFNldCA9IFsKKyAgICAgICAgICAw
LAorICAgICAgICAgIDEsCisgICAgICAgICAgaW5mby5ieXRlc1BlckNvbXBvbmVudCAtIDEsCisg
ICAgICAgICAgaW5mby5ieXRlc1BlckNvbXBvbmVudCwKKyAgICAgICAgICBpbmZvLmJ5dGVzUGVy
Q29tcG9uZW50ICsgMSwKKyAgICAgICAgICBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50ICogMl07Cisg
ICAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgb2Zmc2V0U2V0Lmxlbmd0aDsgKytqaikgeworICAg
ICAgICB2YXIgb2Zmc2V0ID0gb2Zmc2V0U2V0W2pqXTsKKyAgICAgICAgZm9yICh2YXIga2sgPSAw
OyBrayA8IG9mZnNldFNldC5sZW5ndGg7ICsra2spIHsKKyAgICAgICAgICB2YXIgc3RyaWRlID0g
b2Zmc2V0U2V0W2trXTsKKyAgICAgICAgICB2YXIgZXJyID0gZ2wuTk9fRVJST1I7CisgICAgICAg
ICAgdmFyIHJlYXNvbiA9ICIiCisgICAgICAgICAgaWYgKG9mZnNldCAlIGluZm8uYnl0ZXNQZXJD
b21wb25lbnQgIT0gMCkgeworICAgICAgICAgICAgcmVhc29uID0gImJlY2F1c2Ugb2Zmc2V0IGlz
IGJhZCI7CisgICAgICAgICAgICBlcnIgPSBnbC5JTlZBTElEX09QRVJBVElPTjsKKyAgICAgICAg
ICB9CisgICAgICAgICAgaWYgKHN0cmlkZSAlIGluZm8uYnl0ZXNQZXJDb21wb25lbnQgIT0gMCkg
eworICAgICAgICAgICAgcmVhc29uID0gImJlY2F1c2Ugc3RyaWRlIGlzIGJhZCI7CisgICAgICAg
ICAgICBlcnIgPSBnbC5JTlZBTElEX09QRVJBVElPTjsKKyAgICAgICAgICB9CisgICAgICAgICAg
Y2hlY2tWZXJ0ZXhBdHRyaWJQb2ludGVyKAorICAgICAgICAgICAgICBnbCwgZXJyLCByZWFzb24s
IHNpemUsIGluZm8udHlwZSwgZmFsc2UsIHN0cmlkZSwgb2Zmc2V0KTsKKyAgICAgICAgfQorICAg
ICAgICB2YXIgc3RyaWRlID0gTWF0aC5mbG9vcigyNTUgLyBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50
KSAqIGluZm8uYnl0ZXNQZXJDb21wb25lbnQ7CisKKyAgICAgICAgaWYgKG9mZnNldCA9PSAwKSB7
CisgICAgICAgICAgY2hlY2tWZXJ0ZXhBdHRyaWJQb2ludGVyKAorICAgICAgICAgICAgICBnbCwg
Z2wuTk9fRVJST1IsICJhdCBzdHJpZGUgbGltaXQiLAorICAgICAgICAgICAgICBzaXplLCBpbmZv
LnR5cGUsIGZhbHNlLCBzdHJpZGUsIG9mZnNldCk7CisgICAgICAgICAgY2hlY2tWZXJ0ZXhBdHRy
aWJQb2ludGVyKAorICAgICAgICAgICAgICBnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm92ZXIgc3Ry
aWRlIGxpbWl0IiwKKyAgICAgICAgICAgICAgc2l6ZSwgaW5mby50eXBlLCBmYWxzZSwKKyAgICAg
ICAgICAgICAgc3RyaWRlICsgaW5mby5ieXRlc1BlckNvbXBvbmVudCwgb2Zmc2V0KTsKKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKyAgfQorfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186670</attachid>
            <date>2013-02-05 11:56:02 -0800</date>
            <delta_ts>2013-02-05 13:14:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108901-20130205115240.patch</filename>
            <type>text/plain</type>
            <size>53974</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FjN2M2ZTYzMjYwY2RmNjY0NTgy
MWY3ZTQzZGRiMDY0NmY2NzQ0ZS4uMWNlZDEwZjc4MDdjNDk1MzA5ZDYyNTZmMmFhNjM3NzQyZjBi
YmE0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTA1ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdHMgYXR0cmliIGZvbGRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwODkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2Vs
bC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12
ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eC1hdHRyaWItcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16
ZXJvLWlzc3Vlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2lu
dGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90ZXN0X2xpc3QudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJw
b2ludGVyLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA0ICBHcmVnZyBUYXZhcmVzICA8Z21hbkBn
b29nbGUuY29tPgogCiAgICAgICAgIEFkZCBTdXBwb3J0IEZpbGVzIGZvciBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYWY3YjkzOTRjOWM4Mzc3NDhkM2JjYzM3MjZhMTFmYzE3MjRiYmU4ZS4uMjNj
NGZkNTM1YTc4YTIzZDkyNDNlMWU2NGZiOTQ4NmNkYmYxYmRiMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDI5LDYgKzE0MjksMTEg
QEAgd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5kcm9pZCBdIGZhc3QvcmVwYWludC9zaGFkb3ctbXVs
dGlwbGUtc3RyaWN0LWhvcml6b250YWwuaHQKIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFuZHJvaWQg
XSBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgV2ViR0wgVGVzdHMKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K2NyYnVnLmNvbS8xNzIzNjggd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWwgWyBTa2lwIF0KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBPdGhlciBmYWls
dXJlcwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0
cmliLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2IwMmI0OWFkMmM3ZTFmMDE1NjQ4Zjg0NmEy
NWU3NzE1MjBhYmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZl
cnRleC1hdHRyaWIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJp
Yi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRjNGE4Mjk2MGU1YzAyOTdjZmU3ZTBkMGFmOGIzMDkwZWJmMmVj
MjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBnbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wt
ZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmZGIyM2JiZDFm
MzQzMjk0ZGIyMjk2NGNkNTFkY2NkMmNkOGQxMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNmQ3MzE5MmRlZTI4YWI1M2M3YTgzNzQzMWI0
ZDBhZjIwZTE0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1h
dHRyaWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NTI0OTI2YTQ3YWQwMWJlYmFjOTcxNmYz
MjQ0NzhlZmNiYjMxYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTgzMDZhZTcxODcyNGM3M2RjZGZkZjIwODQxODg3ZjdjMmU2Y2UyMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Zj
YzNmNzJiMTFiZmNjODBjOTBhNTI1Zjg3OTQ4MzNlYzdkNzRjNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1y
ZW5kZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXgtYXR0cmliLXJlbmRl
ci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE4ZWFlNWQ5NWU4MjJlZWVkNjAyYTkyNzYwNjg4NWMz
MWEzNjFhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmli
LXplcm8taXNzdWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVy
by1pc3N1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWQ0NjkwZjk0NDc3ZGQxNjk3MTI2YmQ1YTA2MzRk
YzQ4NGZjYTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0
dHJpYi16ZXJvLWlzc3Vlcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmIwZDkzOThmYzljNzliZjVk
YjE0YjdkY2NlNzNlMWYxZWJhNzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2wtdmVydGV4LWF0dHJpYi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTdjOWJhYjliZmEwM2MzMmIxMmU4ZDJhNWJkOTBlMGI0OGQ5NjI1
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNl
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MjkyYjgwMmYwMWQyOGUyMWE1Y2ZmYTAxMTY3
YjQwYTZjYTdiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTM4NGFmODgwYzgyZTI4NDQ1
MzZlNzI3YjBlYjFmMzlmMzJhNGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZz
ZXRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJp
YnBvaW50ZXItb2Zmc2V0cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2RmNGJmOTc4NDdjMGQwZGE4YjJlZDJmY2RlMmE5MGE0ZGU0MzcwZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZl
cnRleGF0dHJpYnBvaW50ZXIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4
YXR0cmlicG9pbnRlci5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0
cmlicG9pbnRlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNThiYjY1YWYyZDJmMTg1
NDI4YTIxYmYyMTk0MmIzYzg5ZmQ0Y2FlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90
ZXN0X2xpc3QudHh0CkBAIC0wLDAgKzEsOCBAQAorZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRt
bAorLS1taW4tdmVyc2lvbiAxLjAuMiBnbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1sCistLW1p
bi12ZXJzaW9uIDEuMC4yIGdsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbAorZ2wtdmVydGV4
LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCitnbC12ZXJ0ZXgtYXR0cmliLmh0bWwKK2dsLXZlcnRl
eGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCitnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9h
dHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjgwODFm
Y2FiMmEwMzI5MTZiZjRiZWQ2NDcxMzNkZWEzNTc5YTRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwxMDEgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIERpc2Fi
bGVkIFZlcnRleCBBdHRyaWIgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorPC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2
ZWM0IGFfcG9zaXRpb247CithdHRyaWJ1dGUgdmVjNCBhX2NvbG9yOwordmFyeWluZyB2ZWM0IHZf
Y29sb3I7Cit2b2lkIG1haW4oKSB7CisgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgdl9j
b2xvciA9IGFfY29sb3I7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3Zhcnlp
bmcgdmVjNCB2X2NvbG9yOworYm9vbCBpc0NvcnJlY3RDb2xvcih2ZWM0IHYpIHsKKyAgcmV0dXJu
IHYueCA9PSAwLjAgJiYgdi55ID09IDAuMCAmJiB2LnogPT0gMC4wICYmIHYudyA9PSAxLjA7Cit9
Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IGlzQ29ycmVjdENvbG9yKHZfY29sb3Ip
ID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7Cit9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2Ny
aXB0aW9uKCk7CisKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKwor
dmFyIG51bVZlcnRleEF0dHJpYnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9BVFRS
SUJTKTsKK2ZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WZXJ0ZXhBdHRyaWJzOyArK2lpKSB7Cisg
IHZhciBjb2xvckxvY2F0aW9uID0gKGlpICsgMSkgJSBudW1WZXJ0ZXhBdHRyaWJzOworICB2YXIg
cG9zaXRpb25Mb2NhdGlvbiA9IGNvbG9yTG9jYXRpb24gPyAwIDogMTsKKworICBpZiAocG9zaXRp
b25Mb2NhdGlvbiAhPSAwKSB7CisgICAgLy8gV2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgM2QgY29u
dGV4dCBmb3IgdGVzdGluZyBhdHRyaWIgMAorICAgIC8vIHNpbmNlIHdlJ3ZlIGFscmVhZHkgZWZm
ZWN0ZWQgYXR0cmliIDAgb24gb3RoZXIgdGVzdHMuCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCk7CisgIH0KKworICBkZWJ1ZygidGVzdGluZyBhdHRyaWI6ICIgKyBjb2xvckxvY2F0aW9u
KTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsCisgICAgICBb
J3ZzaGFkZXInLCAnZnNoYWRlciddLAorICAgICAgWydhX3Bvc2l0aW9uJywgJ2FfY29sb3InXSwK
KyAgICAgIFtwb3NpdGlvbkxvY2F0aW9uLCBjb2xvckxvY2F0aW9uXSk7CisgIHZhciBncmlkUmVz
ID0gMTsKKyAgd3R1LnNldHVwUXVhZChnbCwgZ3JpZFJlcywgcG9zaXRpb25Mb2NhdGlvbik7Cisg
IHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIGdyaWRSZXMpOworICB3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKK30KK2dsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NzAzYTBhNWE5NTZmY2Q2
OTQxNWFkYWQzMTViZTNkMjE5ZWE1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVu
YWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgRW5hYmxlIFZlcnRl
eCBBdHRyaWIgVGVzdDwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj4KKzwvY2Fu
dmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAg
YXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAg
ICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBp
ZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4wKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJ0
ZXN0cyB0aGF0IHR1cm5pbmcgb24gYXR0cmlicyB0aGF0IGhhdmUgbm8gYnVmZmVyIGJvdW5kIGZh
aWxzIHRvIGRyYXciKTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5j
cmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3Jh
bShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKK3ZhciB2ZXJ0
ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCB2ZXJ0ZXhPYmplY3QpOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBG
bG9hdDMyQXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgZ2wuU1RB
VElDX0RSQVcpOworZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CitnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKK2dsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDMpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04pOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4LWF0dHJpYi1yZW5kZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMmNmY2Y5MWU1NDczYjM3MGEzYWQ4NmVmZDM4ZGQ5NjgzNTMxN2Zk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1s
CkBAIC0wLDAgKzEsMTExIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgaWQ9J3ZzaGFkZXInIHR5cGU9J3gtc2hhZGVyJz4KKyAgICAgICAgICAgIGF0
dHJpYnV0ZSB2ZWM0IGE7CisgICAgICAgICAgICBhdHRyaWJ1dGUgdmVjMiBwOworICAgICAgICAg
ICAgdm9pZCBtYWluKCkgeworICAgICAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwLngg
KyBhLnggKyBhLnkgKyBhLnogKyBhLncsIHAueSwgMC4wLCAxLjApOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBpZD0nZnNoYWRlcicgdHlwZT0neC1z
aGFkZXInPgorICAgICAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgICAg
ICB2b2lkIG1haW4oKSB7CisgICAgICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLjAs
IDAuMCwgMC4wLCAxLjApOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGNoZWNrUmVkUG9ydGlvbihnbCwgdywgbG93LCBoaWdoKSB7CisgICAgICAgICAgICAgICAg
dmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHcgKiB3ICogNCk7CisgICAgICAgICAgICAgICAgZ2wu
cmVhZFBpeGVscygwLCAwLCB3LCB3LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOwor
ICAgICAgICAgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgICAgICAgICBmb3IgKDsgaSA8IHc7
ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYnVmW2kgKiA0ICsgMF0gPT0gMjU1ICYm
IGJ1ZltpICogNCArIDFdID09IDAgJiYgYnVmW2kgKiA0ICsgMl0gPT0gMCAmJiBidWZbaSAqIDQg
KyAzXSA9PSAyNTUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiBs
b3cgPD0gaSAmJiBpIDw9IGhpZ2g7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworICAgICAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoJ3Rlc3RiZWQn
LCB7IHByZXNlcnZlRHJhd2luZ0J1ZmZlciA6IHRydWUgfSk7CisgICAgICAgICAgICAgICAgaWYg
KCFnbCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdjb3VsZCBub3QgY3JlYXRl
IGNvbnRleHQnKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsn
dnNoYWRlcicsICdmc2hhZGVyJ10sIFsncCcsICdhJ10pCisKKyAgICAgICAgICAgICAgICBnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheShnbC5wKTsKKyAgICAgICAgICAgICAgICB2YXIgcG9zID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgcG9zLnR5cGUgPSBnbC5GTE9BVDsK
KyAgICAgICAgICAgICAgICBwb3Muc2l6ZSA9IDI7CisgICAgICAgICAgICAgICAgcG9zLm51bSA9
IDQ7CisgICAgICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHBvcyk7
CisgICAgICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9h
dDMyQXJyYXkoWy0xLCAtMSwgMSwgLTEsIC0xLCAxLCAxLCAxXSksIGdsLlNUQVRJQ19EUkFXKTsK
KworICAgICAgICAgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgcG9zLnNpemUsIHBv
cy50eXBlLCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygnVGVzdCB2ZXJ0
ZXhBdHRyaWJbMS4uNF1mdiBieSBzZXR0aW5nIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgdGhhdCBh
ZGQgdXAgdG8gMS41IGFuZCB1c2UgdGhhdCB3aGVuIHJlbmRlcmluZy4nKTsKKyAgICAgICAgICAg
ICAgICB2YXIgdmFscyA9IFtbMC41XSwgWzAuMSwwLjRdLCBbMC4yLC0wLjIsMC41XSwgWy0xLjAs
MC4zLDAuMiwyLjBdXTsKKworICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgNDsg
KytqKSB7CisgICAgICAgICAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQg
fCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICAgICAgZ2xbJ3ZlcnRleEF0
dHJpYicgKyAoaisxKSArICdmdiddKDEsIHZhbHNbal0pOworICAgICAgICAgICAgICAgICAgICBn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFX1NUUklQLCAwLCBwb3MubnVtKTsKKworICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hlY2tSZWRQb3J0aW9uKGdsLCA1MCwgNTAgKiAwLjcsIDUwICogMC44
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnQXR0cmlidXRlIG9mIHNp
emUgJyArIChqKzEpICsgJyB3YXMgc2V0IGNvcnJlY3RseScpOworICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnQXR0cmlidXRl
IG9mIHNpemUgJyArIChqKzEpICsgJyB3YXMgbm90IHNldCBjb3JyZWN0bHknKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8Y2FudmFzIGlkPSJ0
ZXN0YmVkIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oJ1ZlcmlmeSB0aGF0IHVzaW5nIGNvbnN0YW50IGF0dHJpYnV0ZXMgd29ya3Mu
Jyk7CisgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkODk4NDkzZjE0MDQ0NmI2MjkwOGQzOTY4YjEyZmYyYzBiYmRlZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbApAQCAtMCww
ICsxLDE1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgRW5hYmxlIFZlcnRleCBBdHRyaWIgWmVybyBUZXN0PC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1
MCI+Cis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAg
IHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+CisK
KzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCwxLjAsMC4w
LDEuMCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNj
cmlwdGlvbigiVGVzdCBzb21lIG9mIHRoZSBpc3N1ZXMgb2YgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl
biBhdHRyaWIgMCBvbiBPcGVuR0wgdnMgV2ViR0wiKTsKK2RlYnVnKCIiKTsKK3ZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
K3ZhciBnX3Byb2dyYW07Cit2YXIgZ19hdHRyaWJMb2NhdGlvbjsKK2Z1bmN0aW9uIHNldHVwKGF0
dHJpYkluZGV4KSB7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGds
LCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3ZQb3NpdGlvbiddLCBbYXR0cmliSW5kZXhdKTsK
KyAgZ19wcm9ncmFtID0gcHJvZ3JhbTsKKyAgZ19hdHRyaWJMb2NhdGlvbiA9IGF0dHJpYkluZGV4
OworICBzaG91bGRCZSgiZ19hdHRyaWJMb2NhdGlvbiIsICJnbC5nZXRBdHRyaWJMb2NhdGlvbihn
X3Byb2dyYW0sICd2UG9zaXRpb24nKSIpOworICByZXR1cm4gcHJvZ3JhbTsKK30KKworZnVuY3Rp
b24gc2V0dXBWZXJ0cyhudW1WZXJ0cykgeworICB2YXIgdmVydHMgPSBbCisgICAgIDEuMCwgIDEu
MCwgMC4wLAorICAgIC0xLjAsICAxLjAsIDAuMCwKKyAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAg
IDEuMCwgIDEuMCwgMC4wLAorICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgMS4wLCAtMS4wLCAw
LjAKKyAgXTsKKyAgdmFyIHBvc2l0aW9ucyA9IG5ldyBGbG9hdDMyQXJyYXkobnVtVmVydHMgKiAz
KTsKKyAgdmFyIGluZGljZXMgPSBuZXcgVWludDE2QXJyYXkobnVtVmVydHMpOworICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgbnVtVmVydHM7ICsraWkpIHsKKyAgICB2YXIgbmR4ID0gaWkgJSA2Owor
ICAgIHZhciBkc3QgPSBpaSAqIDM7CisgICAgdmFyIHNyYyA9IG5keCAqIDM7CisgICAgZm9yICh2
YXIgamogPSAwOyBqaiA8IDM7ICsramopIHsKKyAgICAgIHBvc2l0aW9uc1tkc3QgKyBqal0gPSB2
ZXJ0c1tzcmMgKyBqal07CisgICAgfQorICAgIGluZGljZXNbaWldID0gaWk7CisgIH0KKyAgdmFy
IHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIHBvc2l0aW9ucywgZ2wuU1RBVElDX0RSQVcpOworICB2YXIgaW5kZXhCdWZmZXIgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwg
aW5kZXhCdWZmZXIpOworICBnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBp
bmRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7Cit9CisKK3ZhciBwMCA9IHNldHVwKDApOwordmFyIHAz
ID0gc2V0dXAoMyk7CitzZXR1cFZlcnRzKDYwMDAwKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8
IDU7ICsraWkpIHsKKyAgLy8gdGVzdCBkcmF3aW5nIHdpdGggYXR0cmliIDAKKyAgZ2wudXNlUHJv
Z3JhbShwMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmNsZWFyKGds
LkNPTE9SX0JVRkZFUl9CSVQpOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2MDAw
MCwgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwg
Z2wuTk9fRVJST1IsCisgICAgICAiZHJhd2luZyB1c2luZyBhdHRyaWIgMCB3aXRoIDYgdmVydHMi
KTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAiY2FudmFzIHNob3Vs
ZCBiZSBncmVlbiIpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisKKyAgLy8g
dGVzdCBkcmF3aW5nIHdpdGhvdXQgYXR0cmliIDAKKyAgZ2wudXNlUHJvZ3JhbShwMyk7CisgIGds
LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDMs
IDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQpOworICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNjAwMDApOworICBnbEVycm9y
U2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisgICAgICAiZHJhd2luZyB1c2luZyBh
dHRyaWIgMyB3aXRoIDYwMDAwIHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1
NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDMpOworCisgIC8vIFRoaXMgc2Vjb25kIHRlc3Qgb2YgZHJhd2luZyB3aXRo
b3V0IGF0dHJpYjAgdW5jb252ZXJlZCBhIGJ1ZyBpbiBjaHJvbWUKKyAgLy8gd2hlcmUgYWZ0ZXIg
dGhlIGRyYXcgd2l0aG91dCBhdHRyaWIwIHRoZSBhdHRyaWIgMCBlbXVsYXRpb24gY29kZSBkaXNh
YmxlZAorICAvLyBhdHRyaWIgMCBhbmQgaXQgd2FzIG5ldmVyIHJlLWVuYWJsZWQgc28gdGhpcyBu
ZXh0IGRyYXcgZmFpbGVkLgorICBnbC51c2VQcm9ncmFtKHAzKTsKKyAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkoMyk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICBnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2MDAwMCwgZ2wuVU5TSUdORURfU0hPUlQsIDApOwor
ICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisgICAgICAiZHJhd2lu
ZyB1c2luZyBhdHRyaWIgMyB3aXRoIDYwMDAwIHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzAsIDI1NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlz
YWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworfQorCisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWNhYWEzMzZmNzllOGVkZThlMTUyNjNmODYwNWQ3NTU3MWVkMTRkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCAr
MSwxMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIHZlcnRleEF0dHJpYiBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2Nh
bnZhcz4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVu
c3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIHZlcnRleEF0dHJpYiBjYW4gYmUgc2V0IGFuZCBy
ZWFkLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2Fu
dmFzIik7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygiQ2hlY2tpbmcgZ2wudmVydGV4QXR0cmliLiIpOworCisgIHZhciBudW1W
ZXJ0ZXhBdHRyaWJzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfQVRUUklCUyk7Cisg
IGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WZXJ0ZXhBdHRyaWJzOyArK2lpKSB7CisgICAgZ2wu
dmVydGV4QXR0cmliMWZ2KGlpLCBbMV0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzFdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMCcpOworICAgIHNob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRU
UklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWIyZnYoaWksIFsxLCAyXSk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzBdJywgJzEnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnMicpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVsyXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsg
aWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZl
cnRleEF0dHJpYjNmdihpaSwgWzEsIDIsIDNdKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMF0nLCAnMScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsxXScsICcyJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzJdJywgJzMnKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wudmVydGV4QXR0cmliNGZ2KGlpLCBbMSwgMiwg
MywgNF0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wu
Q1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZl
cnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzFdJywgJzIn
KTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJF
TlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMycpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVszXScsICc0Jyk7CisK
KyAgICBnbC52ZXJ0ZXhBdHRyaWIxZihpaSwgNSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzUnKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsyXScsICcwJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZlcnRleEF0dHJpYjJmKGlpLCA2LCA3KTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMF0nLCAnNicpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICc3Jyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzJdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wu
dmVydGV4QXR0cmliM2YoaWksIDcsIDgsIDkpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICc3Jyk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzFdJywgJzgnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnOScpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWI0ZihpaSwgNiwgNywgOCwg
OSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJS
RU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzYnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnNycpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsyXScsICc4Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzknKTsKKyAgfQor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKworZGVidWcoIiIpOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZTYyODM1ZGRiNDQ0ZDFiOGQyZmUzNTQ5NGQzZWY0ZDAxMGNmMzc5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApAQCAt
MCwwICsxLDE4MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICA8dGl0bGU+dmVydGV4YXR0cmlicG9pbnRlciBvZmZzZXRzIHRlc3Q8L3RpdGxlPgorICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+CitUaGVyZSBpcyBzdXBwb3NlZCB0byBiZSBhbiBleGFt
cGxlIGRyYXdpbmcgaGVyZSwgYnV0IGl0J3Mgbm90IGltcG9ydGFudC4KKzwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgICBh
dHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAgPC9z
Y3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KKyAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgIHVuaWZvcm0g
dmVjNCBjb2xvcjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAg
Z2xfRnJhZ0NvbG9yID0gY29sb3I7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxz
Y3JpcHQ+CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJ0ZXN0IHZlcnRleGF0dHJpYnBvaW50
ZXIgb2Zmc2V0cyB3b3JrIik7CisKKyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKKyAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
KyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVy
IiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKKyAgICAgICAgICAgIHZhciB0ZXN0cyA9
IFsKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgRmxvYXQzMkFycmF5KFsgMCwgMSwgMCwgMSwg
MCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5GTE9BVCwKKyAgICAg
ICAgICAgICAgICBjb21wb25lbnRTaXplOiA0LAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTog
ZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IEZsb2F0
MzJBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuRkxPQVQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogNCwKKyAgICAg
ICAgICAgICAgICBub3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICB7IGRhdGE6IG5ldyBVaW50MTZBcnJheShbIDAsIDMyNzY3LCAwLCAzMjc2NywgMCwgMCwg
MCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5TSE9SVCwKKyAgICAgICAgICAg
ICAgICBjb21wb25lbnRTaXplOiAyLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwK
KyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWludDE2QXJyYXko
WyAwLCA2NTUzNSwgMCwgNjU1MzUsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuVU5TSUdORURfU0hPUlQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTog
MiwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRydWUsCisgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQxNkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwg
MCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVCwKKyAg
ICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAyLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6
ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVp
bnQxNkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAg
ICB0eXBlOiBnbC5TSE9SVCwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAyLAorICAg
ICAgICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAxMjcsIDAsIDEyNywgMCwgMCwgMCwg
MCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5CWVRFLAorICAgICAgICAgICAgICAg
IGNvbXBvbmVudFNpemU6IDEsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0cnVlLAorICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50OEFycmF5KFsgMCwg
MjU1LCAwLCAyNTUsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAgdHlwZTogZ2wu
VU5TSUdORURfQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAxLAorICAgICAg
ICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgeyBkYXRhOiBuZXcgVWludDhBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSks
CisgICAgICAgICAgICAgICAgdHlwZTogZ2wuQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25l
bnRTaXplOiAxLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAxLCAwLCAx
LCAwLCAwLCAwLCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogMSwKKyAgICAgICAgICAgICAgICBu
b3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdOworCisgICAg
ICAgICAgICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAg
ICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICAgICAg
ICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAxMDI0LCBnbC5TVEFUSUNfRFJBVyk7
CisgICAgICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKworICAgICAgICAg
ICAgdmFyIGNvbG9yTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJjb2xvciIp
OworICAgICAgICAgICAgdmFyIGtOdW1WZXJ0cyA9IDM7CisgICAgICAgICAgICB2YXIga051bUNv
bXBvbmVudHMgPSAzOworCisgICAgICAgICAgICB2YXIgY291bnQgPSAwOworICAgICAgICAgICAg
Zm9yICh2YXIgdHQgPSAwOyB0dCA8IHRlc3RzLmxlbmd0aDsgKyt0dCkgeworICAgICAgICAgICAg
ICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAgICAgICAgICAgICAgZm9yICh2YXIgb28gPSAwOyBv
byA8IDM7ICsrb28pIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBzcyA9IDA7IHNzIDwgMzsg
KytzcykgeworICAgICAgICAgICAgICAgICAgdmFyIG9mZnNldCA9IChvbyArIDEpICogdGVzdC5j
b21wb25lbnRTaXplOworICAgICAgICAgICAgICAgICAgdmFyIGNvbG9yID0gKGNvdW50ICUgMikg
PyBbMSwgMCwgMCwgMV0gOiBbMCwgMSwgMCwgMV07CisgICAgICAgICAgICAgICAgICB2YXIgc3Ry
aWRlID0gdGVzdC5jb21wb25lbnRTaXplICoga051bUNvbXBvbmVudHMgKyB0ZXN0LmNvbXBvbmVu
dFNpemUgKiBzczsKKyAgICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAg
ICAgIGRlYnVnKCJjaGVjayB3aXRoICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QudHlw
ZSkgKyAiIGF0IG9mZnNldDogIiArIG9mZnNldCArICIgd2l0aCBzdHJpZGU6IiArIHN0cmlkZSAr
ICIgbm9ybWFsaXplOiAiICsgdGVzdC5ub3JtYWxpemUpOworICAgICAgICAgICAgICAgICAgZ2wu
dW5pZm9ybTRmdihjb2xvckxvYywgY29sb3IpOworICAgICAgICAgICAgICAgICAgdmFyIGRhdGEg
PSBuZXcgVWludDhBcnJheSh0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtVmVydHMgKiBrTnVtQ29t
cG9uZW50cyArIHN0cmlkZSAqIChrTnVtVmVydHMgLSAxKSk7CisgICAgICAgICAgICAgICAgICB2
YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KHRlc3QuZGF0YS5idWZmZXIpOworICAgICAgICAgICAg
ICAgICAgdmFyIHNpemUgPSB0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtQ29tcG9uZW50czsKKyAg
ICAgICAgICAgICAgICAgIGZvciAodmFyIGpqID0gMDsgamogPCBrTnVtVmVydHM7ICsramopIHsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIG9mZjEgPSBqaiAqIHNpemU7CisgICAgICAgICAgICAg
ICAgICAgIHZhciBvZmYyID0gamogKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgICAgIGZvciAo
dmFyIHp6ID0gMDsgenogPCBzaXplOyArK3p6KSB7CisgICAgICAgICAgICAgICAgICAgICAgZGF0
YVtvZmYyICsgenpdID0gdmlld1tvZmYxICsgenpdOworICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBnbC5idWZmZXJTdWJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgb2Zmc2V0LCBkYXRhKTsKKyAgICAgICAgICAgICAgICAgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoMCwgMywgdGVzdC50eXBlLCB0ZXN0Lm5vcm1hbGl6ZSwgc3RyaWRlLCBv
ZmZzZXQpOworICAgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8
IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDMpOworCisgICAgICAgICAgICAgICAgICB2YXIgYnVmID0gbmV3IFVp
bnQ4QXJyYXkoNTAgKiA1MCAqIDQpOworICAgICAgICAgICAgICAgICAgZ2wucmVhZFBpeGVscygw
LCAwLCA1MCwgNTAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisKKyAgICAgICAg
ICAgICAgICAgIHZhciBibGFjayA9IFswLCAwLCAwLCAwXTsKKyAgICAgICAgICAgICAgICAgIHZh
ciBvdGhlciA9IFtjb2xvclswXSAqIDI1NSwgY29sb3JbMV0gKiAyNTUsIGNvbG9yWzJdICogMjU1
LCBjb2xvclszXSAqIDI1NV07CisgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJNc2cgPSAic2hv
dWxkIGJlICIgKyAoKGNvdW50ICUgMikgPyAicmVkIiA6ICJncmVlbiIpCisgICAgICAgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBibGFjaywgInNob3VsZCBi
ZSBibGFjayIsIDApOworICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MCwgNDksIDEsIDEsIGJsYWNrLCAic2hvdWxkIGJlIGJsYWNrIiwgMCk7CisgICAgICAgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAyNiwgNDAsIDEsIDEsIG90aGVyLCBvdGhlck1z
ZywgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAyNiwgMjcs
IDEsIDEsIG90aGVyLCBvdGhlck1zZywgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tD
YW52YXNSZWN0KGdsLCA0MCwgMjcsIDEsIDEsIG90aGVyLCBvdGhlck1zZywgMCk7CisgICAgICAg
ICAgICAgICAgICArK2NvdW50OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgIH0KKworICAgICAgIGluaXQoKTsKKyAgICAgICB2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWEwMjlkYzIyY2Zh
YjQ5ZmUzNjlhODMyNzYzNjQwMWUzMjZkNGYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwKQEAgLTAsMCArMSwxNTYgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHZlcnRleEF0dHJpYlBv
aW50ZXIgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNj
cmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIi
IGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHZlcnRleEF0dHJpYlBvaW50ZXIgYmVoYXZpb3JzIGluIFdl
YkdMLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2Fu
dmFzIik7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygiQ2hlY2tpbmcgZ2wudmVydGV4QXR0cmliUG9pbnRlci4iKTsKKworICBp
ZiAoIWdsLkZJWEVEKSB7CisgICAgZ2wuRklYRUQgPSAweDE0MEM7CisgIH0KKworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCAwLCAwLCAxMik7CisgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRl
ciBzaG91bGQgZmFpbCBpZiBubyBidWZmZXIgaXMgYm91bmQiKTsKKworICB2YXIgdmVydGV4T2Jq
ZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZs
b2F0MzJBcnJheSgwKSwgZ2wuU1RBVElDX0RSQVcpOworCisgIGdsLnZlcnRleEF0dHJpYlBvaW50
ZXIoMCwgMSwgZ2wuSU5ULCAwLCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0VOVU0sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQg
SU5UIik7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMSwgZ2wuVU5TSUdORURfSU5ULCAw
LCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sCisgICAgICAi
dmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQgVU5TSUdORURfSU5UIik7Cisg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMSwgZ2wuRklYRUQsIDAsIDAsIDApOworICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAgICJ2ZXJ0ZXhBdHRyaWJQb2lu
dGVyIHNob3VsZCBub3Qgc3VwcG9ydCBGSVhFRCIpOworCisgIHZhciBjaGVja1ZlcnRleEF0dHJp
YlBvaW50ZXIgPSBmdW5jdGlvbigKKyAgICAgIGdsLCBlcnIsIHJlYXNvbiwgc2l6ZSwgdHlwZSwg
bm9ybWFsaXplLCBzdHJpZGUsIG9mZnNldCkgeworICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
MCwgc2l6ZSwgdHlwZSwgbm9ybWFsaXplLCBzdHJpZGUsIG9mZnNldCk7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBlcnIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsICIgKyBz
aXplICsKKyAgICAgICAgIiwgZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdHlwZSkgKwor
ICAgICAgICAiLCAiICsgbm9ybWFsaXplICsKKyAgICAgICAgIiwgIiArIHN0cmlkZSArCisgICAg
ICAgICIsICIgKyBvZmZzZXQgKworICAgICAgICAiKSBzaG91bGQgIiArIChlcnIgPT0gZ2wuTk9f
RVJST1IgPyAic3VjY2VlZCAiIDogImZhaWwgIikgKyByZWFzb24pOworICB9CisKKyAgdmFyIHR5
cGVzID0gWworICAgIHsgdHlwZTpnbC5CWVRFLCAgICAgICAgICAgYnl0ZXNQZXJDb21wb25lbnQ6
IDEgfSwKKyAgICB7IHR5cGU6Z2wuVU5TSUdORURfQllURSwgIGJ5dGVzUGVyQ29tcG9uZW50OiAx
IH0sCisgICAgeyB0eXBlOmdsLlNIT1JULCAgICAgICAgICBieXRlc1BlckNvbXBvbmVudDogMiB9
LAorICAgIHsgdHlwZTpnbC5VTlNJR05FRF9TSE9SVCwgYnl0ZXNQZXJDb21wb25lbnQ6IDIgfSwK
KyAgICB7IHR5cGU6Z2wuRkxPQVQsICAgICAgICAgIGJ5dGVzUGVyQ29tcG9uZW50OiA0IH0sCisg
IF07CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHR5cGVzLmxlbmd0aDsgKytpaSkgeworICAg
IHZhciBpbmZvID0gdHlwZXNbaWldOworICAgIGRlYnVnKCIiKTsKKyAgICBmb3IgKHZhciBzaXpl
ID0gMTsgc2l6ZSA8PSA0OyArK3NpemUpIHsKKyAgICAgIGRlYnVnKCIiKTsKKyAgICAgIGRlYnVn
KCJjaGVja2luZzogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaW5mby50eXBlKSArICIgd2l0
aCBzaXplICIgKyBzaXplKTsKKyAgICAgIHZhciBieXRlc1BlckVsZW1lbnQgPSBzaXplICogaW5m
by5ieXRlc1BlckNvbXBvbmVudDsKKyAgICAgIHZhciBvZmZzZXRTZXQgPSBbCisgICAgICAgICAg
MCwKKyAgICAgICAgICAxLAorICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQgLSAxLAor
ICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQsCisgICAgICAgICAgaW5mby5ieXRlc1Bl
ckNvbXBvbmVudCArIDEsCisgICAgICAgICAgaW5mby5ieXRlc1BlckNvbXBvbmVudCAqIDJdOwor
ICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IG9mZnNldFNldC5sZW5ndGg7ICsramopIHsKKyAg
ICAgICAgdmFyIG9mZnNldCA9IG9mZnNldFNldFtqal07CisgICAgICAgIGZvciAodmFyIGtrID0g
MDsga2sgPCBvZmZzZXRTZXQubGVuZ3RoOyArK2trKSB7CisgICAgICAgICAgdmFyIHN0cmlkZSA9
IG9mZnNldFNldFtra107CisgICAgICAgICAgdmFyIGVyciA9IGdsLk5PX0VSUk9SOworICAgICAg
ICAgIHZhciByZWFzb24gPSAiIgorICAgICAgICAgIGlmIChvZmZzZXQgJSBpbmZvLmJ5dGVzUGVy
Q29tcG9uZW50ICE9IDApIHsKKyAgICAgICAgICAgIHJlYXNvbiA9ICJiZWNhdXNlIG9mZnNldCBp
cyBiYWQiOworICAgICAgICAgICAgZXJyID0gZ2wuSU5WQUxJRF9PUEVSQVRJT047CisgICAgICAg
ICAgfQorICAgICAgICAgIGlmIChzdHJpZGUgJSBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50ICE9IDAp
IHsKKyAgICAgICAgICAgIHJlYXNvbiA9ICJiZWNhdXNlIHN0cmlkZSBpcyBiYWQiOworICAgICAg
ICAgICAgZXJyID0gZ2wuSU5WQUxJRF9PUEVSQVRJT047CisgICAgICAgICAgfQorICAgICAgICAg
IGNoZWNrVmVydGV4QXR0cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2wsIGVyciwgcmVhc29u
LCBzaXplLCBpbmZvLnR5cGUsIGZhbHNlLCBzdHJpZGUsIG9mZnNldCk7CisgICAgICAgIH0KKyAg
ICAgICAgdmFyIHN0cmlkZSA9IE1hdGguZmxvb3IoMjU1IC8gaW5mby5ieXRlc1BlckNvbXBvbmVu
dCkgKiBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50OworCisgICAgICAgIGlmIChvZmZzZXQgPT0gMCkg
eworICAgICAgICAgIGNoZWNrVmVydGV4QXR0cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2ws
IGdsLk5PX0VSUk9SLCAiYXQgc3RyaWRlIGxpbWl0IiwKKyAgICAgICAgICAgICAgc2l6ZSwgaW5m
by50eXBlLCBmYWxzZSwgc3RyaWRlLCBvZmZzZXQpOworICAgICAgICAgIGNoZWNrVmVydGV4QXR0
cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2wsIGdsLklOVkFMSURfVkFMVUUsICJvdmVyIHN0
cmlkZSBsaW1pdCIsCisgICAgICAgICAgICAgIHNpemUsIGluZm8udHlwZSwgZmFsc2UsCisgICAg
ICAgICAgICAgIHN0cmlkZSArIGluZm8uYnl0ZXNQZXJDb21wb25lbnQsIG9mZnNldCk7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186689</attachid>
            <date>2013-02-05 13:14:06 -0800</date>
            <delta_ts>2013-02-05 23:38:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108901-20130205131043.patch</filename>
            <type>text/plain</type>
            <size>53974</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FjN2M2ZTYzMjYwY2RmNjY0NTgy
MWY3ZTQzZGRiMDY0NmY2NzQ0ZS4uMWNlZDEwZjc4MDdjNDk1MzA5ZDYyNTZmMmFhNjM3NzQyZjBi
YmE0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTA1ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdHMgYXR0cmliIGZvbGRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwODkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2Vs
bC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12
ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eC1hdHRyaWItcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16
ZXJvLWlzc3Vlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2lu
dGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90ZXN0X2xpc3QudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJw
b2ludGVyLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA0ICBHcmVnZyBUYXZhcmVzICA8Z21hbkBn
b29nbGUuY29tPgogCiAgICAgICAgIEFkZCBTdXBwb3J0IEZpbGVzIGZvciBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYWY3YjkzOTRjOWM4Mzc3NDhkM2JjYzM3MjZhMTFmYzE3MjRiYmU4ZS4uNWU5
MzkzMGJiMGJiMTQyZTJmNzViMGEzNGQ1ODUyMzU5NzBhMjViMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDI5LDYgKzE0MjksMTEg
QEAgd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5kcm9pZCBdIGZhc3QvcmVwYWludC9zaGFkb3ctbXVs
dGlwbGUtc3RyaWN0LWhvcml6b250YWwuaHQKIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFuZHJvaWQg
XSBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgV2ViR0wgVGVzdHMKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWwgWyBTa2lwIF0KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBPdGhlciBmYWls
dXJlcwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0
cmliLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2IwMmI0OWFkMmM3ZTFmMDE1NjQ4Zjg0NmEy
NWU3NzE1MjBhYmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZl
cnRleC1hdHRyaWIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJp
Yi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRjNGE4Mjk2MGU1YzAyOTdjZmU3ZTBkMGFmOGIzMDkwZWJmMmVj
MjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBnbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wt
ZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmZGIyM2JiZDFm
MzQzMjk0ZGIyMjk2NGNkNTFkY2NkMmNkOGQxMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNmQ3MzE5MmRlZTI4YWI1M2M3YTgzNzQzMWI0
ZDBhZjIwZTE0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1h
dHRyaWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NTI0OTI2YTQ3YWQwMWJlYmFjOTcxNmYz
MjQ0NzhlZmNiYjMxYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTgzMDZhZTcxODcyNGM3M2RjZGZkZjIwODQxODg3ZjdjMmU2Y2UyMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Zj
YzNmNzJiMTFiZmNjODBjOTBhNTI1Zjg3OTQ4MzNlYzdkNzRjNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1y
ZW5kZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXgtYXR0cmliLXJlbmRl
ci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE4ZWFlNWQ5NWU4MjJlZWVkNjAyYTkyNzYwNjg4NWMz
MWEzNjFhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmli
LXplcm8taXNzdWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVy
by1pc3N1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWQ0NjkwZjk0NDc3ZGQxNjk3MTI2YmQ1YTA2MzRk
YzQ4NGZjYTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0
dHJpYi16ZXJvLWlzc3Vlcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmIwZDkzOThmYzljNzliZjVk
YjE0YjdkY2NlNzNlMWYxZWJhNzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2wtdmVydGV4LWF0dHJpYi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTdjOWJhYjliZmEwM2MzMmIxMmU4ZDJhNWJkOTBlMGI0OGQ5NjI1
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNl
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MjkyYjgwMmYwMWQyOGUyMWE1Y2ZmYTAxMTY3
YjQwYTZjYTdiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTM4NGFmODgwYzgyZTI4NDQ1
MzZlNzI3YjBlYjFmMzlmMzJhNGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZz
ZXRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJp
YnBvaW50ZXItb2Zmc2V0cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2RmNGJmOTc4NDdjMGQwZGE4YjJlZDJmY2RlMmE5MGE0ZGU0MzcwZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZl
cnRleGF0dHJpYnBvaW50ZXIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4
YXR0cmlicG9pbnRlci5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0
cmlicG9pbnRlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNThiYjY1YWYyZDJmMTg1
NDI4YTIxYmYyMTk0MmIzYzg5ZmQ0Y2FlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90
ZXN0X2xpc3QudHh0CkBAIC0wLDAgKzEsOCBAQAorZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRt
bAorLS1taW4tdmVyc2lvbiAxLjAuMiBnbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1sCistLW1p
bi12ZXJzaW9uIDEuMC4yIGdsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbAorZ2wtdmVydGV4
LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCitnbC12ZXJ0ZXgtYXR0cmliLmh0bWwKK2dsLXZlcnRl
eGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCitnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9h
dHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjgwODFm
Y2FiMmEwMzI5MTZiZjRiZWQ2NDcxMzNkZWEzNTc5YTRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwxMDEgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIERpc2Fi
bGVkIFZlcnRleCBBdHRyaWIgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorPC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2
ZWM0IGFfcG9zaXRpb247CithdHRyaWJ1dGUgdmVjNCBhX2NvbG9yOwordmFyeWluZyB2ZWM0IHZf
Y29sb3I7Cit2b2lkIG1haW4oKSB7CisgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgdl9j
b2xvciA9IGFfY29sb3I7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3Zhcnlp
bmcgdmVjNCB2X2NvbG9yOworYm9vbCBpc0NvcnJlY3RDb2xvcih2ZWM0IHYpIHsKKyAgcmV0dXJu
IHYueCA9PSAwLjAgJiYgdi55ID09IDAuMCAmJiB2LnogPT0gMC4wICYmIHYudyA9PSAxLjA7Cit9
Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IGlzQ29ycmVjdENvbG9yKHZfY29sb3Ip
ID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7Cit9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2Ny
aXB0aW9uKCk7CisKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKwor
dmFyIG51bVZlcnRleEF0dHJpYnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9BVFRS
SUJTKTsKK2ZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WZXJ0ZXhBdHRyaWJzOyArK2lpKSB7Cisg
IHZhciBjb2xvckxvY2F0aW9uID0gKGlpICsgMSkgJSBudW1WZXJ0ZXhBdHRyaWJzOworICB2YXIg
cG9zaXRpb25Mb2NhdGlvbiA9IGNvbG9yTG9jYXRpb24gPyAwIDogMTsKKworICBpZiAocG9zaXRp
b25Mb2NhdGlvbiAhPSAwKSB7CisgICAgLy8gV2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgM2QgY29u
dGV4dCBmb3IgdGVzdGluZyBhdHRyaWIgMAorICAgIC8vIHNpbmNlIHdlJ3ZlIGFscmVhZHkgZWZm
ZWN0ZWQgYXR0cmliIDAgb24gb3RoZXIgdGVzdHMuCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCk7CisgIH0KKworICBkZWJ1ZygidGVzdGluZyBhdHRyaWI6ICIgKyBjb2xvckxvY2F0aW9u
KTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsCisgICAgICBb
J3ZzaGFkZXInLCAnZnNoYWRlciddLAorICAgICAgWydhX3Bvc2l0aW9uJywgJ2FfY29sb3InXSwK
KyAgICAgIFtwb3NpdGlvbkxvY2F0aW9uLCBjb2xvckxvY2F0aW9uXSk7CisgIHZhciBncmlkUmVz
ID0gMTsKKyAgd3R1LnNldHVwUXVhZChnbCwgZ3JpZFJlcywgcG9zaXRpb25Mb2NhdGlvbik7Cisg
IHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIGdyaWRSZXMpOworICB3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKK30KK2dsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NzAzYTBhNWE5NTZmY2Q2
OTQxNWFkYWQzMTViZTNkMjE5ZWE1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVu
YWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgRW5hYmxlIFZlcnRl
eCBBdHRyaWIgVGVzdDwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj4KKzwvY2Fu
dmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAg
YXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAg
ICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBp
ZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4wKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJ0
ZXN0cyB0aGF0IHR1cm5pbmcgb24gYXR0cmlicyB0aGF0IGhhdmUgbm8gYnVmZmVyIGJvdW5kIGZh
aWxzIHRvIGRyYXciKTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5j
cmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3Jh
bShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKK3ZhciB2ZXJ0
ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCB2ZXJ0ZXhPYmplY3QpOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBG
bG9hdDMyQXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgZ2wuU1RB
VElDX0RSQVcpOworZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CitnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKK2dsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDMpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04pOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4LWF0dHJpYi1yZW5kZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMmNmY2Y5MWU1NDczYjM3MGEzYWQ4NmVmZDM4ZGQ5NjgzNTMxN2Zk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1s
CkBAIC0wLDAgKzEsMTExIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgaWQ9J3ZzaGFkZXInIHR5cGU9J3gtc2hhZGVyJz4KKyAgICAgICAgICAgIGF0
dHJpYnV0ZSB2ZWM0IGE7CisgICAgICAgICAgICBhdHRyaWJ1dGUgdmVjMiBwOworICAgICAgICAg
ICAgdm9pZCBtYWluKCkgeworICAgICAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwLngg
KyBhLnggKyBhLnkgKyBhLnogKyBhLncsIHAueSwgMC4wLCAxLjApOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBpZD0nZnNoYWRlcicgdHlwZT0neC1z
aGFkZXInPgorICAgICAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgICAg
ICB2b2lkIG1haW4oKSB7CisgICAgICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLjAs
IDAuMCwgMC4wLCAxLjApOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGNoZWNrUmVkUG9ydGlvbihnbCwgdywgbG93LCBoaWdoKSB7CisgICAgICAgICAgICAgICAg
dmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHcgKiB3ICogNCk7CisgICAgICAgICAgICAgICAgZ2wu
cmVhZFBpeGVscygwLCAwLCB3LCB3LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOwor
ICAgICAgICAgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgICAgICAgICBmb3IgKDsgaSA8IHc7
ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYnVmW2kgKiA0ICsgMF0gPT0gMjU1ICYm
IGJ1ZltpICogNCArIDFdID09IDAgJiYgYnVmW2kgKiA0ICsgMl0gPT0gMCAmJiBidWZbaSAqIDQg
KyAzXSA9PSAyNTUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiBs
b3cgPD0gaSAmJiBpIDw9IGhpZ2g7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworICAgICAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoJ3Rlc3RiZWQn
LCB7IHByZXNlcnZlRHJhd2luZ0J1ZmZlciA6IHRydWUgfSk7CisgICAgICAgICAgICAgICAgaWYg
KCFnbCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdjb3VsZCBub3QgY3JlYXRl
IGNvbnRleHQnKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsn
dnNoYWRlcicsICdmc2hhZGVyJ10sIFsncCcsICdhJ10pCisKKyAgICAgICAgICAgICAgICBnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheShnbC5wKTsKKyAgICAgICAgICAgICAgICB2YXIgcG9zID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgcG9zLnR5cGUgPSBnbC5GTE9BVDsK
KyAgICAgICAgICAgICAgICBwb3Muc2l6ZSA9IDI7CisgICAgICAgICAgICAgICAgcG9zLm51bSA9
IDQ7CisgICAgICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHBvcyk7
CisgICAgICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9h
dDMyQXJyYXkoWy0xLCAtMSwgMSwgLTEsIC0xLCAxLCAxLCAxXSksIGdsLlNUQVRJQ19EUkFXKTsK
KworICAgICAgICAgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgcG9zLnNpemUsIHBv
cy50eXBlLCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygnVGVzdCB2ZXJ0
ZXhBdHRyaWJbMS4uNF1mdiBieSBzZXR0aW5nIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgdGhhdCBh
ZGQgdXAgdG8gMS41IGFuZCB1c2UgdGhhdCB3aGVuIHJlbmRlcmluZy4nKTsKKyAgICAgICAgICAg
ICAgICB2YXIgdmFscyA9IFtbMC41XSwgWzAuMSwwLjRdLCBbMC4yLC0wLjIsMC41XSwgWy0xLjAs
MC4zLDAuMiwyLjBdXTsKKworICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgNDsg
KytqKSB7CisgICAgICAgICAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQg
fCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICAgICAgZ2xbJ3ZlcnRleEF0
dHJpYicgKyAoaisxKSArICdmdiddKDEsIHZhbHNbal0pOworICAgICAgICAgICAgICAgICAgICBn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFX1NUUklQLCAwLCBwb3MubnVtKTsKKworICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hlY2tSZWRQb3J0aW9uKGdsLCA1MCwgNTAgKiAwLjcsIDUwICogMC44
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnQXR0cmlidXRlIG9mIHNp
emUgJyArIChqKzEpICsgJyB3YXMgc2V0IGNvcnJlY3RseScpOworICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnQXR0cmlidXRl
IG9mIHNpemUgJyArIChqKzEpICsgJyB3YXMgbm90IHNldCBjb3JyZWN0bHknKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8Y2FudmFzIGlkPSJ0
ZXN0YmVkIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oJ1ZlcmlmeSB0aGF0IHVzaW5nIGNvbnN0YW50IGF0dHJpYnV0ZXMgd29ya3Mu
Jyk7CisgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkODk4NDkzZjE0MDQ0NmI2MjkwOGQzOTY4YjEyZmYyYzBiYmRlZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbApAQCAtMCww
ICsxLDE1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgRW5hYmxlIFZlcnRleCBBdHRyaWIgWmVybyBUZXN0PC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1
MCI+Cis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAg
IHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+CisK
KzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCwxLjAsMC4w
LDEuMCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNj
cmlwdGlvbigiVGVzdCBzb21lIG9mIHRoZSBpc3N1ZXMgb2YgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl
biBhdHRyaWIgMCBvbiBPcGVuR0wgdnMgV2ViR0wiKTsKK2RlYnVnKCIiKTsKK3ZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
K3ZhciBnX3Byb2dyYW07Cit2YXIgZ19hdHRyaWJMb2NhdGlvbjsKK2Z1bmN0aW9uIHNldHVwKGF0
dHJpYkluZGV4KSB7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGds
LCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3ZQb3NpdGlvbiddLCBbYXR0cmliSW5kZXhdKTsK
KyAgZ19wcm9ncmFtID0gcHJvZ3JhbTsKKyAgZ19hdHRyaWJMb2NhdGlvbiA9IGF0dHJpYkluZGV4
OworICBzaG91bGRCZSgiZ19hdHRyaWJMb2NhdGlvbiIsICJnbC5nZXRBdHRyaWJMb2NhdGlvbihn
X3Byb2dyYW0sICd2UG9zaXRpb24nKSIpOworICByZXR1cm4gcHJvZ3JhbTsKK30KKworZnVuY3Rp
b24gc2V0dXBWZXJ0cyhudW1WZXJ0cykgeworICB2YXIgdmVydHMgPSBbCisgICAgIDEuMCwgIDEu
MCwgMC4wLAorICAgIC0xLjAsICAxLjAsIDAuMCwKKyAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAg
IDEuMCwgIDEuMCwgMC4wLAorICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgMS4wLCAtMS4wLCAw
LjAKKyAgXTsKKyAgdmFyIHBvc2l0aW9ucyA9IG5ldyBGbG9hdDMyQXJyYXkobnVtVmVydHMgKiAz
KTsKKyAgdmFyIGluZGljZXMgPSBuZXcgVWludDE2QXJyYXkobnVtVmVydHMpOworICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgbnVtVmVydHM7ICsraWkpIHsKKyAgICB2YXIgbmR4ID0gaWkgJSA2Owor
ICAgIHZhciBkc3QgPSBpaSAqIDM7CisgICAgdmFyIHNyYyA9IG5keCAqIDM7CisgICAgZm9yICh2
YXIgamogPSAwOyBqaiA8IDM7ICsramopIHsKKyAgICAgIHBvc2l0aW9uc1tkc3QgKyBqal0gPSB2
ZXJ0c1tzcmMgKyBqal07CisgICAgfQorICAgIGluZGljZXNbaWldID0gaWk7CisgIH0KKyAgdmFy
IHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIHBvc2l0aW9ucywgZ2wuU1RBVElDX0RSQVcpOworICB2YXIgaW5kZXhCdWZmZXIgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwg
aW5kZXhCdWZmZXIpOworICBnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBp
bmRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7Cit9CisKK3ZhciBwMCA9IHNldHVwKDApOwordmFyIHAz
ID0gc2V0dXAoMyk7CitzZXR1cFZlcnRzKDYwMDAwKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8
IDU7ICsraWkpIHsKKyAgLy8gdGVzdCBkcmF3aW5nIHdpdGggYXR0cmliIDAKKyAgZ2wudXNlUHJv
Z3JhbShwMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmNsZWFyKGds
LkNPTE9SX0JVRkZFUl9CSVQpOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2MDAw
MCwgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwg
Z2wuTk9fRVJST1IsCisgICAgICAiZHJhd2luZyB1c2luZyBhdHRyaWIgMCB3aXRoIDYgdmVydHMi
KTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAiY2FudmFzIHNob3Vs
ZCBiZSBncmVlbiIpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisKKyAgLy8g
dGVzdCBkcmF3aW5nIHdpdGhvdXQgYXR0cmliIDAKKyAgZ2wudXNlUHJvZ3JhbShwMyk7CisgIGds
LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDMs
IDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQpOworICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNjAwMDApOworICBnbEVycm9y
U2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisgICAgICAiZHJhd2luZyB1c2luZyBh
dHRyaWIgMyB3aXRoIDYwMDAwIHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1
NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDMpOworCisgIC8vIFRoaXMgc2Vjb25kIHRlc3Qgb2YgZHJhd2luZyB3aXRo
b3V0IGF0dHJpYjAgdW5jb252ZXJlZCBhIGJ1ZyBpbiBjaHJvbWUKKyAgLy8gd2hlcmUgYWZ0ZXIg
dGhlIGRyYXcgd2l0aG91dCBhdHRyaWIwIHRoZSBhdHRyaWIgMCBlbXVsYXRpb24gY29kZSBkaXNh
YmxlZAorICAvLyBhdHRyaWIgMCBhbmQgaXQgd2FzIG5ldmVyIHJlLWVuYWJsZWQgc28gdGhpcyBu
ZXh0IGRyYXcgZmFpbGVkLgorICBnbC51c2VQcm9ncmFtKHAzKTsKKyAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkoMyk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICBnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2MDAwMCwgZ2wuVU5TSUdORURfU0hPUlQsIDApOwor
ICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisgICAgICAiZHJhd2lu
ZyB1c2luZyBhdHRyaWIgMyB3aXRoIDYwMDAwIHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzAsIDI1NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlz
YWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworfQorCisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWNhYWEzMzZmNzllOGVkZThlMTUyNjNmODYwNWQ3NTU3MWVkMTRkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCAr
MSwxMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIHZlcnRleEF0dHJpYiBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2Nh
bnZhcz4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVu
c3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIHZlcnRleEF0dHJpYiBjYW4gYmUgc2V0IGFuZCBy
ZWFkLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2Fu
dmFzIik7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygiQ2hlY2tpbmcgZ2wudmVydGV4QXR0cmliLiIpOworCisgIHZhciBudW1W
ZXJ0ZXhBdHRyaWJzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfQVRUUklCUyk7Cisg
IGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WZXJ0ZXhBdHRyaWJzOyArK2lpKSB7CisgICAgZ2wu
dmVydGV4QXR0cmliMWZ2KGlpLCBbMV0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzFdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMCcpOworICAgIHNob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRU
UklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWIyZnYoaWksIFsxLCAyXSk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzBdJywgJzEnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnMicpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVsyXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsg
aWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZl
cnRleEF0dHJpYjNmdihpaSwgWzEsIDIsIDNdKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMF0nLCAnMScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsxXScsICcyJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzJdJywgJzMnKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wudmVydGV4QXR0cmliNGZ2KGlpLCBbMSwgMiwg
MywgNF0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wu
Q1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZl
cnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzFdJywgJzIn
KTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJF
TlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMycpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVszXScsICc0Jyk7CisK
KyAgICBnbC52ZXJ0ZXhBdHRyaWIxZihpaSwgNSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzUnKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsyXScsICcwJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZlcnRleEF0dHJpYjJmKGlpLCA2LCA3KTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMF0nLCAnNicpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICc3Jyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzJdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wu
dmVydGV4QXR0cmliM2YoaWksIDcsIDgsIDkpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICc3Jyk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzFdJywgJzgnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnOScpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWI0ZihpaSwgNiwgNywgOCwg
OSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJS
RU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzYnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnNycpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsyXScsICc4Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzknKTsKKyAgfQor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKworZGVidWcoIiIpOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZTYyODM1ZGRiNDQ0ZDFiOGQyZmUzNTQ5NGQzZWY0ZDAxMGNmMzc5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApAQCAt
MCwwICsxLDE4MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICA8dGl0bGU+dmVydGV4YXR0cmlicG9pbnRlciBvZmZzZXRzIHRlc3Q8L3RpdGxlPgorICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+CitUaGVyZSBpcyBzdXBwb3NlZCB0byBiZSBhbiBleGFt
cGxlIGRyYXdpbmcgaGVyZSwgYnV0IGl0J3Mgbm90IGltcG9ydGFudC4KKzwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgICBh
dHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAgPC9z
Y3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KKyAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgIHVuaWZvcm0g
dmVjNCBjb2xvcjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAg
Z2xfRnJhZ0NvbG9yID0gY29sb3I7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxz
Y3JpcHQ+CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJ0ZXN0IHZlcnRleGF0dHJpYnBvaW50
ZXIgb2Zmc2V0cyB3b3JrIik7CisKKyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKKyAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
KyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVy
IiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKKyAgICAgICAgICAgIHZhciB0ZXN0cyA9
IFsKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgRmxvYXQzMkFycmF5KFsgMCwgMSwgMCwgMSwg
MCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5GTE9BVCwKKyAgICAg
ICAgICAgICAgICBjb21wb25lbnRTaXplOiA0LAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTog
ZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IEZsb2F0
MzJBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuRkxPQVQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogNCwKKyAgICAg
ICAgICAgICAgICBub3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICB7IGRhdGE6IG5ldyBVaW50MTZBcnJheShbIDAsIDMyNzY3LCAwLCAzMjc2NywgMCwgMCwg
MCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5TSE9SVCwKKyAgICAgICAgICAg
ICAgICBjb21wb25lbnRTaXplOiAyLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwK
KyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWludDE2QXJyYXko
WyAwLCA2NTUzNSwgMCwgNjU1MzUsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuVU5TSUdORURfU0hPUlQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTog
MiwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRydWUsCisgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQxNkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwg
MCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVCwKKyAg
ICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAyLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6
ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVp
bnQxNkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAg
ICB0eXBlOiBnbC5TSE9SVCwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAyLAorICAg
ICAgICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAxMjcsIDAsIDEyNywgMCwgMCwgMCwg
MCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5CWVRFLAorICAgICAgICAgICAgICAg
IGNvbXBvbmVudFNpemU6IDEsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0cnVlLAorICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50OEFycmF5KFsgMCwg
MjU1LCAwLCAyNTUsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAgdHlwZTogZ2wu
VU5TSUdORURfQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAxLAorICAgICAg
ICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgeyBkYXRhOiBuZXcgVWludDhBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSks
CisgICAgICAgICAgICAgICAgdHlwZTogZ2wuQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25l
bnRTaXplOiAxLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAxLCAwLCAx
LCAwLCAwLCAwLCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogMSwKKyAgICAgICAgICAgICAgICBu
b3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdOworCisgICAg
ICAgICAgICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAg
ICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICAgICAg
ICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAxMDI0LCBnbC5TVEFUSUNfRFJBVyk7
CisgICAgICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKworICAgICAgICAg
ICAgdmFyIGNvbG9yTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJjb2xvciIp
OworICAgICAgICAgICAgdmFyIGtOdW1WZXJ0cyA9IDM7CisgICAgICAgICAgICB2YXIga051bUNv
bXBvbmVudHMgPSAzOworCisgICAgICAgICAgICB2YXIgY291bnQgPSAwOworICAgICAgICAgICAg
Zm9yICh2YXIgdHQgPSAwOyB0dCA8IHRlc3RzLmxlbmd0aDsgKyt0dCkgeworICAgICAgICAgICAg
ICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAgICAgICAgICAgICAgZm9yICh2YXIgb28gPSAwOyBv
byA8IDM7ICsrb28pIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBzcyA9IDA7IHNzIDwgMzsg
KytzcykgeworICAgICAgICAgICAgICAgICAgdmFyIG9mZnNldCA9IChvbyArIDEpICogdGVzdC5j
b21wb25lbnRTaXplOworICAgICAgICAgICAgICAgICAgdmFyIGNvbG9yID0gKGNvdW50ICUgMikg
PyBbMSwgMCwgMCwgMV0gOiBbMCwgMSwgMCwgMV07CisgICAgICAgICAgICAgICAgICB2YXIgc3Ry
aWRlID0gdGVzdC5jb21wb25lbnRTaXplICoga051bUNvbXBvbmVudHMgKyB0ZXN0LmNvbXBvbmVu
dFNpemUgKiBzczsKKyAgICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAg
ICAgIGRlYnVnKCJjaGVjayB3aXRoICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QudHlw
ZSkgKyAiIGF0IG9mZnNldDogIiArIG9mZnNldCArICIgd2l0aCBzdHJpZGU6IiArIHN0cmlkZSAr
ICIgbm9ybWFsaXplOiAiICsgdGVzdC5ub3JtYWxpemUpOworICAgICAgICAgICAgICAgICAgZ2wu
dW5pZm9ybTRmdihjb2xvckxvYywgY29sb3IpOworICAgICAgICAgICAgICAgICAgdmFyIGRhdGEg
PSBuZXcgVWludDhBcnJheSh0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtVmVydHMgKiBrTnVtQ29t
cG9uZW50cyArIHN0cmlkZSAqIChrTnVtVmVydHMgLSAxKSk7CisgICAgICAgICAgICAgICAgICB2
YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KHRlc3QuZGF0YS5idWZmZXIpOworICAgICAgICAgICAg
ICAgICAgdmFyIHNpemUgPSB0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtQ29tcG9uZW50czsKKyAg
ICAgICAgICAgICAgICAgIGZvciAodmFyIGpqID0gMDsgamogPCBrTnVtVmVydHM7ICsramopIHsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIG9mZjEgPSBqaiAqIHNpemU7CisgICAgICAgICAgICAg
ICAgICAgIHZhciBvZmYyID0gamogKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgICAgIGZvciAo
dmFyIHp6ID0gMDsgenogPCBzaXplOyArK3p6KSB7CisgICAgICAgICAgICAgICAgICAgICAgZGF0
YVtvZmYyICsgenpdID0gdmlld1tvZmYxICsgenpdOworICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBnbC5idWZmZXJTdWJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgb2Zmc2V0LCBkYXRhKTsKKyAgICAgICAgICAgICAgICAgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoMCwgMywgdGVzdC50eXBlLCB0ZXN0Lm5vcm1hbGl6ZSwgc3RyaWRlLCBv
ZmZzZXQpOworICAgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8
IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDMpOworCisgICAgICAgICAgICAgICAgICB2YXIgYnVmID0gbmV3IFVp
bnQ4QXJyYXkoNTAgKiA1MCAqIDQpOworICAgICAgICAgICAgICAgICAgZ2wucmVhZFBpeGVscygw
LCAwLCA1MCwgNTAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisKKyAgICAgICAg
ICAgICAgICAgIHZhciBibGFjayA9IFswLCAwLCAwLCAwXTsKKyAgICAgICAgICAgICAgICAgIHZh
ciBvdGhlciA9IFtjb2xvclswXSAqIDI1NSwgY29sb3JbMV0gKiAyNTUsIGNvbG9yWzJdICogMjU1
LCBjb2xvclszXSAqIDI1NV07CisgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJNc2cgPSAic2hv
dWxkIGJlICIgKyAoKGNvdW50ICUgMikgPyAicmVkIiA6ICJncmVlbiIpCisgICAgICAgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBibGFjaywgInNob3VsZCBi
ZSBibGFjayIsIDApOworICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MCwgNDksIDEsIDEsIGJsYWNrLCAic2hvdWxkIGJlIGJsYWNrIiwgMCk7CisgICAgICAgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAyNiwgNDAsIDEsIDEsIG90aGVyLCBvdGhlck1z
ZywgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAyNiwgMjcs
IDEsIDEsIG90aGVyLCBvdGhlck1zZywgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tD
YW52YXNSZWN0KGdsLCA0MCwgMjcsIDEsIDEsIG90aGVyLCBvdGhlck1zZywgMCk7CisgICAgICAg
ICAgICAgICAgICArK2NvdW50OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgIH0KKworICAgICAgIGluaXQoKTsKKyAgICAgICB2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWEwMjlkYzIyY2Zh
YjQ5ZmUzNjlhODMyNzYzNjQwMWUzMjZkNGYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwKQEAgLTAsMCArMSwxNTYgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHZlcnRleEF0dHJpYlBv
aW50ZXIgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNj
cmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIi
IGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHZlcnRleEF0dHJpYlBvaW50ZXIgYmVoYXZpb3JzIGluIFdl
YkdMLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2Fu
dmFzIik7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygiQ2hlY2tpbmcgZ2wudmVydGV4QXR0cmliUG9pbnRlci4iKTsKKworICBp
ZiAoIWdsLkZJWEVEKSB7CisgICAgZ2wuRklYRUQgPSAweDE0MEM7CisgIH0KKworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCAwLCAwLCAxMik7CisgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRl
ciBzaG91bGQgZmFpbCBpZiBubyBidWZmZXIgaXMgYm91bmQiKTsKKworICB2YXIgdmVydGV4T2Jq
ZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZs
b2F0MzJBcnJheSgwKSwgZ2wuU1RBVElDX0RSQVcpOworCisgIGdsLnZlcnRleEF0dHJpYlBvaW50
ZXIoMCwgMSwgZ2wuSU5ULCAwLCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0VOVU0sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQg
SU5UIik7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMSwgZ2wuVU5TSUdORURfSU5ULCAw
LCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sCisgICAgICAi
dmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQgVU5TSUdORURfSU5UIik7Cisg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMSwgZ2wuRklYRUQsIDAsIDAsIDApOworICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAgICJ2ZXJ0ZXhBdHRyaWJQb2lu
dGVyIHNob3VsZCBub3Qgc3VwcG9ydCBGSVhFRCIpOworCisgIHZhciBjaGVja1ZlcnRleEF0dHJp
YlBvaW50ZXIgPSBmdW5jdGlvbigKKyAgICAgIGdsLCBlcnIsIHJlYXNvbiwgc2l6ZSwgdHlwZSwg
bm9ybWFsaXplLCBzdHJpZGUsIG9mZnNldCkgeworICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
MCwgc2l6ZSwgdHlwZSwgbm9ybWFsaXplLCBzdHJpZGUsIG9mZnNldCk7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBlcnIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsICIgKyBz
aXplICsKKyAgICAgICAgIiwgZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdHlwZSkgKwor
ICAgICAgICAiLCAiICsgbm9ybWFsaXplICsKKyAgICAgICAgIiwgIiArIHN0cmlkZSArCisgICAg
ICAgICIsICIgKyBvZmZzZXQgKworICAgICAgICAiKSBzaG91bGQgIiArIChlcnIgPT0gZ2wuTk9f
RVJST1IgPyAic3VjY2VlZCAiIDogImZhaWwgIikgKyByZWFzb24pOworICB9CisKKyAgdmFyIHR5
cGVzID0gWworICAgIHsgdHlwZTpnbC5CWVRFLCAgICAgICAgICAgYnl0ZXNQZXJDb21wb25lbnQ6
IDEgfSwKKyAgICB7IHR5cGU6Z2wuVU5TSUdORURfQllURSwgIGJ5dGVzUGVyQ29tcG9uZW50OiAx
IH0sCisgICAgeyB0eXBlOmdsLlNIT1JULCAgICAgICAgICBieXRlc1BlckNvbXBvbmVudDogMiB9
LAorICAgIHsgdHlwZTpnbC5VTlNJR05FRF9TSE9SVCwgYnl0ZXNQZXJDb21wb25lbnQ6IDIgfSwK
KyAgICB7IHR5cGU6Z2wuRkxPQVQsICAgICAgICAgIGJ5dGVzUGVyQ29tcG9uZW50OiA0IH0sCisg
IF07CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHR5cGVzLmxlbmd0aDsgKytpaSkgeworICAg
IHZhciBpbmZvID0gdHlwZXNbaWldOworICAgIGRlYnVnKCIiKTsKKyAgICBmb3IgKHZhciBzaXpl
ID0gMTsgc2l6ZSA8PSA0OyArK3NpemUpIHsKKyAgICAgIGRlYnVnKCIiKTsKKyAgICAgIGRlYnVn
KCJjaGVja2luZzogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaW5mby50eXBlKSArICIgd2l0
aCBzaXplICIgKyBzaXplKTsKKyAgICAgIHZhciBieXRlc1BlckVsZW1lbnQgPSBzaXplICogaW5m
by5ieXRlc1BlckNvbXBvbmVudDsKKyAgICAgIHZhciBvZmZzZXRTZXQgPSBbCisgICAgICAgICAg
MCwKKyAgICAgICAgICAxLAorICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQgLSAxLAor
ICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQsCisgICAgICAgICAgaW5mby5ieXRlc1Bl
ckNvbXBvbmVudCArIDEsCisgICAgICAgICAgaW5mby5ieXRlc1BlckNvbXBvbmVudCAqIDJdOwor
ICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IG9mZnNldFNldC5sZW5ndGg7ICsramopIHsKKyAg
ICAgICAgdmFyIG9mZnNldCA9IG9mZnNldFNldFtqal07CisgICAgICAgIGZvciAodmFyIGtrID0g
MDsga2sgPCBvZmZzZXRTZXQubGVuZ3RoOyArK2trKSB7CisgICAgICAgICAgdmFyIHN0cmlkZSA9
IG9mZnNldFNldFtra107CisgICAgICAgICAgdmFyIGVyciA9IGdsLk5PX0VSUk9SOworICAgICAg
ICAgIHZhciByZWFzb24gPSAiIgorICAgICAgICAgIGlmIChvZmZzZXQgJSBpbmZvLmJ5dGVzUGVy
Q29tcG9uZW50ICE9IDApIHsKKyAgICAgICAgICAgIHJlYXNvbiA9ICJiZWNhdXNlIG9mZnNldCBp
cyBiYWQiOworICAgICAgICAgICAgZXJyID0gZ2wuSU5WQUxJRF9PUEVSQVRJT047CisgICAgICAg
ICAgfQorICAgICAgICAgIGlmIChzdHJpZGUgJSBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50ICE9IDAp
IHsKKyAgICAgICAgICAgIHJlYXNvbiA9ICJiZWNhdXNlIHN0cmlkZSBpcyBiYWQiOworICAgICAg
ICAgICAgZXJyID0gZ2wuSU5WQUxJRF9PUEVSQVRJT047CisgICAgICAgICAgfQorICAgICAgICAg
IGNoZWNrVmVydGV4QXR0cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2wsIGVyciwgcmVhc29u
LCBzaXplLCBpbmZvLnR5cGUsIGZhbHNlLCBzdHJpZGUsIG9mZnNldCk7CisgICAgICAgIH0KKyAg
ICAgICAgdmFyIHN0cmlkZSA9IE1hdGguZmxvb3IoMjU1IC8gaW5mby5ieXRlc1BlckNvbXBvbmVu
dCkgKiBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50OworCisgICAgICAgIGlmIChvZmZzZXQgPT0gMCkg
eworICAgICAgICAgIGNoZWNrVmVydGV4QXR0cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2ws
IGdsLk5PX0VSUk9SLCAiYXQgc3RyaWRlIGxpbWl0IiwKKyAgICAgICAgICAgICAgc2l6ZSwgaW5m
by50eXBlLCBmYWxzZSwgc3RyaWRlLCBvZmZzZXQpOworICAgICAgICAgIGNoZWNrVmVydGV4QXR0
cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2wsIGdsLklOVkFMSURfVkFMVUUsICJvdmVyIHN0
cmlkZSBsaW1pdCIsCisgICAgICAgICAgICAgIHNpemUsIGluZm8udHlwZSwgZmFsc2UsCisgICAg
ICAgICAgICAgIHN0cmlkZSArIGluZm8uYnl0ZXNQZXJDb21wb25lbnQsIG9mZnNldCk7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186765</attachid>
            <date>2013-02-05 23:38:21 -0800</date>
            <delta_ts>2013-02-05 23:42:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108901-20130205233458.patch</filename>
            <type>text/plain</type>
            <size>53974</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FjN2M2ZTYzMjYwY2RmNjY0NTgy
MWY3ZTQzZGRiMDY0NmY2NzQ0ZS4uMWNlZDEwZjc4MDdjNDk1MzA5ZDYyNTZmMmFhNjM3NzQyZjBi
YmE0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTA1ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdHMgYXR0cmliIGZvbGRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwODkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2Vs
bC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12
ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eC1hdHRyaWItcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16
ZXJvLWlzc3Vlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2lu
dGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90ZXN0X2xpc3QudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJw
b2ludGVyLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA0ICBHcmVnZyBUYXZhcmVzICA8Z21hbkBn
b29nbGUuY29tPgogCiAgICAgICAgIEFkZCBTdXBwb3J0IEZpbGVzIGZvciBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYWY3YjkzOTRjOWM4Mzc3NDhkM2JjYzM3MjZhMTFmYzE3MjRiYmU4ZS4uNWU5
MzkzMGJiMGJiMTQyZTJmNzViMGEzNGQ1ODUyMzU5NzBhMjViMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDI5LDYgKzE0MjksMTEg
QEAgd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5kcm9pZCBdIGZhc3QvcmVwYWludC9zaGFkb3ctbXVs
dGlwbGUtc3RyaWN0LWhvcml6b250YWwuaHQKIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFuZHJvaWQg
XSBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgV2ViR0wgVGVzdHMKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWwgWyBTa2lwIF0KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBPdGhlciBmYWls
dXJlcwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0
cmliLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2IwMmI0OWFkMmM3ZTFmMDE1NjQ4Zjg0NmEy
NWU3NzE1MjBhYmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZl
cnRleC1hdHRyaWIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9hdHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJp
Yi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRjNGE4Mjk2MGU1YzAyOTdjZmU3ZTBkMGFmOGIzMDkwZWJmMmVj
MjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBnbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wt
ZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmZGIyM2JiZDFm
MzQzMjk0ZGIyMjk2NGNkNTFkY2NkMmNkOGQxMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNmQ3MzE5MmRlZTI4YWI1M2M3YTgzNzQzMWI0
ZDBhZjIwZTE0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1h
dHRyaWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NTI0OTI2YTQ3YWQwMWJlYmFjOTcxNmYz
MjQ0NzhlZmNiYjMxYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTgzMDZhZTcxODcyNGM3M2RjZGZkZjIwODQxODg3ZjdjMmU2Y2UyMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Zj
YzNmNzJiMTFiZmNjODBjOTBhNTI1Zjg3OTQ4MzNlYzdkNzRjNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1y
ZW5kZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXgtYXR0cmliLXJlbmRl
ci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE4ZWFlNWQ5NWU4MjJlZWVkNjAyYTkyNzYwNjg4NWMz
MWEzNjFhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmli
LXplcm8taXNzdWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVy
by1pc3N1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWQ0NjkwZjk0NDc3ZGQxNjk3MTI2YmQ1YTA2MzRk
YzQ4NGZjYTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0
dHJpYi16ZXJvLWlzc3Vlcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmIwZDkzOThmYzljNzliZjVk
YjE0YjdkY2NlNzNlMWYxZWJhNzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2wtdmVydGV4LWF0dHJpYi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTdjOWJhYjliZmEwM2MzMmIxMmU4ZDJhNWJkOTBlMGI0OGQ5NjI1
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNl
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MjkyYjgwMmYwMWQyOGUyMWE1Y2ZmYTAxMTY3
YjQwYTZjYTdiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTM4NGFmODgwYzgyZTI4NDQ1
MzZlNzI3YjBlYjFmMzlmMzJhNGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZz
ZXRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJp
YnBvaW50ZXItb2Zmc2V0cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2RmNGJmOTc4NDdjMGQwZGE4YjJlZDJmY2RlMmE5MGE0ZGU0MzcwZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZl
cnRleGF0dHJpYnBvaW50ZXIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4
YXR0cmlicG9pbnRlci5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0
cmlicG9pbnRlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNThiYjY1YWYyZDJmMTg1
NDI4YTIxYmYyMTk0MmIzYzg5ZmQ0Y2FlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90
ZXN0X2xpc3QudHh0CkBAIC0wLDAgKzEsOCBAQAorZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRt
bAorLS1taW4tdmVyc2lvbiAxLjAuMiBnbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1sCistLW1p
bi12ZXJzaW9uIDEuMC4yIGdsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbAorZ2wtdmVydGV4
LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCitnbC12ZXJ0ZXgtYXR0cmliLmh0bWwKK2dsLXZlcnRl
eGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sCitnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9h
dHRyaWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjgwODFm
Y2FiMmEwMzI5MTZiZjRiZWQ2NDcxMzNkZWEzNTc5YTRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSwxMDEgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIERpc2Fi
bGVkIFZlcnRleCBBdHRyaWIgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorPC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2
ZWM0IGFfcG9zaXRpb247CithdHRyaWJ1dGUgdmVjNCBhX2NvbG9yOwordmFyeWluZyB2ZWM0IHZf
Y29sb3I7Cit2b2lkIG1haW4oKSB7CisgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgdl9j
b2xvciA9IGFfY29sb3I7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3Zhcnlp
bmcgdmVjNCB2X2NvbG9yOworYm9vbCBpc0NvcnJlY3RDb2xvcih2ZWM0IHYpIHsKKyAgcmV0dXJu
IHYueCA9PSAwLjAgJiYgdi55ID09IDAuMCAmJiB2LnogPT0gMC4wICYmIHYudyA9PSAxLjA7Cit9
Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IGlzQ29ycmVjdENvbG9yKHZfY29sb3Ip
ID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7Cit9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2Ny
aXB0aW9uKCk7CisKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKwor
dmFyIG51bVZlcnRleEF0dHJpYnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9BVFRS
SUJTKTsKK2ZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WZXJ0ZXhBdHRyaWJzOyArK2lpKSB7Cisg
IHZhciBjb2xvckxvY2F0aW9uID0gKGlpICsgMSkgJSBudW1WZXJ0ZXhBdHRyaWJzOworICB2YXIg
cG9zaXRpb25Mb2NhdGlvbiA9IGNvbG9yTG9jYXRpb24gPyAwIDogMTsKKworICBpZiAocG9zaXRp
b25Mb2NhdGlvbiAhPSAwKSB7CisgICAgLy8gV2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgM2QgY29u
dGV4dCBmb3IgdGVzdGluZyBhdHRyaWIgMAorICAgIC8vIHNpbmNlIHdlJ3ZlIGFscmVhZHkgZWZm
ZWN0ZWQgYXR0cmliIDAgb24gb3RoZXIgdGVzdHMuCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCk7CisgIH0KKworICBkZWJ1ZygidGVzdGluZyBhdHRyaWI6ICIgKyBjb2xvckxvY2F0aW9u
KTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsCisgICAgICBb
J3ZzaGFkZXInLCAnZnNoYWRlciddLAorICAgICAgWydhX3Bvc2l0aW9uJywgJ2FfY29sb3InXSwK
KyAgICAgIFtwb3NpdGlvbkxvY2F0aW9uLCBjb2xvckxvY2F0aW9uXSk7CisgIHZhciBncmlkUmVz
ID0gMTsKKyAgd3R1LnNldHVwUXVhZChnbCwgZ3JpZFJlcywgcG9zaXRpb25Mb2NhdGlvbik7Cisg
IHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIGdyaWRSZXMpOworICB3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKK30KK2dsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NzAzYTBhNWE5NTZmY2Q2
OTQxNWFkYWQzMTViZTNkMjE5ZWE1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVu
YWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgRW5hYmxlIFZlcnRl
eCBBdHRyaWIgVGVzdDwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj4KKzwvY2Fu
dmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAg
YXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAg
ICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBp
ZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4wKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJ0
ZXN0cyB0aGF0IHR1cm5pbmcgb24gYXR0cmlicyB0aGF0IGhhdmUgbm8gYnVmZmVyIGJvdW5kIGZh
aWxzIHRvIGRyYXciKTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5j
cmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3Jh
bShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKK3ZhciB2ZXJ0
ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCB2ZXJ0ZXhPYmplY3QpOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBG
bG9hdDMyQXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgZ2wuU1RB
VElDX0RSQVcpOworZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CitnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKK2dsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDMpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04pOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4LWF0dHJpYi1yZW5kZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMmNmY2Y5MWU1NDczYjM3MGEzYWQ4NmVmZDM4ZGQ5NjgzNTMxN2Zk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1s
CkBAIC0wLDAgKzEsMTExIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgaWQ9J3ZzaGFkZXInIHR5cGU9J3gtc2hhZGVyJz4KKyAgICAgICAgICAgIGF0
dHJpYnV0ZSB2ZWM0IGE7CisgICAgICAgICAgICBhdHRyaWJ1dGUgdmVjMiBwOworICAgICAgICAg
ICAgdm9pZCBtYWluKCkgeworICAgICAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwLngg
KyBhLnggKyBhLnkgKyBhLnogKyBhLncsIHAueSwgMC4wLCAxLjApOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBpZD0nZnNoYWRlcicgdHlwZT0neC1z
aGFkZXInPgorICAgICAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgICAg
ICB2b2lkIG1haW4oKSB7CisgICAgICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLjAs
IDAuMCwgMC4wLCAxLjApOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGNoZWNrUmVkUG9ydGlvbihnbCwgdywgbG93LCBoaWdoKSB7CisgICAgICAgICAgICAgICAg
dmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHcgKiB3ICogNCk7CisgICAgICAgICAgICAgICAgZ2wu
cmVhZFBpeGVscygwLCAwLCB3LCB3LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOwor
ICAgICAgICAgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgICAgICAgICBmb3IgKDsgaSA8IHc7
ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYnVmW2kgKiA0ICsgMF0gPT0gMjU1ICYm
IGJ1ZltpICogNCArIDFdID09IDAgJiYgYnVmW2kgKiA0ICsgMl0gPT0gMCAmJiBidWZbaSAqIDQg
KyAzXSA9PSAyNTUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiBs
b3cgPD0gaSAmJiBpIDw9IGhpZ2g7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworICAgICAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoJ3Rlc3RiZWQn
LCB7IHByZXNlcnZlRHJhd2luZ0J1ZmZlciA6IHRydWUgfSk7CisgICAgICAgICAgICAgICAgaWYg
KCFnbCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdjb3VsZCBub3QgY3JlYXRl
IGNvbnRleHQnKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsn
dnNoYWRlcicsICdmc2hhZGVyJ10sIFsncCcsICdhJ10pCisKKyAgICAgICAgICAgICAgICBnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheShnbC5wKTsKKyAgICAgICAgICAgICAgICB2YXIgcG9zID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgcG9zLnR5cGUgPSBnbC5GTE9BVDsK
KyAgICAgICAgICAgICAgICBwb3Muc2l6ZSA9IDI7CisgICAgICAgICAgICAgICAgcG9zLm51bSA9
IDQ7CisgICAgICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHBvcyk7
CisgICAgICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9h
dDMyQXJyYXkoWy0xLCAtMSwgMSwgLTEsIC0xLCAxLCAxLCAxXSksIGdsLlNUQVRJQ19EUkFXKTsK
KworICAgICAgICAgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgcG9zLnNpemUsIHBv
cy50eXBlLCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygnVGVzdCB2ZXJ0
ZXhBdHRyaWJbMS4uNF1mdiBieSBzZXR0aW5nIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgdGhhdCBh
ZGQgdXAgdG8gMS41IGFuZCB1c2UgdGhhdCB3aGVuIHJlbmRlcmluZy4nKTsKKyAgICAgICAgICAg
ICAgICB2YXIgdmFscyA9IFtbMC41XSwgWzAuMSwwLjRdLCBbMC4yLC0wLjIsMC41XSwgWy0xLjAs
MC4zLDAuMiwyLjBdXTsKKworICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgNDsg
KytqKSB7CisgICAgICAgICAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQg
fCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICAgICAgZ2xbJ3ZlcnRleEF0
dHJpYicgKyAoaisxKSArICdmdiddKDEsIHZhbHNbal0pOworICAgICAgICAgICAgICAgICAgICBn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFX1NUUklQLCAwLCBwb3MubnVtKTsKKworICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hlY2tSZWRQb3J0aW9uKGdsLCA1MCwgNTAgKiAwLjcsIDUwICogMC44
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnQXR0cmlidXRlIG9mIHNp
emUgJyArIChqKzEpICsgJyB3YXMgc2V0IGNvcnJlY3RseScpOworICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnQXR0cmlidXRl
IG9mIHNpemUgJyArIChqKzEpICsgJyB3YXMgbm90IHNldCBjb3JyZWN0bHknKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8Y2FudmFzIGlkPSJ0
ZXN0YmVkIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oJ1ZlcmlmeSB0aGF0IHVzaW5nIGNvbnN0YW50IGF0dHJpYnV0ZXMgd29ya3Mu
Jyk7CisgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkODk4NDkzZjE0MDQ0NmI2MjkwOGQzOTY4YjEyZmYyYzBiYmRlZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbApAQCAtMCww
ICsxLDE1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgRW5hYmxlIFZlcnRleCBBdHRyaWIgWmVybyBUZXN0PC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1
MCI+Cis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAg
IHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+CisK
KzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuMCwxLjAsMC4w
LDEuMCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNj
cmlwdGlvbigiVGVzdCBzb21lIG9mIHRoZSBpc3N1ZXMgb2YgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl
biBhdHRyaWIgMCBvbiBPcGVuR0wgdnMgV2ViR0wiKTsKK2RlYnVnKCIiKTsKK3ZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
K3ZhciBnX3Byb2dyYW07Cit2YXIgZ19hdHRyaWJMb2NhdGlvbjsKK2Z1bmN0aW9uIHNldHVwKGF0
dHJpYkluZGV4KSB7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGds
LCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3ZQb3NpdGlvbiddLCBbYXR0cmliSW5kZXhdKTsK
KyAgZ19wcm9ncmFtID0gcHJvZ3JhbTsKKyAgZ19hdHRyaWJMb2NhdGlvbiA9IGF0dHJpYkluZGV4
OworICBzaG91bGRCZSgiZ19hdHRyaWJMb2NhdGlvbiIsICJnbC5nZXRBdHRyaWJMb2NhdGlvbihn
X3Byb2dyYW0sICd2UG9zaXRpb24nKSIpOworICByZXR1cm4gcHJvZ3JhbTsKK30KKworZnVuY3Rp
b24gc2V0dXBWZXJ0cyhudW1WZXJ0cykgeworICB2YXIgdmVydHMgPSBbCisgICAgIDEuMCwgIDEu
MCwgMC4wLAorICAgIC0xLjAsICAxLjAsIDAuMCwKKyAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAg
IDEuMCwgIDEuMCwgMC4wLAorICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgMS4wLCAtMS4wLCAw
LjAKKyAgXTsKKyAgdmFyIHBvc2l0aW9ucyA9IG5ldyBGbG9hdDMyQXJyYXkobnVtVmVydHMgKiAz
KTsKKyAgdmFyIGluZGljZXMgPSBuZXcgVWludDE2QXJyYXkobnVtVmVydHMpOworICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgbnVtVmVydHM7ICsraWkpIHsKKyAgICB2YXIgbmR4ID0gaWkgJSA2Owor
ICAgIHZhciBkc3QgPSBpaSAqIDM7CisgICAgdmFyIHNyYyA9IG5keCAqIDM7CisgICAgZm9yICh2
YXIgamogPSAwOyBqaiA8IDM7ICsramopIHsKKyAgICAgIHBvc2l0aW9uc1tkc3QgKyBqal0gPSB2
ZXJ0c1tzcmMgKyBqal07CisgICAgfQorICAgIGluZGljZXNbaWldID0gaWk7CisgIH0KKyAgdmFy
IHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIHBvc2l0aW9ucywgZ2wuU1RBVElDX0RSQVcpOworICB2YXIgaW5kZXhCdWZmZXIgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwg
aW5kZXhCdWZmZXIpOworICBnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBp
bmRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7Cit9CisKK3ZhciBwMCA9IHNldHVwKDApOwordmFyIHAz
ID0gc2V0dXAoMyk7CitzZXR1cFZlcnRzKDYwMDAwKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8
IDU7ICsraWkpIHsKKyAgLy8gdGVzdCBkcmF3aW5nIHdpdGggYXR0cmliIDAKKyAgZ2wudXNlUHJv
Z3JhbShwMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmNsZWFyKGds
LkNPTE9SX0JVRkZFUl9CSVQpOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2MDAw
MCwgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwg
Z2wuTk9fRVJST1IsCisgICAgICAiZHJhd2luZyB1c2luZyBhdHRyaWIgMCB3aXRoIDYgdmVydHMi
KTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAiY2FudmFzIHNob3Vs
ZCBiZSBncmVlbiIpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisKKyAgLy8g
dGVzdCBkcmF3aW5nIHdpdGhvdXQgYXR0cmliIDAKKyAgZ2wudXNlUHJvZ3JhbShwMyk7CisgIGds
LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDMs
IDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQpOworICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNjAwMDApOworICBnbEVycm9y
U2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisgICAgICAiZHJhd2luZyB1c2luZyBh
dHRyaWIgMyB3aXRoIDYwMDAwIHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1
NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDMpOworCisgIC8vIFRoaXMgc2Vjb25kIHRlc3Qgb2YgZHJhd2luZyB3aXRo
b3V0IGF0dHJpYjAgdW5jb252ZXJlZCBhIGJ1ZyBpbiBjaHJvbWUKKyAgLy8gd2hlcmUgYWZ0ZXIg
dGhlIGRyYXcgd2l0aG91dCBhdHRyaWIwIHRoZSBhdHRyaWIgMCBlbXVsYXRpb24gY29kZSBkaXNh
YmxlZAorICAvLyBhdHRyaWIgMCBhbmQgaXQgd2FzIG5ldmVyIHJlLWVuYWJsZWQgc28gdGhpcyBu
ZXh0IGRyYXcgZmFpbGVkLgorICBnbC51c2VQcm9ncmFtKHAzKTsKKyAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkoMyk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICBnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2MDAwMCwgZ2wuVU5TSUdORURfU0hPUlQsIDApOwor
ICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisgICAgICAiZHJhd2lu
ZyB1c2luZyBhdHRyaWIgMyB3aXRoIDYwMDAwIHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzAsIDI1NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlz
YWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworfQorCisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWNhYWEzMzZmNzllOGVkZThlMTUyNjNmODYwNWQ3NTU3MWVkMTRkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKQEAgLTAsMCAr
MSwxMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIHZlcnRleEF0dHJpYiBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2Nh
bnZhcz4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVu
c3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIHZlcnRleEF0dHJpYiBjYW4gYmUgc2V0IGFuZCBy
ZWFkLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2Fu
dmFzIik7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygiQ2hlY2tpbmcgZ2wudmVydGV4QXR0cmliLiIpOworCisgIHZhciBudW1W
ZXJ0ZXhBdHRyaWJzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfQVRUUklCUyk7Cisg
IGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1WZXJ0ZXhBdHRyaWJzOyArK2lpKSB7CisgICAgZ2wu
dmVydGV4QXR0cmliMWZ2KGlpLCBbMV0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzFdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMCcpOworICAgIHNob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRU
UklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWIyZnYoaWksIFsxLCAyXSk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzBdJywgJzEnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnMicpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVsyXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsg
aWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZl
cnRleEF0dHJpYjNmdihpaSwgWzEsIDIsIDNdKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMF0nLCAnMScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsxXScsICcyJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzJdJywgJzMnKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wudmVydGV4QXR0cmliNGZ2KGlpLCBbMSwgMiwg
MywgNF0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wu
Q1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZl
cnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzFdJywgJzIn
KTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJF
TlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMycpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVszXScsICc0Jyk7CisK
KyAgICBnbC52ZXJ0ZXhBdHRyaWIxZihpaSwgNSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzUnKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsyXScsICcwJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZlcnRleEF0dHJpYjJmKGlpLCA2LCA3KTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMF0nLCAnNicpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICc3Jyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzJdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wu
dmVydGV4QXR0cmliM2YoaWksIDcsIDgsIDkpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICc3Jyk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZF
UlRFWF9BVFRSSUIpWzFdJywgJzgnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmli
KCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnOScpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWI0ZihpaSwgNiwgNywgOCwg
OSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJS
RU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzYnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4
QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnNycpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9W
RVJURVhfQVRUUklCKVsyXScsICc4Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzknKTsKKyAgfQor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKworZGVidWcoIiIpOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZTYyODM1ZGRiNDQ0ZDFiOGQyZmUzNTQ5NGQzZWY0ZDAxMGNmMzc5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbApAQCAt
MCwwICsxLDE4MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICA8dGl0bGU+dmVydGV4YXR0cmlicG9pbnRlciBvZmZzZXRzIHRlc3Q8L3RpdGxlPgorICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+CitUaGVyZSBpcyBzdXBwb3NlZCB0byBiZSBhbiBleGFt
cGxlIGRyYXdpbmcgaGVyZSwgYnV0IGl0J3Mgbm90IGltcG9ydGFudC4KKzwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgICBh
dHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAgPC9z
Y3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KKyAgICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICAgIHVuaWZvcm0g
dmVjNCBjb2xvcjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAg
Z2xfRnJhZ0NvbG9yID0gY29sb3I7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxz
Y3JpcHQ+CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJ0ZXN0IHZlcnRleGF0dHJpYnBvaW50
ZXIgb2Zmc2V0cyB3b3JrIik7CisKKyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKKyAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
KyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVy
IiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKKyAgICAgICAgICAgIHZhciB0ZXN0cyA9
IFsKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgRmxvYXQzMkFycmF5KFsgMCwgMSwgMCwgMSwg
MCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5GTE9BVCwKKyAgICAg
ICAgICAgICAgICBjb21wb25lbnRTaXplOiA0LAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTog
ZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IEZsb2F0
MzJBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuRkxPQVQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogNCwKKyAgICAg
ICAgICAgICAgICBub3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICB7IGRhdGE6IG5ldyBVaW50MTZBcnJheShbIDAsIDMyNzY3LCAwLCAzMjc2NywgMCwgMCwg
MCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5TSE9SVCwKKyAgICAgICAgICAg
ICAgICBjb21wb25lbnRTaXplOiAyLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwK
KyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWludDE2QXJyYXko
WyAwLCA2NTUzNSwgMCwgNjU1MzUsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuVU5TSUdORURfU0hPUlQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTog
MiwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRydWUsCisgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQxNkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwg
MCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVCwKKyAg
ICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAyLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6
ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVp
bnQxNkFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAgICAgICAg
ICB0eXBlOiBnbC5TSE9SVCwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAyLAorICAg
ICAgICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAxMjcsIDAsIDEyNywgMCwgMCwgMCwg
MCwgMCBdKSwKKyAgICAgICAgICAgICAgICB0eXBlOiBnbC5CWVRFLAorICAgICAgICAgICAgICAg
IGNvbXBvbmVudFNpemU6IDEsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0cnVlLAorICAg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50OEFycmF5KFsgMCwg
MjU1LCAwLCAyNTUsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAgdHlwZTogZ2wu
VU5TSUdORURfQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAxLAorICAgICAg
ICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgeyBkYXRhOiBuZXcgVWludDhBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSks
CisgICAgICAgICAgICAgICAgdHlwZTogZ2wuQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25l
bnRTaXplOiAxLAorICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogZmFsc2UsCisgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAwLCAxLCAwLCAx
LCAwLCAwLCAwLCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogMSwKKyAgICAgICAgICAgICAgICBu
b3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdOworCisgICAg
ICAgICAgICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAg
ICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICAgICAg
ICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAxMDI0LCBnbC5TVEFUSUNfRFJBVyk7
CisgICAgICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKworICAgICAgICAg
ICAgdmFyIGNvbG9yTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJjb2xvciIp
OworICAgICAgICAgICAgdmFyIGtOdW1WZXJ0cyA9IDM7CisgICAgICAgICAgICB2YXIga051bUNv
bXBvbmVudHMgPSAzOworCisgICAgICAgICAgICB2YXIgY291bnQgPSAwOworICAgICAgICAgICAg
Zm9yICh2YXIgdHQgPSAwOyB0dCA8IHRlc3RzLmxlbmd0aDsgKyt0dCkgeworICAgICAgICAgICAg
ICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAgICAgICAgICAgICAgZm9yICh2YXIgb28gPSAwOyBv
byA8IDM7ICsrb28pIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBzcyA9IDA7IHNzIDwgMzsg
KytzcykgeworICAgICAgICAgICAgICAgICAgdmFyIG9mZnNldCA9IChvbyArIDEpICogdGVzdC5j
b21wb25lbnRTaXplOworICAgICAgICAgICAgICAgICAgdmFyIGNvbG9yID0gKGNvdW50ICUgMikg
PyBbMSwgMCwgMCwgMV0gOiBbMCwgMSwgMCwgMV07CisgICAgICAgICAgICAgICAgICB2YXIgc3Ry
aWRlID0gdGVzdC5jb21wb25lbnRTaXplICoga051bUNvbXBvbmVudHMgKyB0ZXN0LmNvbXBvbmVu
dFNpemUgKiBzczsKKyAgICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAg
ICAgIGRlYnVnKCJjaGVjayB3aXRoICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QudHlw
ZSkgKyAiIGF0IG9mZnNldDogIiArIG9mZnNldCArICIgd2l0aCBzdHJpZGU6IiArIHN0cmlkZSAr
ICIgbm9ybWFsaXplOiAiICsgdGVzdC5ub3JtYWxpemUpOworICAgICAgICAgICAgICAgICAgZ2wu
dW5pZm9ybTRmdihjb2xvckxvYywgY29sb3IpOworICAgICAgICAgICAgICAgICAgdmFyIGRhdGEg
PSBuZXcgVWludDhBcnJheSh0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtVmVydHMgKiBrTnVtQ29t
cG9uZW50cyArIHN0cmlkZSAqIChrTnVtVmVydHMgLSAxKSk7CisgICAgICAgICAgICAgICAgICB2
YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KHRlc3QuZGF0YS5idWZmZXIpOworICAgICAgICAgICAg
ICAgICAgdmFyIHNpemUgPSB0ZXN0LmNvbXBvbmVudFNpemUgKiBrTnVtQ29tcG9uZW50czsKKyAg
ICAgICAgICAgICAgICAgIGZvciAodmFyIGpqID0gMDsgamogPCBrTnVtVmVydHM7ICsramopIHsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIG9mZjEgPSBqaiAqIHNpemU7CisgICAgICAgICAgICAg
ICAgICAgIHZhciBvZmYyID0gamogKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgICAgIGZvciAo
dmFyIHp6ID0gMDsgenogPCBzaXplOyArK3p6KSB7CisgICAgICAgICAgICAgICAgICAgICAgZGF0
YVtvZmYyICsgenpdID0gdmlld1tvZmYxICsgenpdOworICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBnbC5idWZmZXJTdWJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgb2Zmc2V0LCBkYXRhKTsKKyAgICAgICAgICAgICAgICAgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoMCwgMywgdGVzdC50eXBlLCB0ZXN0Lm5vcm1hbGl6ZSwgc3RyaWRlLCBv
ZmZzZXQpOworICAgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8
IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDMpOworCisgICAgICAgICAgICAgICAgICB2YXIgYnVmID0gbmV3IFVp
bnQ4QXJyYXkoNTAgKiA1MCAqIDQpOworICAgICAgICAgICAgICAgICAgZ2wucmVhZFBpeGVscygw
LCAwLCA1MCwgNTAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisKKyAgICAgICAg
ICAgICAgICAgIHZhciBibGFjayA9IFswLCAwLCAwLCAwXTsKKyAgICAgICAgICAgICAgICAgIHZh
ciBvdGhlciA9IFtjb2xvclswXSAqIDI1NSwgY29sb3JbMV0gKiAyNTUsIGNvbG9yWzJdICogMjU1
LCBjb2xvclszXSAqIDI1NV07CisgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJNc2cgPSAic2hv
dWxkIGJlICIgKyAoKGNvdW50ICUgMikgPyAicmVkIiA6ICJncmVlbiIpCisgICAgICAgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBibGFjaywgInNob3VsZCBi
ZSBibGFjayIsIDApOworICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MCwgNDksIDEsIDEsIGJsYWNrLCAic2hvdWxkIGJlIGJsYWNrIiwgMCk7CisgICAgICAgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAyNiwgNDAsIDEsIDEsIG90aGVyLCBvdGhlck1z
ZywgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAyNiwgMjcs
IDEsIDEsIG90aGVyLCBvdGhlck1zZywgMCk7CisgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tD
YW52YXNSZWN0KGdsLCA0MCwgMjcsIDEsIDEsIG90aGVyLCBvdGhlck1zZywgMCk7CisgICAgICAg
ICAgICAgICAgICArK2NvdW50OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgIH0KKworICAgICAgIGluaXQoKTsKKyAgICAgICB2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWEwMjlkYzIyY2Zh
YjQ5ZmUzNjlhODMyNzYzNjQwMWUzMjZkNGYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwKQEAgLTAsMCArMSwxNTYgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHZlcnRleEF0dHJpYlBv
aW50ZXIgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNj
cmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIi
IGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHZlcnRleEF0dHJpYlBvaW50ZXIgYmVoYXZpb3JzIGluIFdl
YkdMLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2Fu
dmFzIik7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygiQ2hlY2tpbmcgZ2wudmVydGV4QXR0cmliUG9pbnRlci4iKTsKKworICBp
ZiAoIWdsLkZJWEVEKSB7CisgICAgZ2wuRklYRUQgPSAweDE0MEM7CisgIH0KKworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCAwLCAwLCAxMik7CisgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRl
ciBzaG91bGQgZmFpbCBpZiBubyBidWZmZXIgaXMgYm91bmQiKTsKKworICB2YXIgdmVydGV4T2Jq
ZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZs
b2F0MzJBcnJheSgwKSwgZ2wuU1RBVElDX0RSQVcpOworCisgIGdsLnZlcnRleEF0dHJpYlBvaW50
ZXIoMCwgMSwgZ2wuSU5ULCAwLCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0VOVU0sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQg
SU5UIik7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMSwgZ2wuVU5TSUdORURfSU5ULCAw
LCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sCisgICAgICAi
dmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQgVU5TSUdORURfSU5UIik7Cisg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMSwgZ2wuRklYRUQsIDAsIDAsIDApOworICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAgICJ2ZXJ0ZXhBdHRyaWJQb2lu
dGVyIHNob3VsZCBub3Qgc3VwcG9ydCBGSVhFRCIpOworCisgIHZhciBjaGVja1ZlcnRleEF0dHJp
YlBvaW50ZXIgPSBmdW5jdGlvbigKKyAgICAgIGdsLCBlcnIsIHJlYXNvbiwgc2l6ZSwgdHlwZSwg
bm9ybWFsaXplLCBzdHJpZGUsIG9mZnNldCkgeworICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
MCwgc2l6ZSwgdHlwZSwgbm9ybWFsaXplLCBzdHJpZGUsIG9mZnNldCk7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBlcnIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsICIgKyBz
aXplICsKKyAgICAgICAgIiwgZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdHlwZSkgKwor
ICAgICAgICAiLCAiICsgbm9ybWFsaXplICsKKyAgICAgICAgIiwgIiArIHN0cmlkZSArCisgICAg
ICAgICIsICIgKyBvZmZzZXQgKworICAgICAgICAiKSBzaG91bGQgIiArIChlcnIgPT0gZ2wuTk9f
RVJST1IgPyAic3VjY2VlZCAiIDogImZhaWwgIikgKyByZWFzb24pOworICB9CisKKyAgdmFyIHR5
cGVzID0gWworICAgIHsgdHlwZTpnbC5CWVRFLCAgICAgICAgICAgYnl0ZXNQZXJDb21wb25lbnQ6
IDEgfSwKKyAgICB7IHR5cGU6Z2wuVU5TSUdORURfQllURSwgIGJ5dGVzUGVyQ29tcG9uZW50OiAx
IH0sCisgICAgeyB0eXBlOmdsLlNIT1JULCAgICAgICAgICBieXRlc1BlckNvbXBvbmVudDogMiB9
LAorICAgIHsgdHlwZTpnbC5VTlNJR05FRF9TSE9SVCwgYnl0ZXNQZXJDb21wb25lbnQ6IDIgfSwK
KyAgICB7IHR5cGU6Z2wuRkxPQVQsICAgICAgICAgIGJ5dGVzUGVyQ29tcG9uZW50OiA0IH0sCisg
IF07CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHR5cGVzLmxlbmd0aDsgKytpaSkgeworICAg
IHZhciBpbmZvID0gdHlwZXNbaWldOworICAgIGRlYnVnKCIiKTsKKyAgICBmb3IgKHZhciBzaXpl
ID0gMTsgc2l6ZSA8PSA0OyArK3NpemUpIHsKKyAgICAgIGRlYnVnKCIiKTsKKyAgICAgIGRlYnVn
KCJjaGVja2luZzogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaW5mby50eXBlKSArICIgd2l0
aCBzaXplICIgKyBzaXplKTsKKyAgICAgIHZhciBieXRlc1BlckVsZW1lbnQgPSBzaXplICogaW5m
by5ieXRlc1BlckNvbXBvbmVudDsKKyAgICAgIHZhciBvZmZzZXRTZXQgPSBbCisgICAgICAgICAg
MCwKKyAgICAgICAgICAxLAorICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQgLSAxLAor
ICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQsCisgICAgICAgICAgaW5mby5ieXRlc1Bl
ckNvbXBvbmVudCArIDEsCisgICAgICAgICAgaW5mby5ieXRlc1BlckNvbXBvbmVudCAqIDJdOwor
ICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IG9mZnNldFNldC5sZW5ndGg7ICsramopIHsKKyAg
ICAgICAgdmFyIG9mZnNldCA9IG9mZnNldFNldFtqal07CisgICAgICAgIGZvciAodmFyIGtrID0g
MDsga2sgPCBvZmZzZXRTZXQubGVuZ3RoOyArK2trKSB7CisgICAgICAgICAgdmFyIHN0cmlkZSA9
IG9mZnNldFNldFtra107CisgICAgICAgICAgdmFyIGVyciA9IGdsLk5PX0VSUk9SOworICAgICAg
ICAgIHZhciByZWFzb24gPSAiIgorICAgICAgICAgIGlmIChvZmZzZXQgJSBpbmZvLmJ5dGVzUGVy
Q29tcG9uZW50ICE9IDApIHsKKyAgICAgICAgICAgIHJlYXNvbiA9ICJiZWNhdXNlIG9mZnNldCBp
cyBiYWQiOworICAgICAgICAgICAgZXJyID0gZ2wuSU5WQUxJRF9PUEVSQVRJT047CisgICAgICAg
ICAgfQorICAgICAgICAgIGlmIChzdHJpZGUgJSBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50ICE9IDAp
IHsKKyAgICAgICAgICAgIHJlYXNvbiA9ICJiZWNhdXNlIHN0cmlkZSBpcyBiYWQiOworICAgICAg
ICAgICAgZXJyID0gZ2wuSU5WQUxJRF9PUEVSQVRJT047CisgICAgICAgICAgfQorICAgICAgICAg
IGNoZWNrVmVydGV4QXR0cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2wsIGVyciwgcmVhc29u
LCBzaXplLCBpbmZvLnR5cGUsIGZhbHNlLCBzdHJpZGUsIG9mZnNldCk7CisgICAgICAgIH0KKyAg
ICAgICAgdmFyIHN0cmlkZSA9IE1hdGguZmxvb3IoMjU1IC8gaW5mby5ieXRlc1BlckNvbXBvbmVu
dCkgKiBpbmZvLmJ5dGVzUGVyQ29tcG9uZW50OworCisgICAgICAgIGlmIChvZmZzZXQgPT0gMCkg
eworICAgICAgICAgIGNoZWNrVmVydGV4QXR0cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2ws
IGdsLk5PX0VSUk9SLCAiYXQgc3RyaWRlIGxpbWl0IiwKKyAgICAgICAgICAgICAgc2l6ZSwgaW5m
by50eXBlLCBmYWxzZSwgc3RyaWRlLCBvZmZzZXQpOworICAgICAgICAgIGNoZWNrVmVydGV4QXR0
cmliUG9pbnRlcigKKyAgICAgICAgICAgICAgZ2wsIGdsLklOVkFMSURfVkFMVUUsICJvdmVyIHN0
cmlkZSBsaW1pdCIsCisgICAgICAgICAgICAgIHNpemUsIGluZm8udHlwZSwgZmFsc2UsCisgICAg
ICAgICAgICAgIHN0cmlkZSArIGluZm8uYnl0ZXNQZXJDb21wb25lbnQsIG9mZnNldCk7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186768</attachid>
            <date>2013-02-05 23:42:17 -0800</date>
            <delta_ts>2013-03-01 02:52:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108901-20130205233854.patch</filename>
            <type>text/plain</type>
            <size>54002</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTcwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGI0ZTQ1OGFkYjdhYmM4ZmM5MmI4
MWYwMjhjMzQxN2E1NGMxNjRlNS4uNzBlNDg0ZWNlMDBhODU1YmUwMDM0YWY1ZGQ0NTYyYzYzNGY1
NDYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTA1ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdHMgYXR0cmliIGZvbGRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwODkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2Vs
bC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12
ZXJ0ZXgtYXR0cmliLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eC1hdHRyaWItcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16
ZXJvLWlzc3Vlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2lu
dGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy8wMF90ZXN0X2xpc3QudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVy
dGV4LWF0dHJpYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJw
b2ludGVyLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA1ICBNYXR0IEZhbGtlbmhhZ2VuICA8ZmFs
a2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4gUmViYXNl
bGluZSBuYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2guaHRtbCwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ4MjNkYzFkNzg2NjdhNDhi
MDAwNTQxZTk4NmFiZmJmYjNiOTNmNjUuLmEyNjRiZmM1ODQxM2IyY2ZjYjUwMzkwZWMzMzlkNzM3
MjA2ZTUwNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTQzMiw2ICsxNDMyLDExIEBAIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFuZHJv
aWQgXSBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC1ob3Jpem9udGFsLmh0CiB3
ZWJraXQub3JnL2IvNzUyNzYgWyBBbmRyb2lkIF0gZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0aXBs
ZS1zdHJpY3QtdmVydGljYWwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisjIFdlYkdMIFRlc3RzCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sIFsgU2tpcCBd
CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICMgT3RoZXIgZmFpbHVyZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0
ZXgtYXR0cmliLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0
dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjdiMDJiNDlhZDJjN2UxZjAxNTY0OGY4NDZhMjVlNzcxNTIwYWJjOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVy
dGV4LWF0dHJpYi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxl
ZC12ZXJ0ZXgtYXR0cmliLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLWRpc2FibGVkLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzRhODI5NjBl
NWMwMjk3Y2ZlN2UwZDBhZjhiMzA5MGViZjJlYzIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmliLmh0
bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtZGlzYWJsZWQtdmVydGV4LWF0dHJpYi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0cmli
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0
cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wZmRiMjNiYmQxZjM0MzI5NGRiMjI5NjRjZDUxZGNjZDJjZDhkMTA0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
YTZkNzMxOTJkZWUyOGFiNTNjN2E4Mzc0MzFiNGQwYWYyMGUxNGY1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4
LWF0dHJpYi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLWVuYWJsZS12ZXJ0ZXgtYXR0
cmliLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmli
Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42NzUyNDkyNmE0N2FkMDFiZWJhYzk3MTZmMzI0NDc4ZWZjYmIzMWI3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9h
dHRyaWJzL2dsLXZlcnRleC1hdHRyaWIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4LWF0dHJpYi1yZW5kZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4MzA2YWU3MTg3MjRj
NzNkY2RmZGYyMDg0MTg4N2Y3YzJlNmNlMjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmli
LXJlbmRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmY2MzZjcyYjExYmZjYzgwYzkwYTUyNWY4Nzk0ODMz
ZWM3ZDc0YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxh
IGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmli
cy9nbC12ZXJ0ZXgtYXR0cmliLXJlbmRlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhOGVh
ZTVkOTVlODIyZWVlZDYwMmE5Mjc2MDY4ODVjMzFhMzYxYTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVy
by1pc3N1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4
LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFk
NDY5MGY5NDQ3N2RkMTY5NzEyNmJkNWEwNjM0ZGM0ODRmY2EyMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi16
ZXJvLWlzc3Vlcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZlcnRleC1hdHRyaWIt
emVyby1pc3N1ZXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJp
Yi16ZXJvLWlzc3Vlcy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4LWF0dHJpYi16ZXJvLWlzc3Vlcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmJiMGQ5Mzk4ZmM5Yzc5YmY1ZGIxNGI3ZGNjZTczZTFmMWViYTc0OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4LWF0dHJpYi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXZlcnRleC1hdHRyaWIu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eC1hdHRyaWIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2ds
LXZlcnRleGF0dHJpYnBvaW50ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3YzliYWI5YmZh
MDNjMzJiMTJlOGQyYTViZDkwZTBiNDhkOTYyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZz
ZXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
OTI5MmI4MDJmMDFkMjhlMjFhNWNmZmEwMTE2N2I0MGE2Y2E3YmYwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJw
b2ludGVyLW9mZnNldHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjUzODRhZjg4MGM4MmUyODQ0NTM2ZTcyN2IwZWIxZjM5ZjMyYTRiMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wt
dmVydGV4YXR0cmlicG9pbnRlci1vZmZzZXRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJz
L2dsLXZlcnRleGF0dHJpYnBvaW50ZXItb2Zmc2V0cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIt
b2Zmc2V0cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eGF0dHJpYnBvaW50ZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2F0dHJp
YnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZjRiZjk3ODQ3YzBk
MGRhOGIyZWQyZmNkZTJhOTBhNGRlNDM3MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRy
aWJwb2ludGVyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9hdHRyaWJzLzAwX3Rlc3RfbGlzdC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzLzAwX3Rlc3RfbGlzdC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzU4YmI2NWFmMmQyZjE4NTQyOGEyMWJmMjE5NDJiM2M4OWZkNGNhZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvMDBfdGVzdF9saXN0LnR4dApAQCAtMCwwICsxLDggQEAK
K2dsLWVuYWJsZS12ZXJ0ZXgtYXR0cmliLmh0bWwKKy0tbWluLXZlcnNpb24gMS4wLjIgZ2wtdmVy
dGV4LWF0dHJpYi1yZW5kZXIuaHRtbAorLS1taW4tdmVyc2lvbiAxLjAuMiBnbC1kaXNhYmxlZC12
ZXJ0ZXgtYXR0cmliLmh0bWwKK2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbAorZ2wt
dmVydGV4LWF0dHJpYi5odG1sCitnbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbAor
Z2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlz
YWJsZWQtdmVydGV4LWF0dHJpYi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1kaXNhYmxlZC12ZXJ0ZXgtYXR0
cmliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmY4MDgxZmNhYjJhMDMyOTE2YmY0YmVkNjQ3MTMzZGVhMzU3
OWE0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZGlzYWJsZWQtdmVydGV4LWF0dHJp
Yi5odG1sCkBAIC0wLDAgKzEsMTAxIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBEaXNhYmxlZCBWZXJ0ZXggQXR0cmliIFRlc3Q8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUw
IiBoZWlnaHQ9IjUwIj4KKzwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworYXR0cmlidXRlIHZl
YzQgYV9jb2xvcjsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordm9pZCBtYWluKCkgeworICBnbF9Q
b3NpdGlvbiA9IGFfcG9zaXRpb247CisgIHZfY29sb3IgPSBhX2NvbG9yOworfQorPC9zY3JpcHQ+
CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK2Jvb2wgaXNDb3Jy
ZWN0Q29sb3IodmVjNCB2KSB7CisgIHJldHVybiB2LnggPT0gMC4wICYmIHYueSA9PSAwLjAgJiYg
di56ID09IDAuMCAmJiB2LncgPT0gMS4wOworfQordm9pZCBtYWluKCkgeworICBnbF9GcmFnQ29s
b3IgPSBpc0NvcnJlY3RDb2xvcih2X2NvbG9yKSA/IHZlYzQoMCwgMSwgMCwgMSkgOiB2ZWM0KDEs
IDAsIDAsIDEpOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CitkZXNjcmlwdGlvbigpOworCit2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciBudW1WZXJ0ZXhBdHRyaWJzID0gZ2wuZ2V0
UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfQVRUUklCUyk7Citmb3IgKHZhciBpaSA9IDA7IGlpIDwg
bnVtVmVydGV4QXR0cmliczsgKytpaSkgeworICB2YXIgY29sb3JMb2NhdGlvbiA9IChpaSArIDEp
ICUgbnVtVmVydGV4QXR0cmliczsKKyAgdmFyIHBvc2l0aW9uTG9jYXRpb24gPSBjb2xvckxvY2F0
aW9uID8gMCA6IDE7CisKKyAgaWYgKHBvc2l0aW9uTG9jYXRpb24gIT0gMCkgeworICAgIC8vIFdl
IG5lZWQgdG8gY3JlYXRlIGEgbmV3IDNkIGNvbnRleHQgZm9yIHRlc3RpbmcgYXR0cmliIDAKKyAg
ICAvLyBzaW5jZSB3ZSd2ZSBhbHJlYWR5IGVmZmVjdGVkIGF0dHJpYiAwIG9uIG90aGVyIHRlc3Rz
LgorICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworICB9CisKKyAgZGVidWcoInRlc3Rp
bmcgYXR0cmliOiAiICsgY29sb3JMb2NhdGlvbik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVw
UHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwKKyAgICAg
IFsnYV9wb3NpdGlvbicsICdhX2NvbG9yJ10sCisgICAgICBbcG9zaXRpb25Mb2NhdGlvbiwgY29s
b3JMb2NhdGlvbl0pOworICB2YXIgZ3JpZFJlcyA9IDE7CisgIHd0dS5zZXR1cFF1YWQoZ2wsIGdy
aWRSZXMsIHBvc2l0aW9uTG9jYXRpb24pOworICB3dHUuZHJhd0luZGV4ZWRRdWFkKGdsLCBncmlk
UmVzKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJl
IGdyZWVuIik7Cit9CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJl
IG5vIGVycm9ycyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZl
cnRleC1hdHRyaWIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtZW5hYmxlLXZlcnRleC1hdHRyaWIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43OTcwM2EwYTVhOTU2ZmNkNjk0MTVhZGFkMzE1YmUzZDIxOWVhNWQzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC1lbmFibGUtdmVydGV4LWF0dHJpYi5odG1sCkBAIC0w
LDAgKzEsODMgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cisg
ICAgPHRpdGxlPldlYkdMIEVuYWJsZSBWZXJ0ZXggQXR0cmliIFRlc3Q8L3RpdGxlPgorICAgIDxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4g
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+Cis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAg
ICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cisg
ICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gt
ZnJhZ21lbnQiPgorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3Ig
PSB2ZWM0KDEuMCwwLjAsMC4wLDEuMCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigidGVzdHMgdGhhdCB0dXJuaW5nIG9uIGF0dHJpYnMg
dGhhdCBoYXZlIG5vIGJ1ZmZlciBib3VuZCBmYWlscyB0byBkcmF3Iik7Cit2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0s
IFsidlBvc2l0aW9uIl0pOworCit2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7
CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKK2dsLmJ1ZmZl
ckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgMCwwLjUsMCwgLTAuNSwt
MC41LDAsIDAuNSwtMC41LDAgXSksIGdsLlNUQVRJQ19EUkFXKTsKK2dsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KDApOworZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFs
c2UsIDAsIDApOworCitnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgzKTsKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCitnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwg
Myk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRy
aWJzL2dsLXZlcnRleC1hdHRyaWItcmVuZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJjZmNmOTFlNTQ3
M2IzNzBhM2FkODZlZmQzOGRkOTY4MzUzMTdmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMv
Z2wtdmVydGV4LWF0dHJpYi1yZW5kZXIuaHRtbApAQCAtMCwwICsxLDExMSBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IGlkPSd2c2hhZGVyJyB0eXBl
PSd4LXNoYWRlcic+CisgICAgICAgICAgICBhdHRyaWJ1dGUgdmVjNCBhOworICAgICAgICAgICAg
YXR0cmlidXRlIHZlYzIgcDsKKyAgICAgICAgICAgIHZvaWQgbWFpbigpIHsKKyAgICAgICAgICAg
ICAgICBnbF9Qb3NpdGlvbiA9IHZlYzQocC54ICsgYS54ICsgYS55ICsgYS56ICsgYS53LCBwLnks
IDAuMCwgMS4wKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgaWQ9J2ZzaGFkZXInIHR5cGU9J3gtc2hhZGVyJz4KKyAgICAgICAgICAgIHByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OworICAgICAgICAgICAgdm9pZCBtYWluKCkgeworICAgICAgICAgICAg
ICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAidXNl
IHN0cmljdCI7CisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja1JlZFBvcnRpb24oZ2wsIHcsIGxv
dywgaGlnaCkgeworICAgICAgICAgICAgICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSh3ICog
dyAqIDQpOworICAgICAgICAgICAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgdywgdywgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICAgICAgICAgICAgICB2YXIgaSA9IDA7Cisg
ICAgICAgICAgICAgICAgZm9yICg7IGkgPCB3OyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGJ1ZltpICogNCArIDBdID09IDI1NSAmJiBidWZbaSAqIDQgKyAxXSA9PSAwICYmIGJ1Zltp
ICogNCArIDJdID09IDAgJiYgYnVmW2kgKiA0ICsgM10gPT0gMjU1KSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICByZXR1cm4gbG93IDw9IGkgJiYgaSA8PSBoaWdoOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgICAgICAgICAgICB2YXIgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCd0ZXN0YmVkJywgeyBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgOiB0
cnVlIH0pOworICAgICAgICAgICAgICAgIGlmICghZ2wpIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgnY291bGQgbm90IGNyZWF0ZSBjb250ZXh0Jyk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdmFyIHByb2dy
YW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3AnLCAn
YSddKQorCisgICAgICAgICAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoZ2wucCk7
CisgICAgICAgICAgICAgICAgdmFyIHBvcyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgICAgICAg
ICAgICAgIHBvcy50eXBlID0gZ2wuRkxPQVQ7CisgICAgICAgICAgICAgICAgcG9zLnNpemUgPSAy
OworICAgICAgICAgICAgICAgIHBvcy5udW0gPSA0OworICAgICAgICAgICAgICAgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBwb3MpOworICAgICAgICAgICAgICAgIGdsLmJ1ZmZlckRh
dGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFstMSwgLTEsIDEsIC0xLCAtMSwg
MSwgMSwgMV0pLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgICAgICAgICAgICAgICBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIHBvcy5zaXplLCBwb3MudHlwZSwgZmFsc2UsIDAsIDApOworCisgICAg
ICAgICAgICAgICAgZGVidWcoJ1Rlc3QgdmVydGV4QXR0cmliWzEuLjRdZnYgYnkgc2V0dGluZyBk
aWZmZXJlbnQgY29tYmluYXRpb25zIHRoYXQgYWRkIHVwIHRvIDEuNSBhbmQgdXNlIHRoYXQgd2hl
biByZW5kZXJpbmcuJyk7CisgICAgICAgICAgICAgICAgdmFyIHZhbHMgPSBbWzAuNV0sIFswLjEs
MC40XSwgWzAuMiwtMC4yLDAuNV0sIFstMS4wLDAuMywwLjIsMi4wXV07CisKKyAgICAgICAgICAg
ICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDQ7ICsraikgeworICAgICAgICAgICAgICAgICAgICBn
bC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAg
ICAgICAgICAgICAgICAgIGdsWyd2ZXJ0ZXhBdHRyaWInICsgKGorMSkgKyAnZnYnXSgxLCB2YWxz
W2pdKTsKKyAgICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRV9TVFJJ
UCwgMCwgcG9zLm51bSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrUmVkUG9ydGlv
bihnbCwgNTAsIDUwICogMC43LCA1MCAqIDAuOCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoJ0F0dHJpYnV0ZSBvZiBzaXplICcgKyAoaisxKSArICcgd2FzIHNldCBjb3Jy
ZWN0bHknKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ0F0dHJpYnV0ZSBvZiBzaXplICcgKyAoaisxKSArICcgd2FzIG5v
dCBzZXQgY29ycmVjdGx5Jyk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGNhbnZhcyBpZD0idGVzdGJlZCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUw
Ij48L2NhbnZhcz4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAg
ICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgdGhhdCB1c2lu
ZyBjb25zdGFudCBhdHRyaWJ1dGVzIHdvcmtzLicpOworICAgICAgICAgICAgcnVuVGVzdCgpOwor
ICAgICAgICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9n
bC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRy
aWItemVyby1pc3N1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDg5ODQ5M2YxNDA0NDZiNjI5MDhkMzk2
OGIxMmZmMmMwYmJkZWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWwKQEAgLTAsMCArMSwxNTMgQEAKKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEVuYWJsZSBWZXJ0ZXggQXR0cmli
IFplcm8gVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJl
eGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorPC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZz
aGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBv
c2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4
LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xf
RnJhZ0NvbG9yID0gdmVjNCgwLjAsMS4wLDAuMCwxLjApOworICAgIH0KKzwvc2NyaXB0PgorCis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRlc3Qgc29tZSBvZiB0aGUgaXNz
dWVzIG9mIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYXR0cmliIDAgb24gT3BlbkdMIHZzIFdlYkdM
Iik7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgZ19wcm9ncmFtOwordmFyIGdfYXR0cmli
TG9jYXRpb247CitmdW5jdGlvbiBzZXR1cChhdHRyaWJJbmRleCkgeworICB2YXIgcHJvZ3JhbSA9
IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2
UG9zaXRpb24nXSwgW2F0dHJpYkluZGV4XSk7CisgIGdfcHJvZ3JhbSA9IHByb2dyYW07CisgIGdf
YXR0cmliTG9jYXRpb24gPSBhdHRyaWJJbmRleDsKKyAgc2hvdWxkQmUoImdfYXR0cmliTG9jYXRp
b24iLCAiZ2wuZ2V0QXR0cmliTG9jYXRpb24oZ19wcm9ncmFtLCAndlBvc2l0aW9uJykiKTsKKyAg
cmV0dXJuIHByb2dyYW07Cit9CisKK2Z1bmN0aW9uIHNldHVwVmVydHMobnVtVmVydHMpIHsKKyAg
dmFyIHZlcnRzID0gWworICAgICAxLjAsICAxLjAsIDAuMCwKKyAgICAtMS4wLCAgMS4wLCAwLjAs
CisgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAxLjAsICAxLjAsIDAuMCwKKyAgICAtMS4wLCAt
MS4wLCAwLjAsCisgICAgIDEuMCwgLTEuMCwgMC4wCisgIF07CisgIHZhciBwb3NpdGlvbnMgPSBu
ZXcgRmxvYXQzMkFycmF5KG51bVZlcnRzICogMyk7CisgIHZhciBpbmRpY2VzID0gbmV3IFVpbnQx
NkFycmF5KG51bVZlcnRzKTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVZlcnRzOyArK2lp
KSB7CisgICAgdmFyIG5keCA9IGlpICUgNjsKKyAgICB2YXIgZHN0ID0gaWkgKiAzOworICAgIHZh
ciBzcmMgPSBuZHggKiAzOworICAgIGZvciAodmFyIGpqID0gMDsgamogPCAzOyArK2pqKSB7Cisg
ICAgICBwb3NpdGlvbnNbZHN0ICsgampdID0gdmVydHNbc3JjICsgampdOworICAgIH0KKyAgICBp
bmRpY2VzW2lpXSA9IGlpOworICB9CisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZm
ZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7Cisg
IGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBwb3NpdGlvbnMsIGdsLlNUQVRJQ19EUkFX
KTsKKyAgdmFyIGluZGV4QnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZm
ZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4QnVmZmVyKTsKKyAgZ2wuYnVmZmVyRGF0
YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kaWNlcywgZ2wuU1RBVElDX0RSQVcpOworfQor
Cit2YXIgcDAgPSBzZXR1cCgwKTsKK3ZhciBwMyA9IHNldHVwKDMpOworc2V0dXBWZXJ0cyg2MDAw
MCk7CisKK2ZvciAodmFyIGlpID0gMDsgaWkgPCA1OyArK2lpKSB7CisgIC8vIHRlc3QgZHJhd2lu
ZyB3aXRoIGF0dHJpYiAwCisgIGdsLnVzZVByb2dyYW0ocDApOworICBnbC5lbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheSgwKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgZ2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNjAwMDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsKKyAg
Z2xFcnJvclNob3VsZEJlKAorICAgICAgZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgImRyYXdpbmcg
dXNpbmcgYXR0cmliIDAgd2l0aCA2IHZlcnRzIik7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAs
IDI1NSwgMCwgMjU1XSwgImNhbnZhcyBzaG91bGQgYmUgZ3JlZW4iKTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApOworCisgIC8vIHRlc3QgZHJhd2luZyB3aXRob3V0IGF0dHJpYiAw
CisgIGdsLnVzZVByb2dyYW0ocDMpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgzKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigzLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgZ2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDYwMDAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgZ2wsIGdsLk5PX0VS
Uk9SLAorICAgICAgImRyYXdpbmcgdXNpbmcgYXR0cmliIDMgd2l0aCA2MDAwMCB2ZXJ0cyIpOwor
ICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJjYW52YXMgc2hvdWxkIGJl
IGdyZWVuIik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgzKTsKKworICAvLyBUaGlz
IHNlY29uZCB0ZXN0IG9mIGRyYXdpbmcgd2l0aG91dCBhdHRyaWIwIHVuY29udmVyZWQgYSBidWcg
aW4gY2hyb21lCisgIC8vIHdoZXJlIGFmdGVyIHRoZSBkcmF3IHdpdGhvdXQgYXR0cmliMCB0aGUg
YXR0cmliIDAgZW11bGF0aW9uIGNvZGUgZGlzYWJsZWQKKyAgLy8gYXR0cmliIDAgYW5kIGl0IHdh
cyBuZXZlciByZS1lbmFibGVkIHNvIHRoaXMgbmV4dCBkcmF3IGZhaWxlZC4KKyAgZ2wudXNlUHJv
Z3JhbShwMyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDMpOworICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNjAw
MDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgZ2ws
IGdsLk5PX0VSUk9SLAorICAgICAgImRyYXdpbmcgdXNpbmcgYXR0cmliIDMgd2l0aCA2MDAwMCB2
ZXJ0cyIpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJjYW52YXMg
c2hvdWxkIGJlIGdyZWVuIik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgzKTsKK30K
KworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+
Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0dHJpYi5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
YXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDljYWFhMzM2Zjc5ZThl
ZGU4ZTE1MjYzZjg2MDVkNzU1NzFlZDE0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wt
dmVydGV4LWF0dHJpYi5odG1sCkBAIC0wLDAgKzEsMTE5IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB2ZXJ0ZXhBdHRyaWIgQ29uZm9ybWFu
Y2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OworZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyB2
ZXJ0ZXhBdHRyaWIgY2FuIGJlIHNldCBhbmQgcmVhZC4iKTsKKworZGVidWcoIiIpOworZGVidWco
IkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworaWYgKCFnbCkgeworICB0ZXN0RmFp
bGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7Cit9IGVsc2UgeworICB0ZXN0UGFzc2VkKCJj
b250ZXh0IGV4aXN0cyIpOworCisgIGRlYnVnKCIiKTsKKyAgZGVidWcoIkNoZWNraW5nIGdsLnZl
cnRleEF0dHJpYi4iKTsKKworICB2YXIgbnVtVmVydGV4QXR0cmlicyA9IGdsLmdldFBhcmFtZXRl
cihnbC5NQVhfVkVSVEVYX0FUVFJJQlMpOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgbnVtVmVy
dGV4QXR0cmliczsgKytpaSkgeworICAgIGdsLnZlcnRleEF0dHJpYjFmdihpaSwgWzFdKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVS
VEVYX0FUVFJJQilbMF0nLCAnMScpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
JyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICcwJyk7CisgICAgc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9B
VFRSSUIpWzJdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBp
aSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wudmVy
dGV4QXR0cmliMmZ2KGlpLCBbMSwgMl0pOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICcxJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzFdJywgJzInKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnMCcpOworICAgIHNob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRU
UklCKVszXScsICcxJyk7CisKKyAgICBnbC52ZXJ0ZXhBdHRyaWIzZnYoaWksIFsxLCAyLCAzXSk7
CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5U
X1ZFUlRFWF9BVFRSSUIpWzBdJywgJzEnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMV0nLCAnMicpOworICAg
IHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJU
RVhfQVRUUklCKVsyXScsICczJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYign
ICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzNdJywgJzEnKTsKKworICAgIGds
LnZlcnRleEF0dHJpYjRmdihpaSwgWzEsIDIsIDMsIDRdKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0
VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMF0nLCAn
MScpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VS
UkVOVF9WRVJURVhfQVRUUklCKVsxXScsICcyJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzJdJywgJzMnKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbM10nLCAnNCcpOworCisgICAgZ2wudmVydGV4QXR0cmliMWYoaWksIDUp
OworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVO
VF9WRVJURVhfQVRUUklCKVswXScsICc1Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzFdJywgJzAnKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVS
VEVYX0FUVFJJQilbMl0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
JyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVszXScsICcxJyk7CisKKyAgICBn
bC52ZXJ0ZXhBdHRyaWIyZihpaSwgNiwgNyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpWzBdJywgJzYnKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVS
VEVYX0FUVFJJQilbMV0nLCAnNycpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
JyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsyXScsICcwJyk7CisgICAgc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9B
VFRSSUIpWzNdJywgJzEnKTsKKworICAgIGdsLnZlcnRleEF0dHJpYjNmKGlpLCA3LCA4LCA5KTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQilbMF0nLCAnNycpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVsxXScsICc4Jyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpWzJdJywgJzknKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbM10nLCAnMScpOworCisgICAgZ2wu
dmVydGV4QXR0cmliNGYoaWksIDYsIDcsIDgsIDkpOworICAgIHNob3VsZEJlKCdnbC5nZXRWZXJ0
ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKVswXScsICc2Jyk7
CisgICAgc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYignICsgaWkgKyAnLCBnbC5DVVJSRU5U
X1ZFUlRFWF9BVFRSSUIpWzFdJywgJzcnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKCcgKyBpaSArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQilbMl0nLCAnOCcpOworICAg
IHNob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIGlpICsgJywgZ2wuQ1VSUkVOVF9WRVJU
RVhfQVRUUklCKVszXScsICc5Jyk7CisgIH0KKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7Cit9CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12
ZXJ0ZXhhdHRyaWJwb2ludGVyLW9mZnNldHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmli
cG9pbnRlci1vZmZzZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU2MjgzNWRkYjQ0NGQxYjhkMmZlMzU0
OTRkM2VmNGQwMTBjZjM3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0
cmlicG9pbnRlci1vZmZzZXRzLmh0bWwKQEAgLTAsMCArMSwxODIgQEAKKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlPnZlcnRleGF0dHJpYnBvaW50
ZXIgb2Zmc2V0cyB0ZXN0PC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPgorVGhl
cmUgaXMgc3VwcG9zZWQgdG8gYmUgYW4gZXhhbXBsZSBkcmF3aW5nIGhlcmUsIGJ1dCBpdCdzIG5v
dCBpbXBvcnRhbnQuCis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KKyAgICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAg
ICAgICB2b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbjsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgICAgIHByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0OworICAgICAgICB1bmlmb3JtIHZlYzQgY29sb3I7CisgICAgICAgIHZvaWQgbWFp
bigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOworICAgICAg
ICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0PgorICAgICAgICAidXNlIHN0cmljdCI7
CisgICAgICAgIGZ1bmN0aW9uIGluaXQoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigidGVzdCB2ZXJ0ZXhhdHRyaWJwb2ludGVyIG9mZnNldHMgd29yayIpOworCisgICAgICAg
ICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgICAgICAgICB2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgICAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0
dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9uIl0p
OworCisgICAgICAgICAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3
IEZsb2F0MzJBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAg
ICAgICAgdHlwZTogZ2wuRkxPQVQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogNCwK
KyAgICAgICAgICAgICAgICBub3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICB7IGRhdGE6IG5ldyBGbG9hdDMyQXJyYXkoWyAwLCAxLCAwLCAxLCAwLCAwLCAw
LCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLkZMT0FULAorICAgICAgICAgICAg
ICAgIGNvbXBvbmVudFNpemU6IDQsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiBmYWxzZSwK
KyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgeyBkYXRhOiBuZXcgVWludDE2QXJyYXko
WyAwLCAzMjc2NywgMCwgMzI3NjcsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuU0hPUlQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogMiwKKyAgICAg
ICAgICAgICAgICBub3JtYWxpemU6IHRydWUsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICAgIHsgZGF0YTogbmV3IFVpbnQxNkFycmF5KFsgMCwgNjU1MzUsIDAsIDY1NTM1LCAwLCAwLCAw
LCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JULAorICAg
ICAgICAgICAgICAgIGNvbXBvbmVudFNpemU6IDIsCisgICAgICAgICAgICAgICAgbm9ybWFsaXpl
OiB0cnVlLAorICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50
MTZBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAg
dHlwZTogZ2wuVU5TSUdORURfU0hPUlQsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTog
MiwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50MTZBcnJheShbIDAsIDEsIDAsIDEsIDAsIDAs
IDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAgdHlwZTogZ2wuU0hPUlQsCisgICAgICAgICAg
ICAgICAgY29tcG9uZW50U2l6ZTogMiwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IGZhbHNl
LAorICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6IG5ldyBVaW50OEFycmF5
KFsgMCwgMTI3LCAwLCAxMjcsIDAsIDAsIDAsIDAsIDAgXSksCisgICAgICAgICAgICAgICAgdHlw
ZTogZ2wuQllURSwKKyAgICAgICAgICAgICAgICBjb21wb25lbnRTaXplOiAxLAorICAgICAgICAg
ICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSwKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
eyBkYXRhOiBuZXcgVWludDhBcnJheShbIDAsIDI1NSwgMCwgMjU1LCAwLCAwLCAwLCAwLCAwIF0p
LAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAg
ICAgY29tcG9uZW50U2l6ZTogMSwKKyAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRydWUsCisg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoWyAw
LCAxLCAwLCAxLCAwLCAwLCAwLCAwLCAwIF0pLAorICAgICAgICAgICAgICAgIHR5cGU6IGdsLkJZ
VEUsCisgICAgICAgICAgICAgICAgY29tcG9uZW50U2l6ZTogMSwKKyAgICAgICAgICAgICAgICBu
b3JtYWxpemU6IGZhbHNlLAorICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICB7IGRhdGE6
IG5ldyBVaW50OEFycmF5KFsgMCwgMSwgMCwgMSwgMCwgMCwgMCwgMCwgMCBdKSwKKyAgICAgICAg
ICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgICAgICAgIGNvbXBvbmVu
dFNpemU6IDEsCisgICAgICAgICAgICAgICAgbm9ybWFsaXplOiBmYWxzZSwKKyAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgdmFyIHZlcnRleE9iamVjdCA9IGds
LmNyZWF0ZUJ1ZmZlcigpOworICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZG
RVIsIHZlcnRleE9iamVjdCk7CisgICAgICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JV
RkZFUiwgMTAyNCwgZ2wuU1RBVElDX0RSQVcpOworICAgICAgICAgICAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkoMCk7CisKKyAgICAgICAgICAgIHZhciBjb2xvckxvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihwcm9ncmFtLCAiY29sb3IiKTsKKyAgICAgICAgICAgIHZhciBrTnVtVmVydHMg
PSAzOworICAgICAgICAgICAgdmFyIGtOdW1Db21wb25lbnRzID0gMzsKKworICAgICAgICAgICAg
dmFyIGNvdW50ID0gMDsKKyAgICAgICAgICAgIGZvciAodmFyIHR0ID0gMDsgdHQgPCB0ZXN0cy5s
ZW5ndGg7ICsrdHQpIHsKKyAgICAgICAgICAgICAgdmFyIHRlc3QgPSB0ZXN0c1t0dF07CisgICAg
ICAgICAgICAgIGZvciAodmFyIG9vID0gMDsgb28gPCAzOyArK29vKSB7CisgICAgICAgICAgICAg
ICAgZm9yICh2YXIgc3MgPSAwOyBzcyA8IDM7ICsrc3MpIHsKKyAgICAgICAgICAgICAgICAgIHZh
ciBvZmZzZXQgPSAob28gKyAxKSAqIHRlc3QuY29tcG9uZW50U2l6ZTsKKyAgICAgICAgICAgICAg
ICAgIHZhciBjb2xvciA9IChjb3VudCAlIDIpID8gWzEsIDAsIDAsIDFdIDogWzAsIDEsIDAsIDFd
OworICAgICAgICAgICAgICAgICAgdmFyIHN0cmlkZSA9IHRlc3QuY29tcG9uZW50U2l6ZSAqIGtO
dW1Db21wb25lbnRzICsgdGVzdC5jb21wb25lbnRTaXplICogc3M7CisgICAgICAgICAgICAgICAg
ICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgICBkZWJ1ZygiY2hlY2sgd2l0aCAiICsgd3R1
LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnR5cGUpICsgIiBhdCBvZmZzZXQ6ICIgKyBvZmZzZXQg
KyAiIHdpdGggc3RyaWRlOiIgKyBzdHJpZGUgKyAiIG5vcm1hbGl6ZTogIiArIHRlc3Qubm9ybWFs
aXplKTsKKyAgICAgICAgICAgICAgICAgIGdsLnVuaWZvcm00ZnYoY29sb3JMb2MsIGNvbG9yKTsK
KyAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkodGVzdC5jb21wb25l
bnRTaXplICoga051bVZlcnRzICoga051bUNvbXBvbmVudHMgKyBzdHJpZGUgKiAoa051bVZlcnRz
IC0gMSkpOworICAgICAgICAgICAgICAgICAgdmFyIHZpZXcgPSBuZXcgVWludDhBcnJheSh0ZXN0
LmRhdGEuYnVmZmVyKTsKKyAgICAgICAgICAgICAgICAgIHZhciBzaXplID0gdGVzdC5jb21wb25l
bnRTaXplICoga051bUNvbXBvbmVudHM7CisgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqaiA9
IDA7IGpqIDwga051bVZlcnRzOyArK2pqKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBvZmYx
ID0gamogKiBzaXplOworICAgICAgICAgICAgICAgICAgICB2YXIgb2ZmMiA9IGpqICogc3RyaWRl
OworICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciB6eiA9IDA7IHp6IDwgc2l6ZTsgKyt6eikg
eworICAgICAgICAgICAgICAgICAgICAgIGRhdGFbb2ZmMiArIHp6XSA9IHZpZXdbb2ZmMSArIHp6
XTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGRVIsIG9mZnNldCwgZGF0YSk7
CisgICAgICAgICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIHRlc3QudHlw
ZSwgdGVzdC5ub3JtYWxpemUsIHN0cmlkZSwgb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAg
ICAgICAgICAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKworICAgICAg
ICAgICAgICAgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDUwICogNTAgKiA0KTsKKyAgICAg
ICAgICAgICAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgNTAsIDUwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBidWYpOworCisgICAgICAgICAgICAgICAgICB2YXIgYmxhY2sgPSBbMCwgMCwg
MCwgMF07CisgICAgICAgICAgICAgICAgICB2YXIgb3RoZXIgPSBbY29sb3JbMF0gKiAyNTUsIGNv
bG9yWzFdICogMjU1LCBjb2xvclsyXSAqIDI1NSwgY29sb3JbM10gKiAyNTVdOworICAgICAgICAg
ICAgICAgICAgdmFyIG90aGVyTXNnID0gInNob3VsZCBiZSAiICsgKChjb3VudCAlIDIpID8gInJl
ZCIgOiAiZ3JlZW4iKQorICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MCwgMCwgMSwgMSwgYmxhY2ssICJzaG91bGQgYmUgYmxhY2siLCAwKTsKKyAgICAgICAgICAgICAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDQ5LCAxLCAxLCBibGFjaywgInNob3VsZCBi
ZSBibGFjayIsIDApOworICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MjYsIDQwLCAxLCAxLCBvdGhlciwgb3RoZXJNc2csIDApOworICAgICAgICAgICAgICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChnbCwgMjYsIDI3LCAxLCAxLCBvdGhlciwgb3RoZXJNc2csIDApOwor
ICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNDAsIDI3LCAxLCAxLCBv
dGhlciwgb3RoZXJNc2csIDApOworICAgICAgICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICB9CisKKyAg
ICAgICBpbml0KCk7CisgICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAg
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVy
dGV4YXR0cmlicG9pbnRlci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmVhMDI5ZGMyMmNmYWI0OWZlMzY5YTgzMjc2MzY0MDFlMzI2ZDRmMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCkBA
IC0wLDAgKzEsMTU2IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCB2ZXJ0ZXhBdHRyaWJQb2ludGVyIENvbmZvcm1hbmNlIFRlc3RzPC90aXRs
ZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29u
c3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB2ZXJ0ZXhB
dHRyaWJQb2ludGVyIGJlaGF2aW9ycyBpbiBXZWJHTC4iKTsKKworZGVidWcoIiIpOworZGVidWco
IkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworaWYgKCFnbCkgeworICB0ZXN0RmFp
bGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7Cit9IGVsc2UgeworICB0ZXN0UGFzc2VkKCJj
b250ZXh0IGV4aXN0cyIpOworCisgIGRlYnVnKCIiKTsKKyAgZGVidWcoIkNoZWNraW5nIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIuIik7CisKKyAgaWYgKCFnbC5GSVhFRCkgeworICAgIGdsLkZJWEVE
ID0gMHgxNDBDOworICB9CisKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9B
VCwgMCwgMCwgMTIpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LAorICAgICAgInZlcnRleEF0dHJpYlBvaW50ZXIgc2hvdWxkIGZhaWwgaWYgbm8gYnVmZmVyIGlz
IGJvdW5kIik7CisKKyAgdmFyIHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoMCksIGdsLlNUQVRJQ19EUkFX
KTsKKworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDEsIGdsLklOVCwgMCwgMCwgMCk7Cisg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLAorICAgICAgInZlcnRleEF0dHJp
YlBvaW50ZXIgc2hvdWxkIG5vdCBzdXBwb3J0IElOVCIpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKDAsIDEsIGdsLlVOU0lHTkVEX0lOVCwgMCwgMCwgMCk7CisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9FTlVNLAorICAgICAgInZlcnRleEF0dHJpYlBvaW50ZXIgc2hvdWxkIG5v
dCBzdXBwb3J0IFVOU0lHTkVEX0lOVCIpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDEs
IGdsLkZJWEVELCAwLCAwLCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VO
VU0sCisgICAgICAidmVydGV4QXR0cmliUG9pbnRlciBzaG91bGQgbm90IHN1cHBvcnQgRklYRUQi
KTsKKworICB2YXIgY2hlY2tWZXJ0ZXhBdHRyaWJQb2ludGVyID0gZnVuY3Rpb24oCisgICAgICBn
bCwgZXJyLCByZWFzb24sIHNpemUsIHR5cGUsIG5vcm1hbGl6ZSwgc3RyaWRlLCBvZmZzZXQpIHsK
KyAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIHNpemUsIHR5cGUsIG5vcm1hbGl6ZSwgc3Ry
aWRlLCBvZmZzZXQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZXJyLAorICAgICAgICAiZ2wu
dmVydGV4QXR0cmliUG9pbnRlcigwLCAiICsgc2l6ZSArCisgICAgICAgICIsIGdsLiIgKyB3dHUu
Z2xFbnVtVG9TdHJpbmcoZ2wsIHR5cGUpICsKKyAgICAgICAgIiwgIiArIG5vcm1hbGl6ZSArCisg
ICAgICAgICIsICIgKyBzdHJpZGUgKworICAgICAgICAiLCAiICsgb2Zmc2V0ICsKKyAgICAgICAg
Iikgc2hvdWxkICIgKyAoZXJyID09IGdsLk5PX0VSUk9SID8gInN1Y2NlZWQgIiA6ICJmYWlsICIp
ICsgcmVhc29uKTsKKyAgfQorCisgIHZhciB0eXBlcyA9IFsKKyAgICB7IHR5cGU6Z2wuQllURSwg
ICAgICAgICAgIGJ5dGVzUGVyQ29tcG9uZW50OiAxIH0sCisgICAgeyB0eXBlOmdsLlVOU0lHTkVE
X0JZVEUsICBieXRlc1BlckNvbXBvbmVudDogMSB9LAorICAgIHsgdHlwZTpnbC5TSE9SVCwgICAg
ICAgICAgYnl0ZXNQZXJDb21wb25lbnQ6IDIgfSwKKyAgICB7IHR5cGU6Z2wuVU5TSUdORURfU0hP
UlQsIGJ5dGVzUGVyQ29tcG9uZW50OiAyIH0sCisgICAgeyB0eXBlOmdsLkZMT0FULCAgICAgICAg
ICBieXRlc1BlckNvbXBvbmVudDogNCB9LAorICBdOworCisgIGZvciAodmFyIGlpID0gMDsgaWkg
PCB0eXBlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgaW5mbyA9IHR5cGVzW2lpXTsKKyAgICBk
ZWJ1ZygiIik7CisgICAgZm9yICh2YXIgc2l6ZSA9IDE7IHNpemUgPD0gNDsgKytzaXplKSB7Cisg
ICAgICBkZWJ1ZygiIik7CisgICAgICBkZWJ1ZygiY2hlY2tpbmc6ICIgKyB3dHUuZ2xFbnVtVG9T
dHJpbmcoZ2wsIGluZm8udHlwZSkgKyAiIHdpdGggc2l6ZSAiICsgc2l6ZSk7CisgICAgICB2YXIg
Ynl0ZXNQZXJFbGVtZW50ID0gc2l6ZSAqIGluZm8uYnl0ZXNQZXJDb21wb25lbnQ7CisgICAgICB2
YXIgb2Zmc2V0U2V0ID0gWworICAgICAgICAgIDAsCisgICAgICAgICAgMSwKKyAgICAgICAgICBp
bmZvLmJ5dGVzUGVyQ29tcG9uZW50IC0gMSwKKyAgICAgICAgICBpbmZvLmJ5dGVzUGVyQ29tcG9u
ZW50LAorICAgICAgICAgIGluZm8uYnl0ZXNQZXJDb21wb25lbnQgKyAxLAorICAgICAgICAgIGlu
Zm8uYnl0ZXNQZXJDb21wb25lbnQgKiAyXTsKKyAgICAgIGZvciAodmFyIGpqID0gMDsgamogPCBv
ZmZzZXRTZXQubGVuZ3RoOyArK2pqKSB7CisgICAgICAgIHZhciBvZmZzZXQgPSBvZmZzZXRTZXRb
ampdOworICAgICAgICBmb3IgKHZhciBrayA9IDA7IGtrIDwgb2Zmc2V0U2V0Lmxlbmd0aDsgKytr
aykgeworICAgICAgICAgIHZhciBzdHJpZGUgPSBvZmZzZXRTZXRba2tdOworICAgICAgICAgIHZh
ciBlcnIgPSBnbC5OT19FUlJPUjsKKyAgICAgICAgICB2YXIgcmVhc29uID0gIiIKKyAgICAgICAg
ICBpZiAob2Zmc2V0ICUgaW5mby5ieXRlc1BlckNvbXBvbmVudCAhPSAwKSB7CisgICAgICAgICAg
ICByZWFzb24gPSAiYmVjYXVzZSBvZmZzZXQgaXMgYmFkIjsKKyAgICAgICAgICAgIGVyciA9IGds
LklOVkFMSURfT1BFUkFUSU9OOworICAgICAgICAgIH0KKyAgICAgICAgICBpZiAoc3RyaWRlICUg
aW5mby5ieXRlc1BlckNvbXBvbmVudCAhPSAwKSB7CisgICAgICAgICAgICByZWFzb24gPSAiYmVj
YXVzZSBzdHJpZGUgaXMgYmFkIjsKKyAgICAgICAgICAgIGVyciA9IGdsLklOVkFMSURfT1BFUkFU
SU9OOworICAgICAgICAgIH0KKyAgICAgICAgICBjaGVja1ZlcnRleEF0dHJpYlBvaW50ZXIoCisg
ICAgICAgICAgICAgIGdsLCBlcnIsIHJlYXNvbiwgc2l6ZSwgaW5mby50eXBlLCBmYWxzZSwgc3Ry
aWRlLCBvZmZzZXQpOworICAgICAgICB9CisgICAgICAgIHZhciBzdHJpZGUgPSBNYXRoLmZsb29y
KDI1NSAvIGluZm8uYnl0ZXNQZXJDb21wb25lbnQpICogaW5mby5ieXRlc1BlckNvbXBvbmVudDsK
KworICAgICAgICBpZiAob2Zmc2V0ID09IDApIHsKKyAgICAgICAgICBjaGVja1ZlcnRleEF0dHJp
YlBvaW50ZXIoCisgICAgICAgICAgICAgIGdsLCBnbC5OT19FUlJPUiwgImF0IHN0cmlkZSBsaW1p
dCIsCisgICAgICAgICAgICAgIHNpemUsIGluZm8udHlwZSwgZmFsc2UsIHN0cmlkZSwgb2Zmc2V0
KTsKKyAgICAgICAgICBjaGVja1ZlcnRleEF0dHJpYlBvaW50ZXIoCisgICAgICAgICAgICAgIGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAib3ZlciBzdHJpZGUgbGltaXQiLAorICAgICAgICAgICAgICBz
aXplLCBpbmZvLnR5cGUsIGZhbHNlLAorICAgICAgICAgICAgICBzdHJpZGUgKyBpbmZvLmJ5dGVz
UGVyQ29tcG9uZW50LCBvZmZzZXQpOworICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9Cit9
CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>