<?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>38700</bug_id>
          
          <creation_ts>2010-05-06 15:43:31 -0700</creation_ts>
          <short_desc>drawElements/drawArrays should validate input parameters according to GLES2 spec</short_desc>
          <delta_ts>2010-06-11 07:38:59 -0700</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>oliver</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>222019</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-05-06 15:43:31 -0700</bug_when>
    <thetext>Gregg Tavares points out that WebGLRenderingContext::drawElements currently generates an INVALID_OPERATION error if the UNSIGNED_INT type is passed in, because the index validation code catches the invalid enum but always causes INVALID_OPERATION to be generated. Per the OpenGL ES 2.0 spec, INVALID_ENUM should be generated in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236101</commentid>
    <comment_count>1</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-06-09 17:35:50 -0700</bug_when>
    <thetext>Several cases should return INVALID_VALUE instead of INVALID_OPERATION.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236103</commentid>
    <comment_count>2</comment_count>
      <attachid>58315</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-06-09 17:41:11 -0700</bug_when>
    <thetext>Created attachment 58315
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236565</commentid>
    <comment_count>3</comment_count>
      <attachid>58315</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-10 15:39:19 -0700</bug_when>
    <thetext>Comment on attachment 58315
patch

Mostly looks good. A few issues.

WebCore/html/canvas/WebGLRenderingContext.cpp:824
 +          if (!validateDrawMode(mode))
From recent emails on the public-webgl mailing list it sounds like they may want to strictly specify the order in which errors are returned if the inputs would generate multiple errors. For example, INVALID_ENUM would be preferred over INVALID_VALUE. Because of this, even though it may mean doing some redundant validation, I think we should remove the isGLES2Compliant() check here and always validate the draw mode.


LayoutTests/fast/canvas/webgl/resources/webgl-test.js:110
 +              testFailed(evalStr + &quot; expected: &quot; + getGLErrorAsString(ctx, glError) + &quot;. Was &quot; + getGLErrorAsString(ctx, err) + &quot;.&quot;);
Can you say here &quot;expected GL error:&quot; and &quot;. Generated: &quot; for clarity?


LayoutTests/fast/canvas/webgl/resources/webgl-test.js:112
 +              testPassed(evalStr + &quot; was expected value: &quot; + getGLErrorAsString(ctx, glError) + &quot;.&quot;);
Can you say here &quot; generated expected GL error: &quot; for clarity?


LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds.html:44
 +  shouldGenerateGLError(context, context.INVALID_ENUM, &quot;context.drawElements(0x0009, 3, context.UNSIGNED_INT, 0)&quot;); // GL_POLYGON
You should use UNSIGNED_BYTE here to make sure you&apos;re producing the error for the first enum error and not the second.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236577</commentid>
    <comment_count>4</comment_count>
      <attachid>58421</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-06-10 16:12:30 -0700</bug_when>
    <thetext>Created attachment 58421
revised patch: responding to kbr&apos;s review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236591</commentid>
    <comment_count>5</comment_count>
      <attachid>58421</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-10 17:08:41 -0700</bug_when>
    <thetext>Comment on attachment 58421
revised patch: responding to kbr&apos;s review

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236669</commentid>
    <comment_count>6</comment_count>
      <attachid>58421</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-06-10 21:31:30 -0700</bug_when>
    <thetext>Comment on attachment 58421
revised patch: responding to kbr&apos;s review

ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236819</commentid>
    <comment_count>7</comment_count>
      <attachid>58421</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-11 07:38:53 -0700</bug_when>
    <thetext>Comment on attachment 58421
revised patch: responding to kbr&apos;s review

Clearing flags on attachment: 58421

Committed r61017: &lt;http://trac.webkit.org/changeset/61017&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236820</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-11 07:38:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58315</attachid>
            <date>2010-06-09 17:41:11 -0700</date>
            <delta_ts>2010-06-10 16:12:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>draw.patch</filename>
            <type>text/plain</type>
            <size>45409</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDkyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDYtMDkgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBkcmF3RWxl
bWVudHMvZHJhd0FycmF5cyBzaG91bGQgdmFsaWRhdGUgaW5wdXQgcGFyYW1ldGVycyBhY2NvcmRp
bmcgdG8gR0xFUzIgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzg3MDAKKworICAgICAgICBUZXN0czogZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1h
cnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2NhbnZhcy93ZWJn
bC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbAorCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6ZHJhd0FycmF5cyk6IFZhbGlkYXRlIGlucHV0IHBhcmFtZXRlcnMuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZURy
YXdNb2RlKTogVmFsaWRhdGUgbW9kZSBmb3IgZHJhd3tBcnJheXMvRWxlbWVudHN9LgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOiBBZGQgdmFsaWRhdGVEcmF3
TW9kZSwgZml4IGluY29ycmVjdCBwYXJhbWV0ZXIgdHlwZXMuCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDogRml4IGluY29ycmVjdCBwYXJhbWV0ZXIgdHlw
ZXMuCisKIDIwMTAtMDYtMDkgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gNjA5MjIpCisrKyBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc5MCw4ICs3OTAsMjIgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlk
YXRlV2ViRwogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdBcnJheXModW5zaWduZWQg
bG9uZyBtb2RlLCBsb25nIGZpcnN0LCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBVTlVTRURfUEFSQU0oZWMpOworCisgICAgaWYgKCFpc0dMRVMyQ29tcGxpYW50KCkpIHsK
KyAgICAgICAgaWYgKCF2YWxpZGF0ZURyYXdNb2RlKG1vZGUpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChmaXJzdCA8IDAgfHwgY291bnQgPCAwKSB7CisgICAgICAgIG1f
Y29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFM
VUUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFjb3VudCkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgLy8gRW5zdXJlIHdlIGhhdmUgYSB2YWxpZCByZW5kZXJpbmcgc3RhdGUK
LSAgICBpZiAoZmlyc3QgPCAwIHx8IGNvdW50IDwgMCB8fCAhdmFsaWRhdGVSZW5kZXJpbmdTdGF0
ZShmaXJzdCArIGNvdW50KSkgeworICAgIGlmICghdmFsaWRhdGVSZW5kZXJpbmdTdGF0ZShmaXJz
dCArIGNvdW50KSkgewogICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CkBAIC04MDIsMTMgKzgxNiwzNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0Fy
cmF5cyh1CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKHRydWUpOwogfQogCi12b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKHVuc2lnbmVkIGxvbmcgbW9kZSwgdW5z
aWduZWQgbG9uZyBjb3VudCwgdW5zaWduZWQgbG9uZyB0eXBlLCBsb25nIG9mZnNldCwgRXhjZXB0
aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKHVu
c2lnbmVkIGxvbmcgbW9kZSwgbG9uZyBjb3VudCwgdW5zaWduZWQgbG9uZyB0eXBlLCBsb25nIG9m
ZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKKworICAg
IGlmICghaXNHTEVTMkNvbXBsaWFudCgpKSB7CisgICAgICAgIGlmICghdmFsaWRhdGVEcmF3TW9k
ZShtb2RlKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHR5cGUp
IHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFOgorICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX1NIT1JUOgorICAgICAgICBicmVhazsKKyAgICBk
ZWZhdWx0OgorICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX0VOVU0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KGNvdW50IDwgMCB8fCBvZmZzZXQgPCAwKSB7CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6
ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFjb3VudCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8g
RW5zdXJlIHdlIGhhdmUgYSB2YWxpZCByZW5kZXJpbmcgc3RhdGUKICAgICBsb25nIG51bUVsZW1l
bnRzOwogICAgIAotICAgIGlmIChvZmZzZXQgPCAwIHx8ICF2YWxpZGF0ZUVsZW1lbnRBcnJheVNp
emUoY291bnQsIHR5cGUsIG9mZnNldCkpIHsKKyAgICBpZiAoIXZhbGlkYXRlRWxlbWVudEFycmF5
U2l6ZShjb3VudCwgdHlwZSwgb2Zmc2V0KSkgewogICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTik7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC0zMjcwLDYgKzMzMDcsMjMgQEAgYm9vbCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnZhbGlkYXRlVGV4RgogICAgIHJldHVybiB2YWxpZGF0ZVRleEZ1bmNGb3JtYXRB
bmRUeXBlKGZvcm1hdCwgdHlwZSk7CiB9CiAKK2Jvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2
YWxpZGF0ZURyYXdNb2RlKHVuc2lnbmVkIGxvbmcgbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUp
IHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpQT0lOVFM6CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6TElORV9TVFJJUDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMSU5F
X0xPT1A6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TElORVM6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6VFJJQU5HTEVfU1RSSVA6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6VFJJQU5HTEVfRkFOOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSSUFOR0xFUzoK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgbV9jb250ZXh0LT5z
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNKTsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaAkocmV2aXNpb24gNjA5MjIpCisrKyBXZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyAr
MTE3LDcgQEAgY2xhc3MgV2ViS2l0Q1NTTWF0cml4OwogICAgICAgICB2b2lkIGRpc2FibGUodW5z
aWduZWQgbG9uZyBjYXApOwogICAgICAgICB2b2lkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh1
bnNpZ25lZCBsb25nIGluZGV4LCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZvaWQgZHJhd0Fy
cmF5cyh1bnNpZ25lZCBsb25nIG1vZGUsIGxvbmcgZmlyc3QsIGxvbmcgY291bnQsIEV4Y2VwdGlv
bkNvZGUmKTsKLSAgICAgICAgdm9pZCBkcmF3RWxlbWVudHModW5zaWduZWQgbG9uZyBtb2RlLCB1
bnNpZ25lZCBsb25nIGNvdW50LCB1bnNpZ25lZCBsb25nIHR5cGUsIGxvbmcgb2Zmc2V0LCBFeGNl
cHRpb25Db2RlJik7CisgICAgICAgIHZvaWQgZHJhd0VsZW1lbnRzKHVuc2lnbmVkIGxvbmcgbW9k
ZSwgbG9uZyBjb3VudCwgdW5zaWduZWQgbG9uZyB0eXBlLCBsb25nIG9mZnNldCwgRXhjZXB0aW9u
Q29kZSYpOwogCiAgICAgICAgIHZvaWQgZW5hYmxlKHVuc2lnbmVkIGxvbmcgY2FwKTsKICAgICAg
ICAgdm9pZCBlbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh1bnNpZ25lZCBsb25nIGluZGV4LCBFeGNl
cHRpb25Db2RlJik7CkBAIC00MTIsNiArNDEyLDkgQEAgY2xhc3MgV2ViS2l0Q1NTTWF0cml4Owog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyB3aWR0aCwgbG9uZyBo
ZWlnaHQsIGxvbmcgYm9yZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBmb3JtYXQsIHVuc2lnbmVkIGxvbmcgdHlwZSk7CiAKKyAgICAgICAg
Ly8gSGVscGVyIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIG1vZGUgZm9yIGRyYXd7QXJyYXlzL0VsZW1l
bnRzfS4KKyAgICAgICAgYm9vbCB2YWxpZGF0ZURyYXdNb2RlKHVuc2lnbmVkIGxvbmcpOworCiAg
ICAgICAgIC8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGV4UGFyYW1ldGVyZiBhbmQgdGV4UGFyYW1l
dGVyaS4KICAgICAgICAgdm9pZCB0ZXhQYXJhbWV0ZXIodW5zaWduZWQgbG9uZyB0YXJnZXQsIHVu
c2lnbmVkIGxvbmcgcG5hbWUsIGZsb2F0IHBhcmFtaSwgaW50IHBhcmFtZiwgYm9vbCBpc0Zsb2F0
KTsKIApJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmlkbAkocmV2aXNpb24gNjA5MjIpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTUyMSw4ICs1MjEsOCBAQCBtb2R1bGUg
aHRtbCB7CiAgICAgICAgIHZvaWQgICAgICAgICBkZXRhY2hTaGFkZXIoaW4gV2ViR0xQcm9ncmFt
IHByb2dyYW0sIGluIFdlYkdMU2hhZGVyIHNoYWRlcikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAg
ICAgICAgIHZvaWQgICAgICAgICBkaXNhYmxlKGluIHVuc2lnbmVkIGxvbmcgY2FwKTsKICAgICAg
ICAgdm9pZCAgICAgICAgIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShpbiB1bnNpZ25lZCBsb25n
IGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCAgICAgICAgIGRyYXdB
cnJheXMoaW4gdW5zaWduZWQgbG9uZyBtb2RlLCBpbiBsb25nIGZpcnN0LCBpbiB1bnNpZ25lZCBs
b25nIGNvdW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCAgICAgICAgIGRy
YXdFbGVtZW50cyhpbiB1bnNpZ25lZCBsb25nIG1vZGUsIGluIGxvbmcgY291bnQsIGluIHVuc2ln
bmVkIGxvbmcgdHlwZSwgaW4gdW5zaWduZWQgbG9uZyBvZmZzZXQpIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgICAgICB2b2lkICAgICAgICAgZHJhd0FycmF5cyhpbiB1bnNpZ25lZCBsb25nIG1v
ZGUsIGluIGxvbmcgZmlyc3QsIGluIGxvbmcgY291bnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwor
ICAgICAgICB2b2lkICAgICAgICAgZHJhd0VsZW1lbnRzKGluIHVuc2lnbmVkIGxvbmcgbW9kZSwg
aW4gbG9uZyBjb3VudCwgaW4gdW5zaWduZWQgbG9uZyB0eXBlLCBpbiBsb25nIG9mZnNldCkgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgdm9pZCAgICAgICAgIGVuYWJsZShpbiB1bnNp
Z25lZCBsb25nIGNhcCk7CiAgICAgICAgIHZvaWQgICAgICAgICBlbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheShpbiB1bnNpZ25lZCBsb25nIGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDYwOTI1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDYtMDkgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBk
cmF3RWxlbWVudHMvZHJhd0FycmF5cyBzaG91bGQgdmFsaWRhdGUgaW5wdXQgcGFyYW1ldGVycyBh
Y2NvcmRpbmcgdG8gR0xFUzIgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mzg3MDAKKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2RyYXct
YXJyYXlzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0LCBh
bmQgZml4IGEgZmV3IHRlc3QgY2FzZXMuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZHJh
dy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCwgYW5kIGZpeCBhIGZldyB0
ZXN0IGNhc2VzLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0
LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2RyYXdFbGVtZW50c3NPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQsIGFuZCBmaXgg
YSBmZXcgdGVzdCBjYXNlcy4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1l
bnRzLW91dC1vZi1ib3VuZHMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZHJhd0VsZW1lbnRzc091dE9mQm91bmRzLmh0bWwsIGFuZCBmaXggYSBmZXcgdGVz
dCBjYXNlcy4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9kcmF3QXJyYXlzT3V0T2ZCb3Vu
ZHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2Ry
YXdBcnJheXNPdXRPZkJvdW5kcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2RyYXdFbGVtZW50c3NPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0VsZW1lbnRzc091dE9mQm91bmRzLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanM6IEFkZCBoZWxwZXIgZnVuY3Rpb25zIGZvciBlYXN5IHRlc3Qgb2YgZ2wgZnVuY3Rpb24g
ZXJyb3JzLgorICAgICAgICAoZ2V0R0xFcnJvckFzU3RyaW5nKToKKyAgICAgICAgKHNob3VsZEdl
bmVyYXRlR0xFcnJvcik6CisKIDIwMTAtMDYtMDkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJy
YXlzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2MDkyMikJKGZyb20gTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVk
LnR4dDo2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlz
LW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkg
QEAKK1Rlc3Qgb2YgZHJhd0FycmF5cyB3aXRoIG91dC1vZi1ib3VuZHMgcGFyYW1ldGVycworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3QgZW1wdHkgYnVmZmVyCitQQVNTIGNvbnRl
eHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMSkgdGhyZXcgZXhjZXB0aW9uIEdM
IGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRl
eHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4g
ZHJhd0FycmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAw
LCAxMDAwMDAwMDAwMDAwMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0Fy
cmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAtMSkg
dGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAwKSB0aHJldyBleGNlcHRpb24gR0wg
ZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4
dC5UUklBTkdMRVMsIC0xLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3
QXJyYXlzLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIC0x
KSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorUEFTUyBjb250
ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAxKSB0aHJldyBleGNlcHRpb24g
R0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorCitUZXN0IGJ1ZmZlciB3aXRoIDMgZmxvYXQg
dmVjdG9ycworUEFTUyBjb250ZXh0LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoY29udGV4dC5GUkFN
RUJVRkZFUikgaXMgY29udGV4dC5GUkFNRUJVRkZFUl9DT01QTEVURQorUEFTUyBjb250ZXh0LmRy
YXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDMpIGlzIHVuZGVmaW5lZAorUEFTUyBjb250
ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDMsIDIpIHRocmV3IGV4Y2VwdGlvbiBH
TCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250
ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGlu
IGRyYXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywg
MCwgMTAwMDAwMDAwMDAwMDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdB
cnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgLTEp
IHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCitQQVNTIGNvbnRl
eHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIHRocmV3IGV4Y2VwdGlvbiBH
TCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250
ZXh0LlRSSUFOR0xFUywgMSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRy
YXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEs
IDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCisKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3
LWFycmF5cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjA5MjIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywyNSArMywyMyBAQCBUZXN0IG9mIGRyYXdB
cnJheXMgd2l0aCBvdXQtb2YtYm91bmRzIHBhCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
IFRlc3QgZW1wdHkgYnVmZmVyCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgMCwgMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4K
LVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkgdGhy
ZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5k
cmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCkgdGhyZXcgZXhj
ZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJy
YXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEy
ODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5H
TEVTLCAxLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgot
UEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAwKSB0aHJldyBl
eGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3Ig
MTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklB
TkdMRVMsIC0xLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlz
LgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OLgorUEFTUyBjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfVkFMVUUuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEs
IDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEwMCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIAogVGVzdCBidWZmZXIgd2l0aCAzIGZsb2F0
IHZlY3RvcnMKIFBBU1MgY29udGV4dC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGNvbnRleHQuRlJB
TUVCVUZGRVIpIGlzIGNvbnRleHQuRlJBTUVCVUZGRVJfQ09NUExFVEUKIFBBU1MgY29udGV4dC5k
cmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAzKSBpcyB1bmRlZmluZWQKLVBBU1MgY29u
dGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCAyKSB0aHJldyBleGNlcHRpb24g
R0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29u
dGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBp
biBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMs
IDAsIDEwMDAwMDAwMDAwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3
QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0x
KSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250
ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAwKSB0aHJldyBleGNlcHRpb24g
R0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29u
dGV4dC5UUklBTkdMRVMsIDEsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBk
cmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0x
LCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorUEFTUyBj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDMpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cygweDAwMDksIDAsIDMpIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMo
Y29udGV4dC5UUklBTkdMRVMsIDMsIDIpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04uCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMTAw
MDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGNvbnRleHQu
ZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgLTEpIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVT
LCAtMSwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0
LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMTAw
LCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXct
YXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWwJKHJldmlzaW9uIDYw
OTIyKQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3QXJyYXlzT3V0T2ZC
b3VuZHMuaHRtbDo2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXct
YXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBA
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCBvZiBkcmF3QXJyYXlzIHdpdGggb3V0LW9mLWJvdW5kcyBwYXJhbWV0ZXJz
Iik7CisKK3ZhciBjb250ZXh0ID0gY3JlYXRlM0REZWJ1Z0NvbnRleHQoKTsKK3ZhciBwcm9ncmFt
ID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKKworY29udGV4dC51c2VQcm9ncmFtKHBy
b2dyYW0pOwordmFyIHZlcnRleE9iamVjdCA9IGNvbnRleHQuY3JlYXRlQnVmZmVyKCk7Citjb250
ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7Citjb250
ZXh0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworCitkZWJ1ZygiVGVzdCBlbXB0eSBidWZm
ZXIiKQorY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBuZXcgV2ViR0xG
bG9hdEFycmF5KFsgIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKK2NvbnRleHQudmVydGV4QXR0
cmliUG9pbnRlcigwLCAzLCBjb250ZXh0LkZMT0FULCBmYWxzZSwgMCwgMCk7CitzaG91bGRUaHJv
dygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxKSIpOworc2hvdWxk
VGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDApIik7
CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAx
MDAwMDAwMDAwMDAwMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4
dC5UUklBTkdMRVMsIDAsIC0xKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhj
b250ZXh0LlRSSUFOR0xFUywgMSwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJh
eXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAwKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJh
d0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgLTEpIik7CitzaG91bGRUaHJvdygiY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMSkiKTsKKworZGVidWcoIiIpCitk
ZWJ1ZygiVGVzdCBidWZmZXIgd2l0aCAzIGZsb2F0IHZlY3RvcnMiKQorY29udGV4dC5idWZmZXJE
YXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBuZXcgV2ViR0xGbG9hdEFycmF5KFsgMCwwLjUsMCwg
LTAuNSwtMC41LDAsIDAuNSwtMC41LDAgXSksIGNvbnRleHQuU1RBVElDX0RSQVcpOworY29udGV4
dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
K3Nob3VsZEJlKCJjb250ZXh0LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoY29udGV4dC5GUkFNRUJV
RkZFUikiLCAiY29udGV4dC5GUkFNRUJVRkZFUl9DT01QTEVURSIpOworc2hvdWxkQmUoImNvbnRl
eHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykiLCAidW5kZWZpbmVkIik7Citz
aG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCAyKSIp
Oworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwg
MTAwMDApIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5H
TEVTLCAwLCAxMDAwMDAwMDAwMDAwMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJh
eXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJh
d0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIik7CitzaG91bGRUaHJvdygiY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAtMSkiKTsKK3Nob3VsZFRocm93KCJj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAxKSIpOworCitkZWJ1Zygi
IikKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMt
b3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbAkocmV2aXNpb24gNjA5MjIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlw
dGlvbigiVGVzdCBvZiBkcmF3QXJyYXlzIHdpdGggb3V0LW9mLWJvdW5kcyBwYXJhbWV0ZXJzIik7
CiAKLXZhciBjb250ZXh0ID0gY3JlYXRlM0REZWJ1Z0NvbnRleHQoKTsKK3ZhciBjb250ZXh0ID0g
Y3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxvYWRTdGFuZGFyZFByb2dyYW0oY29u
dGV4dCk7CiAKIGNvbnRleHQudXNlUHJvZ3JhbShwcm9ncmFtKTsKQEAgLTIyLDE0ICsyMiwxMSBA
QCBjb250ZXh0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOwogZGVidWcoIlRlc3QgZW1wdHkg
YnVmZmVyIikKIGNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgbmV3IFdl
YkdMRmxvYXRBcnJheShbICBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7CiBjb250ZXh0LnZlcnRl
eEF0dHJpYlBvaW50ZXIoMCwgMywgY29udGV4dC5GTE9BVCwgZmFsc2UsIDAsIDApOwotc2hvdWxk
VGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMSkiKTsKLXNo
b3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAw
KSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywg
MCwgMTAwMDAwMDAwMDAwMDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNv
bnRleHQuVFJJQU5HTEVTLCAwLCAtMSkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJh
eXMoY29udGV4dC5UUklBTkdMRVMsIDEsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0
LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIC0xKSIpOwotc2hvdWxkVGhyb3coImNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDEpIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHQu
ZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDApIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3QXJy
YXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAtMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4
dC5UUklBTkdMRVMsIC0xLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAs
IDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwg
ImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwLCAwKSIpOwogCiBkZWJ1
ZygiIikKIGRlYnVnKCJUZXN0IGJ1ZmZlciB3aXRoIDMgZmxvYXQgdmVjdG9ycyIpCkBAIC0zNywx
MyArMzQsMTQgQEAgY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLAogY29u
dGV4dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZhbHNlLCAwLCAw
KTsKIHNob3VsZEJlKCJjb250ZXh0LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoY29udGV4dC5GUkFN
RUJVRkZFUikiLCAiY29udGV4dC5GUkFNRUJVRkZFUl9DT01QTEVURSIpOwogc2hvdWxkQmUoImNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykiLCAidW5kZWZpbmVkIik7
Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCAy
KSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywg
MCwgMTAwMDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJ
QU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQu
ZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIik7Ci1zaG91bGRUaHJvdygiY29u
dGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAtMSkiKTsKLXNob3VsZFRocm93
KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAxKSIpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dCwgY29udGV4dC5JTlZBTElEX0VOVU0sICJjb250ZXh0LmRyYXdBcnJheXMoMHgwMDA5
LCAwLCAzKSIpOyAvLyBHTF9QT0xZR09OCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwg
Y29udGV4dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRS
SUFOR0xFUywgMywgMikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0
LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVT
LCAwLCAxMDAwMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklO
VkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0x
KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxV
RSwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIik7CitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJh
d0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQu
VFJJQU5HTEVTLCAxMDAsIDApIik7CiAKIGRlYnVnKCIiKQogc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMt
b3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNjA5MjIpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdF
bGVtZW50c3NPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQ6NjA5MjIpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKK1Rlc3Qgb2YgZHJhd0VsZW1lbnRzIHdp
dGggb3V0LW9mLWJvdW5kcyBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworVGVzdCBlbXB0eSBpbmRleCBidWZmZXIKK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29u
dGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0
aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgorUEFTUyBjb250ZXh0LmRyYXdFbGVt
ZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkg
dGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgorUEFTUyBjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAwMDAwMDAwMDAsIGNvbnRl
eHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJh
d0VsZW1lbnRzLgorUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywg
MSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4
MiBpbiBkcmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJ
QU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wg
ZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNv
bnRleHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSB0aHJldyBleGNl
cHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSB0
aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCisKK1Rlc3QgYnVm
ZmVyIHdpdGggMyBieXRlIGluZGV4ZXMKK1BBU1MgY29udGV4dC5jaGVja0ZyYW1lYnVmZmVyU3Rh
dHVzKGNvbnRleHQuRlJBTUVCVUZGRVIpIGlzIGNvbnRleHQuRlJBTUVCVUZGRVJfQ09NUExFVEUK
K1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkgaXMgdW5kZWZpbmVkCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRz
KGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDIpIHRocmV3IGV4
Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1MgY29udGV4dC5kcmF3
RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1Mg
Y29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAwMDAwLCBj
b250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGlu
IGRyYXdFbGVtZW50cy4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJv
ciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4
dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIHRocmV3IGV4Y2VwdGlv
biBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVu
dHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIHRocmV3
IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVt
ZW50cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjA5MjIpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDIzICszLDI1IEBAIFRlc3Qgb2YgZHJhd0Vs
ZW1lbnRzIHdpdGggb3V0LW9mLWJvdW5kcyAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAog
VGVzdCBlbXB0eSBpbmRleCBidWZmZXIKLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4
dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0aW9u
IEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgotUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50
cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhy
ZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgotUEFTUyBjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAwMDAwMDAwMDAsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0Vs
ZW1lbnRzLgotUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwg
Y29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBp
biBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5H
TEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJy
b3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRl
eHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSB0aHJldyBleGNlcHRp
b24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1l
bnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJl
dyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQu
ZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGNvbnRleHQu
ZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9C
WVRFLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OLgorUEFTUyBjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURf
QllURSwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OLgorUEFTUyBjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAtMSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0LmRy
YXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAw
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogCiBUZXN0IGJ1ZmZlciB3aXRoIDMgYnl0
ZSBpbmRleGVzCiBQQVNTIGNvbnRleHQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhjb250ZXh0LkZS
QU1FQlVGRkVSKSBpcyBjb250ZXh0LkZSQU1FQlVGRkVSX0NPTVBMRVRFCiBQQVNTIGNvbnRleHQu
ZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDApIGlzIHVuZGVmaW5lZAotUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFO
R0xFUywgMywgY29udGV4dC5VTlNJR05FRF9CWVRFLCAyKSB0aHJldyBleGNlcHRpb24gR0wgZXJy
b3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRl
eHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNl
cHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05F
RF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMu
Ci1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0
LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3
RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAt
MSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4
MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJ
QU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wg
ZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNv
bnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJ
QU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0lOVCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX0VOVU0uCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKDB4MDAwOSwgMywgY29udGV4
dC5VTlNJR05FRF9JTlQsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNLgorUEFT
UyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJ
R05FRF9CWVRFLCAyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OLgorUEFT
UyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4K
K1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0
LlVOU0lHTkVEX0JZVEUsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KK1BB
U1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5T
SUdORURfQllURSwgLTEpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KK1BBU1Mg
Y29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIDEpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURf
QllURSwgNCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9k
cmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbAkocmV2
aXNpb24gNjA5MjIpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdFbGVt
ZW50c3NPdXRPZkJvdW5kcy5odG1sOjYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgb2YgZHJhd0VsZW1lbnRzIHdpdGggb3V0LW9mLWJv
dW5kcyBwYXJhbWV0ZXJzIik7CisKK3ZhciBjb250ZXh0ID0gY3JlYXRlM0REZWJ1Z0NvbnRleHQo
KTsKK3ZhciBwcm9ncmFtID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKKworY29udGV4
dC51c2VQcm9ncmFtKHByb2dyYW0pOwordmFyIHZlcnRleE9iamVjdCA9IGNvbnRleHQuY3JlYXRl
QnVmZmVyKCk7Citjb250ZXh0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworY29udGV4dC5i
aW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworY29udGV4dC5i
dWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBuZXcgV2ViR0xGbG9hdEFycmF5KFsgMCww
LjUsMCwgLTAuNSwtMC41LDAsIDAuNSwtMC41LDAgXSksIGNvbnRleHQuU1RBVElDX0RSQVcpOwor
Y29udGV4dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKwordmFyIGluZGV4T2JqZWN0ID0gY29udGV4dC5jcmVhdGVCdWZmZXIoKTsKKworZGVi
dWcoIlRlc3QgZW1wdHkgaW5kZXggYnVmZmVyIikKK2NvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0
LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRleE9iamVjdCk7Citjb250ZXh0LmJ1ZmZlckRhdGEo
Y29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3IFdlYkdMVW5zaWduZWRCeXRlQXJyYXko
WyAgXSksIGNvbnRleHQuU1RBVElDX0RSQVcpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7
CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEw
MDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRUaHJvdygiY29udGV4dC5k
cmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAwMDAwLCBjb250ZXh0LlVO
U0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29u
dGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZFRo
cm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5V
TlNJR05FRF9CWVRFLCAtMSkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhj
b250ZXh0LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMSkiKTsKK3Nob3Vs
ZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4
dC5VTlNJR05FRF9CWVRFLCAtMSkiKTsKKworZGVidWcoIiIpCitkZWJ1ZygiVGVzdCBidWZmZXIg
d2l0aCAzIGJ5dGUgaW5kZXhlcyIpCitjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5U
X0FSUkFZX0JVRkZFUiwgaW5kZXhPYmplY3QpOworY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQu
RUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5ldyBXZWJHTFVuc2lnbmVkQnl0ZUFycmF5KFsgMCwgMSwg
MiBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7CitzaG91bGRCZSgiY29udGV4dC5jaGVja0ZyYW1l
YnVmZmVyU3RhdHVzKGNvbnRleHQuRlJBTUVCVUZGRVIpIiwgImNvbnRleHQuRlJBTUVCVUZGRVJf
Q09NUExFVEUiKTsKK3Nob3VsZEJlKCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFO
R0xFUywgMywgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4
dC5VTlNJR05FRF9CWVRFLCAyKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRz
KGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwor
c2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAw
MDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkVGhyb3coImNv
bnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVE
X0JZVEUsIC0xKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQu
VFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSIpOworc2hvdWxkVGhyb3co
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIC0xKSIpOworCitkZWJ1ZygiIikKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2Yt
Ym91bmRzLmh0bWwJKHJldmlzaW9uIDYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCBvZiBkcmF3RWxlbWVu
dHMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKIAotdmFyIGNvbnRleHQgPSBjcmVh
dGUzRERlYnVnQ29udGV4dCgpOwordmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZh
ciBwcm9ncmFtID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKIAogY29udGV4dC51c2VQ
cm9ncmFtKHByb2dyYW0pOwpAQCAtMjYsMTMgKzI2LDEyIEBAIHZhciBpbmRleE9iamVjdCA9IGNv
bnRleHQuY3JlYXRlQnVmZmVyKCkKIGRlYnVnKCJUZXN0IGVtcHR5IGluZGV4IGJ1ZmZlciIpCiBj
b250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kZXhPYmpl
Y3QpOwogY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5l
dyBXZWJHTFVuc2lnbmVkQnl0ZUFycmF5KFsgIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKLXNo
b3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29u
dGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1l
bnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIp
Owotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAx
MDAwMDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwotc2hvdWxkVGhyb3co
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4
dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7Ci1zaG91bGRUaHJv
dygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVO
U0lHTkVEX0JZVEUsIDEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29u
dGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRl
eHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZ
VEUsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElE
X09QRVJBVElPTiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAw
MCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNv
bnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRl
eHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9W
QUxVRSwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0
LlVOU0lHTkVEX0JZVEUsIC0xKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywg
MCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwogCiBkZWJ1ZygiIikKIGRlYnVnKCJUZXN0
IGJ1ZmZlciB3aXRoIDMgYnl0ZSBpbmRleGVzIikKQEAgLTQwLDEyICszOSwxNSBAQCBjb250ZXh0
LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZCiBjb250ZXh0LmJ1ZmZlckRhdGEoY29u
dGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3IFdlYkdMVW5zaWduZWRCeXRlQXJyYXkoWyAw
LCAxLCAyIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKIHNob3VsZEJlKCJjb250ZXh0LmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoY29udGV4dC5GUkFNRUJVRkZFUikiLCAiY29udGV4dC5GUkFNRUJV
RkZFUl9DT01QTEVURSIpOwogc2hvdWxkQmUoImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQu
VFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIiwgInVuZGVmaW5lZCIpOwot
c2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBj
b250ZXh0LlVOU0lHTkVEX0JZVEUsIDIpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxl
bWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDAp
Iik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMs
IDEwMDAwMDAwMDAwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7Ci1zaG91bGRUaHJv
dygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5T
SUdORURfQllURSwgLTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29u
dGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIik7Ci1zaG91bGRU
aHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQu
VU5TSUdORURfQllURSwgLTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29u
dGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAz
LCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dCwgY29udGV4dC5JTlZBTElEX0VOVU0sICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0
LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9JTlQsIDApIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX0VOVU0sICJjb250ZXh0LmRyYXdFbGVt
ZW50cygweDAwMDksIDMsIGNvbnRleHQuVU5TSUdORURfSU5ULCAwKSIpOyAvLyBHTF9QT0xZR09O
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElP
TiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVO
U0lHTkVEX0JZVEUsIDIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4
dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5H
TEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0VsZW1l
bnRzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNv
bnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVE
X0JZVEUsIC0xKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5W
QUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwg
Y29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFO
R0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCA0KSIpOwogCiBkZWJ1ZygiIikKIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdBcnJheXNPdXRPZkJvdW5kcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJh
d0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyOSAr
MCwwIEBACi1UZXN0IG9mIGRyYXdBcnJheXMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi1UZXN0IGVtcHR5IGJ1ZmZlcgotUEFTUyBj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEpIHRocmV3IGV4Y2VwdGlv
biBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhj
b250ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgy
IGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xF
UywgMCwgMTAwMDAwMDAwMDAwMDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRy
YXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwg
LTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgMCkgdGhyZXcgZXhjZXB0aW9u
IEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNv
bnRleHQuVFJJQU5HTEVTLCAtMSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4g
ZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAx
LCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1Mg
Y29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMSkgdGhyZXcgZXhjZXB0
aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLQotVGVzdCBidWZmZXIgd2l0aCAzIGZs
b2F0IHZlY3RvcnMKLVBBU1MgY29udGV4dC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGNvbnRleHQu
RlJBTUVCVUZGRVIpIGlzIGNvbnRleHQuRlJBTUVCVUZGRVJfQ09NUExFVEUKLVBBU1MgY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAzKSBpcyB1bmRlZmluZWQKLVBBU1Mg
Y29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCAyKSB0aHJldyBleGNlcHRp
b24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMo
Y29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4
MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdM
RVMsIDAsIDEwMDAwMDAwMDAwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBk
cmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAs
IC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAwKSB0aHJldyBleGNlcHRp
b24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMo
Y29udGV4dC5UUklBTkdMRVMsIDEsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBp
biBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMs
IC0xLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0FycmF5c091
dE9mQm91bmRzLmh0bWwJKHJldmlzaW9uIDYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2Ny
aXB0PgotZGVzY3JpcHRpb24oIlRlc3Qgb2YgZHJhd0FycmF5cyB3aXRoIG91dC1vZi1ib3VuZHMg
cGFyYW1ldGVycyIpOwotCi12YXIgY29udGV4dCA9IGNyZWF0ZTNERGVidWdDb250ZXh0KCk7Ci12
YXIgcHJvZ3JhbSA9IGxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dCk7Ci0KLWNvbnRleHQudXNl
UHJvZ3JhbShwcm9ncmFtKTsKLXZhciB2ZXJ0ZXhPYmplY3QgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZl
cigpOwotY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmpl
Y3QpOwotY29udGV4dC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKLQotZGVidWcoIlRlc3Qg
ZW1wdHkgYnVmZmVyIikKLWNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwg
bmV3IFdlYkdMRmxvYXRBcnJheShbICBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7Ci1jb250ZXh0
LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29udGV4dC5GTE9BVCwgZmFsc2UsIDAsIDApOwot
c2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMSki
KTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAs
IDEwMDAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgMCwgMTAwMDAwMDAwMDAwMDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJy
YXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAtMSkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRy
YXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCkiKTsKLXNob3VsZFRocm93KCJj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIC0xKSIpOwotc2hvdWxkVGhy
b3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDEpIik7Ci0KLWRl
YnVnKCIiKQotZGVidWcoIlRlc3QgYnVmZmVyIHdpdGggMyBmbG9hdCB2ZWN0b3JzIikKLWNvbnRl
eHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgbmV3IFdlYkdMRmxvYXRBcnJheShb
IDAsMC41LDAsIC0wLjUsLTAuNSwwLCAwLjUsLTAuNSwwIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFX
KTsKLWNvbnRleHQudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBjb250ZXh0LkZMT0FULCBmYWxz
ZSwgMCwgMCk7Ci1zaG91bGRCZSgiY29udGV4dC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGNvbnRl
eHQuRlJBTUVCVUZGRVIpIiwgImNvbnRleHQuRlJBTUVCVUZGRVJfQ09NUExFVEUiKTsKLXNob3Vs
ZEJlKCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDMpIiwgInVuZGVm
aW5lZCIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xF
UywgMywgMikiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklB
TkdMRVMsIDAsIDEwMDAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250
ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDAwMDAwMDAwMDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAtMSkiKTsKLXNob3VsZFRocm93KCJj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAwKSIpOwotc2hvdWxkVGhy
b3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgLTEpIik7Ci1zaG91
bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMSkiKTsK
LQotZGVidWcoIiIpCi1zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Ry
YXdFbGVtZW50c3NPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0VsZW1lbnRzc091dE9mQm91bmRzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNjA5MjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9k
cmF3RWxlbWVudHNzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDI3ICswLDAgQEAKLVRlc3Qgb2YgZHJhd0VsZW1lbnRzIHdpdGggb3V0LW9mLWJvdW5kcyBwYXJh
bWV0ZXJzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotVGVzdCBlbXB0eSBpbmRleCBi
dWZmZXIKLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNv
bnRleHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4g
ZHJhd0VsZW1lbnRzLgotUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xF
UywgMTAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVy
cm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgotUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250
ZXh0LlRSSUFOR0xFUywgMTAwMDAwMDAwMDAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkg
dGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgotUEFTUyBjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9C
WVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1Q
QVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVO
U0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxl
bWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwg
Y29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBp
biBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5H
TEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJy
b3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi0KLVRlc3QgYnVmZmVyIHdpdGggMyBieXRlIGluZGV4
ZXMKLVBBU1MgY29udGV4dC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGNvbnRleHQuRlJBTUVCVUZG
RVIpIGlzIGNvbnRleHQuRlJBTUVCVUZGRVJfQ09NUExFVEUKLVBBU1MgY29udGV4dC5kcmF3RWxl
bWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgaXMg
dW5kZWZpbmVkCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAz
LCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDIpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgy
IGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklB
TkdMRVMsIDEwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3IGV4Y2VwdGlvbiBH
TCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMo
Y29udGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1Mg
Y29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdO
RURfQllURSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50
cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250
ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRy
YXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMs
IDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAx
MjgyIGluIGRyYXdFbGVtZW50cy4KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Ry
YXdFbGVtZW50c3NPdXRPZkJvdW5kcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2RyYXdFbGVtZW50c3NPdXRPZkJvdW5kcy5odG1sCShyZXZpc2lvbiA2
MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdFbGVtZW50c3NPdXRP
ZkJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyIvPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0
IG9mIGRyYXdFbGVtZW50cyB3aXRoIG91dC1vZi1ib3VuZHMgcGFyYW1ldGVycyIpOwotCi12YXIg
Y29udGV4dCA9IGNyZWF0ZTNERGVidWdDb250ZXh0KCk7Ci12YXIgcHJvZ3JhbSA9IGxvYWRTdGFu
ZGFyZFByb2dyYW0oY29udGV4dCk7Ci0KLWNvbnRleHQudXNlUHJvZ3JhbShwcm9ncmFtKTsKLXZh
ciB2ZXJ0ZXhPYmplY3QgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlcigpOwotY29udGV4dC5lbmFibGVW
ZXJ0ZXhBdHRyaWJBcnJheSgwKTsKLWNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JV
RkZFUiwgdmVydGV4T2JqZWN0KTsKLWNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JV
RkZFUiwgbmV3IFdlYkdMRmxvYXRBcnJheShbIDAsMC41LDAsIC0wLjUsLTAuNSwwLCAwLjUsLTAu
NSwwIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKLWNvbnRleHQudmVydGV4QXR0cmliUG9pbnRl
cigwLCAzLCBjb250ZXh0LkZMT0FULCBmYWxzZSwgMCwgMCk7Ci0KLXZhciBpbmRleE9iamVjdCA9
IGNvbnRleHQuY3JlYXRlQnVmZmVyKCk7Ci0KLWRlYnVnKCJUZXN0IGVtcHR5IGluZGV4IGJ1ZmZl
ciIpCi1jb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5k
ZXhPYmplY3QpOwotY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZG
RVIsIG5ldyBXZWJHTFVuc2lnbmVkQnl0ZUFycmF5KFsgIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFX
KTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywg
MywgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJh
d0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5H
TEVTLCAxMDAwMDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwotc2hvdWxk
VGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0
LlVOU0lHTkVEX0JZVEUsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMo
Y29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7Ci1zaG91
bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250
ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVu
dHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7Ci0K
LWRlYnVnKCIiKQotZGVidWcoIlRlc3QgYnVmZmVyIHdpdGggMyBieXRlIGluZGV4ZXMiKQotY29u
dGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4T2JqZWN0
KTsKLWNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcg
V2ViR0xVbnNpZ25lZEJ5dGVBcnJheShbIDAsIDEsIDIgXSksIGNvbnRleHQuU1RBVElDX0RSQVcp
Owotc2hvdWxkQmUoImNvbnRleHQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhjb250ZXh0LkZSQU1F
QlVGRkVSKSIsICJjb250ZXh0LkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7Ci1zaG91bGRCZSgiY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURf
QllURSwgMCkiLCAidW5kZWZpbmVkIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVu
dHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURfQllURSwgMikiKTsKLXNo
b3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAs
IGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdF
bGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAwMDAwMDAwMDAsIGNvbnRleHQuVU5TSUdO
RURfQllURSwgMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0
LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAtMSkiKTsKLXNob3VsZFRocm93
KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5T
SUdORURfQllURSwgMSkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250
ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAtMSkiKTsKLQotZGVidWco
IiIpCi1zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzCShyZXZpc2lvbiA2MDkyMikKKysrIExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzCSh3b3JraW5nIGNvcHkp
CkBAIC04NCwzICs4NCwzMSBAQCBmdW5jdGlvbiBsb2FkRnJhZ21lbnRTaGFkZXIoY29udGV4dCwg
cGF0CiAgICAgY29udGV4dC5jb21waWxlU2hhZGVyKGZyYWdtZW50U2hhZGVyKTsKICAgICByZXR1
cm4gZnJhZ21lbnRTaGFkZXI7CiB9CisKK2Z1bmN0aW9uIGdldEdMRXJyb3JBc1N0cmluZyhjdHgs
IGVycikgeworICAgIGlmIChlcnIgPT09IGN0eC5OT19FUlJPUikKKyAgICAgICAgcmV0dXJuICJO
T19FUlJPUiI7CisgICAgZm9yICh2YXIgbmFtZSBpbiBjdHgpIHsKKyAgICAgICAgaWYgKGN0eFtu
YW1lXSA9PT0gZXJyKQorICAgICAgICAgICAgcmV0dXJuIG5hbWU7CisgICAgfQorICAgIHJldHVy
biBlcnIudG9TdHJpbmcoKTsKK30KKworZnVuY3Rpb24gc2hvdWxkR2VuZXJhdGVHTEVycm9yKGN0
eCwgZ2xFcnJvciwgZXZhbFN0cikgeworICAgIHZhciBleGNlcHRpb247CisgICAgdHJ5IHsKKyAg
ICAgICAgZXZhbChldmFsU3RyKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGV4Y2VwdGlv
biA9IGU7CisgICAgfQorICAgIGlmIChleGNlcHRpb24pIHsKKyAgICAgICAgdGVzdEZhaWxlZChl
dmFsU3RyICsgIiB0aHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbik7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgdmFyIGVyciA9IGN0eC5nZXRFcnJvcigpOworICAgICAgICBpZiAoZXJyICE9IGds
RXJyb3IpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2YWxTdHIgKyAiIGV4cGVjdGVkOiAiICsg
Z2V0R0xFcnJvckFzU3RyaW5nKGN0eCwgZ2xFcnJvcikgKyAiLiBXYXMgIiArIGdldEdMRXJyb3JB
c1N0cmluZyhjdHgsIGVycikgKyAiLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0
UGFzc2VkKGV2YWxTdHIgKyAiIHdhcyBleHBlY3RlZCB2YWx1ZTogIiArIGdldEdMRXJyb3JBc1N0
cmluZyhjdHgsIGdsRXJyb3IpICsgIi4iKTsKKyAgICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58421</attachid>
            <date>2010-06-10 16:12:30 -0700</date>
            <delta_ts>2010-06-11 07:38:53 -0700</delta_ts>
            <desc>revised patch: responding to kbr&apos;s review</desc>
            <filename>draw.patch</filename>
            <type>text/plain</type>
            <size>45594</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDkyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDYtMDkgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBkcmF3RWxl
bWVudHMvZHJhd0FycmF5cyBzaG91bGQgdmFsaWRhdGUgaW5wdXQgcGFyYW1ldGVycyBhY2NvcmRp
bmcgdG8gR0xFUzIgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzg3MDAKKworICAgICAgICBUZXN0czogZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1h
cnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2NhbnZhcy93ZWJn
bC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbAorCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6ZHJhd0FycmF5cyk6IFZhbGlkYXRlIGlucHV0IHBhcmFtZXRlcnMuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZURy
YXdNb2RlKTogVmFsaWRhdGUgbW9kZSBmb3IgZHJhd3tBcnJheXMvRWxlbWVudHN9LgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOiBBZGQgdmFsaWRhdGVEcmF3
TW9kZSwgZml4IGluY29ycmVjdCBwYXJhbWV0ZXIgdHlwZXMuCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDogRml4IGluY29ycmVjdCBwYXJhbWV0ZXIgdHlw
ZXMuCisKIDIwMTAtMDYtMDkgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gNjA5MjIpCisrKyBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc5MCw4ICs3OTAsMjAgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlk
YXRlV2ViRwogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdBcnJheXModW5zaWduZWQg
bG9uZyBtb2RlLCBsb25nIGZpcnN0LCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBVTlVTRURfUEFSQU0oZWMpOworCisgICAgaWYgKCF2YWxpZGF0ZURyYXdNb2RlKG1vZGUp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZmlyc3QgPCAwIHx8IGNvdW50IDwgMCkgewor
ICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX1ZBTFVFKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghY291bnQp
CisgICAgICAgIHJldHVybjsKKwogICAgIC8vIEVuc3VyZSB3ZSBoYXZlIGEgdmFsaWQgcmVuZGVy
aW5nIHN0YXRlCi0gICAgaWYgKGZpcnN0IDwgMCB8fCBjb3VudCA8IDAgfHwgIXZhbGlkYXRlUmVu
ZGVyaW5nU3RhdGUoZmlyc3QgKyBjb3VudCkpIHsKKyAgICBpZiAoIXZhbGlkYXRlUmVuZGVyaW5n
U3RhdGUoZmlyc3QgKyBjb3VudCkpIHsKICAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04pOwogICAgICAgICByZXR1
cm47CiAgICAgfQpAQCAtODAyLDEzICs4MTQsMzQgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmRyYXdBcnJheXModQogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0K
IAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyh1bnNpZ25lZCBsb25n
IG1vZGUsIHVuc2lnbmVkIGxvbmcgY291bnQsIHVuc2lnbmVkIGxvbmcgdHlwZSwgbG9uZyBvZmZz
ZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdF
bGVtZW50cyh1bnNpZ25lZCBsb25nIG1vZGUsIGxvbmcgY291bnQsIHVuc2lnbmVkIGxvbmcgdHlw
ZSwgbG9uZyBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFVOVVNFRF9QQVJBTShl
Yyk7CisKKyAgICBpZiAoIXZhbGlkYXRlRHJhd01vZGUobW9kZSkpCisgICAgICAgIHJldHVybjsK
KworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lH
TkVEX0JZVEU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlQ6Cisg
ICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6
ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBpZiAoY291bnQgPCAwIHx8IG9mZnNldCA8IDApIHsKKyAgICAgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9W
QUxVRSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWNvdW50KQorICAgICAg
ICByZXR1cm47CisKICAgICAvLyBFbnN1cmUgd2UgaGF2ZSBhIHZhbGlkIHJlbmRlcmluZyBzdGF0
ZQogICAgIGxvbmcgbnVtRWxlbWVudHM7CiAgICAgCi0gICAgaWYgKG9mZnNldCA8IDAgfHwgIXZh
bGlkYXRlRWxlbWVudEFycmF5U2l6ZShjb3VudCwgdHlwZSwgb2Zmc2V0KSkgeworICAgIGlmICgh
dmFsaWRhdGVFbGVtZW50QXJyYXlTaXplKGNvdW50LCB0eXBlLCBvZmZzZXQpKSB7CiAgICAgICAg
IG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTMyNzAsNiArMzMwMywyMyBA
QCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGCiAgICAgcmV0dXJuIHZh
bGlkYXRlVGV4RnVuY0Zvcm1hdEFuZFR5cGUoZm9ybWF0LCB0eXBlKTsKIH0KIAorYm9vbCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRHJhd01vZGUodW5zaWduZWQgbG9uZyBtb2RlKQor
eworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlBPSU5U
UzoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMSU5FX1NUUklQOgorICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkxJTkVfTE9PUDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpM
SU5FUzoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpUUklBTkdMRV9TVFJJUDoKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpUUklBTkdMRV9GQU46CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6VFJJQU5HTEVTOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX0VOVU0pOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQpJbmRleDogV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCShyZXZpc2lvbiA2MDky
MikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTExNyw3ICsxMTcsNyBAQCBjbGFzcyBXZWJLaXRDU1NNYXRyaXg7CiAgICAg
ICAgIHZvaWQgZGlzYWJsZSh1bnNpZ25lZCBsb25nIGNhcCk7CiAgICAgICAgIHZvaWQgZGlzYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHVuc2lnbmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICAgICAgdm9pZCBkcmF3QXJyYXlzKHVuc2lnbmVkIGxvbmcgbW9kZSwgbG9uZyBmaXJzdCwg
bG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICB2b2lkIGRyYXdFbGVtZW50cyh1
bnNpZ25lZCBsb25nIG1vZGUsIHVuc2lnbmVkIGxvbmcgY291bnQsIHVuc2lnbmVkIGxvbmcgdHlw
ZSwgbG9uZyBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAgICAgdm9pZCBkcmF3RWxlbWVu
dHModW5zaWduZWQgbG9uZyBtb2RlLCBsb25nIGNvdW50LCB1bnNpZ25lZCBsb25nIHR5cGUsIGxv
bmcgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICAgICAgdm9pZCBlbmFibGUodW5zaWdu
ZWQgbG9uZyBjYXApOwogICAgICAgICB2b2lkIGVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHVuc2ln
bmVkIGxvbmcgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTQxMiw2ICs0MTIsOSBAQCBjbGFz
cyBXZWJLaXRDU1NNYXRyaXg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsb25nIHdpZHRoLCBsb25nIGhlaWdodCwgbG9uZyBib3JkZXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGZvcm1hdCwgdW5zaWduZWQgbG9u
ZyB0eXBlKTsKIAorICAgICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gdmFsaWRhdGUgbW9kZSBm
b3IgZHJhd3tBcnJheXMvRWxlbWVudHN9LgorICAgICAgICBib29sIHZhbGlkYXRlRHJhd01vZGUo
dW5zaWduZWQgbG9uZyk7CisKICAgICAgICAgLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0ZXhQYXJh
bWV0ZXJmIGFuZCB0ZXhQYXJhbWV0ZXJpLgogICAgICAgICB2b2lkIHRleFBhcmFtZXRlcih1bnNp
Z25lZCBsb25nIHRhcmdldCwgdW5zaWduZWQgbG9uZyBwbmFtZSwgZmxvYXQgcGFyYW1pLCBpbnQg
cGFyYW1mLCBib29sIGlzRmxvYXQpOwogCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZpc2lvbiA2MDkyMikKKysrIFdlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTIx
LDggKzUyMSw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgdm9pZCAgICAgICAgIGRldGFjaFNo
YWRlcihpbiBXZWJHTFByb2dyYW0gcHJvZ3JhbSwgaW4gV2ViR0xTaGFkZXIgc2hhZGVyKSByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCAgICAgICAgIGRpc2FibGUoaW4gdW5zaWdu
ZWQgbG9uZyBjYXApOwogICAgICAgICB2b2lkICAgICAgICAgZGlzYWJsZVZlcnRleEF0dHJpYkFy
cmF5KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAg
ICB2b2lkICAgICAgICAgZHJhd0FycmF5cyhpbiB1bnNpZ25lZCBsb25nIG1vZGUsIGluIGxvbmcg
Zmlyc3QsIGluIHVuc2lnbmVkIGxvbmcgY291bnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAg
ICAgICB2b2lkICAgICAgICAgZHJhd0VsZW1lbnRzKGluIHVuc2lnbmVkIGxvbmcgbW9kZSwgaW4g
bG9uZyBjb3VudCwgaW4gdW5zaWduZWQgbG9uZyB0eXBlLCBpbiB1bnNpZ25lZCBsb25nIG9mZnNl
dCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgICAgICAgICBkcmF3QXJyYXlz
KGluIHVuc2lnbmVkIGxvbmcgbW9kZSwgaW4gbG9uZyBmaXJzdCwgaW4gbG9uZyBjb3VudCkgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgICAgICAgICBkcmF3RWxlbWVudHMoaW4g
dW5zaWduZWQgbG9uZyBtb2RlLCBpbiBsb25nIGNvdW50LCBpbiB1bnNpZ25lZCBsb25nIHR5cGUs
IGluIGxvbmcgb2Zmc2V0KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICB2b2lkICAg
ICAgICAgZW5hYmxlKGluIHVuc2lnbmVkIGxvbmcgY2FwKTsKICAgICAgICAgdm9pZCAgICAgICAg
IGVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJhaXNlcyhE
T01FeGNlcHRpb24pOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjA5MjUpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNi0wOSAgWmhl
bnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGRyYXdFbGVtZW50cy9kcmF3QXJyYXlzIHNob3VsZCB2YWxpZGF0
ZSBpbnB1dCBwYXJhbWV0ZXJzIGFjY29yZGluZyB0byBHTEVTMiBzcGVjCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODcwMAorCisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQ6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdBcnJheXNPdXRPZkJv
dW5kcy1leHBlY3RlZC50eHQsIGFuZCBmaXggYSBmZXcgdGVzdCBjYXNlcy4KKyAgICAgICAgKiBm
YXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5o
dG1sLCBhbmQgZml4IGEgZmV3IHRlc3QgY2FzZXMuCisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0VsZW1lbnRzc091dE9mQm91bmRzLWV4
cGVjdGVkLnR4dCwgYW5kIGZpeCBhIGZldyB0ZXN0IGNhc2VzLgorICAgICAgICAqIGZhc3QvY2Fu
dmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3RWxlbWVudHNzT3V0T2ZCb3VuZHMuaHRt
bCwgYW5kIGZpeCBhIGZldyB0ZXN0IGNhc2VzLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L2RyYXdBcnJheXNPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0VsZW1lbnRzc091dE9mQm91bmRzLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9kcmF3RWxlbWVu
dHNzT3V0T2ZCb3VuZHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qczogQWRkIGhlbHBlciBmdW5jdGlvbnMgZm9yIGVhc3kg
dGVzdCBvZiBnbCBmdW5jdGlvbiBlcnJvcnMuCisgICAgICAgIChnZXRHTEVycm9yQXNTdHJpbmcp
OgorICAgICAgICAoc2hvdWxkR2VuZXJhdGVHTEVycm9yKToKKwogMjAxMC0wNi0wOSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0
LW9mLWJvdW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDYwOTIyKQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3QXJyYXlz
T3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0OjYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyOSBAQAorVGVzdCBvZiBkcmF3QXJyYXlzIHdpdGggb3V0LW9mLWJv
dW5kcyBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworVGVzdCBlbXB0
eSBidWZmZXIKK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAx
KSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorUEFTUyBjb250
ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwKSB0aHJldyBleGNlcHRp
b24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMo
Y29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKSB0aHJldyBleGNlcHRpb24gR0wg
ZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4
dC5UUklBTkdMRVMsIDAsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3
QXJyYXlzLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIDAp
IHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCitQQVNTIGNvbnRl
eHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIHRocmV3IGV4Y2VwdGlvbiBH
TCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250
ZXh0LlRSSUFOR0xFUywgMSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRy
YXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEs
IDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCisKK1Rlc3Qg
YnVmZmVyIHdpdGggMyBmbG9hdCB2ZWN0b3JzCitQQVNTIGNvbnRleHQuY2hlY2tGcmFtZWJ1ZmZl
clN0YXR1cyhjb250ZXh0LkZSQU1FQlVGRkVSKSBpcyBjb250ZXh0LkZSQU1FQlVGRkVSX0NPTVBM
RVRFCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykgaXMg
dW5kZWZpbmVkCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMywg
MikgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29u
dGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkgdGhyZXcgZXhjZXB0
aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlz
KGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCkgdGhyZXcgZXhjZXB0aW9uIEdM
IGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRl
eHQuVFJJQU5HTEVTLCAwLCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJh
d0FycmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwg
MCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29u
dGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAtMSkgdGhyZXcgZXhjZXB0aW9u
IEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNv
bnRleHQuVFJJQU5HTEVTLCAtMSwgMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4g
ZHJhd0FycmF5cy4KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlz
LW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJy
YXlzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDI1ICsz
LDIzIEBAIFRlc3Qgb2YgZHJhd0FycmF5cyB3aXRoIG91dC1vZi1ib3VuZHMgcGEKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogVGVzdCBlbXB0eSBidWZmZXIKLVBBU1MgY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3Ig
MTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklB
TkdMRVMsIDAsIDEwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJy
YXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAw
MDAwMDAwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgot
UEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSB0aHJldyBl
eGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAx
MjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgLTEsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMu
Ci1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgLTEpIHRocmV3
IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJh
d0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJv
ciAxMjgyIGluIGRyYXdBcnJheXMuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRS
SUFOR0xFUywgMCwgMTAwMDApIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogSU5WQUxJRF9P
UEVSQVRJT04uCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwg
LTEpIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29u
dGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCkgZ2VuZXJhdGVkIGV4cGVj
dGVkIEdMIGVycm9yOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29u
dGV4dC5UUklBTkdMRVMsIDAsIDApIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogTk9fRVJS
T1IuCitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwLCAwKSBn
ZW5lcmF0ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6IE5PX0VSUk9SLgogCiBUZXN0IGJ1ZmZlciB3aXRo
IDMgZmxvYXQgdmVjdG9ycwogUEFTUyBjb250ZXh0LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoY29u
dGV4dC5GUkFNRUJVRkZFUikgaXMgY29udGV4dC5GUkFNRUJVRkZFUl9DT01QTEVURQogUEFTUyBj
b250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDMpIGlzIHVuZGVmaW5lZAot
UEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDMsIDIpIHRocmV3IGV4
Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0Fy
cmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJv
ciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRS
SUFOR0xFUywgMCwgMTAwMDAwMDAwMDAwMDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgy
IGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xF
UywgMCwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1Q
QVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIHRocmV3IGV4
Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0Fy
cmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAx
MjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgLTEsIDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMu
CitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykgZ2VuZXJh
dGVkIGV4cGVjdGVkIEdMIGVycm9yOiBOT19FUlJPUi4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlz
KDB4MDAwOSwgMCwgMykgZ2VuZXJhdGVkIGV4cGVjdGVkIEdMIGVycm9yOiBJTlZBTElEX0VOVU0u
CitQQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMywgMikgZ2VuZXJh
dGVkIGV4cGVjdGVkIEdMIGVycm9yOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgY29udGV4dC5k
cmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkgZ2VuZXJhdGVkIGV4cGVjdGVk
IEdMIGVycm9yOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNv
bnRleHQuVFJJQU5HTEVTLCAwLCAtMSkgZ2VuZXJhdGVkIGV4cGVjdGVkIEdMIGVycm9yOiBJTlZB
TElEX1ZBTFVFLgorUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0x
LCAwKSBnZW5lcmF0ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6IElOVkFMSURfVkFMVUUuCitQQVNTIGNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMCkgZ2VuZXJhdGVkIGV4cGVj
dGVkIEdMIGVycm9yOiBOT19FUlJPUi4KK1BBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQu
VFJJQU5HTEVTLCAxMDAsIDApIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogTk9fRVJST1Iu
CiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1i
b3VuZHMuaHRtbAkocmV2aXNpb24gNjA5MjIpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sOjYwOTIyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IG9mIGRyYXdBcnJheXMgd2l0aCBv
dXQtb2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKKwordmFyIGNvbnRleHQgPSBjcmVhdGUzRERlYnVn
Q29udGV4dCgpOwordmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwor
Citjb250ZXh0LnVzZVByb2dyYW0ocHJvZ3JhbSk7Cit2YXIgdmVydGV4T2JqZWN0ID0gY29udGV4
dC5jcmVhdGVCdWZmZXIoKTsKK2NvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZF
UiwgdmVydGV4T2JqZWN0KTsKK2NvbnRleHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisK
K2RlYnVnKCJUZXN0IGVtcHR5IGJ1ZmZlciIpCitjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5B
UlJBWV9CVUZGRVIsIG5ldyBXZWJHTEZsb2F0QXJyYXkoWyAgXSksIGNvbnRleHQuU1RBVElDX0RS
QVcpOworY29udGV4dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZh
bHNlLCAwLCAwKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklB
TkdMRVMsIDAsIDEpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQu
VFJJQU5HTEVTLCAwLCAxMDAwMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMo
Y29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKSIpOworc2hvdWxkVGhyb3coImNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgLTEpIik7CitzaG91bGRUaHJv
dygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAwKSIpOworc2hvdWxk
VGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIik7Citz
aG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAtMSki
KTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0x
LCAxKSIpOworCitkZWJ1ZygiIikKK2RlYnVnKCJUZXN0IGJ1ZmZlciB3aXRoIDMgZmxvYXQgdmVj
dG9ycyIpCitjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIG5ldyBXZWJH
TEZsb2F0QXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgY29udGV4
dC5TVEFUSUNfRFJBVyk7Citjb250ZXh0LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29udGV4
dC5GTE9BVCwgZmFsc2UsIDAsIDApOworc2hvdWxkQmUoImNvbnRleHQuY2hlY2tGcmFtZWJ1ZmZl
clN0YXR1cyhjb250ZXh0LkZSQU1FQlVGRkVSKSIsICJjb250ZXh0LkZSQU1FQlVGRkVSX0NPTVBM
RVRFIik7CitzaG91bGRCZSgiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAw
LCAzKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29u
dGV4dC5UUklBTkdMRVMsIDMsIDIpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlz
KGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRy
YXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKSIpOworc2hvdWxk
VGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgLTEpIik7Citz
aG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCki
KTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEs
IC0xKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xF
UywgLTEsIDEpIik7CisKK2RlYnVnKCIiKQorc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5o
dG1sCShyZXZpc2lvbiA2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Ry
YXctYXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEs
NyBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IG9mIGRyYXdBcnJheXMgd2l0aCBvdXQt
b2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKIAotdmFyIGNvbnRleHQgPSBjcmVhdGUzRERlYnVnQ29u
dGV4dCgpOwordmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFtID0g
bG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKIAogY29udGV4dC51c2VQcm9ncmFtKHByb2dy
YW0pOwpAQCAtMjIsMTQgKzIyLDExIEBAIGNvbnRleHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
MCk7CiBkZWJ1ZygiVGVzdCBlbXB0eSBidWZmZXIiKQogY29udGV4dC5idWZmZXJEYXRhKGNvbnRl
eHQuQVJSQVlfQlVGRkVSLCBuZXcgV2ViR0xGbG9hdEFycmF5KFsgIF0pLCBjb250ZXh0LlNUQVRJ
Q19EUkFXKTsKIGNvbnRleHQudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBjb250ZXh0LkZMT0FU
LCBmYWxzZSwgMCwgMCk7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQu
VFJJQU5HTEVTLCAwLCAxKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250
ZXh0LlRSSUFOR0xFUywgMCwgMTAwMDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJy
YXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCkiKTsKLXNob3VsZFRocm93
KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSIpOwotc2hvdWxk
VGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgMCkiKTsKLXNo
b3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAwKSIp
Owotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwg
LTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVT
LCAtMSwgMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFM
SURfT1BFUkFUSU9OLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAx
MDAwMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURf
VkFMVUUsICJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuZHJhd0FycmF5
cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5H
TEVTLCAxMDAsIDApIik7CiAKIGRlYnVnKCIiKQogZGVidWcoIlRlc3QgYnVmZmVyIHdpdGggMyBm
bG9hdCB2ZWN0b3JzIikKQEAgLTM3LDEzICszNCwxNCBAQCBjb250ZXh0LmJ1ZmZlckRhdGEoY29u
dGV4dC5BUlJBWV9CVUZGRVIsCiBjb250ZXh0LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29u
dGV4dC5GTE9BVCwgZmFsc2UsIDAsIDApOwogc2hvdWxkQmUoImNvbnRleHQuY2hlY2tGcmFtZWJ1
ZmZlclN0YXR1cyhjb250ZXh0LkZSQU1FQlVGRkVSKSIsICJjb250ZXh0LkZSQU1FQlVGRkVSX0NP
TVBMRVRFIik7CiBzaG91bGRCZSgiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVT
LCAwLCAzKSIsICJ1bmRlZmluZWQiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMo
Y29udGV4dC5UUklBTkdMRVMsIDMsIDIpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJy
YXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0
LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKSIpOwotc2hv
dWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgLTEpIik7
Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwg
MCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMs
IDEsIC0xKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgLTEsIDEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5O
T19FUlJPUiwgImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykiKTsK
K3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfRU5VTSwgImNv
bnRleHQuZHJhd0FycmF5cygweDAwMDksIDAsIDMpIik7IC8vIEdMX1BPTFlHT04KK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCAyKSIpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0FycmF5cyhj
b250ZXh0LlRSSUFOR0xFUywgMCwgLTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4
dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJ
QU5HTEVTLCAtMSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0
Lk5PX0VSUk9SLCAiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAwKSIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250
ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEwMCwgMCkiKTsKIAogZGVidWcoIiIp
CiBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1v
Zi1ib3VuZHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2MDkyMikJKGZyb20gTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0VsZW1lbnRzc091dE9mQm91bmRzLWV4cGVjdGVkLnR4dDo2
MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0
LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAor
VGVzdCBvZiBkcmF3RWxlbWVudHMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitUZXN0IGVtcHR5IGluZGV4IGJ1ZmZlcgorUEFTUyBj
b250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05F
RF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMu
CitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29u
dGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBk
cmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVT
LCAxMDAwMDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRp
b24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCitQQVNTIGNvbnRleHQuZHJhd0VsZW1l
bnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3
IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1MgY29udGV4dC5k
cmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwg
LTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1Mg
Y29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50
cy4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRl
eHQuVU5TSUdORURfQllURSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRy
YXdFbGVtZW50cy4KKworVGVzdCBidWZmZXIgd2l0aCAzIGJ5dGUgaW5kZXhlcworUEFTUyBjb250
ZXh0LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoY29udGV4dC5GUkFNRUJVRkZFUikgaXMgY29udGV4
dC5GUkFNRUJVRkZFUl9DT01QTEVURQorUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0
LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSBpcyB1bmRlZmluZWQKK1BB
U1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5T
SUdORURfQllURSwgMikgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1l
bnRzLgorUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAs
IGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIg
aW4gZHJhd0VsZW1lbnRzLgorUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFO
R0xFUywgMTAwMDAwMDAwMDAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhyZXcgZXhj
ZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgorUEFTUyBjb250ZXh0LmRyYXdF
bGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAtMSkg
dGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgorUEFTUyBjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURf
QllURSwgMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgor
UEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5V
TlNJR05FRF9CWVRFLCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0Vs
ZW1lbnRzLgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1v
dXQtb2YtYm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxl
bWVudHMtb3V0LW9mLWJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsMjMg
KzMsMjUgQEAgVGVzdCBvZiBkcmF3RWxlbWVudHMgd2l0aCBvdXQtb2YtYm91bmRzIAogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgogCiBUZXN0IGVtcHR5IGluZGV4IGJ1ZmZlcgotUEFTUyBjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9C
WVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1Q
QVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4
dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3
RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAx
MDAwMDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24g
R0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRz
KGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3IGV4
Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3
RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEp
IHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVE
X0JZVEUsIDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4K
LVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQu
VU5TSUdORURfQllURSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdF
bGVtZW50cy4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMs
IGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgZ2VuZXJhdGVkIGV4cGVjdGVkIEdMIGVycm9yOiBJ
TlZBTElEX09QRVJBVElPTi4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklB
TkdMRVMsIDEwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIGdlbmVyYXRlZCBleHBlY3Rl
ZCBHTCBlcnJvcjogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRz
KGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSBnZW5lcmF0
ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6IElOVkFMSURfVkFMVUUuCitQQVNTIGNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIGdl
bmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGNvbnRl
eHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZ
VEUsIC0xKSBnZW5lcmF0ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6IElOVkFMSURfVkFMVUUuCitQQVNT
IGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIDApIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogTk9fRVJST1IuCiAKIFRl
c3QgYnVmZmVyIHdpdGggMyBieXRlIGluZGV4ZXMKIFBBU1MgY29udGV4dC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGNvbnRleHQuRlJBTUVCVUZGRVIpIGlzIGNvbnRleHQuRlJBTUVCVUZGRVJfQ09N
UExFVEUKIFBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNv
bnRleHQuVU5TSUdORURfQllURSwgMCkgaXMgdW5kZWZpbmVkCi1QQVNTIGNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDIpIHRo
cmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4
dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwLCBjb250ZXh0LlVOU0lHTkVE
X0JZVEUsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4K
LVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAw
MDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAx
MjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5U
UklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIHRocmV3IGV4Y2VwdGlvbiBH
TCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMo
Y29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIHRocmV3IGV4
Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3
RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEp
IHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KK1BBU1MgY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURf
QllURSwgMCkgZ2VuZXJhdGVkIGV4cGVjdGVkIEdMIGVycm9yOiBOT19FUlJPUi4KK1BBU1MgY29u
dGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQuVU5TSUdORURf
SU5ULCAwKSBnZW5lcmF0ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6IElOVkFMSURfRU5VTS4KK1BBU1Mg
Y29udGV4dC5kcmF3RWxlbWVudHMoMHgwMDA5LCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDAp
IGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjogSU5WQUxJRF9FTlVNLgorUEFTUyBjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAyKSBnZW5lcmF0ZWQgZXhwZWN0ZWQgR0wgZXJyb3I6IElOVkFMSURfT1BFUkFUSU9OLgorUEFT
UyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkgZ2VuZXJhdGVkIGV4cGVjdGVkIEdMIGVycm9yOiBJTlZBTElEX09Q
RVJBVElPTi4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0x
LCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBlcnJvcjog
SU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIGdlbmVyYXRlZCBleHBlY3RlZCBHTCBl
cnJvcjogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5U
UklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIGdlbmVyYXRlZCBleHBlY3Rl
ZCBHTCBlcnJvcjogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29u
dGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgNCkgZ2VuZXJhdGVkIGV4
cGVjdGVkIEdMIGVycm9yOiBOT19FUlJPUi4KIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRz
LW91dC1vZi1ib3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbAkocmV2aXNpb24gNjA5MjIp
CShmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdFbGVtZW50c3NPdXRPZkJv
dW5kcy5odG1sOjYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1l
bGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3Qgb2YgZHJhd0VsZW1lbnRzIHdpdGggb3V0LW9mLWJvdW5kcyBwYXJhbWV0
ZXJzIik7CisKK3ZhciBjb250ZXh0ID0gY3JlYXRlM0REZWJ1Z0NvbnRleHQoKTsKK3ZhciBwcm9n
cmFtID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKKworY29udGV4dC51c2VQcm9ncmFt
KHByb2dyYW0pOwordmFyIHZlcnRleE9iamVjdCA9IGNvbnRleHQuY3JlYXRlQnVmZmVyKCk7Citj
b250ZXh0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworY29udGV4dC5iaW5kQnVmZmVyKGNv
bnRleHQuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworY29udGV4dC5idWZmZXJEYXRhKGNv
bnRleHQuQVJSQVlfQlVGRkVSLCBuZXcgV2ViR0xGbG9hdEFycmF5KFsgMCwwLjUsMCwgLTAuNSwt
MC41LDAsIDAuNSwtMC41LDAgXSksIGNvbnRleHQuU1RBVElDX0RSQVcpOworY29udGV4dC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKwordmFy
IGluZGV4T2JqZWN0ID0gY29udGV4dC5jcmVhdGVCdWZmZXIoKTsKKworZGVidWcoIlRlc3QgZW1w
dHkgaW5kZXggYnVmZmVyIikKK2NvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkVMRU1FTlRfQVJS
QVlfQlVGRkVSLCBpbmRleE9iamVjdCk7Citjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5FTEVN
RU5UX0FSUkFZX0JVRkZFUiwgbmV3IFdlYkdMVW5zaWduZWRCeXRlQXJyYXkoWyAgXSksIGNvbnRl
eHQuU1RBVElDX0RSQVcpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRl
eHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRUaHJv
dygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwLCBjb250ZXh0
LlVOU0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMo
Y29udGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDApIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAtMSkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFO
R0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMSkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9C
WVRFLCAtMSkiKTsKKworZGVidWcoIiIpCitkZWJ1ZygiVGVzdCBidWZmZXIgd2l0aCAzIGJ5dGUg
aW5kZXhlcyIpCitjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZF
UiwgaW5kZXhPYmplY3QpOworY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuRUxFTUVOVF9BUlJB
WV9CVUZGRVIsIG5ldyBXZWJHTFVuc2lnbmVkQnl0ZUFycmF5KFsgMCwgMSwgMiBdKSwgY29udGV4
dC5TVEFUSUNfRFJBVyk7CitzaG91bGRCZSgiY29udGV4dC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVz
KGNvbnRleHQuRlJBTUVCVUZGRVIpIiwgImNvbnRleHQuRlJBTUVCVUZGRVJfQ09NUExFVEUiKTsK
K3Nob3VsZEJlKCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29u
dGV4dC5VTlNJR05FRF9CWVRFLCAwKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9C
WVRFLCAyKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJ
QU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkVGhyb3co
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMDAwMDAwMDAwMCwg
Y29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSIp
Oworc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAt
MSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAxKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZHJh
d0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0x
KSIpOworCitkZWJ1ZygiIikKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwJ
KHJldmlzaW9uIDYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1l
bGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcg
QEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCBvZiBkcmF3RWxlbWVudHMgd2l0aCBvdXQt
b2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKIAotdmFyIGNvbnRleHQgPSBjcmVhdGUzRERlYnVnQ29u
dGV4dCgpOwordmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFtID0g
bG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKIAogY29udGV4dC51c2VQcm9ncmFtKHByb2dy
YW0pOwpAQCAtMjYsMTMgKzI2LDEyIEBAIHZhciBpbmRleE9iamVjdCA9IGNvbnRleHQuY3JlYXRl
QnVmZmVyKCkKIGRlYnVnKCJUZXN0IGVtcHR5IGluZGV4IGJ1ZmZlciIpCiBjb250ZXh0LmJpbmRC
dWZmZXIoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kZXhPYmplY3QpOwogY29udGV4
dC5idWZmZXJEYXRhKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5ldyBXZWJHTFVuc2ln
bmVkQnl0ZUFycmF5KFsgIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKLXNob3VsZFRocm93KCJj
b250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05F
RF9CWVRFLCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQu
VFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwotc2hvdWxkVGhy
b3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMDAwMDAwMDAw
MCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJh
d0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDAp
Iik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMs
IDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5k
cmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHQuZHJhd0VsZW1l
bnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTiwg
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAwMCwgY29udGV4dC5V
TlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVT
LCAtMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmRyYXdFbGVtZW50
cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRl
eHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZ
VEUsIC0xKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJS
T1IsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5V
TlNJR05FRF9CWVRFLCAwKSIpOwogCiBkZWJ1ZygiIikKIGRlYnVnKCJUZXN0IGJ1ZmZlciB3aXRo
IDMgYnl0ZSBpbmRleGVzIikKQEAgLTQwLDEyICszOSwxNSBAQCBjb250ZXh0LmJpbmRCdWZmZXIo
Y29udGV4dC5FTEVNRU5UX0FSUkFZCiBjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5FTEVNRU5U
X0FSUkFZX0JVRkZFUiwgbmV3IFdlYkdMVW5zaWduZWRCeXRlQXJyYXkoWyAwLCAxLCAyIF0pLCBj
b250ZXh0LlNUQVRJQ19EUkFXKTsKIHNob3VsZEJlKCJjb250ZXh0LmNoZWNrRnJhbWVidWZmZXJT
dGF0dXMoY29udGV4dC5GUkFNRUJVRkZFUikiLCAiY29udGV4dC5GUkFNRUJVRkZFUl9DT01QTEVU
RSIpOwogc2hvdWxkQmUoImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAz
LCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIiwgInVuZGVmaW5lZCIpOwotc2hvdWxkVGhyb3co
ImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIDIpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4
dC5UUklBTkdMRVMsIDEwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7Ci1zaG91bGRU
aHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAw
MDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5k
cmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNvbnRleHQuVU5TSUdORURfQllURSwg
LTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4
dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllU
RSwgLTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJP
UiwgImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVO
U0lHTkVEX0JZVEUsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4
dC5JTlZBTElEX0VOVU0sICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywg
MywgY29udGV4dC5VTlNJR05FRF9JTlQsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dCwgY29udGV4dC5JTlZBTElEX0VOVU0sICJjb250ZXh0LmRyYXdFbGVtZW50cygweDAwMDks
IDMsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsgLy8gR0xfUE9MWUdPTgorc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAyKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9P
UEVSQVRJT04sICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAs
IGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0
LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRyYXdF
bGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAtMSki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUs
ICJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5T
SUdORURfQllURSwgMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0
Lk5PX0VSUk9SLCAiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDAsIGNv
bnRleHQuVU5TSUdORURfQllURSwgNCkiKTsKIAogZGVidWcoIiIpCiBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0FycmF5
c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdBcnJheXNPdXRP
ZkJvdW5kcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjkgKzAsMCBAQAotVGVz
dCBvZiBkcmF3QXJyYXlzIHdpdGggb3V0LW9mLWJvdW5kcyBwYXJhbWV0ZXJzCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotVGVzdCBlbXB0eSBidWZmZXIKLVBBU1MgY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3Ig
MTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklB
TkdMRVMsIDAsIDEwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJy
YXlzLgotUEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEwMDAw
MDAwMDAwMDAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgot
UEFTUyBjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIC0xKSB0aHJldyBl
eGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3QXJyYXlzLgotUEFTUyBjb250ZXh0LmRyYXdB
cnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAx
MjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFO
R0xFUywgLTEsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMu
Ci1QQVNTIGNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgLTEpIHRocmV3
IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdBcnJheXMuCi1QQVNTIGNvbnRleHQuZHJh
d0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDEpIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJv
ciAxMjgyIGluIGRyYXdBcnJheXMuCi0KLVRlc3QgYnVmZmVyIHdpdGggMyBmbG9hdCB2ZWN0b3Jz
Ci1QQVNTIGNvbnRleHQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhjb250ZXh0LkZSQU1FQlVGRkVS
KSBpcyBjb250ZXh0LkZSQU1FQlVGRkVSX0NPTVBMRVRFCi1QQVNTIGNvbnRleHQuZHJhd0FycmF5
cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgMykgaXMgdW5kZWZpbmVkCi1QQVNTIGNvbnRleHQuZHJh
d0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgMywgMikgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9y
IDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJ
QU5HTEVTLCAwLCAxMDAwMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0Fy
cmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAw
MDAwMDAwMDAwMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4K
LVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAtMSkgdGhyZXcg
ZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9y
IDEyODIgaW4gZHJhd0FycmF5cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJ
QU5HTEVTLCAxLCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5
cy4KLVBBU1MgY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMSkgdGhy
ZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0FycmF5cy4KLQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5o
dG1sCShyZXZpc2lvbiA2MDkyMikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Ry
YXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YmdsLXRlc3QuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLWRlc2Ny
aXB0aW9uKCJUZXN0IG9mIGRyYXdBcnJheXMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMi
KTsKLQotdmFyIGNvbnRleHQgPSBjcmVhdGUzRERlYnVnQ29udGV4dCgpOwotdmFyIHByb2dyYW0g
PSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwotCi1jb250ZXh0LnVzZVByb2dyYW0ocHJv
Z3JhbSk7Ci12YXIgdmVydGV4T2JqZWN0ID0gY29udGV4dC5jcmVhdGVCdWZmZXIoKTsKLWNvbnRl
eHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKLWNvbnRl
eHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7Ci0KLWRlYnVnKCJUZXN0IGVtcHR5IGJ1ZmZl
ciIpCi1jb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIG5ldyBXZWJHTEZs
b2F0QXJyYXkoWyAgXSksIGNvbnRleHQuU1RBVElDX0RSQVcpOwotY29udGV4dC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDMsIGNvbnRleHQuRkxPQVQsIGZhbHNlLCAwLCAwKTsKLXNob3VsZFRocm93
KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEpIik7Ci1zaG91bGRU
aHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAxMDAwMCkiKTsK
LXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDAsIDEw
MDAwMDAwMDAwMDAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5cyhjb250ZXh0
LlRSSUFOR0xFUywgMCwgLTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNv
bnRleHQuVFJJQU5HTEVTLCAxLCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5
cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCAtMSkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0
LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIC0xLCAxKSIpOwotCi1kZWJ1ZygiIikKLWRl
YnVnKCJUZXN0IGJ1ZmZlciB3aXRoIDMgZmxvYXQgdmVjdG9ycyIpCi1jb250ZXh0LmJ1ZmZlckRh
dGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIG5ldyBXZWJHTEZsb2F0QXJyYXkoWyAwLDAuNSwwLCAt
MC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7Ci1jb250ZXh0
LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29udGV4dC5GTE9BVCwgZmFsc2UsIDAsIDApOwot
c2hvdWxkQmUoImNvbnRleHQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhjb250ZXh0LkZSQU1FQlVG
RkVSKSIsICJjb250ZXh0LkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7Ci1zaG91bGRCZSgiY29udGV4
dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAzKSIsICJ1bmRlZmluZWQiKTsKLXNo
b3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDMsIDIpIik7
Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCAx
MDAwMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdM
RVMsIDAsIDEwMDAwMDAwMDAwMDAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0FycmF5
cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgLTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3
QXJyYXlzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0
LmRyYXdBcnJheXMoY29udGV4dC5UUklBTkdMRVMsIDEsIC0xKSIpOwotc2hvdWxkVGhyb3coImNv
bnRleHQuZHJhd0FycmF5cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIDEpIik7Ci0KLWRlYnVnKCIi
KQotc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3RWxlbWVudHNz
T3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2RyYXdFbGVtZW50c3NPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDYwOTIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhd0VsZW1lbnRz
c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNyArMCwwIEBA
Ci1UZXN0IG9mIGRyYXdFbGVtZW50cyB3aXRoIG91dC1vZi1ib3VuZHMgcGFyYW1ldGVycwotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLVRlc3QgZW1wdHkgaW5kZXggYnVmZmVyCi1QQVNT
IGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lH
TkVEX0JZVEUsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50
cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwLCBj
b250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3IGV4Y2VwdGlvbiBHTCBlcnJvciAxMjgyIGlu
IGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDEwMDAwMDAwMDAwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIHRocmV3IGV4Y2Vw
dGlvbiBHTCBlcnJvciAxMjgyIGluIGRyYXdFbGVtZW50cy4KLVBBU1MgY29udGV4dC5kcmF3RWxl
bWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkgdGhy
ZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgotUEFTUyBjb250ZXh0
LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMCwgY29udGV4dC5VTlNJR05FRF9CWVRF
LCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1lbnRzLgotUEFT
UyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgLTEsIGNvbnRleHQuVU5T
SUdORURfQllURSwgMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4gZHJhd0VsZW1l
bnRzLgotUEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29u
dGV4dC5VTlNJR05FRF9CWVRFLCAtMSkgdGhyZXcgZXhjZXB0aW9uIEdMIGVycm9yIDEyODIgaW4g
ZHJhd0VsZW1lbnRzLgotCi1UZXN0IGJ1ZmZlciB3aXRoIDMgYnl0ZSBpbmRleGVzCi1QQVNTIGNv
bnRleHQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhjb250ZXh0LkZSQU1FQlVGRkVSKSBpcyBjb250
ZXh0LkZSQU1FQlVGRkVSX0NPTVBMRVRFCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRl
eHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIGlzIHVuZGVmaW5lZAot
UEFTUyBjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMywgY29udGV4dC5V
TlNJR05FRF9CWVRFLCAyKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxl
bWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxMDAw
MCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4
MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJ
QU5HTEVTLCAxMDAwMDAwMDAwMDAwMCwgY29udGV4dC5VTlNJR05FRF9CWVRFLCAwKSB0aHJldyBl
eGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNvbnRleHQuZHJh
d0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0x
KSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMuCi1QQVNTIGNv
bnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05F
RF9CWVRFLCAxKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3RWxlbWVudHMu
Ci1QQVNTIGNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAxLCBjb250ZXh0
LlVOU0lHTkVEX0JZVEUsIC0xKSB0aHJldyBleGNlcHRpb24gR0wgZXJyb3IgMTI4MiBpbiBkcmF3
RWxlbWVudHMuCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3RWxlbWVudHNz
T3V0T2ZCb3VuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9kcmF3RWxlbWVudHNzT3V0T2ZCb3VuZHMuaHRtbAkocmV2aXNpb24gNjA5MjIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3RWxlbWVudHNzT3V0T2ZCb3VuZHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw1NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdCBvZiBkcmF3RWxl
bWVudHMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKLQotdmFyIGNvbnRleHQgPSBj
cmVhdGUzRERlYnVnQ29udGV4dCgpOwotdmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFt
KGNvbnRleHQpOwotCi1jb250ZXh0LnVzZVByb2dyYW0ocHJvZ3JhbSk7Ci12YXIgdmVydGV4T2Jq
ZWN0ID0gY29udGV4dC5jcmVhdGVCdWZmZXIoKTsKLWNvbnRleHQuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkoMCk7Ci1jb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIHZlcnRl
eE9iamVjdCk7Ci1jb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIG5ldyBX
ZWJHTEZsb2F0QXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwgY29u
dGV4dC5TVEFUSUNfRFJBVyk7Ci1jb250ZXh0LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgY29u
dGV4dC5GTE9BVCwgZmFsc2UsIDAsIDApOwotCi12YXIgaW5kZXhPYmplY3QgPSBjb250ZXh0LmNy
ZWF0ZUJ1ZmZlcigpOwotCi1kZWJ1ZygiVGVzdCBlbXB0eSBpbmRleCBidWZmZXIiKQotY29udGV4
dC5iaW5kQnVmZmVyKGNvbnRleHQuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4T2JqZWN0KTsK
LWNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcgV2Vi
R0xVbnNpZ25lZEJ5dGVBcnJheShbICBdKSwgY29udGV4dC5TVEFUSUNfRFJBVyk7Ci1zaG91bGRU
aHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDMsIGNvbnRleHQu
VU5TSUdORURfQllURSwgMCkiKTsKLXNob3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhj
b250ZXh0LlRSSUFOR0xFUywgMTAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKLXNo
b3VsZFRocm93KCJjb250ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMTAwMDAw
MDAwMDAwMDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgMCkiKTsKLXNob3VsZFRocm93KCJjb250
ZXh0LmRyYXdFbGVtZW50cyhjb250ZXh0LlRSSUFOR0xFUywgMSwgY29udGV4dC5VTlNJR05FRF9C
WVRFLCAwKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJ
QU5HTEVTLCAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSIpOwotc2hvdWxkVGhyb3coImNv
bnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAtMSwgY29udGV4dC5VTlNJR05F
RF9CWVRFLCAxKSIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQu
VFJJQU5HTEVTLCAxLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIC0xKSIpOwotCi1kZWJ1ZygiIikK
LWRlYnVnKCJUZXN0IGJ1ZmZlciB3aXRoIDMgYnl0ZSBpbmRleGVzIikKLWNvbnRleHQuYmluZEJ1
ZmZlcihjb250ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRleE9iamVjdCk7Ci1jb250ZXh0
LmJ1ZmZlckRhdGEoY29udGV4dC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3IFdlYkdMVW5zaWdu
ZWRCeXRlQXJyYXkoWyAwLCAxLCAyIF0pLCBjb250ZXh0LlNUQVRJQ19EUkFXKTsKLXNob3VsZEJl
KCJjb250ZXh0LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoY29udGV4dC5GUkFNRUJVRkZFUikiLCAi
Y29udGV4dC5GUkFNRUJVRkZFUl9DT01QTEVURSIpOwotc2hvdWxkQmUoImNvbnRleHQuZHJhd0Vs
ZW1lbnRzKGNvbnRleHQuVFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDApIiwg
InVuZGVmaW5lZCIpOwotc2hvdWxkVGhyb3coImNvbnRleHQuZHJhd0VsZW1lbnRzKGNvbnRleHQu
VFJJQU5HTEVTLCAzLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDIpIik7Ci1zaG91bGRUaHJvdygi
Y29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIDEwMDAwLCBjb250ZXh0LlVO
U0lHTkVEX0JZVEUsIDApIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29u
dGV4dC5UUklBTkdMRVMsIDEwMDAwMDAwMDAwMDAwLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIDAp
Iik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMs
IDAsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5k
cmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdMRVMsIC0xLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IDEpIik7Ci1zaG91bGRUaHJvdygiY29udGV4dC5kcmF3RWxlbWVudHMoY29udGV4dC5UUklBTkdM
RVMsIDEsIGNvbnRleHQuVU5TSUdORURfQllURSwgLTEpIik7Ci0KLWRlYnVnKCIiKQotc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcwkocmV2aXNpb24gNjA5MjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcwkod29ya2luZyBjb3B5KQpAQCAtODQsMyAr
ODQsMzEgQEAgZnVuY3Rpb24gbG9hZEZyYWdtZW50U2hhZGVyKGNvbnRleHQsIHBhdAogICAgIGNv
bnRleHQuY29tcGlsZVNoYWRlcihmcmFnbWVudFNoYWRlcik7CiAgICAgcmV0dXJuIGZyYWdtZW50
U2hhZGVyOwogfQorCitmdW5jdGlvbiBnZXRHTEVycm9yQXNTdHJpbmcoY3R4LCBlcnIpIHsKKyAg
ICBpZiAoZXJyID09PSBjdHguTk9fRVJST1IpCisgICAgICAgIHJldHVybiAiTk9fRVJST1IiOwor
ICAgIGZvciAodmFyIG5hbWUgaW4gY3R4KSB7CisgICAgICAgIGlmIChjdHhbbmFtZV0gPT09IGVy
cikKKyAgICAgICAgICAgIHJldHVybiBuYW1lOworICAgIH0KKyAgICByZXR1cm4gZXJyLnRvU3Ry
aW5nKCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEdlbmVyYXRlR0xFcnJvcihjdHgsIGdsRXJyb3Is
IGV2YWxTdHIpIHsKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHRyeSB7CisgICAgICAgIGV2YWwo
ZXZhbFN0cik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBleGNlcHRpb24gPSBlOworICAg
IH0KKyAgICBpZiAoZXhjZXB0aW9uKSB7CisgICAgICAgIHRlc3RGYWlsZWQoZXZhbFN0ciArICIg
dGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICAgIH0gZWxzZSB7CisgICAgICAgIHZh
ciBlcnIgPSBjdHguZ2V0RXJyb3IoKTsKKyAgICAgICAgaWYgKGVyciAhPSBnbEVycm9yKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZChldmFsU3RyICsgIiBleHBlY3RlZCBHTCBlcnJvcjogIiArIGdl
dEdMRXJyb3JBc1N0cmluZyhjdHgsIGdsRXJyb3IpICsgIi4gR2VuZXJhdGVkOiAiICsgZ2V0R0xF
cnJvckFzU3RyaW5nKGN0eCwgZXJyKSArICIuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRlc3RQYXNzZWQoZXZhbFN0ciArICIgZ2VuZXJhdGVkIGV4cGVjdGVkIEdMIGVycm9yOiAiICsg
Z2V0R0xFcnJvckFzU3RyaW5nKGN0eCwgZ2xFcnJvcikgKyAiLiIpOworICAgIH0KK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>