<?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>95493</bug_id>
          
          <creation_ts>2012-08-30 13:17:23 -0700</creation_ts>
          <short_desc>[Tests] Add basic tests to http/tests/notifications</short_desc>
          <delta_ts>2012-08-31 13:23:07 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.8</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95233</dependson>
          <blocked>77969</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jberlin</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>708948</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-30 13:17:23 -0700</bug_when>
    <thetext>Include a few tests that test the notifications API for DRT and WTR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708951</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-08-30 13:18:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/12209303&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708970</commentid>
    <comment_count>2</comment_count>
      <attachid>161542</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-30 13:31:50 -0700</bug_when>
    <thetext>Created attachment 161542
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709201</commentid>
    <comment_count>3</comment_count>
      <attachid>161542</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 17:44:56 -0700</bug_when>
    <thetext>Comment on attachment 161542
WIP Patch

Attachment 161542 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13682936

New failing tests:
http/tests/notifications/show.html
http/tests/notifications/request.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709344</commentid>
    <comment_count>4</comment_count>
      <attachid>161627</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-31 00:28:59 -0700</bug_when>
    <thetext>Created attachment 161627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709352</commentid>
    <comment_count>5</comment_count>
      <attachid>161627</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-31 00:56:35 -0700</bug_when>
    <thetext>Comment on attachment 161627
Patch

Attachment 161627 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13716072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709357</commentid>
    <comment_count>6</comment_count>
      <attachid>161631</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-31 01:01:21 -0700</bug_when>
    <thetext>Created attachment 161631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709377</commentid>
    <comment_count>7</comment_count>
      <attachid>161631</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-31 01:32:42 -0700</bug_when>
    <thetext>Comment on attachment 161631
Patch

Attachment 161631 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13722064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709796</commentid>
    <comment_count>8</comment_count>
      <attachid>161733</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-31 10:48:46 -0700</bug_when>
    <thetext>Created attachment 161733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709864</commentid>
    <comment_count>9</comment_count>
      <attachid>161733</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-31 12:03:16 -0700</bug_when>
    <thetext>Comment on attachment 161733
Patch

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:78
&gt; +WK_EXPORT uint64_t WKBundleGetWebNotificationID(WKBundleRef bundle, JSContextRef context, JSValueRef notification);

Should these methods be ForTesting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709871</commentid>
    <comment_count>10</comment_count>
      <attachid>161733</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-31 12:06:36 -0700</bug_when>
    <thetext>Comment on attachment 161733
Patch

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

&gt;&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:78
&gt;&gt; +WK_EXPORT uint64_t WKBundleGetWebNotificationID(WKBundleRef bundle, JSContextRef context, JSValueRef notification);
&gt; 
&gt; Should these methods be ForTesting?

They could be. I just followed style. That whole section is just TestRunner SPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709874</commentid>
    <comment_count>11</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-31 12:08:20 -0700</bug_when>
    <thetext>Committed r127299: &lt;http://trac.webkit.org/changeset/127299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709924</commentid>
    <comment_count>12</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-08-31 13:23:07 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Committed r127299: &lt;http://trac.webkit.org/changeset/127299&gt;

This caused 4 tests to start failing on Lion. Please fix soon or roll out your patch, because those 4 tests are the only thing standing between that bot and green right now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161542</attachid>
            <date>2012-08-30 13:31:50 -0700</date>
            <delta_ts>2012-08-31 00:28:58 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-95493-20120830133139.patch</filename>
            <type>text/plain</type>
            <size>11477</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MTc5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTYyNGRmZGZhYjUxODAzYWU0NDAx
MzIwNTQxNmFiMjM4MjJjMmUzMS4uNzZhMDdjYzkxOGUxMDY5YTRhNGRjNjZmMTNjOGViMWUwMThj
ZmVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA4LTMwICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0ZXN0cyB0byBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjIwOTMwMz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9yZXF1ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QuaHRtbDogQWRkZWQuIFRoaXMgdGVzdCByZXF1
ZXN0cyBwZXJtaXNzaW9uLiBEUlQvV1RSCisgICAgICAgIGlzIGV4cGVjdGVkIHRvIGFjY2VwdCBp
dCwgYW5kIHdlIHZlcmlmeSB0aGF0IGJvdGggdGhlIHBhcmFtZXRlciBpbiB0aGUgY2FsbGJhY2sg
ZnVuY3Rpb24sCisgICAgICAgIGFuZCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiwgYXJlIGJvdGgg
c2V0IHRvICJncmFudGVkIi4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hv
dy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9zaG93Lmh0bWw6IEFkZGVkLiBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHZhcmlvdXMgcGVy
bWlzc2lvbgorICAgICAgICBBUElzIG9uIFRlc3RSdW5uZXIgd29yay4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanM6IEFkZGVkLiBUaGlzIHdpbGwg
YmUgdXNlZCBmb3IgbW9zdCB0ZXN0cyBzaW5jZQorICAgICAgICB0aGUgZXZlbnRzIGFyZSBjYWxs
ZWQgYXN5bmNocm9ub3VzbHkuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanM6IFVwZGF0ZWQgZnJvbSBmYXN0L2pzL3Jlc291cmNlcy4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzOiBBZGRlZC4gQWRkcyBh
IGhlbHBlciBmdW5jdGlvbiB0byBjb21wbGV0ZQorICAgICAgICB0aGUgdGVzdCwgYW5kIGRlZmlu
ZXMgdGhlIGRvbWFpbiBvZiBodHRwL3Rlc3RzLgorICAgICAgICAodGVzdENvbXBsZXRlZCk6CisK
IDIwMTItMDgtMzAgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkIHVwZGF0ZSBvZiBUZXN0RXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIwY2MwNWU3N2NlZjJiNDg0NTk0NzVlMjBjZTJkYTVhYTVhOWQxYzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvcmVxdWVz
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorUkVRVUVTVEVEIFdFQiBOT1RJRklDQVRJ
T04gUEVSTUlTU0lPTiBGT1IgaHR0cDovLzEyNy4wLjAuMTo4MDAwCitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0
IgorUEFTUyBwZXJtaXNzaW9uIGlzIGdyYW50ZWQuCitQQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNz
aW9uIGlzICJncmFudGVkIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9yZXF1ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
cmVxdWVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxMGUzNzhkNWU4ZjQ4ZWM0NGZkZTE1ZjNmZDUxYjBh
YTNkODQ4NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvcmVxdWVzdC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCXRlc3RSdW5uZXIuZHVtcFdlYk5vdGlmaWNh
dGlvbkNhbGxiYWNrcygpOworCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBp
cyBtYWRlLiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKwlzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsKKwlOb3RpZmljYXRp
b24ucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24ocGVybWlzc2lvbikgeworCQlpZiAocGVybWlz
c2lvbiA9PSAnZ3JhbnRlZCcpCisJCQl0ZXN0UGFzc2VkKCJwZXJtaXNzaW9uIGlzIGdyYW50ZWQu
Iik7CisJCWVsc2UKKwkJCXRlc3RGYWlsZWQoInBlcm1pc3Npb24gc2hvdWxkIGJlIGdyYW50ZWQs
IGJ1dCBpcyAiICsgcGVybWlzc2lvbiArICIuIik7CisJCXNob3VsZEJlRXF1YWxUb1N0cmluZygi
Tm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZ3JhbnRlZCIpOworCQl0ZXN0Q29tcGxldGVkKCk7
CisJfSk7Cit9CisKK3NldFRpbWVvdXQodGVzdENvbXBsZXRlZCwgMTAwKTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3Nob3ctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3Nob3ctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4Nzk0NDdkNjRkODE1NDMyNGE2NGY5ZjI3MWMyZWNkMjg3
MjI2YjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvc2hvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorU0hPV0VEIFdFQiBOT1RJ
RklDQVRJT04ge3RpdGxlOiAidGl0bGUiLCBib2R5OiAiIiwgdGFnOiAiIiwgaWNvblVSTDogfQor
VGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5k
bGVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBOb3RpZmljYXRpb24u
cGVybWlzc2lvbiBpcyAiZGVmYXVsdCIKK1BBU1Mgb25lcnJvciBldmVudCBoYW5kbGVyIHdhcyBj
YWxsZWQKK0dyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCitQQVNT
IE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJncmFudGVkIgorUEFTUyBvbnNob3cgZXZlbnQg
aGFuZGxlciB3YXMgY2FsbGVkCitEZW55aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAu
MTo4MDAwCitQQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZW5pZWQiCitQQVNTIG9u
ZXJyb3IgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkCitSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25z
CitQQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxMDdkZDNiYTU2
YWRhYjA4NWI5YjkyZTBmYzdlNDZhNGM1OTQ1ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hvdy5odG1sCkBAIC0wLDAgKzEsNzEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCXRlc3RSdW5u
ZXIuZHVtcFdlYk5vdGlmaWNhdGlvbkNhbGxiYWNrcygpOworCXRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworfQorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0
Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIpOworCit2YXIgbiA9IG51bGw7CitmdW5j
dGlvbiBwYXJ0MSgpIHsKKwlzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJt
aXNzaW9uIiwgImRlZmF1bHQiKTsKKworCW4gPSBuZXcgTm90aWZpY2F0aW9uKCJ0aXRsZSIpOwor
CW4ub25zaG93ID0gZnVuY3Rpb24oKSB7CisJCXRlc3RGYWlsZWQoIm9uc2hvdyBldmVudCBoYW5k
bGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDIsIDApOworCX07
CisJbi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisJCXRlc3RQYXNzZWQoIm9uZXJyb3IgZXZlbnQg
aGFuZGxlciB3YXMgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDIsIDApOworCX07Cit9CisK
K2Z1bmN0aW9uIHBhcnQyKCkgeworCWRlYnVnKCJHcmFudGluZyBwZXJtaXNzaW9uIHRvICIgKyB0
ZXN0VVJMKTsKKwl0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0
VVJMKTsKKwlzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwg
ImdyYW50ZWQiKTsKKworCW4gPSBuZXcgTm90aWZpY2F0aW9uKCJ0aXRsZSIpOworCW4ub25zaG93
ID0gZnVuY3Rpb24oKSB7CisJCXRlc3RQYXNzZWQoIm9uc2hvdyBldmVudCBoYW5kbGVyIHdhcyBj
YWxsZWQiKTsKKwkJc2V0VGltZW91dChwYXJ0MywgMCk7CisJfTsKKwluLm9uZXJyb3IgPSBmdW5j
dGlvbigpIHsKKwkJdGVzdEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3Qg
YmUgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDMsIDApOworCX07Cit9CisKK2Z1bmN0aW9u
IHBhcnQzKCkgeworCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwor
CXRlc3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7CisJc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJOb3RpZmljYXRpb24ucGVybWlzc2lvbiIsICJkZW5pZWQiKTsK
KworCW4gPSBuZXcgTm90aWZpY2F0aW9uKCJ0aXRsZSIpOworCW4ub25zaG93ID0gZnVuY3Rpb24o
KSB7CisJCXRlc3RGYWlsZWQoIm9uc2hvdyBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2Fs
bGVkIik7CisJCXNldFRpbWVvdXQocGFydDQsIDApOworCX07CisJbi5vbmVycm9yID0gZnVuY3Rp
b24oKSB7CisJCXRlc3RQYXNzZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7
CisJCXNldFRpbWVvdXQocGFydDQsIDApOworCX07Cit9CisKK2Z1bmN0aW9uIHBhcnQ0KCkgewor
CWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25zIik7CisJdGVzdFJ1bm5lci5yZW1vdmVB
bGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOworCXNob3VsZEJlRXF1YWxUb1N0cmluZygi
Tm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZGVmYXVsdCIpOworCXRlc3RDb21wbGV0ZWQoKTsK
K30KKworcGFydDEoKTsKKworc2V0VGltZW91dCh0ZXN0Q29tcGxldGVkLCAxMDApOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QtYXN5bmMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QtYXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzkzM2Q3MDA3ZGU4NzFhNGVkZjg5NGRlZWNkNDFi
MjQ2M2I5ZjNlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC1hc3luYy5qcwpAQCAtMCwwICsxLDcgQEAKK2lmICghZXJyb3JN
ZXNzYWdlKQorICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzaG91bGRCZVRydWUoInN1
Y2Nlc3NmdWxseVBhcnNlZCIpOworZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNU
IENPTVBMRVRFPC9zcGFuPicpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzCmluZGV4IDg2ZjZkZGJkYzdhMmUyOWZlMjhmNWRlMWFiM2IzNTlmMTBj
MDNiMWMuLmY0ZjUwMmYwMGRiNjQxZDAwYTJlMmNhOWMyYzI0MWJmOWE5MmVjYTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC02OCw3
ICs2OCw3IEBAIHZhciBkZXNjcmlwdGlvbiwgZGVidWcsIHN1Y2Nlc3NmdWxseVBhcnNlZCwgZXJy
b3JNZXNzYWdlOwogICAgICAgICBzdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSBjc3M7CiAgICAg
ICAgIChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYXBwZW5kQ2hp
bGQoc3R5bGVFbGVtZW50KTsKICAgICB9Ci0gICAgCisKICAgICBpZiAoIWlzV29ya2VyKCkpCiAg
ICAgICAgIGluc2VydFN0eWxlU2hlZXQoKTsKIApAQCAtMjU4LDcgKzI1OCw5IEBAIGZ1bmN0aW9u
IHNob3VsZEJlWmVybyhfYSkgeyBzaG91bGRCZShfYSwgIjAiKTsgfQogCiBmdW5jdGlvbiBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoYSwgYikKIHsKLSAgdmFyIHVuZXZhbGVkU3RyaW5nID0gJyInICsg
Yi5yZXBsYWNlKC9cXC9nLCAiXFxcXCIpLnJlcGxhY2UoLyIvZywgIlwiIikucmVwbGFjZSgvXG4v
ZywgIlxcbiIpLnJlcGxhY2UoL1xyL2csICJcXHIiKSArICciJzsKKyAgaWYgKHR5cGVvZiBhICE9
PSAic3RyaW5nIiB8fCB0eXBlb2YgYiAhPT0gInN0cmluZyIpCisgICAgZGVidWcoIldBUk46IHNo
b3VsZEJlRXF1YWxUb1N0cmluZygpIGV4cGVjdHMgc3RyaW5nIGFyZ3VtZW50cyIpOworICB2YXIg
dW5ldmFsZWRTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShiKTsKICAgc2hvdWxkQmUoYSwgdW5ldmFs
ZWRTdHJpbmcpOwogfQogCkBAIC0zOTQsNiArMzk2LDE1IEBAIGZ1bmN0aW9uIHNob3VsZEJlR3Jl
YXRlclRoYW5PckVxdWFsKF9hLCBfYikgewogICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyA+
PSAiICsgX2IpOwogfQogCitmdW5jdGlvbiBzaG91bGROb3RUaHJvdyhfYSkgeworICAgIHRyeSB7
CisgICAgICAgIGV2YWwoX2EpOworICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4iKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQo
X2EgKyAiIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gIiArIGUg
KyAiLiIpOworICAgIH0KK30KKwogZnVuY3Rpb24gc2hvdWxkVGhyb3coX2EsIF9lKQogewogICB2
YXIgZXhjZXB0aW9uOwpAQCAtNDc0LDkgKzQ4NSw3IEBAIGZ1bmN0aW9uIHN0YXJ0V29ya2VyKHRl
c3RTY3JpcHRVUkwsIHNoYXJlZCkKIHsKICAgICBzZWxmLmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
ICAgIGRlYnVnKCdTdGFydGluZyB3b3JrZXI6ICcgKyB0ZXN0U2NyaXB0VVJMKTsKLSAgICB2YXIg
d29ya2VyID0gc2hhcmVkID8gbmV3IFNoYXJlZFdvcmtlcih0ZXN0U2NyaXB0VVJMKSA6IG5ldyBX
b3JrZXIodGVzdFNjcmlwdFVSTCk7Ci0gICAgaWYgKHNoYXJlZCkKLSAgICAgICAgd29ya2VyLnBv
cnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHsgd29ya2VyLm9ubWVzc2FnZShldmVudCk7
IH07CisgICAgdmFyIHdvcmtlciA9IHNoYXJlZCA/IG5ldyBTaGFyZWRXb3JrZXIodGVzdFNjcmlw
dFVSTCwgIlNoYXJlZCBXb3JrZXIiKSA6IG5ldyBXb3JrZXIodGVzdFNjcmlwdFVSTCk7CiAgICAg
d29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHdv
cmtlclByZWZpeCA9ICJbV29ya2VyXSAiOwpAQCAtNTA0LDIzICs1MTMsNTIgQEAgZnVuY3Rpb24g
c3RhcnRXb3JrZXIodGVzdFNjcmlwdFVSTCwgc2hhcmVkKQogICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKICAgICB9CiAKKyAgICBpZiAoc2hhcmVkKSB7CisgICAgICAgIHdvcmtlci5wb3J0Lm9ubWVz
c2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7IHdvcmtlci5vbm1lc3NhZ2UoZXZlbnQpOyB9OworICAg
ICAgICB3b3JrZXIucG9ydC5zdGFydCgpOworICAgIH0KICAgICByZXR1cm4gd29ya2VyOwogfQog
CiBpZiAoaXNXb3JrZXIoKSkgeworICAgIHZhciB3b3JrZXJQb3J0ID0gc2VsZjsKKyAgICBpZiAo
c2VsZi5uYW1lID09ICJTaGFyZWQgV29ya2VyIikgeworICAgICAgICBzZWxmLm9uY29ubmVjdCA9
IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIHdvcmtlclBvcnQgPSBlLnBvcnRzWzBdOworICAg
ICAgICAgICAgd29ya2VyUG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICB2YXIgY29sb24gPSBldmVu
dC5kYXRhLmluZGV4T2YoIjoiKTsKKyAgICAgICAgICAgICAgICBpZiAoY29sb24gPT0gLTEpIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVW5yZWNvZ25pemVkIG1lc3NhZ2UgdG8g
c2hhcmVkIHdvcmtlcjogIiArIGV2ZW50LmRhdGEpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZXZlbnQu
ZGF0YS5zdWJzdHJpbmcoMCwgY29sb24pOworICAgICAgICAgICAgICAgIHZhciBwYXlsb2FkID0g
ZXZlbnQuZGF0YS5zdWJzdHJpbmcoY29sb24gKyAxKTsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSAiSU1QT1JUIikKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGltcG9ydFNjcmlwdHMocGF5bG9hZCk7CisgICAgICAgICAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVucmVjb2duaXplZCBtZXNz
YWdlIHRvIHNoYXJlZCB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDYXVnaHQgZXhj
ZXB0aW9uIGluIHNoYXJlZCB3b3JrZXIgb25tZXNzYWdlOiAiICsgZXgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAgfQogICAgIGRlc2NyaXB0aW9u
ID0gZnVuY3Rpb24obXNnLCBxdWlldCkgewotICAgICAgICBwb3N0TWVzc2FnZSgnREVTQzonICsg
bXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVzc2FnZSgnREVTQzonICsgbXNnKTsKICAg
ICB9CiAgICAgdGVzdEZhaWxlZCA9IGZ1bmN0aW9uKG1zZykgewotICAgICAgICBwb3N0TWVzc2Fn
ZSgnRkFJTDonICsgbXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVzc2FnZSgnRkFJTDon
ICsgbXNnKTsKICAgICB9CiAgICAgdGVzdFBhc3NlZCA9IGZ1bmN0aW9uKG1zZykgewotICAgICAg
ICBwb3N0TWVzc2FnZSgnUEFTUzonICsgbXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVz
c2FnZSgnUEFTUzonICsgbXNnKTsKICAgICB9CiAgICAgZmluaXNoSlNUZXN0ID0gZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHBvc3RNZXNzYWdlKCdET05FOicpOworICAgICAgICB3b3JrZXJQb3J0LnBv
c3RNZXNzYWdlKCdET05FOicpOwogICAgIH0KICAgICBkZWJ1ZyA9IGZ1bmN0aW9uKG1zZykgewot
ICAgICAgICBwb3N0TWVzc2FnZShtc2cpOworICAgICAgICB3b3JrZXJQb3J0LnBvc3RNZXNzYWdl
KG1zZyk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU5MzU4ZTBi
OWVkZDI1MjBlNjUyNGU4MGEwMTY0NmU1OGRjYzJlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMKQEAg
LTAsMCArMSw4IEBACit2YXIgdGVzdFVSTCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOworCitm
dW5jdGlvbiB0ZXN0Q29tcGxldGVkKCkKK3sKKyAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgc2NyaXB0RWxlbWVudC5zcmMgPSAiL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMiOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHNjcmlwdEVsZW1lbnQpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161627</attachid>
            <date>2012-08-31 00:28:59 -0700</date>
            <delta_ts>2012-08-31 01:01:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95493-20120831002848.patch</filename>
            <type>text/plain</type>
            <size>31394</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmUyMzY1NDQyNjIwMTNi
MWJjYWQ1MTRjYjQxM2EzMzYzOTg3Njg2MC4uNGEyYWQxMDcyZjdiZmIxNGYwZWJlZTFkYWNjZjhh
M2EwZjJiNTg2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA4LTMxICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0ZXN0
cyB0byBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjIw
OTMwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW1wbGlmeSB0aGUgcGFzc2luZyBvZiB0aGUgcGVybWlzc2lvbiBwb2xpY3kgdG8ganVzdCBhIGJv
b2xlYW4gaW5zdGVhZCBvZiBjb252ZXJ0aW5nIGl0CisgICAgICAgIGJhY2sgYW5kIGZvcnRoIGZy
b20gdGhlIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBlbnVtLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDogTW92ZSB0
aGUgZGVjbGFyYXRpb24gdG8gdGhlIHNlY3Rpb24KKyAgICAgICAgb2YgZnVuY3Rpb25zIHRoYXQg
YXJlIFRlc3RSdW5uZXIgU1BJLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0
V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbik6IFVzZSBhIGJvb2xlYW4uCisgICAgICAgICogV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKwogMjAxMi0w
OC0zMCAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAg
IH5KU05QT2JqZWN0IHNob3VsZCBjYWxsIGludmFsaWRhdGUoKSBpZiBpdCBoYXNuJ3QgYmVlbiBj
YWxsZWQgYWxyZWFkeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKaW5kZXggN2NiYTI2
M2ZjY2ZlNmQyZDUwOWExMTc1OGIzZjc3YTI4MTc0YzRmMS4uNDgwNDc4OTg2NGI1MzA2MzMwN2U0
MzhiYjZkZTg1OGZjNTcxZjgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCkBA
IC03NSw2ICs3NSw3IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSXNQYWdlQm94VmlzaWJsZShX
S0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhCiBXS19FWFBPUlQgdm9pZCBX
S0J1bmRsZVNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1
bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIFdLU3RyaW5nUmVmIGxvY2F0aW9uKTsKIFdLX0VY
UE9SVCB2b2lkIFdLQnVuZGxlU2V0V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihXS0J1bmRsZVJl
ZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBvcmlnaW5TdHJpbmdS
ZWYsIGJvb2wgYWxsb3dlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZUFsbFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb25zKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVm
IHBhZ2UpOworV0tfRVhQT1JUIHVpbnQ2NF90IFdLQnVuZGxlR2V0V2ViTm90aWZpY2F0aW9uSUQo
V0tCdW5kbGVSZWYgYnVuZGxlLCBKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub3Rp
ZmljYXRpb24pOwogCiAvLyBVc2VyQ29udGVudCBBUEkKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
QWRkVXNlclNjcmlwdChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBh
Z2VHcm91cCwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3JpcHRXb3JsZCwgV0tTdHJpbmdSZWYg
c291cmNlLCBXS1VSTFJlZiB1cmwsIFdLQXJyYXlSZWYgd2hpdGVsaXN0LCBXS0FycmF5UmVmIGJs
YWNrbGlzdCwgV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSBpbmplY3Rpb25UaW1lLCBXS1VzZXJD
b250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMpOwpAQCAtMTAyLDggKzEwMyw2IEBA
IFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoV0tCdW5kbGVS
ZWYgYnVuZGxlKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRQYWdlVmlzaWJpbGl0eVN0
YXRlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGludCBzdGF0ZSwg
Ym9vbCBpc0luaXRpYWxTdGF0ZSk7CiAKLVdLX0VYUE9SVCB1aW50NjRfdCBXS0J1bmRsZUdldFdl
Yk5vdGlmaWNhdGlvbklEKFdLQnVuZGxlUmVmIGJ1bmRsZSwgSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTVmFsdWVSZWYgbm90aWZpY2FpdG9uKTsKLQogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggYjU4NTM4YTE5Y2QzOWJhNmRjYjRkMTkxODk4
NGRhNmJhZGIwYmQ3Yy4uOTM1NmZhODMxZjI2YTZjMzcwYThkZDJjZGU4MjdkZmI3ZjUwNmU1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTUzOSw3ICs1MzksNyBAQCB2b2lkIEluamVjdGVk
QnVuZGxlOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdl
R3JvdXAsIGNvbgogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbihXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxv
d2VkKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCi0gICAgcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KCktPnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3Rpbmcob3JpZ2luU3RyaW5nLCBhbGxvd2VkID8g
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbkRlbmllZCk7CisgICAgcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKCktPnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3Rpbmcob3JpZ2luU3RyaW5n
LCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwogICAgIFVOVVNFRF9Q
QVJBTShvcmlnaW5TdHJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCAyMmU1MGI5YjQzMzVkN2VlZmJjY2EzMjYy
MjY3OWZiY2U5YTVlZWMwLi40NGI5N2ViNGUyMjk1YTAwNGJlNzA1MmFjNDdhOWY0ZTZhOGZhOTFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyLmNwcApAQCAtMTI4LDEzICsxMjgsMTMgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlzc2lvbkwK
ICNlbmRpZgogfQogCi12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6
c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24pCit2b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c2V0UGVybWlzc2lvbkxldmVs
Rm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQogewog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLmRpZFVwZGF0
ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKG9yaWdpblN0cmluZywgcGVybWlzc2lvbik7CisgICAgV2Vi
UHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLmRpZFVwZGF0ZU5vdGlmaWNh
dGlvbkRlY2lzaW9uKG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9Q
QVJBTShvcmlnaW5TdHJpbmcpOwotICAgIFVOVVNFRF9QQVJBTShwZXJtaXNzaW9uKTsKKyAgICBV
TlVTRURfUEFSQU0oYWxsb3dlZCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCmluZGV4IGQ5OTEyYjFhN2Q4Y2Q5
NzBjY2VhMTk4ZGY1YzRmZjA2OWY3NmI5NzMuLjE4OTljMDFkNDdjMTg2OTIzZGE4MGFlMDBhODYz
NzFhN2U3ZjNiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBwZXJtaXNzaW9uTGV2ZWwoV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4qKTsKIAogICAgIC8vIEZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuCi0g
ICAgdm9pZCBzZXRQZXJtaXNzaW9uTGV2ZWxGb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgb3JpZ2lu
U3RyaW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24pOworICAgIHZv
aWQgc2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIG9yaWdpblN0cmlu
ZywgYm9vbCBhbGxvd2VkKTsKICAgICB2b2lkIHJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGlu
ZygpOwogICAgIAogICAgIHZvaWQgZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNp
c2lvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCwgYm9vbCBhbGxvd2VkKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2Nzg2NWJhM2YxMWNhNWZl
MDgxNTQwMjkzY2EzZWRlNzkxMWQxNDEwLi5iOTYwNWNlZGFjMDA1ZDJiZTNmNTA0YTZkM2ZkODA2
OWU2NTJhMmI0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgtMzEgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUu
Y29tPgorCisgICAgICAgIFtUZXN0c10gQWRkIGJhc2ljIHRlc3RzIHRvIGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTU0OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyMjA5MzAzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwZXJtaXNzaW9uIHJlcXVl
c3Qgc3VwcG9ydCBmb3IgV1RSLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKToK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0KTogQWx3YXlzIGFsbG93LgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFRlc3RDb250cm9sbGVyKToKKwogMjAx
Mi0wOC0zMCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtDaHJvbWl1bS1BbmRyb2lkXSBTa2lwIGNvbXBvc2l0aW5nL3dlYmdsIGFuZCBwbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL3RocmVhZGVkL2NvbXBvc2l0aW5nL3dlYmdsIHRlc3RzCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDE2YTIzYzFkYTljZjA5
ZDI0OWU5ZDBiNzAyZDNlYzdiMDdlODE2ZmYuLmM1NDllODhhOWI0ODlhNDQ0YTdkNDFhN2M4YzI3
ZmNkZjFkOWEwNjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0NvbnRleHRQcml2YXRlLmg+
CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS05vdGlmaWNhdGlvbi5oPgogI2luY2x1ZGUgPFdlYktpdDIv
V0tOb3RpZmljYXRpb25NYW5hZ2VyLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS051bWJlci5oPgogI2lu
Y2x1ZGUgPFdlYktpdDIvV0tQYWdlR3JvdXAuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZVBy
aXZhdGUuaD4KQEAgLTM4OCw3ICszODksNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFs
aXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgICAgIDAsIC8vIHNob3VsZElu
dGVycnVwdEphdmFTY3JpcHQKICAgICAgICAgY3JlYXRlT3RoZXJQYWdlLAogICAgICAgICAwLCAv
LyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudAotICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAorICAgICAgICBkZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCwgLy8gZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QKICAgICAgICAgMCwgLy8gdW5hdmFpbGFibGVQbHVnaW5CdXR0b25D
bGlja2VkCiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+
cGFnZSgpLCAmcGFnZVVJQ2xpZW50KTsKQEAgLTk1Miw0ICs5NTMsMTQgQEAgdm9pZCBUZXN0Q29u
dHJvbGxlcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayh1aW50NjRfdCBub3RpZmljYXRp
b25JRCkKICAgICBtX3dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLnNpbXVsYXRlV2ViTm90aWZpY2F0
aW9uQ2xpY2sobm90aWZpY2F0aW9uSUQpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpkZWNp
ZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYgcGFnZSwg
V0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RSZWYgcmVxdWVzdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBzdGF0aWNfY2Fz
dDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+ZGVjaWRl
UG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QocGFnZSwgb3JpZ2luLCByZXF1
ZXN0KTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QoV0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBXS05v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmIHJlcXVlc3QpCit7CisgICAgV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdEFsbG93KHJlcXVlc3QpOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCAzMzA5YWYy
YTQ0ZjEwMzI3ZTExOTdhYTQ0MmY1Yzk4MDk3OWU3MTE2Li4wZDMzNzE3YjcxYzZhOTE4NjcxNWNj
ZWRmNjFiMjBkZDY3YmYzM2NjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oCkBAIC05Nyw2ICs5Nyw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0Rp
ZENyYXNoKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgdm9pZCBwcm9j
ZXNzRGlkQ3Jhc2goKTsKIAorICAgIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLUGFnZVJlZiwgV0tTZWN1cml0eU9yaWdpblJlZiwgV0tO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiwgY29uc3Qgdm9pZCopOworICAgIHZvaWQg
ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV0tQYWdlUmVmLCBX
S1NlY3VyaXR5T3JpZ2luUmVmLCBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmKTsK
KwogICAgIHN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdl
LCBXS1VSTFJlcXVlc3RSZWYsIFdLRGljdGlvbmFyeVJlZiwgV0tFdmVudE1vZGlmaWVycywgV0tF
dmVudE1vdXNlQnV0dG9uLCBjb25zdCB2b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBydW5Nb2Rh
bChXS1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDViYTIwMGQ2MTBj
YTVkMzdmYWI2NDBmMzMxYjM0ZjUyMDA0OWMzNWQuLmNmZjViOGI0NTRlZDNlZjMwYzkwNTRkZmFi
ZmJmYjlmN2I1ODk3MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMi0wOC0zMSAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgW1Rlc3RzXSBBZGQgYmFzaWMgdGVzdHMg
dG8gaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NTQ5MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTIyMDkz
MDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvcmVxdWVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9yZXF1ZXN0Lmh0bWw6IEFkZGVkLiBUaGlz
IHRlc3QgcmVxdWVzdHMgcGVybWlzc2lvbi4gRFJUL1dUUgorICAgICAgICBpcyBleHBlY3RlZCB0
byBhY2NlcHQgaXQsIGFuZCB3ZSB2ZXJpZnkgdGhhdCBib3RoIHRoZSBwYXJhbWV0ZXIgaW4gdGhl
IGNhbGxiYWNrIGZ1bmN0aW9uLAorICAgICAgICBhbmQgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24s
IGFyZSBib3RoIHNldCB0byAiZ3JhbnRlZCIuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL3Nob3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvc2hvdy5odG1sOiBBZGRlZC4gVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSB2
YXJpb3VzIHBlcm1pc3Npb24KKyAgICAgICAgQVBJcyBvbiBUZXN0UnVubmVyIHdvcmsuCisKKyAg
ICAgICAgTGVnYWN5IGFuYWxvZyB0byBhYm92ZSB0ZXN0cy4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9z
aG93Lmh0bWw6IEFkZGVkLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LWFzeW5jLmpzOiBBZGRlZC4gVGhpcyB3aWxsIGJlIHVzZWQgZm9yIG1vc3QgdGVzdHMg
c2luY2UKKyAgICAgICAgdGhlIGV2ZW50cyBhcmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5LgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzOiBVcGRhdGVkIGZyb20g
ZmFzdC9qcy9yZXNvdXJjZXMuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvbm90aWZp
Y2F0aW9ucy10ZXN0LXByZS5qczogQWRkZWQuIEFkZHMgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY29t
cGxldGUKKyAgICAgICAgdGhlIHRlc3QsIGFuZCBkZWZpbmVzIHRoZSBkb21haW4gb2YgaHR0cC90
ZXN0cy4KKyAgICAgICAgKHRlc3RDb21wbGV0ZWQpOgorCisgICAgICAgIFNraXAuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogU2tpcCBvbiBBbmRyb2lkLiBG
aWxlZCA5NTUwNiB0byBicmluZyBDaHJvbWl1bSBzdXBwb3J0LgorICAgICAgICAqIHBsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6IEZpbGVkIDk1NTA3IHRvIGJyaW5nIFF0IHN1cHBvcnQuCisgICAgICAg
ICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vU2tp
cHBlZDoKKwogMjAxMi0wOC0zMCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2MTI3LgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVx
dWVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY5ZjQ0NjEzMzZlNGI2YjgwYTAzYmZiMmI4
NzQ5OTI3OTNhNjk4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBtYWRl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAxCitQQVNTIHdpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDk5MTM5MWM3MjAyNjFjZGJjMGU2MzVlOWQxMmI3NTY5ZWQ3NDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRt
bApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25v
dGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKK2Rlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuIik7CisK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7CisJTm90aWZpY2F0aW9uLnJlcXVlc3RQ
ZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeworCQlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNh
dGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIpOworCQl0ZXN0Q29tcGxldGVkKCk7CisJfSk7
Cit9CisKK3NldFRpbWVvdXQodGVzdENvbXBsZXRlZCwgMTAwKTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
c2hvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWEyMWE3Y2U5YzJjMTcyNWY3ZmYyM2FkODIw
NTFmZGFlN2Y4OTYwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAor
VGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5k
bGVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAxCitQQVNTIHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbignJywgJ3RpdGxlIDEnLCAnYm9keScpOyB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFNFQ1VSSVRZX0VSUjogRE9NIEV4Y2VwdGlvbiAxOC4KK0dy
YW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCitQQVNTIHdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKK1BBU1Mgb25kaXNwbGF5
IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAorRGVueWluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMAorUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAyCitQQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlm
aWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNF
Q1VSSVRZX0VSUjogRE9NIEV4Y2VwdGlvbiAxOC4KK1Jlc2V0dGluZyBhbGwgcGVybWlzc2lvbnMK
K1BBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzE1OWI0ZjUyMzczMTVjYjM2ZGM3NGNmYWJhZGIxNDIxMzE4YjJmMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvc2hvdy5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKwl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cg
ZXZlbnQgaGFuZGxlci4iKTsKKwordmFyIG4gPSBudWxsOworZnVuY3Rpb24gcGFydDEoKSB7CisJ
c2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwg
IjEiKTsKKwlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90
aWZpY2F0aW9uKCcnLCAndGl0bGUgMScsICdib2R5Jyk7Iik7CisJc2V0VGltZW91dChwYXJ0Miwg
MCk7Cit9CisKK2Z1bmN0aW9uIHBhcnQyKCkgeworCWRlYnVnKCJHcmFudGluZyBwZXJtaXNzaW9u
IHRvICIgKyB0ZXN0VVJMKTsKKwl0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbih0ZXN0VVJMKTsKKwlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hl
Y2tQZXJtaXNzaW9uKCkiLCAiMCIpOworCisJbiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgInRpdGxlIDIiLCAiYm9keSIpOworCW4ub25zaG93ID0g
ZnVuY3Rpb24oKSB7CisJCXRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIHdhcyBj
YWxsZWQiKTsKKwkJc2V0VGltZW91dChwYXJ0MywgMCk7CisJfTsKKwluLm9uZXJyb3IgPSBmdW5j
dGlvbigpIHsKKwkJdGVzdEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3Qg
YmUgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDMsIDApOworCX07CisJbi5zaG93KCk7Cit9
CisKK2Z1bmN0aW9uIHBhcnQzKCkgeworCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiAr
IHRlc3RVUkwpOworCXRlc3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVz
dFVSTCk7CisJc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlz
c2lvbigpIiwgIjIiKTsKKwlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMu
Y3JlYXRlTm90aWZpY2F0aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7Iik7CisJc2V0VGltZW91
dChwYXJ0NCwgMCk7Cit9CisKK2Z1bmN0aW9uIHBhcnQ0KCkgeworCWRlYnVnKCJSZXNldHRpbmcg
YWxsIHBlcm1pc3Npb25zIik7CisJdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9ucygpOworCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVj
a1Blcm1pc3Npb24oKSIsICIxIik7CisJdGVzdENvbXBsZXRlZCgpOworfQorCitwYXJ0MSgpOwor
CitzZXRUaW1lb3V0KHRlc3RDb21wbGV0ZWQsIDEwMCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hY2EwOGZlOGVmZGM4YzRjNmYyYjFiYWRmYmJmMmM0YTA3NWQ2ZDll
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L3JlcXVlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBhIHJlcXVlc3QgZm9yIHBlcm1pc3Npb24gaXMgbWFkZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlZmF1bHQi
CitQQVNTIHBlcm1pc3Npb24gaXMgZ3JhbnRlZC4KK1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Np
b24gaXMgImdyYW50ZWQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL3JlcXVlc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9y
ZXF1ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWViYmQxNTM0NjUzYzU5MmEwMGJjZGU5M2M3ZGZmYjNk
ODg1OGY4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9yZXF1ZXN0Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlz
c2lvbiBpcyBtYWRlLiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKwlzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsKKwlOb3Rp
ZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24ocGVybWlzc2lvbikgeworCQlpZiAo
cGVybWlzc2lvbiA9PSAnZ3JhbnRlZCcpCisJCQl0ZXN0UGFzc2VkKCJwZXJtaXNzaW9uIGlzIGdy
YW50ZWQuIik7CisJCWVsc2UKKwkJCXRlc3RGYWlsZWQoInBlcm1pc3Npb24gc2hvdWxkIGJlIGdy
YW50ZWQsIGJ1dCBpcyAiICsgcGVybWlzc2lvbiArICIuIik7CisJCXNob3VsZEJlRXF1YWxUb1N0
cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZ3JhbnRlZCIpOworCQl0ZXN0Q29tcGxl
dGVkKCk7CisJfSk7Cit9CisKK3NldFRpbWVvdXQodGVzdENvbXBsZXRlZCwgMTAwKTsKKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3No
b3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3No
b3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwMWViMWZhZjM4ODk1YzkyY2ZlNDZjMDBmNTAw
OWIxZDc5ZDhmMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvc2hvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyB0ZXN0
IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBOb3RpZmljYXRpb24ucGVybWlzc2lv
biBpcyAiZGVmYXVsdCIKK1BBU1Mgb25lcnJvciBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKK0dy
YW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCitQQVNTIE5vdGlmaWNh
dGlvbi5wZXJtaXNzaW9uIGlzICJncmFudGVkIgorUEFTUyBvbnNob3cgZXZlbnQgaGFuZGxlciB3
YXMgY2FsbGVkCitEZW55aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCitQ
QVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZW5pZWQiCitQQVNTIG9uZXJyb3IgZXZl
bnQgaGFuZGxlciB3YXMgY2FsbGVkCitSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25zCitQQVNTIE5v
dGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvc2hvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNGU5ZTY3ZjA1OGE3N2MyMGQ4
NTZhNTRmOTIxZTE0MGQyZmY4ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hvdy5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKwl0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKworZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNo
IG9mIHRoZSBvbnNob3cgZXZlbnQgaGFuZGxlci4iKTsKKwordmFyIG4gPSBudWxsOworZnVuY3Rp
b24gcGFydDEoKSB7CisJc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJOb3RpZmljYXRpb24ucGVybWlz
c2lvbiIsICJkZWZhdWx0Iik7CisKKwluID0gbmV3IE5vdGlmaWNhdGlvbigidGl0bGUgMSIpOwor
CW4ub25zaG93ID0gZnVuY3Rpb24oKSB7CisJCXRlc3RGYWlsZWQoIm9uc2hvdyBldmVudCBoYW5k
bGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDIsIDApOworCX07
CisJbi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisJCXRlc3RQYXNzZWQoIm9uZXJyb3IgZXZlbnQg
aGFuZGxlciB3YXMgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDIsIDApOworCX07Cit9CisK
K2Z1bmN0aW9uIHBhcnQyKCkgeworCWRlYnVnKCJHcmFudGluZyBwZXJtaXNzaW9uIHRvICIgKyB0
ZXN0VVJMKTsKKwl0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0
VVJMKTsKKwlzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwg
ImdyYW50ZWQiKTsKKworCW4gPSBuZXcgTm90aWZpY2F0aW9uKCJ0aXRsZSAyIik7CisJbi5vbnNo
b3cgPSBmdW5jdGlvbigpIHsKKwkJdGVzdFBhc3NlZCgib25zaG93IGV2ZW50IGhhbmRsZXIgd2Fz
IGNhbGxlZCIpOworCQlzZXRUaW1lb3V0KHBhcnQzLCAwKTsKKwl9OworCW4ub25lcnJvciA9IGZ1
bmN0aW9uKCkgeworCQl0ZXN0RmFpbGVkKCJvbmVycm9yIGV2ZW50IGhhbmRsZXIgc2hvdWxkIG5v
dCBiZSBjYWxsZWQiKTsKKwkJc2V0VGltZW91dChwYXJ0MywgMCk7CisJfTsKK30KKworZnVuY3Rp
b24gcGFydDMoKSB7CisJZGVidWcoIkRlbnlpbmcgcGVybWlzc2lvbiB0byAiICsgdGVzdFVSTCk7
CisJdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsKKwlz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlbmllZCIp
OworCisJbiA9IG5ldyBOb3RpZmljYXRpb24oInRpdGxlIDMiKTsKKwluLm9uc2hvdyA9IGZ1bmN0
aW9uKCkgeworCQl0ZXN0RmFpbGVkKCJvbnNob3cgZXZlbnQgaGFuZGxlciBzaG91bGQgbm90IGJl
IGNhbGxlZCIpOworCQlzZXRUaW1lb3V0KHBhcnQ0LCAwKTsKKwl9OworCW4ub25lcnJvciA9IGZ1
bmN0aW9uKCkgeworCQl0ZXN0UGFzc2VkKCJvbmVycm9yIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxl
ZCIpOworCQlzZXRUaW1lb3V0KHBhcnQ0LCAwKTsKKwl9OworfQorCitmdW5jdGlvbiBwYXJ0NCgp
IHsKKwlkZWJ1ZygiUmVzZXR0aW5nIGFsbCBwZXJtaXNzaW9ucyIpOworCXRlc3RSdW5uZXIucmVt
b3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKKwlzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsKKwl0ZXN0Q29tcGxldGVk
KCk7Cit9CisKK3BhcnQxKCk7CisKK3NldFRpbWVvdXQodGVzdENvbXBsZXRlZCwgMTAwKTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LWFzeW5jLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LWFzeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5MzNkNzAwN2RlODcxYTRlZGY4OTRkZWVj
ZDQxYjI0NjNiOWYzZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMKQEAgLTAsMCArMSw3IEBACitpZiAoIWVy
cm9yTWVzc2FnZSkKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworc2hvdWxkQmVUcnVl
KCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKK2RlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+
VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcwppbmRleCA4NmY2ZGRiZGM3YTJlMjlmZTI4ZjVkZTFhYjNiMzU5
ZjEwYzAzYjFjLi5mNGY1MDJmMDBkYjY0MWQwMGEyZTJjYTljMmMyNDFiZjlhOTJlY2EwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwpAQCAt
NjgsNyArNjgsNyBAQCB2YXIgZGVzY3JpcHRpb24sIGRlYnVnLCBzdWNjZXNzZnVsbHlQYXJzZWQs
IGVycm9yTWVzc2FnZTsKICAgICAgICAgc3R5bGVFbGVtZW50LnRleHRDb250ZW50ID0gY3NzOwog
ICAgICAgICAoZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVu
ZENoaWxkKHN0eWxlRWxlbWVudCk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKCFpc1dvcmtlcigp
KQogICAgICAgICBpbnNlcnRTdHlsZVNoZWV0KCk7CiAKQEAgLTI1OCw3ICsyNTgsOSBAQCBmdW5j
dGlvbiBzaG91bGRCZVplcm8oX2EpIHsgc2hvdWxkQmUoX2EsICIwIik7IH0KIAogZnVuY3Rpb24g
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGEsIGIpCiB7Ci0gIHZhciB1bmV2YWxlZFN0cmluZyA9ICci
JyArIGIucmVwbGFjZSgvXFwvZywgIlxcXFwiKS5yZXBsYWNlKC8iL2csICJcIiIpLnJlcGxhY2Uo
L1xuL2csICJcXG4iKS5yZXBsYWNlKC9cci9nLCAiXFxyIikgKyAnIic7CisgIGlmICh0eXBlb2Yg
YSAhPT0gInN0cmluZyIgfHwgdHlwZW9mIGIgIT09ICJzdHJpbmciKQorICAgIGRlYnVnKCJXQVJO
OiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoKSBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMiKTsKKyAg
dmFyIHVuZXZhbGVkU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoYik7CiAgIHNob3VsZEJlKGEsIHVu
ZXZhbGVkU3RyaW5nKTsKIH0KIApAQCAtMzk0LDYgKzM5NiwxNSBAQCBmdW5jdGlvbiBzaG91bGRC
ZUdyZWF0ZXJUaGFuT3JFcXVhbChfYSwgX2IpIHsKICAgICAgICAgdGVzdFBhc3NlZChfYSArICIg
aXMgPj0gIiArIF9iKTsKIH0KIAorZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coX2EpIHsKKyAgICB0
cnkgeworICAgICAgICBldmFsKF9hKTsKKyAgICAgICAgdGVzdFBhc3NlZChfYSArICIgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICB0ZXN0RmFp
bGVkKF9hICsgIiBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbi4gVGhyZXcgZXhjZXB0aW9uICIg
KyBlICsgIi4iKTsKKyAgICB9Cit9CisKIGZ1bmN0aW9uIHNob3VsZFRocm93KF9hLCBfZSkKIHsK
ICAgdmFyIGV4Y2VwdGlvbjsKQEAgLTQ3NCw5ICs0ODUsNyBAQCBmdW5jdGlvbiBzdGFydFdvcmtl
cih0ZXN0U2NyaXB0VVJMLCBzaGFyZWQpCiB7CiAgICAgc2VsZi5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKICAgICBkZWJ1ZygnU3RhcnRpbmcgd29ya2VyOiAnICsgdGVzdFNjcmlwdFVSTCk7Ci0gICAg
dmFyIHdvcmtlciA9IHNoYXJlZCA/IG5ldyBTaGFyZWRXb3JrZXIodGVzdFNjcmlwdFVSTCkgOiBu
ZXcgV29ya2VyKHRlc3RTY3JpcHRVUkwpOwotICAgIGlmIChzaGFyZWQpCi0gICAgICAgIHdvcmtl
ci5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7IHdvcmtlci5vbm1lc3NhZ2UoZXZl
bnQpOyB9OworICAgIHZhciB3b3JrZXIgPSBzaGFyZWQgPyBuZXcgU2hhcmVkV29ya2VyKHRlc3RT
Y3JpcHRVUkwsICJTaGFyZWQgV29ya2VyIikgOiBuZXcgV29ya2VyKHRlc3RTY3JpcHRVUkwpOwog
ICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZh
ciB3b3JrZXJQcmVmaXggPSAiW1dvcmtlcl0gIjsKQEAgLTUwNCwyMyArNTEzLDUyIEBAIGZ1bmN0
aW9uIHN0YXJ0V29ya2VyKHRlc3RTY3JpcHRVUkwsIHNoYXJlZCkKICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CiAgICAgfQogCisgICAgaWYgKHNoYXJlZCkgeworICAgICAgICB3b3JrZXIucG9ydC5v
bm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgeyB3b3JrZXIub25tZXNzYWdlKGV2ZW50KTsgfTsK
KyAgICAgICAgd29ya2VyLnBvcnQuc3RhcnQoKTsKKyAgICB9CiAgICAgcmV0dXJuIHdvcmtlcjsK
IH0KIAogaWYgKGlzV29ya2VyKCkpIHsKKyAgICB2YXIgd29ya2VyUG9ydCA9IHNlbGY7CisgICAg
aWYgKHNlbGYubmFtZSA9PSAiU2hhcmVkIFdvcmtlciIpIHsKKyAgICAgICAgc2VsZi5vbmNvbm5l
Y3QgPSBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICB3b3JrZXJQb3J0ID0gZS5wb3J0c1swXTsK
KyAgICAgICAgICAgIHdvcmtlclBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgdmFyIGNvbG9uID0g
ZXZlbnQuZGF0YS5pbmRleE9mKCI6Iik7CisgICAgICAgICAgICAgICAgaWYgKGNvbG9uID09IC0x
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVucmVjb2duaXplZCBtZXNzYWdl
IHRvIHNoYXJlZCB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB2YXIgY29kZSA9IGV2
ZW50LmRhdGEuc3Vic3RyaW5nKDAsIGNvbG9uKTsKKyAgICAgICAgICAgICAgICB2YXIgcGF5bG9h
ZCA9IGV2ZW50LmRhdGEuc3Vic3RyaW5nKGNvbG9uICsgMSk7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvZGUgPT0gIklNUE9SVCIpCisgICAgICAgICAg
ICAgICAgICAgICAgICBpbXBvcnRTY3JpcHRzKHBheWxvYWQpOworICAgICAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbnJlY29nbml6ZWQg
bWVzc2FnZSB0byBzaGFyZWQgd29ya2VyOiAiICsgZXZlbnQuZGF0YSk7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ2F1Z2h0
IGV4Y2VwdGlvbiBpbiBzaGFyZWQgd29ya2VyIG9ubWVzc2FnZTogIiArIGV4KTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgIH0KICAgICBkZXNjcmlw
dGlvbiA9IGZ1bmN0aW9uKG1zZywgcXVpZXQpIHsKLSAgICAgICAgcG9zdE1lc3NhZ2UoJ0RFU0M6
JyArIG1zZyk7CisgICAgICAgIHdvcmtlclBvcnQucG9zdE1lc3NhZ2UoJ0RFU0M6JyArIG1zZyk7
CiAgICAgfQogICAgIHRlc3RGYWlsZWQgPSBmdW5jdGlvbihtc2cpIHsKLSAgICAgICAgcG9zdE1l
c3NhZ2UoJ0ZBSUw6JyArIG1zZyk7CisgICAgICAgIHdvcmtlclBvcnQucG9zdE1lc3NhZ2UoJ0ZB
SUw6JyArIG1zZyk7CiAgICAgfQogICAgIHRlc3RQYXNzZWQgPSBmdW5jdGlvbihtc2cpIHsKLSAg
ICAgICAgcG9zdE1lc3NhZ2UoJ1BBU1M6JyArIG1zZyk7CisgICAgICAgIHdvcmtlclBvcnQucG9z
dE1lc3NhZ2UoJ1BBU1M6JyArIG1zZyk7CiAgICAgfQogICAgIGZpbmlzaEpTVGVzdCA9IGZ1bmN0
aW9uKCkgewotICAgICAgICBwb3N0TWVzc2FnZSgnRE9ORTonKTsKKyAgICAgICAgd29ya2VyUG9y
dC5wb3N0TWVzc2FnZSgnRE9ORTonKTsKICAgICB9CiAgICAgZGVidWcgPSBmdW5jdGlvbihtc2cp
IHsKLSAgICAgICAgcG9zdE1lc3NhZ2UobXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVz
c2FnZShtc2cpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1OTM1
OGUwYjllZGQyNTIwZTY1MjRlODBhMDE2NDZlNThkY2MyZWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpz
CkBAIC0wLDAgKzEsOCBAQAordmFyIHRlc3RVUkwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsK
KworZnVuY3Rpb24gdGVzdENvbXBsZXRlZCgpCit7CisgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgIHNjcmlwdEVsZW1lbnQuc3JjID0gIi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LWFzeW5jLmpzIjsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzY3JpcHRFbGVtZW50KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE3MTljY2ZjMTU1NDA5OTZjNDY3M2FhY2M4Y2Q1ZDg3
ZmQxMGQ0MDIuLjg5ODAwMTk4NDlmOTM1YmY3ZTIwYTJhNTliZTNlNjE1MjU5NmQ2OWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtODk3
LDYgKzg5Nyw3IEBAIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5EUk9JRCBTS0lQIDogZmFzdC9mb3Jt
cy9kYXRlID0gUEFTUwogQlVHQ1IxNDUzMzggV09OVEZJWCBBTkRST0lEIFNLSVAgOiBmYXN0L21l
ZGlhc3RyZWFtID0gUEFTUwogQlVHQ1IxNDUzMzggV09OVEZJWCBBTkRST0lEIFNLSVAgOiBmYXN0
L25vdGlmaWNhdGlvbnMgPSBQQVNTCiBCVUdDUjE0NTMzOCBXT05URklYIEFORFJPSUQgU0tJUCA6
IGZhc3Qvc3BlZWNoID0gUEFTUworQlVHQ1IxNDUzMzggV09OVEZJWCBBTkRST0lEIFNLSVAgOiBo
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMgPSBQQVNTCiBCVUdDUjE0NTMzOCBXT05URklYIEFORFJP
SUQgU0tJUCA6IHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvY29sb3IgPSBQQVNTCiBCVUdD
UjE0NTMzOCBXT05URklYIEFORFJPSUQgU0tJUCA6IHBsYXRmb3JtL2Nocm9taXVtL21lZGlhL3Zp
ZGVvLWNhcHR1cmUtcHJldmlldy5odG1sID0gUEFTUyAvLyBVc2VzIG1lZGlhc3RyZWFtCiBCVUdD
UjE0NTMzOCBXT05URklYIEFORFJPSUQgU0tJUCA6IHdlYmF1ZGlvID0gUEFTUwpAQCAtMzYyOCwz
ICszNjI5LDUgQEAgQlVHV0s4MDM5NCBNQUMgV0lOIDogZmFzdC9ibG9jay9mbG9hdC8wMjQuaHRt
bCA9IElNQUdFK1RFWFQKIEJVR1dLODAzOTQgTUFDIFdJTiA6IGZhc3QvYmxvY2svbWFyZ2luLWNv
bGxhcHNlLzAyNS5odG1sID0gVEVYVAogQlVHV0s4MDM5NCBNQUMgV0lOIDogZmFzdC9ibG9jay9t
YXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlubGluZS8wMjUuaHRtbCA9IFRFWFQKIAorLy8g
RG9lcyBub3QgeWV0IHN1cHBvcnQgbmV3IHdlYiBub3RpZmljYXRpb25zIFRlc3RSdW5uZXIgQVBJ
CitCVUdXSzk1NTA2IFNLSVAgOiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMgPSBQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkwN2MzZDBkYWU3OWVl
ODZmNTc3NzcyMzY3OTU2YTU2OTRhMDRhYjcuLmEzNWVmNzMyZmUyNzM2NDZjMDUyOGVlMjZiZGEx
ZTRkMTYyNzA1YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25z
CkBAIC01OTgsNiArNTk4LDcgQEAgQlVHV0s5NTMwMiBTS0lQIDogZmFzdC9ldmVudHMvY29uc3Ry
dWN0b3JzL3NwZWVjaC1yZWNvZ25pdGlvbi1ldmVudC1jb25zdHJ1Y3Rvci4KIAogLy8gUmVxdWly
ZXMgc3VwcG9ydCBmb3IgV2ViIG5vdGlmaWNhdGlvbnMKIEJVR1dLNzM1NDQgU0tJUCA6IGZhc3Qv
bm90aWZpY2F0aW9ucyA9IFRFWFQKK0JVR1dLNzM1NDQgU0tJUCA6IGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucyA9IFRFWFQKIAogLy8gVGhpcyB0ZXN0cyBmYWlscyBieSBvbmUgb24gMzIgYml0cyBt
YWNoaW5lcyBkdWUgdG8gcm91bmRpbmcgaXNzdWVzLgogQlVHV0tFRkwgOiBmYXN0L2Nzcy9wZXJj
ZW50YWdlLW5vbi1pbnRlZ2VyLmh0bWwgPSBURVhUIFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggN2FjY2U3YmFjYTY2ODYyZWZjMGFkMDdiMGQ3NTky
NmIxMjlkZjRjNC4uM2E1ZWRkN2RmMzAzNmY0MzRkM2VmZjdiNWIyYWVmZWZkN2YzOTYzNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2MSw2ICsxNjEs
NyBAQCBCVUdXS0dUSyBTS0lQIDogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24gPSBURVhUCiAK
IC8vIERlc2t0b3Agbm90aWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZC4KIEJVR1dLR1RLIFNL
SVAgOiBmYXN0L25vdGlmaWNhdGlvbnMgPSBURVhUCitCVUdXS0dUSyBTS0lQIDogaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zID0gVEVYVAogCiAvLyBXZSBsYWNrIHVzZXJzY3JpcHRzIHN1cHBvcnQu
CiBCVUdXS0dUSyBTS0lQIDogdXNlcnNjcmlwdHMgPSBURVhUCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkCmluZGV4IDc2Mjg5N2YzZjA2Zjg1NmZlMjlkMGQ0YTY4OGFhMDYwZjYwYjVjNTMuLmUyZDcw
YTgyZmNjN2I0NDczODg2MTJhZjFhN2ZlMjhjMTc3NjljODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCkBAIC00MSw3ICs0MSw3IEBAIHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L2J1Z3MvYnVnMTc4ODU1LnhtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5MTMgUmVwYWludCBwaXhlbCB0ZXN0IGZhaWx1cmUKIGZhc3QvcmVwYWludC9ib2R5
LWJhY2tncm91bmQtaW1hZ2UuaHRtbAogCi0jIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgTm90
aWZpY2F0aW9ucy4KKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgx
Njk3IFNraXAgZmlsZTovLyBiYXNlZCBub3RpZmljYXRpb25zIHRlc3RzCiBmYXN0L25vdGlmaWNh
dGlvbnMKIAogIyBTa2lwcGVkIHdoaWxlIEVyaWMgQ2FybHNvbiB3b3JrcyBvbiBhIGZpeC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDU2OWJlNjk0ZGJiNjg4ZTQ4M2VkM2QyN2U5OTliZGQ2
ZmVlOGZjNzIuLmUwN2NjM2U5Y2Y1OTU4YzcyZThhZTlmNWM2ZGMxYjU3NzUyNDI2NzYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMjc3NCwzICsyNzc0LDYgQEAgaW5zcGVjdG9yL3Byb2Zp
bGVyL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKIHN2Zy9jdXN0b20vY2xhbXBlZC1t
YXNraW5nLWNsaXBwaW5nLnN2ZwogCiBmYXN0L2xvYWRlci9kb2N1bWVudC1kZXN0cnVjdGlvbi13
aXRoaW4tdW5sb2FkLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTU1MDcKK2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggNDE1OGNkZTA4N2VjZjgyZDMy
ZjA5NzFmYzM2MGMwMzVjMmFhNzY2OS4uZjQxZTJlMjAyNzU5YTVmNDg4NDE5NzI1YWNlNTZmMzYw
NWQzZGFmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTgzMyw2ICs4MzMsNyBAQCBm
YXN0L2RvbS9HZW9sb2NhdGlvbgogCiAjIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgTm90aWZp
Y2F0aW9ucy4KIGZhc3Qvbm90aWZpY2F0aW9ucworaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zCiAK
ICMgVGhlc2UgbWVkaWEgdGVzdHMgcmVncmVzc2VkIG9uIHRoZSBib3RzLiAgU2tpcHBpbmcgdG8g
bWFrZSB0aGUgYm90cyBncmVlbiBhZ2Fpbi4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI4MjgxCkBAIC0yMTY3LDQgKzIxNjgsMyBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3JlZmVycmVyLXBvbGljeS1yZWwtbm9yZWZlcnJlci5odG0KICMgQXMgdXN1YWwsIERSVCBv
biBXaW5kb3dzIGhhcyBwcm9ibGVtcyBrbm93aW5nIGhvdyB0byBjb250aW51ZSBhIHRlc3Qgd2hl
biBmb2N1cyBtb3ZlcyB0byBhIHBvcHVwIHdpbmRvdywgaW4gdGhpcyBjYXNlIHRoZSBmaWxlIGNo
b29zZXIKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDY5CiBm
YXN0L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFu
ZGxlZC5odG1sCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IDc4ZWU1
NjY3MmIwOTFkNDE2OWQ0YTBiY2U3ZjhiMWNkNDhkMGRhY2MuLjJhZjNjZGVmYWE2NTBiNzRiNDk1
ODdiYWY5NzQzYWY0NGVhYWYyNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bmNhaXJvL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBl
ZApAQCAtMTM1MCw2ICsxMzUwLDcgQEAgZmFzdC9kb20vR2VvbG9jYXRpb24KIAogIyBUaGlzIHBv
cnQgZG9lc24ndCBzdXBwb3J0IE5vdGlmaWNhdGlvbnMuCiBmYXN0L25vdGlmaWNhdGlvbnMKK2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucwogCiAjIFRoZXNlIG1lZGlhIHRlc3RzIHJlZ3Jlc3NlZCBv
biB0aGUgYm90cy4gIFNraXBwaW5nIHRvIG1ha2UgdGhlIGJvdHMgZ3JlZW4gYWdhaW4uCiAjIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODI4MQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161631</attachid>
            <date>2012-08-31 01:01:21 -0700</date>
            <delta_ts>2012-08-31 10:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95493-20120831010109.patch</filename>
            <type>text/plain</type>
            <size>32515</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmUyMzY1NDQyNjIwMTNi
MWJjYWQ1MTRjYjQxM2EzMzYzOTg3Njg2MC4uOGM3OGY0MWE0MmZjNDEzMTc5ZGE5ZDlkNWQwZmVk
OWIwZmJhOTEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA4LTMxICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0ZXN0
cyB0byBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjIw
OTMwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW1wbGlmeSB0aGUgcGFzc2luZyBvZiB0aGUgcGVybWlzc2lvbiBwb2xpY3kgdG8ganVzdCBhIGJv
b2xlYW4gaW5zdGVhZCBvZiBjb252ZXJ0aW5nIGl0CisgICAgICAgIGJhY2sgYW5kIGZvcnRoIGZy
b20gdGhlIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBlbnVtLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDogTW92ZSB0
aGUgZGVjbGFyYXRpb24gdG8gdGhlIHNlY3Rpb24KKyAgICAgICAgb2YgZnVuY3Rpb25zIHRoYXQg
YXJlIFRlc3RSdW5uZXIgU1BJLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0
V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbik6IFVzZSBhIGJvb2xlYW4uCisgICAgICAgICogV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAg
KiB3aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlOiBFeHBvcnQgV0tOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdC5oLgorCiAyMDEyLTA4LTMwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVy
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgfkpTTlBPYmplY3Qgc2hvdWxkIGNhbGwgaW52YWxpZGF0
ZSgpIGlmIGl0IGhhc24ndCBiZWVuIGNhbGxlZCBhbHJlYWR5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVByaXZhdGUuaAppbmRleCA3Y2JhMjYzZmNjZmU2ZDJkNTA5YTExNzU4YjNmNzdhMjgxNzRjNGYx
Li40ODA0Nzg5ODY0YjUzMDYzMzA3ZTQzOGJiNmRlODU4ZmM1NzFmODEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQcml2YXRlLmgKQEAgLTc1LDYgKzc1LDcgQEAgV0tfRVhQT1JUIGJvb2wgV0tC
dW5kbGVJc1BhZ2VCb3hWaXNpYmxlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVGcmFtZVJl
ZiBmcmEKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihX
S0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tTdHJp
bmdSZWYgbG9jYXRpb24pOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
U3RyaW5nUmVmIG9yaWdpblN0cmluZ1JlZiwgYm9vbCBhbGxvd2VkKTsKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlUmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoV0tCdW5kbGVSZWYg
YnVuZGxlLCBXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CitXS19FWFBPUlQgdWludDY0X3QgV0tCdW5k
bGVHZXRXZWJOb3RpZmljYXRpb25JRChXS0J1bmRsZVJlZiBidW5kbGUsIEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU1ZhbHVlUmVmIG5vdGlmaWNhdGlvbik7CiAKIC8vIFVzZXJDb250ZW50IEFQSQog
V0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVBZGRVc2VyU2NyaXB0KFdLQnVuZGxlUmVmIGJ1bmRsZSwg
V0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNj
cmlwdFdvcmxkLCBXS1N0cmluZ1JlZiBzb3VyY2UsIFdLVVJMUmVmIHVybCwgV0tBcnJheVJlZiB3
aGl0ZWxpc3QsIFdLQXJyYXlSZWYgYmxhY2tsaXN0LCBXS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1l
IGluamVjdGlvblRpbWUsIFdLVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1l
cyk7CkBAIC0xMDIsOCArMTAzLDYgQEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVJc1Byb2Nlc3Np
bmdVc2VyR2VzdHVyZShXS0J1bmRsZVJlZiBidW5kbGUpOwogCiBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVNldFBhZ2VWaXNpYmlsaXR5U3RhdGUoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgaW50IHN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRlKTsKIAotV0tfRVhQT1JU
IHVpbnQ2NF90IFdLQnVuZGxlR2V0V2ViTm90aWZpY2F0aW9uSUQoV0tCdW5kbGVSZWYgYnVuZGxl
LCBKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub3RpZmljYWl0b24pOwotCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAppbmRleCBiNTg1
MzhhMTljZDM5YmE2ZGNiNGQxOTE4OTg0ZGE2YmFkYjBiZDdjLi45MzU2ZmE4MzFmMjZhNmMzNzBh
OGRkMmNkZTgyN2RmYjdmNTA2ZTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtNTM5LDcg
KzUzOSw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24o
V2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgY29uCiB2b2lkIEluamVjdGVkQnVuZGxlOjpz
ZXRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYg
b3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBwYWdlLT5ub3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhv
cmlnaW5TdHJpbmcsIGFsbG93ZWQgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxv
d2VkIDogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKTsKKyAgICBwYWdlLT5u
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+c2V0UGVybWlzc2lvbkxldmVs
Rm9yVGVzdGluZyhvcmlnaW5TdHJpbmcsIGFsbG93ZWQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFS
QU0ocGFnZSk7CiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IDIy
ZTUwYjliNDMzNWQ3ZWVmYmNjYTMyNjIyNjc5ZmJjZTlhNWVlYzAuLjQ0Yjk3ZWI0ZTIyOTVhMDA0
YmU3MDUyYWM0N2E5ZjRlNmE4ZmE5MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0xMjgsMTMgKzEyOCwxMyBAQCBO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpwZXJtaXNzaW9uTAogI2VuZGlmCiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzZXRQZXJtaXNzaW9uTGV2ZWxGb3JUZXN0aW5nKGNvbnN0
IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb24gcGVybWlzc2lvbikKK3ZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyOjpzZXRQZXJtaXNzaW9uTGV2ZWxGb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgb3JpZ2luU3Ry
aW5nLCBib29sIGFsbG93ZWQpCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5ub3RpZmlj
YXRpb25NYW5hZ2VyKCkuZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luU3RyaW5n
LCBwZXJtaXNzaW9uKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5ub3RpZmljYXRpb25NYW5h
Z2VyKCkuZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luU3RyaW5nLCBhbGxvd2Vk
KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZyk7Ci0gICAgVU5VU0VEX1BB
UkFNKHBlcm1pc3Npb24pOworICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsKICNlbmRpZgogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmgKaW5kZXggZDk5MTJiMWE3ZDhjZDk3MGNjZWExOThkZjVjNGZmMDY5Zjc2Yjk3My4uMTg5OWMw
MWQ0N2MxODY5MjNkYTgwYWUwMGE4NjM3MWE3ZTdmM2JjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtNTksNyArNTksNyBA
QCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBl
cm1pc3Npb25MZXZlbChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiopOwogCiAgICAgLy8gRm9yIHRl
c3RpbmcgcHVycG9zZXMgb25seS4KLSAgICB2b2lkIHNldFBlcm1pc3Npb25MZXZlbEZvclRlc3Rp
bmcoY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbik7CisgICAgdm9pZCBzZXRQZXJtaXNzaW9uTGV2ZWxGb3JUZXN0aW5nKGNv
bnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpOwogICAgIHZvaWQgcmVtb3Zl
QWxsUGVybWlzc2lvbnNGb3JUZXN0aW5nKCk7CiAgICAgCiAgICAgdm9pZCBkaWRSZWNlaXZlTm90
aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklELCBib29s
IGFsbG93ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0
ZWQubWFrZSBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKaW5kZXgg
NjBkNDZlZWU1YzRkOGE3NDM2M2IxYjBjMjFlZDYyYjVlYmVhOGFhMC4uZjkzZjhhOTAwYWU2NDdl
YWM1ZjkzMWYzOTEyNTM1M2Y4YjJiMzEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDJHZW5lcmF0ZWQubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mkdl
bmVyYXRlZC5tYWtlCkBAIC03NCw2ICs3NCw3IEBAIGFsbDoKICAgICB4Y29weSAveSAvZCAiLi5c
VUlQcm9jZXNzXEFQSVxDXFdLTmF2aWdhdGlvbkRhdGEuaCIgIiVDb25maWd1cmF0aW9uQnVpbGRE
aXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxD
XFdLTm90aWZpY2F0aW9uLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktp
dDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS05vdGlmaWNhdGlvbk1h
bmFnZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKKyAgICB4
Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4
Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLTm90aWZpY2F0aW9uUHJvdmlkZXIuaCIg
IiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAv
ZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLT3BlblBhbmVsUGFyYW1ldGVycy5oIiAiJUNvbmZpZ3Vy
YXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVBy
b2Nlc3NcQVBJXENcV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5oIiAiJUNvbmZpZ3VyYXRpb25C
dWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY3ODY1YmEzZjExY2E1ZmUwODE1NDAyOTNjYTNlZGU3OTEx
ZDE0MTAuLmI5NjA1Y2VkYWMwMDVkMmJlM2Y1MDRhNmQzZmQ4MDY5ZTY1MmEyYjQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxMi0wOC0zMSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgW1Rl
c3RzXSBBZGQgYmFzaWMgdGVzdHMgdG8gaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTQ5MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTIyMDkzMDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHBlcm1pc3Npb24gcmVxdWVzdCBzdXBwb3J0IGZvciBXVFIu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qp
OiBBbHdheXMgYWxsb3cuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oOgorICAgICAgICAoVGVzdENvbnRyb2xsZXIpOgorCiAyMDEyLTA4LTMwICBYaWFuemh1IFdh
bmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLUFuZHJv
aWRdIFNraXAgY29tcG9zaXRpbmcvd2ViZ2wgYW5kIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
dGhyZWFkZWQvY29tcG9zaXRpbmcvd2ViZ2wgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMTZhMjNjMWRhOWNmMDlkMjQ5ZTlkMGI3MDJkM2VjN2Iw
N2U4MTZmZi4uYzU0OWU4OGE5YjQ4OWE0NDRhN2Q0MWE3YzhjMjdmY2RmMWQ5YTA2MiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dFByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQy
L1dLTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS05vdGlmaWNhdGlvbk1hbmFn
ZXIuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qu
aD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLTnVtYmVyLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1Bh
Z2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlUHJpdmF0ZS5oPgpAQCAtMzg4LDcg
KzM4OSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFyZ2MsIGNvbnN0
IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgMCwgLy8gc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdAog
ICAgICAgICBjcmVhdGVPdGhlclBhZ2UsCiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92ZU92ZXJF
bGVtZW50Ci0gICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0CisgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0LCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdAog
ICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKICAgICB9OwogICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGll
bnQpOwpAQCAtOTUyLDQgKzk1MywxNCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVdl
Yk5vdGlmaWNhdGlvbkNsaWNrKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogICAgIG1fd2ViTm90
aWZpY2F0aW9uUHJvdmlkZXIuc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhub3RpZmljYXRp
b25JRCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGljeUZvck5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVm
IG9yaWdpbiwgV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiByZXF1ZXN0LCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHN0YXRpY19jYXN0PFRlc3RDb250cm9sbGVyKj4o
Y29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT5kZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdChwYWdlLCBvcmlnaW4sIHJlcXVlc3QpOworfQorCit2b2lkIFRl
c3RDb250cm9sbGVyOjpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYsIFdLTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RSZWYgcmVxdWVzdCkKK3sKKyAgICBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0QWxsb3cocmVxdWVzdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDMzMDlhZjJhNDRmMTAzMjdlMTE5N2FhNDQy
ZjVjOTgwOTc5ZTcxMTYuLjBkMzM3MTdiNzFjNmE5MTg2NzE1Y2NlZGY2MWIyMGRkNjdiZjMzY2Mg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTk3LDYgKzk3LDkg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQYWdlUmVmLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICB2b2lkIHByb2Nlc3NEaWRDcmFzaCgpOwogCisg
ICAgc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QoV0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBXS05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0UmVmLCBjb25zdCB2b2lkKik7CisgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYs
IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYpOworCiAgICAgc3RhdGljIFdLUGFn
ZVJlZiBjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVxdWVzdFJlZiwg
V0tEaWN0aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIGNv
bnN0IHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lkIHJ1bk1vZGFsKFdLUGFnZVJlZiwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWJhMjAwZDYxMGNhNWQzN2ZhYjY0MGYzMzFiMzRm
NTIwMDQ5YzM1ZC4uY2ZmNWI4YjQ1NGVkM2VmMzBjOTA1NGRmYWJmYmZiOWY3YjU4OTcxZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA4LTMxICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0ZXN0cyB0byBodHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjIwOTMwMz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9yZXF1ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL3JlcXVlc3QuaHRtbDogQWRkZWQuIFRoaXMgdGVzdCByZXF1ZXN0cyBwZXJt
aXNzaW9uLiBEUlQvV1RSCisgICAgICAgIGlzIGV4cGVjdGVkIHRvIGFjY2VwdCBpdCwgYW5kIHdl
IHZlcmlmeSB0aGF0IGJvdGggdGhlIHBhcmFtZXRlciBpbiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24s
CisgICAgICAgIGFuZCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiwgYXJlIGJvdGggc2V0IHRvICJn
cmFudGVkIi4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hvdy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93Lmh0
bWw6IEFkZGVkLiBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHZhcmlvdXMgcGVybWlzc2lvbgor
ICAgICAgICBBUElzIG9uIFRlc3RSdW5uZXIgd29yay4KKworICAgICAgICBMZWdhY3kgYW5hbG9n
IHRvIGFib3ZlIHRlc3RzLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVxdWVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3cuaHRtbDogQWRkZWQuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanM6IEFk
ZGVkLiBUaGlzIHdpbGwgYmUgdXNlZCBmb3IgbW9zdCB0ZXN0cyBzaW5jZQorICAgICAgICB0aGUg
ZXZlbnRzIGFyZSBjYWxsZWQgYXN5bmNocm9ub3VzbHkuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanM6IFVwZGF0ZWQgZnJvbSBmYXN0L2pzL3Jlc291cmNlcy4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpz
OiBBZGRlZC4gQWRkcyBhIGhlbHBlciBmdW5jdGlvbiB0byBjb21wbGV0ZQorICAgICAgICB0aGUg
dGVzdCwgYW5kIGRlZmluZXMgdGhlIGRvbWFpbiBvZiBodHRwL3Rlc3RzLgorICAgICAgICAodGVz
dENvbXBsZXRlZCk6CisKKyAgICAgICAgU2tpcC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIG9uIEFuZHJvaWQuIEZpbGVkIDk1NTA2IHRvIGJyaW5n
IENocm9taXVtIHN1cHBvcnQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogRmls
ZWQgOTU1MDcgdG8gYnJpbmcgUXQgc3VwcG9ydC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tp
cHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOgorCiAyMDEyLTA4LTMw
ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxMjYxMjcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kNjlmNDQ2MTMzNmU0YjZiODBhMDNiZmIyYjg3NDk5Mjc5M2E2OTg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9yZXF1ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVy
bWlzc2lvbigpIGlzIDEKK1BBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJt
aXNzaW9uKCkgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvcmVxdWVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0OTkxMzkxYzcyMDI2MWNkYmMw
ZTYzNWU5ZDEyYjc1NjllZDc0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCkBAIC0wLDAgKzEsMjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKwl0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKworZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBh
IHJlcXVlc3QgZm9yIHBlcm1pc3Npb24gaXMgbWFkZS4iKTsKKworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisJc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlz
c2lvbigpIiwgIjEiKTsKKwlOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24o
KSB7CisJCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Np
b24oKSIsICIwIik7CisJCXRlc3RDb21wbGV0ZWQoKTsKKwl9KTsKK30KKworc2V0VGltZW91dCh0
ZXN0Q29tcGxldGVkLCAxMDApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45YTIxYTdjZTljMmMxNzI1ZjdmZjIzYWQ4MjA1MWZkYWU3Zjg5NjA5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9zaG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlzIHRlc3QgbG9va3MgZm9y
IHRoZSBkaXNwYXRjaCBvZiB0aGUgb25zaG93IGV2ZW50IGhhbmRsZXIuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNr
UGVybWlzc2lvbigpIGlzIDEKK1BBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCcnLCAndGl0bGUgMScsICdib2R5Jyk7IHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU0VDVVJJVFlfRVJSOiBET00gRXhjZXB0aW9uIDE4LgorR3JhbnRpbmcgcGVybWlzc2lvbiB0
byBodHRwOi8vMTI3LjAuMC4xOjgwMDAKK1BBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMu
Y2hlY2tQZXJtaXNzaW9uKCkgaXMgMAorUEFTUyBvbmRpc3BsYXkgZXZlbnQgaGFuZGxlciB3YXMg
Y2FsbGVkCitEZW55aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCitQQVNT
IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDIKK1BBU1Mg
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAndGl0bGUg
MycsICdib2R5Jyk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhj
ZXB0aW9uIDE4LgorUmVzZXR0aW5nIGFsbCBwZXJtaXNzaW9ucworUEFTUyB3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3cuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTU5
YjRmNTIzNzMxNWNiMzZkYzc0Y2ZhYmFkYjE0MjEzMThiMmYzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwKQEAg
LTAsMCArMSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmlj
YXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIpOwor
Cit2YXIgbiA9IG51bGw7CitmdW5jdGlvbiBwYXJ0MSgpIHsKKwlzaG91bGRCZSgid2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOworCXNob3VsZFRocm93
KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRs
ZSAxJywgJ2JvZHknKTsiKTsKKwlzZXRUaW1lb3V0KHBhcnQyLCAwKTsKK30KKworZnVuY3Rpb24g
cGFydDIoKSB7CisJZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwor
CXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOworCXNo
b3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIw
Iik7CisKKwluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9u
KCIiLCAidGl0bGUgMiIsICJib2R5Iik7CisJbi5vbnNob3cgPSBmdW5jdGlvbigpIHsKKwkJdGVz
dFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZCIpOworCQlzZXRUaW1l
b3V0KHBhcnQzLCAwKTsKKwl9OworCW4ub25lcnJvciA9IGZ1bmN0aW9uKCkgeworCQl0ZXN0RmFp
bGVkKCJvbmVycm9yIGV2ZW50IGhhbmRsZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQiKTsKKwkJc2V0
VGltZW91dChwYXJ0MywgMCk7CisJfTsKKwluLnNob3coKTsKK30KKworZnVuY3Rpb24gcGFydDMo
KSB7CisJZGVidWcoIkRlbnlpbmcgcGVybWlzc2lvbiB0byAiICsgdGVzdFVSTCk7CisJdGVzdFJ1
bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsKKwlzaG91bGRCZSgi
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMiIpOworCXNo
b3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24o
JycsICd0aXRsZSAzJywgJ2JvZHknKTsiKTsKKwlzZXRUaW1lb3V0KHBhcnQ0LCAwKTsKK30KKwor
ZnVuY3Rpb24gcGFydDQoKSB7CisJZGVidWcoIlJlc2V0dGluZyBhbGwgcGVybWlzc2lvbnMiKTsK
Kwl0ZXN0UnVubmVyLnJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CisJc2hv
dWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEi
KTsKKwl0ZXN0Q29tcGxldGVkKCk7Cit9CisKK3BhcnQxKCk7CisKK3NldFRpbWVvdXQodGVzdENv
bXBsZXRlZCwgMTAwKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFj
YTA4ZmU4ZWZkYzhjNGM2ZjJiMWJhZGZiYmYyYzRhMDc1ZDZkOWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvcmVxdWVzdC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3Ig
cGVybWlzc2lvbiBpcyBtYWRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyAiZGVmYXVsdCIKK1BBU1MgcGVybWlzc2lvbiBp
cyBncmFudGVkLgorUEFTUyBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyAiZ3JhbnRlZCIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvcmVxdWVzdC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZWJiZDE1MzQ2NTNjNTkyYTAwYmNkZTkzYzdkZmZiM2Q4ODU4ZjhlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QuaHRt
bApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25v
dGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKK2Rlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuIik7CisK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZp
Y2F0aW9uLnBlcm1pc3Npb24iLCAiZGVmYXVsdCIpOworCU5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVy
bWlzc2lvbihmdW5jdGlvbihwZXJtaXNzaW9uKSB7CisJCWlmIChwZXJtaXNzaW9uID09ICdncmFu
dGVkJykKKwkJCXRlc3RQYXNzZWQoInBlcm1pc3Npb24gaXMgZ3JhbnRlZC4iKTsKKwkJZWxzZQor
CQkJdGVzdEZhaWxlZCgicGVybWlzc2lvbiBzaG91bGQgYmUgZ3JhbnRlZCwgYnV0IGlzICIgKyBw
ZXJtaXNzaW9uICsgIi4iKTsKKwkJc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJOb3RpZmljYXRpb24u
cGVybWlzc2lvbiIsICJncmFudGVkIik7CisJCXRlc3RDb21wbGV0ZWQoKTsKKwl9KTsKK30KKwor
c2V0VGltZW91dCh0ZXN0Q29tcGxldGVkLCAxMDApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hvdy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hvdy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTAxZWIxZmFmMzg4OTVjOTJjZmU0NmMwMGY1MDA5YjFkNzlkOGYxYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNw
YXRjaCBvZiB0aGUgb25zaG93IGV2ZW50IGhhbmRsZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgorUEFT
UyBvbmVycm9yIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAorR3JhbnRpbmcgcGVybWlzc2lvbiB0
byBodHRwOi8vMTI3LjAuMC4xOjgwMDAKK1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMg
ImdyYW50ZWQiCitQQVNTIG9uc2hvdyBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKK0Rlbnlpbmcg
cGVybWlzc2lvbiB0byBodHRwOi8vMTI3LjAuMC4xOjgwMDAKK1BBU1MgTm90aWZpY2F0aW9uLnBl
cm1pc3Npb24gaXMgImRlbmllZCIKK1BBU1Mgb25lcnJvciBldmVudCBoYW5kbGVyIHdhcyBjYWxs
ZWQKK1Jlc2V0dGluZyBhbGwgcGVybWlzc2lvbnMKK1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Np
b24gaXMgImRlZmF1bHQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL3Nob3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZGQ0ZTllNjdmMDU4YTc3YzIwZDg1NmE1NGY5MjFlMTQwZDJmZjhl
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9zaG93Lmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCitkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVu
dCBoYW5kbGVyLiIpOworCit2YXIgbiA9IG51bGw7CitmdW5jdGlvbiBwYXJ0MSgpIHsKKwlzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsK
KworCW4gPSBuZXcgTm90aWZpY2F0aW9uKCJ0aXRsZSAxIik7CisJbi5vbnNob3cgPSBmdW5jdGlv
bigpIHsKKwkJdGVzdEZhaWxlZCgib25zaG93IGV2ZW50IGhhbmRsZXIgc2hvdWxkIG5vdCBiZSBj
YWxsZWQiKTsKKwkJc2V0VGltZW91dChwYXJ0MiwgMCk7CisJfTsKKwluLm9uZXJyb3IgPSBmdW5j
dGlvbigpIHsKKwkJdGVzdFBhc3NlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQi
KTsKKwkJc2V0VGltZW91dChwYXJ0MiwgMCk7CisJfTsKK30KKworZnVuY3Rpb24gcGFydDIoKSB7
CisJZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOworCXRlc3RSdW5u
ZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOworCXNob3VsZEJlRXF1
YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZ3JhbnRlZCIpOworCisJbiA9
IG5ldyBOb3RpZmljYXRpb24oInRpdGxlIDIiKTsKKwluLm9uc2hvdyA9IGZ1bmN0aW9uKCkgewor
CQl0ZXN0UGFzc2VkKCJvbnNob3cgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7CisJCXNldFRp
bWVvdXQocGFydDMsIDApOworCX07CisJbi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisJCXRlc3RG
YWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxlciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworCQlz
ZXRUaW1lb3V0KHBhcnQzLCAwKTsKKwl9OworfQorCitmdW5jdGlvbiBwYXJ0MygpIHsKKwlkZWJ1
ZygiRGVueWluZyBwZXJtaXNzaW9uIHRvICIgKyB0ZXN0VVJMKTsKKwl0ZXN0UnVubmVyLmRlbnlX
ZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOworCXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZGVuaWVkIik7CisKKwluID0gbmV3IE5vdGlm
aWNhdGlvbigidGl0bGUgMyIpOworCW4ub25zaG93ID0gZnVuY3Rpb24oKSB7CisJCXRlc3RGYWls
ZWQoIm9uc2hvdyBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7CisJCXNldFRp
bWVvdXQocGFydDQsIDApOworCX07CisJbi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisJCXRlc3RQ
YXNzZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7CisJCXNldFRpbWVvdXQo
cGFydDQsIDApOworCX07Cit9CisKK2Z1bmN0aW9uIHBhcnQ0KCkgeworCWRlYnVnKCJSZXNldHRp
bmcgYWxsIHBlcm1pc3Npb25zIik7CisJdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9ucygpOworCXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBl
cm1pc3Npb24iLCAiZGVmYXVsdCIpOworCXRlc3RDb21wbGV0ZWQoKTsKK30KKworcGFydDEoKTsK
Kworc2V0VGltZW91dCh0ZXN0Q29tcGxldGVkLCAxMDApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzkzM2Q3MDA3ZGU4NzFhNGVkZjg5NGRlZWNkNDFiMjQ2M2I5ZjNlOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC1hc3luYy5qcwpAQCAtMCwwICsxLDcgQEAKK2lmICghZXJyb3JNZXNzYWdlKQorICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzaG91bGRCZVRydWUoInN1Y2Nlc3NmdWxseVBhcnNl
ZCIpOworZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFu
PicpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
CmluZGV4IDg2ZjZkZGJkYzdhMmUyOWZlMjhmNWRlMWFiM2IzNTlmMTBjMDNiMWMuLmY0ZjUwMmYw
MGRiNjQxZDAwYTJlMmNhOWMyYzI0MWJmOWE5MmVjYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC02OCw3ICs2OCw3IEBAIHZhciBk
ZXNjcmlwdGlvbiwgZGVidWcsIHN1Y2Nlc3NmdWxseVBhcnNlZCwgZXJyb3JNZXNzYWdlOwogICAg
ICAgICBzdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSBjc3M7CiAgICAgICAgIChkb2N1bWVudC5o
ZWFkIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50
KTsKICAgICB9Ci0gICAgCisKICAgICBpZiAoIWlzV29ya2VyKCkpCiAgICAgICAgIGluc2VydFN0
eWxlU2hlZXQoKTsKIApAQCAtMjU4LDcgKzI1OCw5IEBAIGZ1bmN0aW9uIHNob3VsZEJlWmVybyhf
YSkgeyBzaG91bGRCZShfYSwgIjAiKTsgfQogCiBmdW5jdGlvbiBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoYSwgYikKIHsKLSAgdmFyIHVuZXZhbGVkU3RyaW5nID0gJyInICsgYi5yZXBsYWNlKC9cXC9n
LCAiXFxcXCIpLnJlcGxhY2UoLyIvZywgIlwiIikucmVwbGFjZSgvXG4vZywgIlxcbiIpLnJlcGxh
Y2UoL1xyL2csICJcXHIiKSArICciJzsKKyAgaWYgKHR5cGVvZiBhICE9PSAic3RyaW5nIiB8fCB0
eXBlb2YgYiAhPT0gInN0cmluZyIpCisgICAgZGVidWcoIldBUk46IHNob3VsZEJlRXF1YWxUb1N0
cmluZygpIGV4cGVjdHMgc3RyaW5nIGFyZ3VtZW50cyIpOworICB2YXIgdW5ldmFsZWRTdHJpbmcg
PSBKU09OLnN0cmluZ2lmeShiKTsKICAgc2hvdWxkQmUoYSwgdW5ldmFsZWRTdHJpbmcpOwogfQog
CkBAIC0zOTQsNiArMzk2LDE1IEBAIGZ1bmN0aW9uIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFs
KF9hLCBfYikgewogICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyA+PSAiICsgX2IpOwogfQog
CitmdW5jdGlvbiBzaG91bGROb3RUaHJvdyhfYSkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwo
X2EpOworICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4i
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gIiArIGUgKyAiLiIpOworICAgIH0K
K30KKwogZnVuY3Rpb24gc2hvdWxkVGhyb3coX2EsIF9lKQogewogICB2YXIgZXhjZXB0aW9uOwpA
QCAtNDc0LDkgKzQ4NSw3IEBAIGZ1bmN0aW9uIHN0YXJ0V29ya2VyKHRlc3RTY3JpcHRVUkwsIHNo
YXJlZCkKIHsKICAgICBzZWxmLmpzVGVzdElzQXN5bmMgPSB0cnVlOwogICAgIGRlYnVnKCdTdGFy
dGluZyB3b3JrZXI6ICcgKyB0ZXN0U2NyaXB0VVJMKTsKLSAgICB2YXIgd29ya2VyID0gc2hhcmVk
ID8gbmV3IFNoYXJlZFdvcmtlcih0ZXN0U2NyaXB0VVJMKSA6IG5ldyBXb3JrZXIodGVzdFNjcmlw
dFVSTCk7Ci0gICAgaWYgKHNoYXJlZCkKLSAgICAgICAgd29ya2VyLnBvcnQub25tZXNzYWdlID0g
ZnVuY3Rpb24oZXZlbnQpIHsgd29ya2VyLm9ubWVzc2FnZShldmVudCk7IH07CisgICAgdmFyIHdv
cmtlciA9IHNoYXJlZCA/IG5ldyBTaGFyZWRXb3JrZXIodGVzdFNjcmlwdFVSTCwgIlNoYXJlZCBX
b3JrZXIiKSA6IG5ldyBXb3JrZXIodGVzdFNjcmlwdFVSTCk7CiAgICAgd29ya2VyLm9ubWVzc2Fn
ZSA9IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHdvcmtlclByZWZpeCA9ICJb
V29ya2VyXSAiOwpAQCAtNTA0LDIzICs1MTMsNTIgQEAgZnVuY3Rpb24gc3RhcnRXb3JrZXIodGVz
dFNjcmlwdFVSTCwgc2hhcmVkKQogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiAKKyAg
ICBpZiAoc2hhcmVkKSB7CisgICAgICAgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9u
KGV2ZW50KSB7IHdvcmtlci5vbm1lc3NhZ2UoZXZlbnQpOyB9OworICAgICAgICB3b3JrZXIucG9y
dC5zdGFydCgpOworICAgIH0KICAgICByZXR1cm4gd29ya2VyOwogfQogCiBpZiAoaXNXb3JrZXIo
KSkgeworICAgIHZhciB3b3JrZXJQb3J0ID0gc2VsZjsKKyAgICBpZiAoc2VsZi5uYW1lID09ICJT
aGFyZWQgV29ya2VyIikgeworICAgICAgICBzZWxmLm9uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgICAgIHdvcmtlclBvcnQgPSBlLnBvcnRzWzBdOworICAgICAgICAgICAgd29ya2Vy
UG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICB2YXIgY29sb24gPSBldmVudC5kYXRhLmluZGV4T2Yo
IjoiKTsKKyAgICAgICAgICAgICAgICBpZiAoY29sb24gPT0gLTEpIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiVW5yZWNvZ25pemVkIG1lc3NhZ2UgdG8gc2hhcmVkIHdvcmtlcjog
IiArIGV2ZW50LmRhdGEpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZXZlbnQuZGF0YS5zdWJzdHJpbmco
MCwgY29sb24pOworICAgICAgICAgICAgICAgIHZhciBwYXlsb2FkID0gZXZlbnQuZGF0YS5zdWJz
dHJpbmcoY29sb24gKyAxKTsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoY29kZSA9PSAiSU1QT1JUIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGltcG9y
dFNjcmlwdHMocGF5bG9hZCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVucmVjb2duaXplZCBtZXNzYWdlIHRvIHNoYXJlZCB3
b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleCkgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDYXVnaHQgZXhjZXB0aW9uIGluIHNoYXJl
ZCB3b3JrZXIgb25tZXNzYWdlOiAiICsgZXgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH07CisgICAgICAgIH07CisgICAgfQogICAgIGRlc2NyaXB0aW9uID0gZnVuY3Rpb24obXNn
LCBxdWlldCkgewotICAgICAgICBwb3N0TWVzc2FnZSgnREVTQzonICsgbXNnKTsKKyAgICAgICAg
d29ya2VyUG9ydC5wb3N0TWVzc2FnZSgnREVTQzonICsgbXNnKTsKICAgICB9CiAgICAgdGVzdEZh
aWxlZCA9IGZ1bmN0aW9uKG1zZykgewotICAgICAgICBwb3N0TWVzc2FnZSgnRkFJTDonICsgbXNn
KTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVzc2FnZSgnRkFJTDonICsgbXNnKTsKICAgICB9
CiAgICAgdGVzdFBhc3NlZCA9IGZ1bmN0aW9uKG1zZykgewotICAgICAgICBwb3N0TWVzc2FnZSgn
UEFTUzonICsgbXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVzc2FnZSgnUEFTUzonICsg
bXNnKTsKICAgICB9CiAgICAgZmluaXNoSlNUZXN0ID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHBv
c3RNZXNzYWdlKCdET05FOicpOworICAgICAgICB3b3JrZXJQb3J0LnBvc3RNZXNzYWdlKCdET05F
OicpOwogICAgIH0KICAgICBkZWJ1ZyA9IGZ1bmN0aW9uKG1zZykgewotICAgICAgICBwb3N0TWVz
c2FnZShtc2cpOworICAgICAgICB3b3JrZXJQb3J0LnBvc3RNZXNzYWdlKG1zZyk7CiAgICAgfQog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvbm90aWZpY2F0
aW9ucy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL25vdGlm
aWNhdGlvbnMtdGVzdC1wcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU5MzU4ZTBiOWVkZDI1MjBlNjUyNGU4
MGEwMTY0NmU1OGRjYzJlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMKQEAgLTAsMCArMSw4IEBACit2
YXIgdGVzdFVSTCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOworCitmdW5jdGlvbiB0ZXN0Q29t
cGxldGVkKCkKK3sKKyAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzY3JpcHQiKTsKKyAgc2NyaXB0RWxlbWVudC5zcmMgPSAiL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QtYXN5bmMuanMiOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQp
OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMTcxOWNjZmMxNTU0MDk5NmM0NjczYWFjYzhjZDVkODdmZDEwZDQwMi4uODk4MDAxOTg0
OWY5MzViZjdlMjBhMmE1OWJlM2U2MTUyNTk2ZDY5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC04OTcsNiArODk3LDcgQEAgQlVHQ1Ix
NDUzMzggV09OVEZJWCBBTkRST0lEIFNLSVAgOiBmYXN0L2Zvcm1zL2RhdGUgPSBQQVNTCiBCVUdD
UjE0NTMzOCBXT05URklYIEFORFJPSUQgU0tJUCA6IGZhc3QvbWVkaWFzdHJlYW0gPSBQQVNTCiBC
VUdDUjE0NTMzOCBXT05URklYIEFORFJPSUQgU0tJUCA6IGZhc3Qvbm90aWZpY2F0aW9ucyA9IFBB
U1MKIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5EUk9JRCBTS0lQIDogZmFzdC9zcGVlY2ggPSBQQVNT
CitCVUdDUjE0NTMzOCBXT05URklYIEFORFJPSUQgU0tJUCA6IGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucyA9IFBBU1MKIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5EUk9JRCBTS0lQIDogcGxhdGZvcm0v
Y2hyb21pdW0vZmFzdC9mb3Jtcy9jb2xvciA9IFBBU1MKIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5E
Uk9JRCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vbWVkaWEvdmlkZW8tY2FwdHVyZS1wcmV2aWV3
Lmh0bWwgPSBQQVNTIC8vIFVzZXMgbWVkaWFzdHJlYW0KIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5E
Uk9JRCBTS0lQIDogd2ViYXVkaW8gPSBQQVNTCkBAIC0zNjI4LDMgKzM2MjksNSBAQCBCVUdXSzgw
Mzk0IE1BQyBXSU4gOiBmYXN0L2Jsb2NrL2Zsb2F0LzAyNC5odG1sID0gSU1BR0UrVEVYVAogQlVH
V0s4MDM5NCBNQUMgV0lOIDogZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDI1Lmh0bWwgPSBU
RVhUCiBCVUdXSzgwMzk0IE1BQyBXSU4gOiBmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS9ibG9j
ay1pbnNpZGUtaW5saW5lLzAyNS5odG1sID0gVEVYVAogCisvLyBEb2VzIG5vdCB5ZXQgc3VwcG9y
dCBuZXcgd2ViIG5vdGlmaWNhdGlvbnMgVGVzdFJ1bm5lciBBUEkKK0JVR1dLOTU1MDYgU0tJUCA6
IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucyA9IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOTA3YzNkMGRhZTc5ZWU4NmY1Nzc3NzIzNjc5NTZhNTY5
NGEwNGFiNy4uYTM1ZWY3MzJmZTI3MzY0NmMwNTI4ZWUyNmJkYTFlNGQxNjI3MDViZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU5OCw2ICs1OTgsNyBA
QCBCVUdXSzk1MzAyIFNLSVAgOiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvc3BlZWNoLXJlY29n
bml0aW9uLWV2ZW50LWNvbnN0cnVjdG9yLgogCiAvLyBSZXF1aXJlcyBzdXBwb3J0IGZvciBXZWIg
bm90aWZpY2F0aW9ucwogQlVHV0s3MzU0NCBTS0lQIDogZmFzdC9ub3RpZmljYXRpb25zID0gVEVY
VAorQlVHV0s3MzU0NCBTS0lQIDogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zID0gVEVYVAogCiAv
LyBUaGlzIHRlc3RzIGZhaWxzIGJ5IG9uZSBvbiAzMiBiaXRzIG1hY2hpbmVzIGR1ZSB0byByb3Vu
ZGluZyBpc3N1ZXMuCiBCVUdXS0VGTCA6IGZhc3QvY3NzL3BlcmNlbnRhZ2Utbm9uLWludGVnZXIu
aHRtbCA9IFRFWFQgUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA3YWNjZTdiYWNhNjY4NjJlZmMwYWQwN2IwZDc1OTI2YjEyOWRmNGM0Li4zYTVlZGQ3
ZGYzMDM2ZjQzNGQzZWZmN2I1YjJhZWZlZmQ3ZjM5NjM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYxLDYgKzE2MSw3IEBAIEJVR1dLR1RLIFNLSVAg
OiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbiA9IFRFWFQKIAogLy8gRGVza3RvcCBub3RpZmlj
YXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkLgogQlVHV0tHVEsgU0tJUCA6IGZhc3Qvbm90aWZpY2F0
aW9ucyA9IFRFWFQKK0JVR1dLR1RLIFNLSVAgOiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMgPSBU
RVhUCiAKIC8vIFdlIGxhY2sgdXNlcnNjcmlwdHMgc3VwcG9ydC4KIEJVR1dLR1RLIFNLSVAgOiB1
c2Vyc2NyaXB0cyA9IFRFWFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggNzYyODk3ZjNm
MDZmODU2ZmUyOWQwZDRhNjg4YWEwNjBmNjBiNWM1My4uZTJkNzBhODJmY2M3YjQ0NzM4ODYxMmFm
MWE3ZmUyOGMxNzc2OWM4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQxLDcgKzQx
LDcgQEAgdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcxNzg4NTUueG1s
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkxMyBSZXBhaW50
IHBpeGVsIHRlc3QgZmFpbHVyZQogZmFzdC9yZXBhaW50L2JvZHktYmFja2dyb3VuZC1pbWFnZS5o
dG1sCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBOb3RpZmljYXRpb25zLgorIyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2OTcgU2tpcCBmaWxlOi8vIGJh
c2VkIG5vdGlmaWNhdGlvbnMgdGVzdHMKIGZhc3Qvbm90aWZpY2F0aW9ucwogCiAjIFNraXBwZWQg
d2hpbGUgRXJpYyBDYXJsc29uIHdvcmtzIG9uIGEgZml4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQK
aW5kZXggNTY5YmU2OTRkYmI2ODhlNDgzZWQzZDI3ZTk5OWJkZDZmZWU4ZmM3Mi4uZTA3Y2MzZTlj
ZjU5NThjNzJlOGFlOWY1YzZkYzFiNTc3NTI0MjY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CkBAIC0yNzc0LDMgKzI3NzQsNiBAQCBpbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wtcHJvZmlsZXIt
YXBpLWNoYW5nZXMuaHRtbAogc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3Zn
CiAKIGZhc3QvbG9hZGVyL2RvY3VtZW50LWRlc3RydWN0aW9uLXdpdGhpbi11bmxvYWQuaHRtbAor
CisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTUwNworaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZAppbmRleCA0MTU4Y2RlMDg3ZWNmODJkMzJmMDk3MWZjMzYwYzAzNWMyYWE3
NjY5Li5mNDFlMmUyMDI3NTlhNWY0ODg0MTk3MjVhY2U1NmYzNjA1ZDNkYWYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZApAQCAtODMzLDYgKzgzMyw3IEBAIGZhc3QvZG9tL0dlb2xvY2F0aW9u
CiAKICMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBOb3RpZmljYXRpb25zLgogZmFzdC9ub3Rp
ZmljYXRpb25zCitodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKIAogIyBUaGVzZSBtZWRpYSB0ZXN0
cyByZWdyZXNzZWQgb24gdGhlIGJvdHMuICBTa2lwcGluZyB0byBtYWtlIHRoZSBib3RzIGdyZWVu
IGFnYWluLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyODEK
QEAgLTIxNjcsNCArMjE2OCwzIEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVmZXJyZXItcG9saWN5
LXJlbC1ub3JlZmVycmVyLmh0bQogIyBBcyB1c3VhbCwgRFJUIG9uIFdpbmRvd3MgaGFzIHByb2Js
ZW1zIGtub3dpbmcgaG93IHRvIGNvbnRpbnVlIGEgdGVzdCB3aGVuIGZvY3VzIG1vdmVzIHRvIGEg
cG9wdXAgd2luZG93LCBpbiB0aGlzIGNhc2UgdGhlIGZpbGUgY2hvb3NlcgogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0NjkKIGZhc3QvZXZlbnRzL2RvbWFjdGl2
YXRlLXNldHMtdW5kZXJseWluZy1jbGljay1ldmVudC1hcy1oYW5kbGVkLmh0bWwKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXggNzhlZTU2NjcyYjA5MWQ0MTY5ZDRhMGJj
ZTdmOGIxY2Q0OGQwZGFjYy4uMmFmM2NkZWZhYTY1MGI3NGI0OTU4N2JhZjk3NDNhZjQ0ZWFhZjI3
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xMzUwLDYgKzEzNTAs
NyBAQCBmYXN0L2RvbS9HZW9sb2NhdGlvbgogCiAjIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQg
Tm90aWZpY2F0aW9ucy4KIGZhc3Qvbm90aWZpY2F0aW9ucworaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zCiAKICMgVGhlc2UgbWVkaWEgdGVzdHMgcmVncmVzc2VkIG9uIHRoZSBib3RzLiAgU2tpcHBp
bmcgdG8gbWFrZSB0aGUgYm90cyBncmVlbiBhZ2Fpbi4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI4MjgxCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161733</attachid>
            <date>2012-08-31 10:48:46 -0700</date>
            <delta_ts>2012-08-31 12:06:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95493-20120831104833.patch</filename>
            <type>text/plain</type>
            <size>33402</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Mjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGFhMTZhNzAwNTM4MjBk
ZmY2OTJkZWVjODQyNGIwY2E2MmI3OGRlNS4uMGMyYWEzZWE4ODgwZjUwZTIxYjUwMjk4NDIwODBh
MWZlN2EzZGE5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA4LTMxICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0ZXN0
cyB0byBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjIw
OTMwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW1wbGlmeSB0aGUgcGFzc2luZyBvZiB0aGUgcGVybWlzc2lvbiBwb2xpY3kgdG8ganVzdCBhIGJv
b2xlYW4gaW5zdGVhZCBvZiBjb252ZXJ0aW5nIGl0CisgICAgICAgIGJhY2sgYW5kIGZvcnRoIGZy
b20gdGhlIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBlbnVtLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDogTW92ZSB0
aGUgZGVjbGFyYXRpb24gdG8gdGhlIHNlY3Rpb24KKyAgICAgICAgb2YgZnVuY3Rpb25zIHRoYXQg
YXJlIFRlc3RSdW5uZXIgU1BJLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0
V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbik6IFVzZSBhIGJvb2xlYW4uCisgICAgICAgICogV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKToKKworICAgICAg
ICAqIHdpbi9XZWJLaXQyLnZjcHJvajogQWRkIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Que2gsY3BwfS4KKyAgICAgICAgKiB3aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlOiBFeHBvcnQg
V0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oLgorCiAyMDEyLTA4LTMxICBCYWxhenMg
S2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIEFTU0VSVChtX3Vz
ZUZpeGVkTGF5b3V0KSBpbiBXZWJQYWdlIHdoZW4gdXNpbmcgUVJhd1dlYlZpZXcgd2l0aG91dCBz
ZXR0aW5nIGZpeGVkIGxheW91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKaW5kZXgg
N2NiYTI2M2ZjY2ZlNmQyZDUwOWExMTc1OGIzZjc3YTI4MTc0YzRmMS4uNDgwNDc4OTg2NGI1MzA2
MzMwN2U0MzhiYjZkZTg1OGZjNTcxZjgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0
ZS5oCkBAIC03NSw2ICs3NSw3IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSXNQYWdlQm94Vmlz
aWJsZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhCiBXS19FWFBPUlQg
dm9pZCBXS0J1bmRsZVNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oV0tCdW5kbGVSZWYgYnVuZGxl
LCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIFdLU3RyaW5nUmVmIGxvY2F0aW9uKTsK
IFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihXS0J1
bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBvcmlnaW5T
dHJpbmdSZWYsIGJvb2wgYWxsb3dlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZUFs
bFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UpOworV0tfRVhQT1JUIHVpbnQ2NF90IFdLQnVuZGxlR2V0V2ViTm90aWZpY2F0
aW9uSUQoV0tCdW5kbGVSZWYgYnVuZGxlLCBKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJl
ZiBub3RpZmljYXRpb24pOwogCiAvLyBVc2VyQ29udGVudCBBUEkKIFdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlQWRkVXNlclNjcmlwdChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3Vw
UmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3JpcHRXb3JsZCwgV0tTdHJp
bmdSZWYgc291cmNlLCBXS1VSTFJlZiB1cmwsIFdLQXJyYXlSZWYgd2hpdGVsaXN0LCBXS0FycmF5
UmVmIGJsYWNrbGlzdCwgV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSBpbmplY3Rpb25UaW1lLCBX
S1VzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMpOwpAQCAtMTAyLDggKzEw
Myw2IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoV0tC
dW5kbGVSZWYgYnVuZGxlKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRQYWdlVmlzaWJp
bGl0eVN0YXRlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGludCBz
dGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSk7CiAKLVdLX0VYUE9SVCB1aW50NjRfdCBXS0J1bmRs
ZUdldFdlYk5vdGlmaWNhdGlvbklEKFdLQnVuZGxlUmVmIGJ1bmRsZSwgSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTVmFsdWVSZWYgbm90aWZpY2FpdG9uKTsKLQogI2lmZGVmIF9fY3BsdXNwbHVzCiB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggYjU4NTM4YTE5Y2QzOWJhNmRjYjRk
MTkxODk4NGRhNmJhZGIwYmQ3Yy4uOTM1NmZhODMxZjI2YTZjMzcwYThkZDJjZGU4MjdkZmI3ZjUw
NmU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTUzOSw3ICs1MzksNyBAQCB2b2lkIElu
amVjdGVkQnVuZGxlOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFdlYlBhZ2VHcm91cFByb3h5
KiBwYWdlR3JvdXAsIGNvbgogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0V2ViTm90aWZpY2F0aW9u
UGVybWlzc2lvbihXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9v
bCBhbGxvd2VkKQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCi0gICAgcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyKCktPnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3Rpbmcob3JpZ2luU3RyaW5nLCBhbGxv
d2VkID8gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbkRlbmllZCk7CisgICAgcGFnZS0+bm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKCktPnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3Rpbmcob3JpZ2lu
U3RyaW5nLCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwogICAgIFVO
VVNFRF9QQVJBTShvcmlnaW5TdHJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCAyMmU1MGI5YjQzMzVkN2VlZmJj
Y2EzMjYyMjY3OWZiY2U5YTVlZWMwLi40NGI5N2ViNGUyMjk1YTAwNGJlNzA1MmFjNDdhOWY0ZTZh
OGZhOTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmNwcApAQCAtMTI4LDEzICsxMjgsMTMgQEAgTm90aWZpY2F0aW9uQ2xpZW50
OjpQZXJtaXNzaW9uIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlz
c2lvbkwKICNlbmRpZgogfQogCi12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIG9yaWdpblN0
cmluZywgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24p
Cit2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c2V0UGVybWlzc2lv
bkxldmVsRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2Vk
KQogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCi0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLmRp
ZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKG9yaWdpblN0cmluZywgcGVybWlzc2lvbik7Cisg
ICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLmRpZFVwZGF0ZU5v
dGlmaWNhdGlvbkRlY2lzaW9uKG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZWxzZQogICAgIFVO
VVNFRF9QQVJBTShvcmlnaW5TdHJpbmcpOwotICAgIFVOVVNFRF9QQVJBTShwZXJtaXNzaW9uKTsK
KyAgICBVTlVTRURfUEFSQU0oYWxsb3dlZCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCmluZGV4IGQ5OTEyYjFh
N2Q4Y2Q5NzBjY2VhMTk4ZGY1YzRmZjA2OWY3NmI5NzMuLjE4OTljMDFkNDdjMTg2OTIzZGE4MGFl
MDBhODYzNzFhN2U3ZjNiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBwZXJtaXNzaW9uTGV2ZWwoV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKIAogICAgIC8vIEZvciB0ZXN0aW5nIHB1cnBvc2VzIG9u
bHkuCi0gICAgdm9pZCBzZXRQZXJtaXNzaW9uTGV2ZWxGb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYg
b3JpZ2luU3RyaW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24pOwor
ICAgIHZvaWQgc2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIG9yaWdp
blN0cmluZywgYm9vbCBhbGxvd2VkKTsKICAgICB2b2lkIHJlbW92ZUFsbFBlcm1pc3Npb25zRm9y
VGVzdGluZygpOwogICAgIAogICAgIHZvaWQgZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Np
b25EZWNpc2lvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCwgYm9vbCBhbGxvd2VkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCBhYjZlZmRjOGY0MjdjZTg3Y2Q2YWM2ODE2YWZiY2Jj
MzlkOWY4YjFkLi5jNjU5NTU0ODYwYTEzMzFjZjk1MjIwYWM4MTE3NTU2Y2I1ZDFjZTdjIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC0zNTA5LDYgKzM1MDksMTQgQEAKIAkJCQkJCT4K
IAkJCQkJPC9GaWxlPgogCQkJCQk8RmlsZQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nl
c3NcQVBJXENcV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAiCisJCQkJCQk+CisJ
CQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNz
XEFQSVxDXFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCIKKwkJCQkJCT4KKwkJCQkJ
PC9GaWxlPgorCQkJCQk8RmlsZQogCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJ
XENcV0tOb3RpZmljYXRpb25Qcm92aWRlci5oIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlIGIvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQppbmRleCA2MGQ0NmVlZTVjNGQ4YTc0
MzYzYjFiMGMyMWVkNjJiNWViZWE4YWEwLi5mOTNmOGE5MDBhZTY0N2VhYzVmOTMxZjM5MTI1MzUz
ZjhiMmIzMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRl
ZC5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKQEAg
LTc0LDYgKzc0LDcgQEAgYWxsOgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENc
V0tOYXZpZ2F0aW9uRGF0YS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJL
aXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tOb3RpZmljYXRpb24u
aCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAv
eSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLTm90aWZpY2F0aW9uTWFuYWdlci5oIiAiJUNvbmZp
Z3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhjb3B5IC95IC9kICIuLlxV
SVByb2Nlc3NcQVBJXENcV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIiAiJUNvbmZp
Z3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxV
SVByb2Nlc3NcQVBJXENcV0tOb3RpZmljYXRpb25Qcm92aWRlci5oIiAiJUNvbmZpZ3VyYXRpb25C
dWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3Nc
QVBJXENcV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxp
bmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS09w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRl
XFdlYktpdDIiCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggMTBhOTQwMGI3MDkyYjExOWE1ZjE2MjI4NzRmM2EyOWU4ODI1MTJhOS4uZTRlOTM0Njg1
MjUyOGY4ZTY0MjlmNWY0NjU2YjM2MzJiNmM4YzZiYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTMxICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0
ZXN0cyB0byBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
MjIwOTMwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgcGVybWlzc2lvbiByZXF1ZXN0IHN1cHBvcnQgZm9yIFdUUi4KKworICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpkZWNp
ZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCk6IEFsd2F5cyBhbGxvdy4K
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChU
ZXN0Q29udHJvbGxlcik6CisKIDIwMTItMDgtMzEgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gSW1hZ2VEaWZmIG91dHB1dCBpcyBub3QgaW4gdGhl
IGV4cGVjdGVkIGZvcm0gaWYgaW1hZ2UgZGltZW5zaW9ucyBkaWZmZXIKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMTZhMjNjMWRhOWNmMDlkMjQ5ZTlkMGI3
MDJkM2VjN2IwN2U4MTZmZi4uYzU0OWU4OGE5YjQ4OWE0NDRhN2Q0MWE3YzhjMjdmY2RmMWQ5YTA2
MiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dFByaXZhdGUuaD4KICNpbmNsdWRl
IDxXZWJLaXQyL1dLTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS05vdGlmaWNh
dGlvbk1hbmFnZXIuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLTnVtYmVyLmg+CiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1BhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlUHJpdmF0ZS5oPgpA
QCAtMzg4LDcgKzM4OSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFy
Z2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgMCwgLy8gc2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdAogICAgICAgICBjcmVhdGVPdGhlclBhZ2UsCiAgICAgICAgIDAsIC8vIG1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50Ci0gICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0CisgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0LCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQKICAg
ICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZw
YWdlVUlDbGllbnQpOwpAQCAtOTUyLDQgKzk1MywxNCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpz
aW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogICAg
IG1fd2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhu
b3RpZmljYXRpb25JRCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGljeUZv
ck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5
T3JpZ2luUmVmIG9yaWdpbiwgV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiByZXF1
ZXN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHN0YXRpY19jYXN0PFRlc3RDb250
cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT5kZWNpZGVQb2xpY3lGb3JO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChwYWdlLCBvcmlnaW4sIHJlcXVlc3QpOworfQor
Cit2b2lkIFRlc3RDb250cm9sbGVyOjpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYsIFdLTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RSZWYgcmVxdWVzdCkKK3sKKyAgICBXS05vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0QWxsb3cocmVxdWVzdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDMzMDlhZjJhNDRmMTAzMjdl
MTE5N2FhNDQyZjVjOTgwOTc5ZTcxMTYuLjBkMzM3MTdiNzFjNmE5MTg2NzE1Y2NlZGY2MWIyMGRk
NjdiZjMzY2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTk3
LDYgKzk3LDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQ
YWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICB2b2lkIHByb2Nlc3NEaWRDcmFz
aCgpOwogCisgICAgc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QoV0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBXS05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0UmVmLCBjb25zdCB2b2lkKik7CisgICAgdm9pZCBkZWNpZGVQb2xp
Y3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlP
cmlnaW5SZWYsIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYpOworCiAgICAgc3Rh
dGljIFdLUGFnZVJlZiBjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVx
dWVzdFJlZiwgV0tEaWN0aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VC
dXR0b24sIGNvbnN0IHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lkIHJ1bk1vZGFsKFdLUGFnZVJl
ZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGE2ZjM1Njc4NGVkNzdlNzA3Yjlh
MjY3MDNhZjAzOTM4ZWVjNmJhYy4uMTQxM2FhMDFhMWFjYjExZjUxNDVlMjI4N2U4MTMwZTMxMzRk
NTU5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA4LTMxICBKb24gTGVlICA8am9ubGVl
QGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdHNdIEFkZCBiYXNpYyB0ZXN0cyB0byBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk1NDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjIwOTMwMz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9yZXF1ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QuaHRtbDogQWRkZWQuIFRoaXMgdGVzdCByZXF1
ZXN0cyBwZXJtaXNzaW9uLiBEUlQvV1RSCisgICAgICAgIGlzIGV4cGVjdGVkIHRvIGFjY2VwdCBp
dCwgYW5kIHdlIHZlcmlmeSB0aGF0IGJvdGggdGhlIHBhcmFtZXRlciBpbiB0aGUgY2FsbGJhY2sg
ZnVuY3Rpb24sCisgICAgICAgIGFuZCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiwgYXJlIGJvdGgg
c2V0IHRvICJncmFudGVkIi4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvc2hv
dy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9zaG93Lmh0bWw6IEFkZGVkLiBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHZhcmlvdXMgcGVy
bWlzc2lvbgorICAgICAgICBBUElzIG9uIFRlc3RSdW5uZXIgd29yay4KKworICAgICAgICBMZWdh
Y3kgYW5hbG9nIHRvIGFib3ZlIHRlc3RzLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3cuaHRtbDog
QWRkZWQuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5
bmMuanM6IEFkZGVkLiBUaGlzIHdpbGwgYmUgdXNlZCBmb3IgbW9zdCB0ZXN0cyBzaW5jZQorICAg
ICAgICB0aGUgZXZlbnRzIGFyZSBjYWxsZWQgYXN5bmNocm9ub3VzbHkuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanM6IFVwZGF0ZWQgZnJvbSBmYXN0L2pzL3Jl
c291cmNlcy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRl
c3QtcHJlLmpzOiBBZGRlZC4gQWRkcyBhIGhlbHBlciBmdW5jdGlvbiB0byBjb21wbGV0ZQorICAg
ICAgICB0aGUgdGVzdCwgYW5kIGRlZmluZXMgdGhlIGRvbWFpbiBvZiBodHRwL3Rlc3RzLgorICAg
ICAgICAodGVzdENvbXBsZXRlZCk6CisKKyAgICAgICAgU2tpcC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIG9uIEFuZHJvaWQuIEZpbGVkIDk1NTA2
IHRvIGJyaW5nIENocm9taXVtIHN1cHBvcnQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tp
cHBlZDogRmlsZWQgOTU1MDcgdG8gYnJpbmcgUXQgc3VwcG9ydC4KKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOgorCiAy
MDEyLTA4LTMxICBEb21pbmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5j
b20+CiAKICAgICAgICAgW0Nocm9taXVtXSBqYXZhc2NyaXB0LXVybC1zdG9wLWxvYWRlcnMuaHRt
bCBhbmQgemVyby1sZW5ndGgtcmVzcG9uc2UuaHRtbCBhcmUgZmxha3kgb24gQ2hyb21pdW0gRVdT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3JlcXVlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjlmNDQ2MTMzNmU0
YjZiODBhMDNiZmIyYjg3NDk5Mjc5M2E2OTg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDExIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSByZXF1ZXN0IGZvciBwZXJt
aXNzaW9uIGlzIG1hZGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDEKK1BBU1Mgd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0OTkxMzkxYzcyMDI2MWNkYmMwZTYzNWU5ZDEyYjc1NjllZDc0MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVxdWVzdC5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKwl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBhIHJlcXVlc3QgZm9yIHBlcm1pc3Npb24g
aXMgbWFkZS4iKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisJc2hvdWxkQmUoIndpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKKwlOb3RpZmlj
YXRpb24ucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24oKSB7CisJCXNob3VsZEJlKCJ3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7CisJCXRlc3RDb21w
bGV0ZWQoKTsKKwl9KTsKK30KKworc2V0VGltZW91dCh0ZXN0Q29tcGxldGVkLCAxMDApOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTIxYTdjZTljMmMx
NzI1ZjdmZjIzYWQ4MjA1MWZkYWU3Zjg5NjA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE5IEBACitUaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUgb25z
aG93IGV2ZW50IGhhbmRsZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDEKK1BBU1Mg
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAndGl0bGUg
MScsICdib2R5Jyk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhj
ZXB0aW9uIDE4LgorR3JhbnRpbmcgcGVybWlzc2lvbiB0byBodHRwOi8vMTI3LjAuMC4xOjgwMDAK
K1BBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAor
UEFTUyBvbmRpc3BsYXkgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkCitEZW55aW5nIHBlcm1pc3Np
b24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCitQQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDIKK1BBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7IHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhjZXB0aW9uIDE4LgorUmVzZXR0aW5nIGFs
bCBwZXJtaXNzaW9ucworUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9zaG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L3Nob3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTU5YjRmNTIzNzMxNWNiMzZkYzc0Y2ZhYmFk
YjE0MjEzMThiMmYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCXRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2gg
b2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIpOworCit2YXIgbiA9IG51bGw7CitmdW5jdGlv
biBwYXJ0MSgpIHsKKwlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQ
ZXJtaXNzaW9uKCkiLCAiMSIpOworCXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsiKTsKKwlzZXRU
aW1lb3V0KHBhcnQyLCAwKTsKK30KKworZnVuY3Rpb24gcGFydDIoKSB7CisJZGVidWcoIkdyYW50
aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOworCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOworCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7CisKKwluID0gd2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7
CisJbi5vbnNob3cgPSBmdW5jdGlvbigpIHsKKwkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50
IGhhbmRsZXIgd2FzIGNhbGxlZCIpOworCQlzZXRUaW1lb3V0KHBhcnQzLCAwKTsKKwl9OworCW4u
b25lcnJvciA9IGZ1bmN0aW9uKCkgeworCQl0ZXN0RmFpbGVkKCJvbmVycm9yIGV2ZW50IGhhbmRs
ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQiKTsKKwkJc2V0VGltZW91dChwYXJ0MywgMCk7CisJfTsK
KwluLnNob3coKTsKK30KKworZnVuY3Rpb24gcGFydDMoKSB7CisJZGVidWcoIkRlbnlpbmcgcGVy
bWlzc2lvbiB0byAiICsgdGVzdFVSTCk7CisJdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9u
UGVybWlzc2lvbih0ZXN0VVJMKTsKKwlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMiIpOworCXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAzJywgJ2JvZHknKTsi
KTsKKwlzZXRUaW1lb3V0KHBhcnQ0LCAwKTsKK30KKworZnVuY3Rpb24gcGFydDQoKSB7CisJZGVi
dWcoIlJlc2V0dGluZyBhbGwgcGVybWlzc2lvbnMiKTsKKwl0ZXN0UnVubmVyLnJlbW92ZUFsbFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CisJc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKKwl0ZXN0Q29tcGxldGVkKCk7Cit9
CisKK3BhcnQxKCk7CisKK3NldFRpbWVvdXQodGVzdENvbXBsZXRlZCwgMTAwKTsKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVl
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3Jl
cXVlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjYTA4ZmU4ZWZkYzhjNGM2ZjJiMWJhZGZi
YmYyYzRhMDc1ZDZkOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBtYWRlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBOb3RpZmljYXRpb24ucGVybWlzc2lv
biBpcyAiZGVmYXVsdCIKK1BBU1MgcGVybWlzc2lvbiBpcyBncmFudGVkLgorUEFTUyBOb3RpZmlj
YXRpb24ucGVybWlzc2lvbiBpcyAiZ3JhbnRlZCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvcmVxdWVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL3JlcXVlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZWJiZDE1MzQ2NTNjNTkyYTAw
YmNkZTkzYzdkZmZiM2Q4ODU4ZjhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL3JlcXVlc3QuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisJdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CisKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSByZXF1
ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworCXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZGVm
YXVsdCIpOworCU5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlvbihwZXJtaXNz
aW9uKSB7CisJCWlmIChwZXJtaXNzaW9uID09ICdncmFudGVkJykKKwkJCXRlc3RQYXNzZWQoInBl
cm1pc3Npb24gaXMgZ3JhbnRlZC4iKTsKKwkJZWxzZQorCQkJdGVzdEZhaWxlZCgicGVybWlzc2lv
biBzaG91bGQgYmUgZ3JhbnRlZCwgYnV0IGlzICIgKyBwZXJtaXNzaW9uICsgIi4iKTsKKwkJc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJOb3RpZmljYXRpb24ucGVybWlzc2lvbiIsICJncmFudGVkIik7
CisJCXRlc3RDb21wbGV0ZWQoKTsKKwl9KTsKK30KKworc2V0VGltZW91dCh0ZXN0Q29tcGxldGVk
LCAxMDApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvc2hvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvc2hvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAxZWIxZmFmMzg4OTVj
OTJjZmU0NmMwMGY1MDA5YjFkNzlkOGYxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5
IEBACitUaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUgb25zaG93IGV2ZW50
IGhhbmRsZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIE5vdGlmaWNh
dGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgorUEFTUyBvbmVycm9yIGV2ZW50IGhhbmRsZXIg
d2FzIGNhbGxlZAorR3JhbnRpbmcgcGVybWlzc2lvbiB0byBodHRwOi8vMTI3LjAuMC4xOjgwMDAK
K1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImdyYW50ZWQiCitQQVNTIG9uc2hvdyBl
dmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKK0RlbnlpbmcgcGVybWlzc2lvbiB0byBodHRwOi8vMTI3
LjAuMC4xOjgwMDAKK1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlbmllZCIKK1BB
U1Mgb25lcnJvciBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKK1Jlc2V0dGluZyBhbGwgcGVybWlz
c2lvbnMKK1BBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlZmF1bHQiCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3Nob3cuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ0ZTll
NjdmMDU4YTc3YzIwZDg1NmE1NGY5MjFlMTQwZDJmZjhlZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9zaG93Lmh0bWwKQEAgLTAsMCArMSw2
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCXRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZv
ciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIpOworCit2YXIgbiA9
IG51bGw7CitmdW5jdGlvbiBwYXJ0MSgpIHsKKwlzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlm
aWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsKKworCW4gPSBuZXcgTm90aWZpY2F0aW9u
KCJ0aXRsZSAxIik7CisJbi5vbnNob3cgPSBmdW5jdGlvbigpIHsKKwkJdGVzdEZhaWxlZCgib25z
aG93IGV2ZW50IGhhbmRsZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQiKTsKKwkJc2V0VGltZW91dChw
YXJ0MiwgMCk7CisJfTsKKwluLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKwkJdGVzdFBhc3NlZCgi
b25lcnJvciBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKKwkJc2V0VGltZW91dChwYXJ0Miwg
MCk7CisJfTsKK30KKworZnVuY3Rpb24gcGFydDIoKSB7CisJZGVidWcoIkdyYW50aW5nIHBlcm1p
c3Npb24gdG8gIiArIHRlc3RVUkwpOworCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKHRlc3RVUkwpOworCXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9u
LnBlcm1pc3Npb24iLCAiZ3JhbnRlZCIpOworCisJbiA9IG5ldyBOb3RpZmljYXRpb24oInRpdGxl
IDIiKTsKKwluLm9uc2hvdyA9IGZ1bmN0aW9uKCkgeworCQl0ZXN0UGFzc2VkKCJvbnNob3cgZXZl
bnQgaGFuZGxlciB3YXMgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDMsIDApOworCX07CisJ
bi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisJCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFu
ZGxlciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworCQlzZXRUaW1lb3V0KHBhcnQzLCAwKTsKKwl9
OworfQorCitmdW5jdGlvbiBwYXJ0MygpIHsKKwlkZWJ1ZygiRGVueWluZyBwZXJtaXNzaW9uIHRv
ICIgKyB0ZXN0VVJMKTsKKwl0ZXN0UnVubmVyLmRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9u
KHRlc3RVUkwpOworCXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Np
b24iLCAiZGVuaWVkIik7CisKKwluID0gbmV3IE5vdGlmaWNhdGlvbigidGl0bGUgMyIpOworCW4u
b25zaG93ID0gZnVuY3Rpb24oKSB7CisJCXRlc3RGYWlsZWQoIm9uc2hvdyBldmVudCBoYW5kbGVy
IHNob3VsZCBub3QgYmUgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDQsIDApOworCX07CisJ
bi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisJCXRlc3RQYXNzZWQoIm9uZXJyb3IgZXZlbnQgaGFu
ZGxlciB3YXMgY2FsbGVkIik7CisJCXNldFRpbWVvdXQocGFydDQsIDApOworCX07Cit9CisKK2Z1
bmN0aW9uIHBhcnQ0KCkgeworCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25zIik7CisJ
dGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOworCXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iLCAiZGVmYXVsdCIpOwor
CXRlc3RDb21wbGV0ZWQoKTsKK30KKworcGFydDEoKTsKKworc2V0VGltZW91dCh0ZXN0Q29tcGxl
dGVkLCAxMDApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzkzM2Q3MDA3ZGU4
NzFhNGVkZjg5NGRlZWNkNDFiMjQ2M2I5ZjNlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1hc3luYy5qcwpAQCAtMCwwICsx
LDcgQEAKK2lmICghZXJyb3JNZXNzYWdlKQorICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CitzaG91bGRCZVRydWUoInN1Y2Nlc3NmdWxseVBhcnNlZCIpOworZGVidWcoJzxiciAvPjxzcGFu
IGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworCitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCmluZGV4IDg2ZjZkZGJkYzdhMmUyOWZl
MjhmNWRlMWFiM2IzNTlmMTBjMDNiMWMuLmY0ZjUwMmYwMGRiNjQxZDAwYTJlMmNhOWMyYzI0MWJm
OWE5MmVjYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzCkBAIC02OCw3ICs2OCw3IEBAIHZhciBkZXNjcmlwdGlvbiwgZGVidWcsIHN1Y2Nl
c3NmdWxseVBhcnNlZCwgZXJyb3JNZXNzYWdlOwogICAgICAgICBzdHlsZUVsZW1lbnQudGV4dENv
bnRlbnQgPSBjc3M7CiAgICAgICAgIChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudCkuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsKICAgICB9Ci0gICAgCisKICAgICBp
ZiAoIWlzV29ya2VyKCkpCiAgICAgICAgIGluc2VydFN0eWxlU2hlZXQoKTsKIApAQCAtMjU4LDcg
KzI1OCw5IEBAIGZ1bmN0aW9uIHNob3VsZEJlWmVybyhfYSkgeyBzaG91bGRCZShfYSwgIjAiKTsg
fQogCiBmdW5jdGlvbiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYSwgYikKIHsKLSAgdmFyIHVuZXZh
bGVkU3RyaW5nID0gJyInICsgYi5yZXBsYWNlKC9cXC9nLCAiXFxcXCIpLnJlcGxhY2UoLyIvZywg
IlwiIikucmVwbGFjZSgvXG4vZywgIlxcbiIpLnJlcGxhY2UoL1xyL2csICJcXHIiKSArICciJzsK
KyAgaWYgKHR5cGVvZiBhICE9PSAic3RyaW5nIiB8fCB0eXBlb2YgYiAhPT0gInN0cmluZyIpCisg
ICAgZGVidWcoIldBUk46IHNob3VsZEJlRXF1YWxUb1N0cmluZygpIGV4cGVjdHMgc3RyaW5nIGFy
Z3VtZW50cyIpOworICB2YXIgdW5ldmFsZWRTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShiKTsKICAg
c2hvdWxkQmUoYSwgdW5ldmFsZWRTdHJpbmcpOwogfQogCkBAIC0zOTQsNiArMzk2LDE1IEBAIGZ1
bmN0aW9uIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKF9hLCBfYikgewogICAgICAgICB0ZXN0
UGFzc2VkKF9hICsgIiBpcyA+PSAiICsgX2IpOwogfQogCitmdW5jdGlvbiBzaG91bGROb3RUaHJv
dyhfYSkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwoX2EpOworICAgICAgICB0ZXN0UGFzc2Vk
KF9hICsgIiBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4iKTsKKyAgICB9IGNhdGNoIChlKSB7Cisg
ICAgICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJl
dyBleGNlcHRpb24gIiArIGUgKyAiLiIpOworICAgIH0KK30KKwogZnVuY3Rpb24gc2hvdWxkVGhy
b3coX2EsIF9lKQogewogICB2YXIgZXhjZXB0aW9uOwpAQCAtNDc0LDkgKzQ4NSw3IEBAIGZ1bmN0
aW9uIHN0YXJ0V29ya2VyKHRlc3RTY3JpcHRVUkwsIHNoYXJlZCkKIHsKICAgICBzZWxmLmpzVGVz
dElzQXN5bmMgPSB0cnVlOwogICAgIGRlYnVnKCdTdGFydGluZyB3b3JrZXI6ICcgKyB0ZXN0U2Ny
aXB0VVJMKTsKLSAgICB2YXIgd29ya2VyID0gc2hhcmVkID8gbmV3IFNoYXJlZFdvcmtlcih0ZXN0
U2NyaXB0VVJMKSA6IG5ldyBXb3JrZXIodGVzdFNjcmlwdFVSTCk7Ci0gICAgaWYgKHNoYXJlZCkK
LSAgICAgICAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHsgd29ya2Vy
Lm9ubWVzc2FnZShldmVudCk7IH07CisgICAgdmFyIHdvcmtlciA9IHNoYXJlZCA/IG5ldyBTaGFy
ZWRXb3JrZXIodGVzdFNjcmlwdFVSTCwgIlNoYXJlZCBXb3JrZXIiKSA6IG5ldyBXb3JrZXIodGVz
dFNjcmlwdFVSTCk7CiAgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKICAgICAgICAgdmFyIHdvcmtlclByZWZpeCA9ICJbV29ya2VyXSAiOwpAQCAtNTA0LDIzICs1
MTMsNTIgQEAgZnVuY3Rpb24gc3RhcnRXb3JrZXIodGVzdFNjcmlwdFVSTCwgc2hhcmVkKQogICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiAKKyAgICBpZiAoc2hhcmVkKSB7CisgICAgICAg
IHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7IHdvcmtlci5vbm1lc3Nh
Z2UoZXZlbnQpOyB9OworICAgICAgICB3b3JrZXIucG9ydC5zdGFydCgpOworICAgIH0KICAgICBy
ZXR1cm4gd29ya2VyOwogfQogCiBpZiAoaXNXb3JrZXIoKSkgeworICAgIHZhciB3b3JrZXJQb3J0
ID0gc2VsZjsKKyAgICBpZiAoc2VsZi5uYW1lID09ICJTaGFyZWQgV29ya2VyIikgeworICAgICAg
ICBzZWxmLm9uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIHdvcmtlclBvcnQg
PSBlLnBvcnRzWzBdOworICAgICAgICAgICAgd29ya2VyUG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlv
bihldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICB2YXIgY29sb24gPSBldmVudC5kYXRhLmluZGV4T2YoIjoiKTsKKyAgICAgICAgICAgICAgICBp
ZiAoY29sb24gPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVW5yZWNv
Z25pemVkIG1lc3NhZ2UgdG8gc2hhcmVkIHdvcmtlcjogIiArIGV2ZW50LmRhdGEpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IHZhciBjb2RlID0gZXZlbnQuZGF0YS5zdWJzdHJpbmcoMCwgY29sb24pOworICAgICAgICAgICAg
ICAgIHZhciBwYXlsb2FkID0gZXZlbnQuZGF0YS5zdWJzdHJpbmcoY29sb24gKyAxKTsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSAiSU1QT1JU
IikKKyAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydFNjcmlwdHMocGF5bG9hZCk7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlVucmVjb2duaXplZCBtZXNzYWdlIHRvIHNoYXJlZCB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJDYXVnaHQgZXhjZXB0aW9uIGluIHNoYXJlZCB3b3JrZXIgb25tZXNzYWdlOiAiICsg
ZXgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAg
fQogICAgIGRlc2NyaXB0aW9uID0gZnVuY3Rpb24obXNnLCBxdWlldCkgewotICAgICAgICBwb3N0
TWVzc2FnZSgnREVTQzonICsgbXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5wb3N0TWVzc2FnZSgn
REVTQzonICsgbXNnKTsKICAgICB9CiAgICAgdGVzdEZhaWxlZCA9IGZ1bmN0aW9uKG1zZykgewot
ICAgICAgICBwb3N0TWVzc2FnZSgnRkFJTDonICsgbXNnKTsKKyAgICAgICAgd29ya2VyUG9ydC5w
b3N0TWVzc2FnZSgnRkFJTDonICsgbXNnKTsKICAgICB9CiAgICAgdGVzdFBhc3NlZCA9IGZ1bmN0
aW9uKG1zZykgewotICAgICAgICBwb3N0TWVzc2FnZSgnUEFTUzonICsgbXNnKTsKKyAgICAgICAg
d29ya2VyUG9ydC5wb3N0TWVzc2FnZSgnUEFTUzonICsgbXNnKTsKICAgICB9CiAgICAgZmluaXNo
SlNUZXN0ID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHBvc3RNZXNzYWdlKCdET05FOicpOworICAg
ICAgICB3b3JrZXJQb3J0LnBvc3RNZXNzYWdlKCdET05FOicpOwogICAgIH0KICAgICBkZWJ1ZyA9
IGZ1bmN0aW9uKG1zZykgewotICAgICAgICBwb3N0TWVzc2FnZShtc2cpOworICAgICAgICB3b3Jr
ZXJQb3J0LnBvc3RNZXNzYWdlKG1zZyk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTU5MzU4ZTBiOWVkZDI1MjBlNjUyNGU4MGEwMTY0NmU1OGRjYzJlYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL25vdGlmaWNhdGlv
bnMtdGVzdC1wcmUuanMKQEAgLTAsMCArMSw4IEBACit2YXIgdGVzdFVSTCA9ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAiOworCitmdW5jdGlvbiB0ZXN0Q29tcGxldGVkKCkKK3sKKyAgdmFyIHNjcmlw
dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgc2NyaXB0RWxl
bWVudC5zcmMgPSAiL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMiOworICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTQyZjg0M2ZlZWQ2NmUxZTVh
MDQ5MTJmMTFlZTU2OGYyOTdjNWYzMi4uODE1YjI5YWYzZGZiMWUzMTgxZjgyZDAxMGYzOTk4OGE4
M2M0OWJkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCkBAIC04OTcsNiArODk3LDcgQEAgQlVHQ1IxNDUzMzggV09OVEZJWCBBTkRST0lEIFNL
SVAgOiBmYXN0L2Zvcm1zL2RhdGUgPSBQQVNTCiBCVUdDUjE0NTMzOCBXT05URklYIEFORFJPSUQg
U0tJUCA6IGZhc3QvbWVkaWFzdHJlYW0gPSBQQVNTCiBCVUdDUjE0NTMzOCBXT05URklYIEFORFJP
SUQgU0tJUCA6IGZhc3Qvbm90aWZpY2F0aW9ucyA9IFBBU1MKIEJVR0NSMTQ1MzM4IFdPTlRGSVgg
QU5EUk9JRCBTS0lQIDogZmFzdC9zcGVlY2ggPSBQQVNTCitCVUdDUjE0NTMzOCBXT05URklYIEFO
RFJPSUQgU0tJUCA6IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucyA9IFBBU1MKIEJVR0NSMTQ1MzM4
IFdPTlRGSVggQU5EUk9JRCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9jb2xv
ciA9IFBBU1MKIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5EUk9JRCBTS0lQIDogcGxhdGZvcm0vY2hy
b21pdW0vbWVkaWEvdmlkZW8tY2FwdHVyZS1wcmV2aWV3Lmh0bWwgPSBQQVNTIC8vIFVzZXMgbWVk
aWFzdHJlYW0KIEJVR0NSMTQ1MzM4IFdPTlRGSVggQU5EUk9JRCBTS0lQIDogd2ViYXVkaW8gPSBQ
QVNTCkBAIC0zNjMxLDMgKzM2MzIsNSBAQCBCVUdXSzgwMzk0IE1BQyBXSU4gOiBmYXN0L2Jsb2Nr
L2Zsb2F0LzAyNC5odG1sID0gSU1BR0UrVEVYVAogQlVHV0s4MDM5NCBNQUMgV0lOIDogZmFzdC9i
bG9jay9tYXJnaW4tY29sbGFwc2UvMDI1Lmh0bWwgPSBURVhUCiBCVUdXSzgwMzk0IE1BQyBXSU4g
OiBmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAyNS5odG1s
ID0gVEVYVAogCisvLyBEb2VzIG5vdCB5ZXQgc3VwcG9ydCBuZXcgd2ViIG5vdGlmaWNhdGlvbnMg
VGVzdFJ1bm5lciBBUEkKK0JVR1dLOTU1MDYgU0tJUCA6IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cyA9IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
ODM4YjY3ODIyYzI1ZDliMDdmMDc2MTcxYWNiMWU5MzhhMWY5OTVkMC4uNGJkMjcxZWI4MmIxMDZm
MTUzNDFkNDk5MWYyZTNhYmVlODYwYTFkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTU5OCw2ICs1OTgsNyBAQCBCVUdXSzk1MzAyIFNLSVAgOiBmYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvc3BlZWNoLXJlY29nbml0aW9uLWV2ZW50LWNvbnN0cnVjdG9y
LgogCiAvLyBSZXF1aXJlcyBzdXBwb3J0IGZvciBXZWIgbm90aWZpY2F0aW9ucwogQlVHV0s3MzU0
NCBTS0lQIDogZmFzdC9ub3RpZmljYXRpb25zID0gVEVYVAorQlVHV0s3MzU0NCBTS0lQIDogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zID0gVEVYVAogCiAvLyBUaGlzIHRlc3RzIGZhaWxzIGJ5IG9u
ZSBvbiAzMiBiaXRzIG1hY2hpbmVzIGR1ZSB0byByb3VuZGluZyBpc3N1ZXMuCiBCVUdXS0VGTCA6
IGZhc3QvY3NzL3BlcmNlbnRhZ2Utbm9uLWludGVnZXIuaHRtbCA9IFRFWFQgUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4YjAwNGMyOWNlMmM1OTg5
OGU5Mzg2MTBkN2JhZTM1OTNhNzNiYmE0Li43M2I5NzQ0YWFiNTFhNDRkNjBiMWQ2YTVhYWJiYmFl
ZGE4MWM3ODNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTYxLDYgKzE2MSw3IEBAIEJVR1dLR1RLIFNLSVAgOiBmYXN0L2RvbS9EZXZpY2VPcmllbnRh
dGlvbiA9IFRFWFQKIAogLy8gRGVza3RvcCBub3RpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVk
LgogQlVHV0tHVEsgU0tJUCA6IGZhc3Qvbm90aWZpY2F0aW9ucyA9IFRFWFQKK0JVR1dLR1RLIFNL
SVAgOiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMgPSBURVhUCiAKIC8vIFdlIGxhY2sgdXNlcnNj
cmlwdHMgc3VwcG9ydC4KIEJVR1dLR1RLIFNLSVAgOiB1c2Vyc2NyaXB0cyA9IFRFWFQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1NraXBwZWQKaW5kZXggNzYyODk3ZjNmMDZmODU2ZmUyOWQwZDRhNjg4YWEwNjBm
NjBiNWM1My4uZTJkNzBhODJmY2M3YjQ0NzM4ODYxMmFmMWE3ZmUyOGMxNzc2OWM4NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQxLDcgKzQxLDcgQEAgdGFibGVzL21vemlsbGFfZXhw
ZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcxNzg4NTUueG1sCiAjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkxMyBSZXBhaW50IHBpeGVsIHRlc3QgZmFpbHVyZQogZmFz
dC9yZXBhaW50L2JvZHktYmFja2dyb3VuZC1pbWFnZS5odG1sCiAKLSMgVGhpcyBwb3J0IGRvZXNu
J3Qgc3VwcG9ydCBOb3RpZmljYXRpb25zLgorIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODE2OTcgU2tpcCBmaWxlOi8vIGJhc2VkIG5vdGlmaWNhdGlvbnMgdGVzdHMK
IGZhc3Qvbm90aWZpY2F0aW9ucwogCiAjIFNraXBwZWQgd2hpbGUgRXJpYyBDYXJsc29uIHdvcmtz
IG9uIGEgZml4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggODQ0MGNhY2RjMDEzY2IxYTg5
YjZjNWFjNjE0OTQ5MTgzYmY0OWRlYi4uMDE1NWY5NGE1MmRjMjMxNTdjMGI3NjBhYjkwMzRjNDQ3
ZWFjZjJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yNzg5LDMgKzI3ODksNiBAQCBm
YXN0L2xvYWRlci9kb2N1bWVudC1kZXN0cnVjdGlvbi13aXRoaW4tdW5sb2FkLmh0bWwKICMgUkVH
UkVTU0lPTiAocjEyNzIwMik6IGh0dHAvdGVzdHMvc2VjdXJpdHkvaW5hY3RpdmUtZG9jdW1lbnQt
d2l0aC1lbXB0eS1zZWN1cml0eS1vcmlnaW4uaHRtbCBmYWlsaW5nIG9uIEpTQyBwb3J0cwogIyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1MzAKIGh0dHAvdGVzdHMv
c2VjdXJpdHkvaW5hY3RpdmUtZG9jdW1lbnQtd2l0aC1lbXB0eS1zZWN1cml0eS1vcmlnaW4uaHRt
bAorCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTUwNworaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGI4OGE2
YTkzZDhkMzVkOGI0M2Q5Y2QyY2ViMzYxNDBlNjQ4ZmUxMTkuLmJiOWViZmI4Y2UyNmM2YzJjY2Mx
ZGEyNjZkOTU4NGI1NDIwYTY1ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC04MzIs
NiArODMyLDcgQEAgZmFzdC9kb20vR2VvbG9jYXRpb24KIAogIyBUaGlzIHBvcnQgZG9lc24ndCBz
dXBwb3J0IE5vdGlmaWNhdGlvbnMuCiBmYXN0L25vdGlmaWNhdGlvbnMKK2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucwogCiAjIFRoZXNlIG1lZGlhIHRlc3RzIHJlZ3Jlc3NlZCBvbiB0aGUgYm90cy4g
IFNraXBwaW5nIHRvIG1ha2UgdGhlIGJvdHMgZ3JlZW4gYWdhaW4uCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODI4MQpAQCAtMjE2Niw0ICsyMTY3LDMgQEAgaHR0
cC90ZXN0cy9zZWN1cml0eS9yZWZlcnJlci1wb2xpY3ktcmVsLW5vcmVmZXJyZXIuaHRtCiAjIEFz
IHVzdWFsLCBEUlQgb24gV2luZG93cyBoYXMgcHJvYmxlbXMga25vd2luZyBob3cgdG8gY29udGlu
dWUgYSB0ZXN0IHdoZW4gZm9jdXMgbW92ZXMgdG8gYSBwb3B1cCB3aW5kb3csIGluIHRoaXMgY2Fz
ZSB0aGUgZmlsZSBjaG9vc2VyCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzQ2OQogZmFzdC9ldmVudHMvZG9tYWN0aXZhdGUtc2V0cy11bmRlcmx5aW5nLWNsaWNr
LWV2ZW50LWFzLWhhbmRsZWQuaHRtbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBl
ZAppbmRleCA1NGJmNzc1ZWVmMjkxODRhNjMxYWQ4MDYxYTM4MjBjZTNhMTJmYjAyLi45NGFiYjQz
ZDUzYTdiODM3ZDBiMTJkN2E2MTUyMzRhNGQ1MTIwNWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bmNhaXJvL1NraXBwZWQKQEAgLTEzNDksNiArMTM0OSw3IEBAIGZhc3QvZG9tL0dlb2xvY2F0aW9u
CiAKICMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBOb3RpZmljYXRpb25zLgogZmFzdC9ub3Rp
ZmljYXRpb25zCitodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKIAogIyBUaGVzZSBtZWRpYSB0ZXN0
cyByZWdyZXNzZWQgb24gdGhlIGJvdHMuICBTa2lwcGluZyB0byBtYWtlIHRoZSBib3RzIGdyZWVu
IGFnYWluLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyODEK
</data>
<flag name="review"
          id="172630"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>